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
    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
    0 references
    0 references

    Identifiers