blob: a6a532dc7e1b3154e4c20d5acb352ebe2c7b6abc (
plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/*
* NOTE: these %token declarations are generated
* automatically by mktoktab from tokens.txt and
* op.txt.
*/
/* primitive tokens */
%token IDENT
%token INTLIT
%token REALLIT
%token STRINGLIT
%token CSETLIT
%token EOFX
/* reserved words */
%token BREAK /* break */
%token BY /* by */
%token CASE /* case */
%token CREATE /* create */
%token DEFAULT /* default */
%token DO /* do */
%token ELSE /* else */
%token END /* end */
%token EVERY /* every */
%token FAIL /* fail */
%token GLOBAL /* global */
%token IF /* if */
%token INITIAL /* initial */
%token INVOCABLE /* invocable */
%token LINK /* link */
%token LOCAL /* local */
%token NEXT /* next */
%token NOT /* not */
%token OF /* of */
%token PROCEDURE /* procedure */
%token RECORD /* record */
%token REPEAT /* repeat */
%token RETURN /* return */
%token STATIC /* static */
%token SUSPEND /* suspend */
%token THEN /* then */
%token TO /* to */
%token UNTIL /* until */
%token WHILE /* while */
/* operators */
%token BANG /* ! */
%token MOD /* % */
%token AUGMOD /* %:= */
%token AND /* & */
%token AUGAND /* &:= */
%token STAR /* * */
%token AUGSTAR /* *:= */
%token INTER /* ** */
%token AUGINTER /* **:= */
%token PLUS /* + */
%token AUGPLUS /* +:= */
%token UNION /* ++ */
%token AUGUNION /* ++:= */
%token MINUS /* - */
%token AUGMINUS /* -:= */
%token DIFF /* -- */
%token AUGDIFF /* --:= */
%token DOT /* . */
%token SLASH /* / */
%token AUGSLASH /* /:= */
%token ASSIGN /* := */
%token SWAP /* :=: */
%token NMLT /* < */
%token AUGNMLT /* <:= */
%token REVASSIGN /* <- */
%token REVSWAP /* <-> */
%token SLT /* << */
%token AUGSLT /* <<:= */
%token SLE /* <<= */
%token AUGSLE /* <<=:= */
%token NMLE /* <= */
%token AUGNMLE /* <=:= */
%token NMEQ /* = */
%token AUGNMEQ /* =:= */
%token SEQ /* == */
%token AUGSEQ /* ==:= */
%token EQUIV /* === */
%token AUGEQUIV /* ===:= */
%token NMGT /* > */
%token AUGNMGT /* >:= */
%token NMGE /* >= */
%token AUGNMGE /* >=:= */
%token SGT /* >> */
%token AUGSGT /* >>:= */
%token SGE /* >>= */
%token AUGSGE /* >>=:= */
%token QMARK /* ? */
%token AUGQMARK /* ?:= */
%token AT /* @ */
%token AUGAT /* @:= */
%token BACKSLASH /* \ */
%token CARET /* ^ */
%token AUGCARET /* ^:= */
%token BAR /* | */
%token CONCAT /* || */
%token AUGCONCAT /* ||:= */
%token LCONCAT /* ||| */
%token AUGLCONCAT /* |||:= */
%token TILDE /* ~ */
%token NMNE /* ~= */
%token AUGNMNE /* ~=:= */
%token SNE /* ~== */
%token AUGSNE /* ~==:= */
%token NEQUIV /* ~=== */
%token AUGNEQUIV /* ~===:= */
%token LPAREN /* ( */
%token RPAREN /* ) */
%token PCOLON /* +: */
%token COMMA /* , */
%token MCOLON /* -: */
%token COLON /* : */
%token SEMICOL /* ; */
%token LBRACK /* [ */
%token RBRACK /* ] */
%token LBRACE /* { */
%token RBRACE /* } */
|