TY - JOUR
T1 - SSCC
T2 - A software tool based on extended ordered attribute grammars
AU - Yang, Wuu
AU - Liu, Yen Tsan
PY - 1999/1
Y1 - 1999/1
N2 - Attribute grammars are a formalism for specifying computations on syntax trees. SSCC (a Sufficiently
Smart Compiler Compiler) is a practical attribute-grammar system based on a polynomial-time extension
to Kastens’s ordered attribute grammars. The new class of attribute grammars is strictly larger than the
class of ordered attribute grammars, and it retains the property that there is a polynomial-time procedure
for finding an evaluation order. The SSCC system is comprised of two subsystems. The generation
subsystem computes the evaluation order of attribute occurrences in production rules and translates attribute
equations into low-level code for a virtual stack machine. The evaluation subsystem invokes tools to
perform lexical and syntactic analyses and evaluates the attribute instances during a traversal of the syntax
tree. Three features make SSCC capable of performing any desired computation (within the constraints
of ordered attribute grammars): user-defined data types, user-defined functions and data structures, and
the finalize function. A user may define arbitrary types and functions for use in the attribution equations.
After all the attribute instances are evaluated, SSCC calls the finalize function, which may be supplied
by a user, and passes it the whole decorated syntax tree. This offers a user opportunities for further
processing of the tree and the attributes. The SSCC system is semi-strongly typed in the sense that type
consistency within a specification is fully checked by SSCC; however, type consistency between a
specification and user-supplied functions is not checked.
AB - Attribute grammars are a formalism for specifying computations on syntax trees. SSCC (a Sufficiently
Smart Compiler Compiler) is a practical attribute-grammar system based on a polynomial-time extension
to Kastens’s ordered attribute grammars. The new class of attribute grammars is strictly larger than the
class of ordered attribute grammars, and it retains the property that there is a polynomial-time procedure
for finding an evaluation order. The SSCC system is comprised of two subsystems. The generation
subsystem computes the evaluation order of attribute occurrences in production rules and translates attribute
equations into low-level code for a virtual stack machine. The evaluation subsystem invokes tools to
perform lexical and syntactic analyses and evaluates the attribute instances during a traversal of the syntax
tree. Three features make SSCC capable of performing any desired computation (within the constraints
of ordered attribute grammars): user-defined data types, user-defined functions and data structures, and
the finalize function. A user may define arbitrary types and functions for use in the attribution equations.
After all the attribute instances are evaluated, SSCC calls the finalize function, which may be supplied
by a user, and passes it the whole decorated syntax tree. This offers a user opportunities for further
processing of the tree and the attributes. The SSCC system is semi-strongly typed in the sense that type
consistency within a specification is fully checked by SSCC; however, type consistency between a
specification and user-supplied functions is not checked.
UR - http://www.scopus.com/inward/record.url?scp=0032674722&partnerID=8YFLogxK
M3 - Article
AN - SCOPUS:0032674722
SN - 0255-6588
VL - 23
SP - 85
EP - 99
JO - Proceedings of the National Science Council, Republic of China, Part A: Physical Science and Engineering
JF - Proceedings of the National Science Council, Republic of China, Part A: Physical Science and Engineering
IS - 1
ER -