Date: Tuesday, April 4, 1995 1:19:56 PM Author: Apple Computer, Inc. Subject: PCCTS 1.31 Equipment: Macintosh Summary: PCCTS (The Purdue Compiler-Construction Tool Set) is a public domain tool set consisting of a parser generator called ANTLR and a lexical analyzer called DLG. ANTLR accepts a grammatical description for an input language and generates a recursive-descent parser in C or C++ to recognize sentences in that input language; DLG is used to break up the input stream of characters into a token stream. ANTLR combines the flexibility of hand-coded parsing with the convenience of a parser generator. ANTLR has many features that make it easier to use than other language tools. Most important, ANTLR provides PREDICATES which let the programmer systematically direct the parse via arbitrary expressions using semantics and syntactic context; in practice, the use of predicates eliminates the need to hand-tweak the ANTLR output, even for difficult parsing problems. ANTLR also integrates the description of lexical and syntactic analysis, accepts LL(k) grammars for k>1 with extended BNF notation, and can automatically generate abstract syntax trees. While PCCTS is a free tool set, it is actively supported by Terence Parr of Parr Research Corporation. Contact parrt@acm.org for information or join us in the comp.compilers.tools.pccts USENET newsgroup. Our ftp site is everest.ee.umn.edu in pub/pccts. Features: ANTLR integrates the specification of lexical and syntactic analysis. A separate lexical specification is unnecessary as lexical regular expressions (token descriptions) can be placed in double-quotes and used as normal token references in an ANTLR grammar. ANTLR accepts grammar constructs in Extended BNF (EBNF) notation. ANTLR provides facilities for automatic abstract syntax tree construction. ANTLR generates recursive-descent parsers in C/C++ so that there is a clear correspondence between the grammar specification and the ANTLR output. Consequently, it is relatively easy for non-parsing experts to design and debug an ANTLR grammar. ANTLR has automatic error recovery and reporting facilities. Although, we are developing a new, advanced error mechanism, called ``parser exception handling,'' the existing built-in mechanism is simple and effective for many parsing situations. ANTLR allows each grammar rule to have parameters and return values, facilitating attribute passing during the parse. Because ANTLR converts each rule to a C/C++ function in a recursive descent parser, a rule parameter is simply a function parameter. Additionally, ANTLR rules can have multiple return values. ANTLR has numerous other features that make it a product rather than a research project. ANTLR itself is written in highly portable C; its output can be debugged with existing source-level debuggers and is easily integrated into programmers' applications. Requirements: Works with MPW out of the box; it also works with Symantec C and Metrowerks. See config.h in the h directory. Issues: PCCTS is completely in the public domain. Please see the ANTLR README and RIGHTS files for details. Keywords: ANTLR, PCCTS, parser generator, BNF, EBNF, YACC, compiler tools Virus scan: Disinfectant 3.5 shows no viruses in this file