On the look-ahead problem in lexical analysis (Q1899099): Difference between revisions
From MaRDI portal
Changed an Item |
Changed an Item |
||
Property / describes a project that uses | |||
Property / describes a project that uses: Flex / rank | |||
Normal rank |
Revision as of 03:36, 29 February 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | On the look-ahead problem in lexical analysis |
scientific article |
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