Content deleted Content added
m r2.7.1) (robot Adding: ar:أس/أس أل (لغة برمجة) |
Disambiguated: scanner → Lexical analysis, semantic analysis → semantic analysis (compilers), code generation → code generation (compiler) |
||
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.<ref>D.T. Barnard and J.R. Cordy, "SL Parses the LR Languages", Computer Languages 13,2 (April 1988), pp. 65-74 http://dx.doi.org/10.1016/0096-0551(88)90010-0</ref> 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's "semantic mechanisms" extend its capabilities to all phases of compilation, and it has been used to implement all phases of compilation, including [[
S/SL has been used to implement production commercial [[compilers]] for languages such as [[PL/I]], [[Euclid programming language|Euclid]], [[Turing programming language|Turing]], [[Ada programming language|Ada]], and [[COBOL programming language|COBOL]], as well as interpreters, command processors, and ___domain specific languages of many kinds. It is the primary technology used in [[IBM|IBM's]] ILE/400 [[COBOL programming language|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.
|