Encyclopedia

Syntax/Semantic Language

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.]
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)
Mentioned in
Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.