Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap

Syntax/Semantic Language

You are here: irt.org | FOLDOC | Syntax%2fSemantic Language

<language> (S/SL) A high level specification language for recursive descent parsers developed by J.R. Cordy <holt@uwaterloo.ca> and R.C. Holt 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.


["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.]


Nearby terms: syntax « Syntax-Case « syntax directed translation « Syntax/Semantic Language » syntax tree » synthesis » Synthesizer Specification Language

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb