SPINE is a system for efficiently generating practical incremental evaluators based on recursive procedures for the strongly non-circular class of attribute grammars (AGs). Several interactive language-based software development environments use incremental evaluation of attribute grammars for context-sensitive static semantic analysis. The key advantages this system offers over other existing incremental AG systems are ease of evaluator construction, effective consumption of space, applicability to a large class of AGs, ability to handle multiple site attribute tree transformations and close to optimal performance. ASPEC is the AG-description language that has been specially designed for the SPINE system.
SPINE has been used innovatively in the Ensemble software development environment to provide advanced incremental formatting of documents. ASPEC serves as the format specification tool for Ensemble documents. The ASPEC language provides several powerful default mechanisms which make these specifications very concise.