Despite the parsing power of algorithms,
e.g. yacc[9], programmers often choose to write
recursive-descent parsers by hand to obtain increased flexibility,
better error handling, and ease of debugging. PCCTS contains ANTLR, a
public-domain parser generator that 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 semantic 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
grammars for k>1
with Extended BNF notation, and can automatically generate abstract
syntax trees.
PCCTS is totally public domain---it has no legal restrictions on its use or incorporation into commercial applications. Versions of PCCTS are available for Unix, DOS, Windows, OS/2, Macintosh, and NeXT platforms[4].