Despite the parsing power of algorithms, e.g. yacc, 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.