Content deleted Content added
Jerryobject (talk | contribs) m WP:COPYEDITs. WP:LINKs: updates, cut needless WP:PIPEs, WP:OVERLINK. |
m Journal cites:, using AWB (12022) |
||
Line 4:
S/SL is a small [[programming 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 [[pseudocode]]) and a pseudocode 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 [[compiler|compiles]] this pseudocode into a table (byte-codes) that is interpreted by the S/SL table-walker ([[Interpreter (computing)|interpreter]]). The pseudocode language processes the input language in [[LL(1)]] [[recursive descent]] style but extensions allow it to process any [[LR parser|LR(k)]] language relatively easily.<ref>{{cite journal | last1 = Barnard | first1 = D.T.
S/SL's "semantic mechanisms" extend its capabilities to all phases of compiling, and it has been used to implement all phases of compilation, including [[Lexical analysis|scanners]], [[parser]]s, [[Semantic analysis (compilers)|semantic analyzers]], [[Code generation (compiler)|code generators]] and [[virtual machine]] interpreters in multi-pass language processors.<ref>{{cite journal | last1 = Holt | first1 = Richard C.
S/SL has been used to implement production commercial [[compiler]]s for languages such as [[PL/I]], [[Euclid (programming language)|Euclid]], [[Turing (programming language)|Turing]], [[Ada (programming language)|Ada]], and [[COBOL]], as well as interpreters, command processors, and ___domain specific languages of many kinds. It is the primary technology used in [[IBM]]'s ILE/400 COBOL compiler,<ref>Ian H. Carmichael and Stephen Perelgut. S/SL revisited. Proc. CASCON'95, Conference of the Centre for Advanced Studies on Collaborative Research, Toronto, Canada, November 1995 http://portal.acm.org/citation.cfm?id=781915.781926</ref> and the [[ZMailer]] [[mail transfer agent]] uses S/SL<ref>ZMailer the Manual, http://www.zmailer.org/zman/zmanual.shtml</ref> for defining both its mail router processing language and its RFC 822 email address validation.
|