S/SL programming language: Difference between revisions

Content deleted Content added
tag
SmackBot (talk | contribs)
m Date maintenance tags and general fixes
Line 1:
{{Refimprove|date=December 2009}}
{{refimprove}}
The '''Syntax/Semantic Language''' ('''S/SL''') is an executable [[high-level programming language|high level]] [[specification language]] for [[recursive descent parser]]s developed by [[James Cordy]] and [[Ric Holt]] at the [[University of Toronto]] in 1980.
 
Line 6:
The S/SL processor [[compiler|compiles]] this pseudo-code into a table (byte-codes) that is interpreted by the S/SL table-walker ([[Interpreter (computing)|interpreter]]). The pseudo-code 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. S/SL is designed to provide excellent syntax error recovery and repair. It is more powerful and transparent than [[Yacc]] but can be slower.
 
S/SL has been used to implement production commercial [[compilers]] for languages such as [[PL/I]], [[Euclid_programming_languageEuclid programming language|Euclid]], [[Turing_programming_languageTuring programming language|Turing]], [[Ada_programming_languageAda programming language|Ada]], and [[COBOL_programming_languageCOBOL programming language|COBOL]], as well as interpreters, command processors, and ___domain specific languages of many kinds.
 
The [[ZMailer]] [[mail transfer agent]] uses S/SL for defining both its mail router processing language, as well as for RFC 822 email address validation.