The Free On-line Dictionary of Computing (30 December 2018):
Syntax/Semantic Language
S/SL
    (S/SL) A high level specification language for
   recursive descent parsers developed by J.R. Cordy
    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.
   (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.]
   (2003-10-30)