Tools
An overview of tools for lexical analysis and LALR parsing
Lexical Analysis
Lex
– A Lexical Analyzer Generator
JLex
– A version of Lex that runs in the Java environment. Designed to work with the parser generation tool Cup.
JFlex
– A newer version of Lex for the Java environment. Also designed to work with Cup.
Top-Down Parsing
Wikipedia’s entry on LL parsing
, including a list of LL parser development tools
ANTLR
, a tool for building LL parsers with actions in Java, C#, C++, or Python
Bottom-Up Parsing
The CKY Algorithm
Context-free parsing and matrix multiplication
An explanation of Strassen’s algorithm
Lillian Lee’s paper
that shows that fast context-free parsing requires fast Boolean multiplication
Earley's Algorithm
Earley’s original paper
A clear statement of the algorithm, with an example
LALR Parsing
Yacc: Yet Another Compiler-Compiler
- The original LALR parser development tool for the Unix environment. Actions are written in C.
Cup
– An LALR parser development tool. Actions are written in Java.