On the look-ahead problem in lexical analysis (Q1899099)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: On the look-ahead problem in lexical analysis |
scientific article; zbMATH DE number 802442
| Language | Label | Description | Also known as |
|---|---|---|---|
| English | On the look-ahead problem in lexical analysis |
scientific article; zbMATH DE number 802442 |
Statements
On the look-ahead problem in lexical analysis (English)
0 references
4 October 1995
0 references
Modern programming languages use regular expressions to define valid tokens. Traditional lexical analyzers based on minimum deterministic finite automata for regular expressions cannot handle the look-ahead problem. The scanner writer needs to explicitly identify the look-ahead states and codes the buffering and re-scanning operations by hand. We identify the class of finite look-ahead finite automata, which is general enough to include all finite automata of practical lexical analyzers. Finite look-ahead finite automata are then transformed into suffix finite automata. A new lexical analyzer makes use of the suffix finite automata to identify tokens. The new lexical analyzer solves the look-ahead problem in a table-driven approach and it can detect lexical errors at an earlier time than traditional lexical analyzers. The extra cost of the new lexical analyzers is the larger state transition table and three additional one-dimensional tables. Incremental lexical analysis is also discussed.
0 references
deterministic finite automata
0 references