-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlex.con
56 lines (45 loc) · 1.78 KB
/
lex.con
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ SYMBOLS : }
firstsymbol = 0;
{*} lastsymbol = 127;
NULLsym = 0;
{ RESERVED WORDS (see kwsyms.con): }
{first reserved word always gets code 1,
following ones get subsequent code numbers;
last reserved word gets code 'nrreservedwords'
}
{NOT USED:}
{ = nrreservedwords+1;}
{ = 105;}
{ symbol descriptors: }
nonterminalsym = 106; { <blabla> }
{*} identifier = 107; { count2 }
literal = 108; { 'hello' 'don''t' }
{SYNONYM:}
terminalsym = literal;
epsilonsym = 109; { <EMPTY> <> "" '' or implicit}
{*} replacesym = 110; { ::= }
{*} LESSop = 111; { < }
{*} GREATERop = 112; { > }
separatesym = 113; { \ }
choicesym = 114; { | }
{*} PLUSsym = 115; { + }
{*} TIMESsym = 116; { * }
DIVIDEsym = separatesym; { / } { recommended instead of \ }
questsym = 118; { ? }
{*} period = 119; { . }
lbrace = 120;
rbrace = 121;
{*} lparen = 122; { ( }
{*} rparen = 123; { ) }
{*} lbracket = 124; { [ }
{*} rbracket = 125; { ] }
lineend = 126; { EOLN(input) = true }
fileend = 127; { EOF(input) = true }
{ SYMBOL ATTRIBUTES: }
{ number of significant chars in identifier: }
{*} maxidentstrlen = 64;
{ SYMBOL BUFFER: }
{bounds the length of variable-length tokens like identifier,
stringconstant and numerals.
}
{*} maxsymlength = 133;