Welcome to SORCERER 1.00B15 September 1995 Terence John Parr, Aaron Sawdey, and Gary Funck parrt at antlr org sawdey@everest.ee.umn.edu gary@intrepid.com SORCERER is a simple tree-parser generator that automates the process of tree walking that is so common in many large programs. E.g., in the case of source-to-source translators, a programmer typically has a front-end that constructs intermediate form trees and simply wants to traverse the trees and execute a few actions. In this case, the optimal tree walks of code-generator generators and the powerful attribute evaluation schemes of source-to-source translator systems are overkill; programmers would rather avoid the overhead and complexity. SORCERER is more suitable for the class of translation problems lying between those solved by code-generator generators and by full source-to-source translator generators. SORCERER generates simple, flexible, top-down, tree parsers that, in contrast to code-generators, may execute actions at any point during a tree walk. SORCERER accepts extended BNF notation, allows predicates to direct the tree walk with semantic and syntactic context information, and does not rely on any particular intermediate form, parser generator, or other pre-existing application. This is the 1.00B14 release and, therefore, may be less robust than ANTLR and DLG; the source has not been heavily tested for portability; especially outside the UNIX, PC, and MacIntosh world. This initial release contains the full public-domain source code, a manual, and two simple examples. Naturally, as the system matures, more goodies will become available. Though not included in the actual release (to cut down on net traffic), an overview paper is also available. We anticipate SORCERER's inclusion with PCCTS release very soon. We hope to have the book done very soon now also. INSTALLATION [Mac users: see NOTES.Mac also] Simply copy the tar file over (or the compressed tar) and untar it will tar xvf sor.tar Then, 'cd' into the 'sorcerer' directory that was created by 'tar', type 'make'--the executable 'sor' will appear in the 'sorcerer' directory. Subdirectory 'test' contains two simple test programs and 'support' contains a necessary include file and a C file containing default error reporting routines that you can use. WORD SIZE AND PC USERS SORCERER makefiles assume 32-bit integers. If you have 16-bit integers, you must turn on preprocessor symbol PC to change wordsize definitions; see PC32 definition also in config.h. You can add another "#ifdef" for your machine or specific wordsize (see set.h and config.h) if your machine is really weird. [SORCERER has not been adequately tested for portability to non-32-bit machines.] BUG REPORTS & QUESTIONS Please send bug reports to parrt at antlr org. If you are interested in sharing your experiences/problems/ successes/suggestions regarding SORCERER or PCCTS, subscribe to newsgroup comp.compilers.tools.pccts