styx(1) A combined parser and scanner generator


styx [-diagnose] [-verbose] [-makeC] [-makeIMG] [-makeINT] [-shortform] [-BINSTYX=directory] [-GENSTYX=directory] [-SPESTYX=directory] language

stypp [-charset=string] [-wprint] [-prepar=string] [-premac=string] [-prefun=string] [-Start=string] [-xaron] [-early] [-shiftfun=string] [-reducefun=string] [-ppfun=string] [-BINSTYX=path] srclang tgtlang filename

stydoc [-StyxPath=path] [-Template=path] [-RefAlias=string] [-recursiv] [-prodcom] [-keepNTs=string] [-noClass=string] [-exProds=string] [-ignRRef=string] [-BINSTYX=path] grammarfile outfile

ctoh [-ct] [-force] [-CPATH=path] [-HPATH=path] [-PRJ=path] [-DPATH=path] [-DROOT=path]

ptm_img [-FileName=path] [-charset=string] [-skipset=string] [-binmode] [-wprint] [-prepar=string] [-premac=string] [-prefun=string] [-Start=string] [-xaron] [-early] [-shiftfun=string] [-reducefun=string] [-BINSTYX=path] language image

lim_test [-charset=string] [-binmode] [-wprint] [-prepar=string] [-premac=string] [-prefun=string] [-tokens] [-symbols] [-BINSTYX=path] language filename

pim_test [-charset=string] [-binmode] [-wprint] [-prepar=string] [-premac=string] [-prefun=string] [-Start=string] [-xaron] [-early] [-shiftfun=string] [-reducefun=string] [-tree] [-BINSTYX=path] language filename


This manual page documents briefly the styx, stypp, stydoc, ctoh, lim_test and pim_test commands. It was written for the Debian GNU/Linux distribution because the original programs don't have manual pages, but have documentation in HTML format (see below).

styx translates token and syntax descriptions contained in $SPESTYX/language.sty yielding scanner and parser tables as well as a functional interface to the abstract derivation tree.

stypp is sort of a ``pretty printer'' for source files written in a styx-defined language. Furthermore it can be used to port source files, provided source and target languages have equivalent abstract syntax.

stydoc generates HTML reference documentation for a grammar specified in grammarfile using a template.

ctoh is used to create header files from C sources generated by styx. It is taken from the upstream author's own project development environment where source files are written in a manner allowing interface definitions to be automatically generated.

ptm_img translates a source file specified by the FileName option to a binary image. If the FileName option is omitted, the image file must exist and the program writes the derivation tree to stdout.

lim_test uses a scanner image file for language to scan the source in filename writing the token stream to stdout.

pim_test uses scanner and parser image files for language to parse the source in filename writing the derivation tree to stdout.


Upstream authors use non-standard conventions for command-line options and environment variables, to the effect that the latter are best viewed as options which default to the value of the identically named environment variable if not specified.

For styx, SPESTYX is the search path for language specifications (language.sty), scanner and parser image files are located using BINSTYX while the location of generated C code is determined by GENSTYX.

stypp, stydoc, ptm_img, lim_test and pim_test use BINSTYX to locate scanner and parser image files language.lim and language.pim.


This manual page was written by Siggy Brentrup <[email protected]> for the Debian GNU/Linux system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.