ssl ‐ syntax/semantic language preprocessor, for parser description/generation

ssl [ −TLs ] [ −E Name ] [ −D type ] [ −h file.sst.h ] [ −t file.sst.c ] [ −l
file.lst ] [ −e file.entry ] [ −i file.ssl ]

Ssl reads the input S/SL file, and produces C code. It accepts the following

−T   Trace S/SL processor execution

−L   Produce a listing of the S/SL source program with table coordinates in the
     left margin.

−s   Summarize usage of symbol and output tables.

−D Type
     Sets type of the S/SL table to Type. The default is int.

−E EnumName
     Sets name of the enumerated type list to EnumName, which will have
     nilEnumName as the first item in the enumeration (with a value of ‐1).  The
     default is no name.

−i file.ssl
     Input S/SL program file. The default is stdin.

−h file.sst.h
     Output C header file with the constant definitions for the program.  The
     default is
     ‘basename inputfile.ssl‘.sst.h.

−t file.sst.c
     Output C S/SL program table file. The default is
     ‘basename inputfile.ssl‘.sst.c.

−l file.lst
     Output listing of the S/SL program with table coordinates in the left
     margin, if requested with the ‐L option.  The default is
     ‘basename inputfile.ssl‘.lst.

−e file.entry
     Entry points file. The default is
     ‘basename inputfile.ssl‘.entry.

An Introduction to S/SL: Syntax/Semantic Language by R.C. Holt, J.R. Cordy, and
D.B. Wortman, in ACM Transactions on Programming Languages and Systems (TOPLAS),
Vol 4, No. 2, April 1982, Pages 149‐178.  (The authors may be contacted through
the Computer Systems Research Institute at the University of Toronto.)

Translated from Turing S/SL Processor V3.01 by Rayan Zachariassen, Department of
Computer Science, University of Toronto, February 1988.
Original code by James R. Cordy, CSRI, University of Toronto, 14 January 1980
(Revised 2 March 1983)