213
Расширенная лексика генератора XGenLex:
MICROLEXICS
Lexical classes: '[', '{', '}', ']', '(', ')', ':', ',', '.', Letter, Digit, Blind,
Escaped Symbols, '$'.
Letter : 'a'..'z'.
Digit : '0'..'9'.
Blind: #32, #9.
Escaped Symbols: #13, #10.
SYNTAX
Nonterminals: Lexeme.
Auxiliary notions: Integer, Tag, BoldTag, SpecSymbol,
Comment, Formatter symbol.
Forward pass semantics:
SetBlindVisible, SetBlindInvisible, SetModeIndication,
SetLeftBracket, SetRightBracket,
SetLeftParanthesis, SetRightParanthesis,
SetComma, SetColon,
InitLex, MakeLex, InitInteger, InitTag, Append,
SetComment, Restore,
SetFormSymbol, SetFormator.
Forward pass resolvers : IsKeyWord, IsModeIndication,
IsFormScanMode,
IsNotFormScanMode.
Lexeme: Comment * , InitLex,
( Integer ; Tag ; BoldTag ; SpecSymbol ; FormatterSymbol ) , MakeLex ,
Comment * .
Integer : InitInteger, (Append, 'Digit')
+
.
Comment : SetComment , '{' , Restore , '}'.
Tag : InitTag, ( IsNotFormScanMode ,'Letter' ,
( Append, ('Letter' ; 'Digit') ) * ) ;
( IsFormScanMode , SetFormator, 'Letter' ).
BoldTag : SetBlindVisible, '.', Tag,
(IsKeyWord ; IsModeIndication, SetModeIndication),
['Blind'], SetBlindInvisible.
SpecSymbol : SetLeftBracket, '[' ; SetRightBracket, ']' ;
SetLeftParenthesis, '(' ; SetRightParenthesis, ')' ;
SetComma, ',' ; SetColon, ':'.
Formatter symbol : SetFormSymbol , '$'.