| Beaver: A LALR(1) parser generator. Uses very fast (based on perfect hashing) parsing engine. [Open source, LGPL] |
| BNF for Java: BNF compiler-compiler is designed to conform to ISO-14977. It is implemented in Java, for Java programmers. [Open source, GPL] |
| Coco/R for Java: Takes as input a compiler description in the form of an LL(1) attributed grammar and generates a scanner and parser. [Freeware] |
| Constructor of Useful Parsers (CUP): Generates LALR parsers from simple specifications. [Open Source] |
| JavaCC: The Java Compiler Compiler is a parser generator originally by Sun Microsystems. [Freeware] |
| JELLRAP: The Java Enhanced LL LR Animated Parser is a graphical tool to parse strings using a variety of algorithms; LLParse and LRParse combined into a single tool that will run on multiple platforms. [Open Source] |
| JFlex: Lexical analyzer generator (also known as scanner generator) for Java, written in Java. A rewrite of JLex with more features. [Open Source, GPL] |
| MixedCC - Mixed Compiler Compiler: Parser generator capable of parsing and handling inner layer stacks of multi-layer templates. Open source in Java. Parsing mechanism works as Detachable-Layer Stack Machine. SPIndent is implementation of MixedCC for JSP/PHP/ASP. |
| Modern Compiler Implementation in Java: JLex and CUP, Andrew Appel's Lex and YACC equivalents. LALR parser generators. The tools are free, the book their use is described in can be ordered here. [Freeware] |
| SableCC: Object-oriented framework, written in Java, that generates compilers (and source-interpreters) for Java. [Open Source, LGPL] |