Abstract
Lexical analyzers partition input characters into tokens. When ambiguities arise during lexical analysis, the longest-match rule is generally adopted to resolve the ambiguities. The longest-match rule causes the look-ahead problem in traditional lexical analyzers, which are based on Moore machines. In Moore machines, output tokens are associated with states of the automata. By contrast, because Mealy machines associate output tokens with state transitions, the look-ahead behaviors can be encoded in their state transition tables. Therefore, we believe that lexical analyzers should be based on Mealy machines, rather than Moore machines, in order to solve the look-ahead problem. We propose techniques to construct Mealy machines from regular expressions and to perform sequential and data-parallel lexical analysis with these Mealy machines.
Original language | English |
---|---|
Pages (from-to) | 27-38 |
Number of pages | 12 |
Journal | Computer Languages |
Volume | 22 |
Issue number | 1 |
DOIs | |
State | Published - Apr 1996 |
Keywords
- Automata
- Finite-lookahead automata
- Lexical analysis
- Mealy machines
- Moore-machines
- Parallel algorithms
- Regular expressions
- Suffix automata