Lexer class declarations

lexer class IDENTIFIER;

lexer class KEYWORD dominates IDENTIFIER;

lexer class IDENTIFIER submits to KEYWORD, BUILTIN;

lexer class KEYWORD dominates Id_t;


Lexer classes are a useful tool in resolving lexical conflicts. If one DFA state can accept multiple valid tokens, it is normally an error during the lexical generator. However, if there is a lexer class relationship between those token, the token that dominates all others is selected instead as the resolution.

Lexer classes are declared as follows:

lexer class Name dominates lexer class or terminal list submits to lexer class or terminal list ;

where both the dominates and submits lists are optional.