&dhucpackage; &dhsection;

&dhpackage;

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

## DESCRIPTION

This manual page documents briefly the `styx`, `stypp`, `stydoc`, `ctoh`, `lim_test` and `pim_test` commands. It was written for the &debian; 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.

## ENVIRONMENT

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.

## SEE ALSO

The programs are documented fully in The Styx Handbook available in the source distribution in LinuxDoc and HTML format. On &debian; systems the documentation is contained in the styx-doc package.

## AUTHOR

This manual page was written by &dhusername; <&dhemail;> for the &debian; 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.