S/SL ==>
Syntax/Semantic Language
<language> (S/SL) A high level specification language for recursive
descent parsers developed by J.R. Cordy
<cordy@cs.queensu.ca> and R.C. Holt <holt@uwaterloo.ca> at the
University of Toronto in 1980.
S/SL is a small language that supports cheap recursion and defines input,
output, and error token names (& values), semantic mechanisms (class interfaces
whose methods are really escapes to routines in a host programming language but
allow good abstraction in the pseudo-code) and a pseudo-code program that
defines the syntax of the input language by the token stream the program
accepts. Alternation, control flow and one-symbol look-ahead constructs are part
of the language.
The S/SL processor compiles this pseudo-code into a table (byte-codes) that is
interpreted by the S/SL table-walker (interpreter). The pseudo-code language
processes the input language in recursive descent LL1 style but extensions allow
it to process any LRk language relatively easily. S/SL is designed to provide
excellent syntax error recovery and repair. It is more powerful and transparent
than yacc but slower.
S/SL has been used to implement production commercial compilers for languages
such as PL/I, Euclid, Turing, Ada, and COBOL, as well as interpreters, command
processors, and domain specific languages of many kinds.
ftp://ftp.cs.queensu.ca/pub/cordy/ssl.
["Specification of S/SL: Syntax/Semantic Language", J.R. Cordy and R.C. Holt,
Computer Systems Research Institute, University of Toronto, 1980].
["An Introduction to S/SL: Syntax/Semantic Language", R.C. Holt, J.R. Cordy, and
D.B. Wortman; ACM Transactions on Programming Languages and Systems (TOPLAS),
Vol 4, No. 2, April 1982, pp 149-178].
["Hierarchic Syntax Error Repair", D.T. Barnard and R.C. Holt, International
Journal of Computing and Information Sciences, Vol. 11, No. 4, August 1982,
Pages 231-258.]
(2003-10-30)
Nearby terms:
syntax « Syntax-Case « syntax directed translation «
Syntax/Semantic Language » syntax tree »
synthesis » Synthesizer Specification Language
|