-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscillaLexer.js
415 lines (401 loc) · 26.3 KB
/
scillaLexer.js
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
// Generated from scilla.g4 by ANTLR 4.9
// jshint ignore: start
import antlr4 from 'antlr4';
const serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786",
"\u5964\u0002@\u01cc\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003",
"\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007",
"\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
"\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
"\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
"\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
"\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a",
"\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e",
"\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0004\"\t\"\u0004#",
"\t#\u0004$\t$\u0004%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004",
"*\t*\u0004+\t+\u0004,\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u0004",
"1\t1\u00042\t2\u00043\t3\u00044\t4\u00045\t5\u00046\t6\u00047\t7\u0004",
"8\t8\u00049\t9\u0004:\t:\u0004;\t;\u0004<\t<\u0004=\t=\u0004>\t>\u0004",
"?\t?\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003",
"\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003",
"\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003",
"\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003",
"\u0006\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\u0007\u0003",
"\u0007\u0003\b\u0003\b\u0003\b\u0003\t\u0003\t\u0003\t\u0003\t\u0003",
"\t\u0003\t\u0003\n\u0003\n\u0003\n\u0003\n\u0003\n\u0003\u000b\u0003",
"\u000b\u0003\u000b\u0003\u000b\u0003\f\u0003\f\u0003\f\u0003\f\u0003",
"\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\u000e\u0003\u000e\u0003\u000e",
"\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e\u0003\u000e",
"\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f",
"\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u000f\u0003\u0010",
"\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0011\u0003\u0011",
"\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012",
"\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013",
"\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0014",
"\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0014",
"\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0015",
"\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017",
"\u0003\u0017\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018",
"\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018",
"\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018",
"\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a",
"\u0003\u001a\u0003\u001a\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001b",
"\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c",
"\u0003\u001d\u0003\u001d\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001e",
"\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e\u0003\u001e",
"\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f\u0003\u001f",
"\u0003\u001f\u0003 \u0003 \u0003!\u0003!\u0003\"\u0003\"\u0003#\u0003",
"#\u0003$\u0003$\u0003%\u0003%\u0003&\u0003&\u0003\'\u0003\'\u0003(\u0003",
"(\u0003)\u0003)\u0003*\u0003*\u0003+\u0003+\u0003+\u0003,\u0003,\u0003",
",\u0003-\u0003-\u0003.\u0003.\u0003/\u0003/\u0003/\u00030\u00030\u0003",
"0\u00031\u00031\u00032\u00032\u00033\u00033\u00033\u00033\u00073\u0163",
"\n3\f3\u000e3\u0166\u000b3\u00033\u00033\u00033\u00033\u00033\u0003",
"4\u00064\u016e\n4\r4\u000e4\u016f\u00035\u00035\u00075\u0174\n5\f5\u000e",
"5\u0177\u000b5\u00035\u00035\u00036\u00066\u017c\n6\r6\u000e6\u017d",
"\u00036\u00036\u00076\u0182\n6\f6\u000e6\u0185\u000b6\u00037\u00037",
"\u00037\u00037\u00077\u018b\n7\f7\u000e7\u018e\u000b7\u00038\u00038",
"\u00038\u00038\u00038\u00038\u00038\u00078\u0197\n8\f8\u000e8\u019a",
"\u000b8\u00039\u00039\u00039\u00039\u00039\u00039\u0003:\u0006:\u01a3",
"\n:\r:\u000e:\u01a4\u0003:\u0003:\u0003;\u0006;\u01aa\n;\r;\u000e;\u01ab",
"\u0003;\u0003;\u0003<\u0003<\u0007<\u01b2\n<\f<\u000e<\u01b5\u000b<",
"\u0003=\u0003=\u0007=\u01b9\n=\f=\u000e=\u01bc\u000b=\u0003>\u0003>",
"\u0007>\u01c0\n>\f>\u000e>\u01c3\u000b>\u0003?\u0003?\u0003?\u0007?",
"\u01c8\n?\f?\u000e?\u01cb\u000b?\u0003\u0164\u0002@\u0003\u0003\u0005",
"\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f\t\u0011\n\u0013\u000b",
"\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d\u0010\u001f\u0011!\u0012",
"#\u0013%\u0014\'\u0015)\u0016+\u0017-\u0018/\u00191\u001a3\u001b5\u001c",
"7\u001d9\u001e;\u001f= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5",
"i6k7m8o9q:s;u<w=y>{?}@\u0003\u0002\u000e\u0003\u00022;\u0005\u0002\f",
"\f\u000f\u000f$$\u0003\u000222\u0003\u0002zz\u0005\u00022;CHch\u0003",
"\u0002\"\"\u0004\u0002\u000b\f\u000f\u000f\u0004\u0002aac|\u0006\u0002",
"2;C\\aac|\u0003\u0002aa\u0003\u0002C\\\u0003\u0002))\u0002\u01d8\u0002",
"\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\u0002",
"\u0007\u0003\u0002\u0002\u0002\u0002\t\u0003\u0002\u0002\u0002\u0002",
"\u000b\u0003\u0002\u0002\u0002\u0002\r\u0003\u0002\u0002\u0002\u0002",
"\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\u0002",
"\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\u0002",
"\u0017\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\u0002",
"\u001b\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\u0002",
"\u001f\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\u0002",
"#\u0003\u0002\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\'\u0003",
"\u0002\u0002\u0002\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\u0002",
"\u0002\u0002\u0002-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\u0002",
"\u0002\u00021\u0003\u0002\u0002\u0002\u00023\u0003\u0002\u0002\u0002",
"\u00025\u0003\u0002\u0002\u0002\u00027\u0003\u0002\u0002\u0002\u0002",
"9\u0003\u0002\u0002\u0002\u0002;\u0003\u0002\u0002\u0002\u0002=\u0003",
"\u0002\u0002\u0002\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\u0002",
"\u0002\u0002\u0002C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\u0002",
"\u0002\u0002G\u0003\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\u0002",
"\u0002K\u0003\u0002\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\u0002",
"O\u0003\u0002\u0002\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002S\u0003",
"\u0002\u0002\u0002\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\u0002",
"\u0002\u0002\u0002Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\u0002",
"\u0002\u0002]\u0003\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\u0002",
"\u0002a\u0003\u0002\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\u0002",
"e\u0003\u0002\u0002\u0002\u0002g\u0003\u0002\u0002\u0002\u0002i\u0003",
"\u0002\u0002\u0002\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\u0002",
"\u0002\u0002\u0002o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\u0002",
"\u0002\u0002s\u0003\u0002\u0002\u0002\u0002u\u0003\u0002\u0002\u0002",
"\u0002w\u0003\u0002\u0002\u0002\u0002y\u0003\u0002\u0002\u0002\u0002",
"{\u0003\u0002\u0002\u0002\u0002}\u0003\u0002\u0002\u0002\u0003\u007f",
"\u0003\u0002\u0002\u0002\u0005\u0081\u0003\u0002\u0002\u0002\u0007\u0088",
"\u0003\u0002\u0002\u0002\t\u0090\u0003\u0002\u0002\u0002\u000b\u0098",
"\u0003\u0002\u0002\u0002\r\u009f\u0003\u0002\u0002\u0002\u000f\u00a3",
"\u0003\u0002\u0002\u0002\u0011\u00a6\u0003\u0002\u0002\u0002\u0013\u00ac",
"\u0003\u0002\u0002\u0002\u0015\u00b1\u0003\u0002\u0002\u0002\u0017\u00b5",
"\u0003\u0002\u0002\u0002\u0019\u00b9\u0003\u0002\u0002\u0002\u001b\u00be",
"\u0003\u0002\u0002\u0002\u001d\u00c7\u0003\u0002\u0002\u0002\u001f\u00d2",
"\u0003\u0002\u0002\u0002!\u00d7\u0003\u0002\u0002\u0002#\u00dd\u0003",
"\u0002\u0002\u0002%\u00e3\u0003\u0002\u0002\u0002\'\u00ea\u0003\u0002",
"\u0002\u0002)\u00f1\u0003\u0002\u0002\u0002+\u00f8\u0003\u0002\u0002",
"\u0002-\u00fc\u0003\u0002\u0002\u0002/\u0100\u0003\u0002\u0002\u0002",
"1\u010f\u0003\u0002\u0002\u00023\u0114\u0003\u0002\u0002\u00025\u0117",
"\u0003\u0002\u0002\u00027\u011b\u0003\u0002\u0002\u00029\u0121\u0003",
"\u0002\u0002\u0002;\u0124\u0003\u0002\u0002\u0002=\u012e\u0003\u0002",
"\u0002\u0002?\u0134\u0003\u0002\u0002\u0002A\u0136\u0003\u0002\u0002",
"\u0002C\u0138\u0003\u0002\u0002\u0002E\u013a\u0003\u0002\u0002\u0002",
"G\u013c\u0003\u0002\u0002\u0002I\u013e\u0003\u0002\u0002\u0002K\u0140",
"\u0003\u0002\u0002\u0002M\u0142\u0003\u0002\u0002\u0002O\u0144\u0003",
"\u0002\u0002\u0002Q\u0146\u0003\u0002\u0002\u0002S\u0148\u0003\u0002",
"\u0002\u0002U\u014a\u0003\u0002\u0002\u0002W\u014d\u0003\u0002\u0002",
"\u0002Y\u0150\u0003\u0002\u0002\u0002[\u0152\u0003\u0002\u0002\u0002",
"]\u0154\u0003\u0002\u0002\u0002_\u0157\u0003\u0002\u0002\u0002a\u015a",
"\u0003\u0002\u0002\u0002c\u015c\u0003\u0002\u0002\u0002e\u015e\u0003",
"\u0002\u0002\u0002g\u016d\u0003\u0002\u0002\u0002i\u0171\u0003\u0002",
"\u0002\u0002k\u017b\u0003\u0002\u0002\u0002m\u0186\u0003\u0002\u0002",
"\u0002o\u018f\u0003\u0002\u0002\u0002q\u019b\u0003\u0002\u0002\u0002",
"s\u01a2\u0003\u0002\u0002\u0002u\u01a9\u0003\u0002\u0002\u0002w\u01af",
"\u0003\u0002\u0002\u0002y\u01b6\u0003\u0002\u0002\u0002{\u01bd\u0003",
"\u0002\u0002\u0002}\u01c4\u0003\u0002\u0002\u0002\u007f\u0080\u0007",
"/\u0002\u0002\u0080\u0004\u0003\u0002\u0002\u0002\u0081\u0082\u0007",
"h\u0002\u0002\u0082\u0083\u0007q\u0002\u0002\u0083\u0084\u0007t\u0002",
"\u0002\u0084\u0085\u0007c\u0002\u0002\u0085\u0086\u0007n\u0002\u0002",
"\u0086\u0087\u0007n\u0002\u0002\u0087\u0006\u0003\u0002\u0002\u0002",
"\u0088\u0089\u0007d\u0002\u0002\u0089\u008a\u0007w\u0002\u0002\u008a",
"\u008b\u0007k\u0002\u0002\u008b\u008c\u0007n\u0002\u0002\u008c\u008d",
"\u0007v\u0002\u0002\u008d\u008e\u0007k\u0002\u0002\u008e\u008f\u0007",
"p\u0002\u0002\u008f\b\u0003\u0002\u0002\u0002\u0090\u0091\u0007n\u0002",
"\u0002\u0091\u0092\u0007k\u0002\u0002\u0092\u0093\u0007d\u0002\u0002",
"\u0093\u0094\u0007t\u0002\u0002\u0094\u0095\u0007c\u0002\u0002\u0095",
"\u0096\u0007t\u0002\u0002\u0096\u0097\u0007{\u0002\u0002\u0097\n\u0003",
"\u0002\u0002\u0002\u0098\u0099\u0007k\u0002\u0002\u0099\u009a\u0007",
"o\u0002\u0002\u009a\u009b\u0007r\u0002\u0002\u009b\u009c\u0007q\u0002",
"\u0002\u009c\u009d\u0007t\u0002\u0002\u009d\u009e\u0007v\u0002\u0002",
"\u009e\f\u0003\u0002\u0002\u0002\u009f\u00a0\u0007n\u0002\u0002\u00a0",
"\u00a1\u0007g\u0002\u0002\u00a1\u00a2\u0007v\u0002\u0002\u00a2\u000e",
"\u0003\u0002\u0002\u0002\u00a3\u00a4\u0007k\u0002\u0002\u00a4\u00a5",
"\u0007p\u0002\u0002\u00a5\u0010\u0003\u0002\u0002\u0002\u00a6\u00a7",
"\u0007o\u0002\u0002\u00a7\u00a8\u0007c\u0002\u0002\u00a8\u00a9\u0007",
"v\u0002\u0002\u00a9\u00aa\u0007e\u0002\u0002\u00aa\u00ab\u0007j\u0002",
"\u0002\u00ab\u0012\u0003\u0002\u0002\u0002\u00ac\u00ad\u0007y\u0002",
"\u0002\u00ad\u00ae\u0007k\u0002\u0002\u00ae\u00af\u0007v\u0002\u0002",
"\u00af\u00b0\u0007j\u0002\u0002\u00b0\u0014\u0003\u0002\u0002\u0002",
"\u00b1\u00b2\u0007g\u0002\u0002\u00b2\u00b3\u0007p\u0002\u0002\u00b3",
"\u00b4\u0007f\u0002\u0002\u00b4\u0016\u0003\u0002\u0002\u0002\u00b5",
"\u00b6\u0007h\u0002\u0002\u00b6\u00b7\u0007w\u0002\u0002\u00b7\u00b8",
"\u0007p\u0002\u0002\u00b8\u0018\u0003\u0002\u0002\u0002\u00b9\u00ba",
"\u0007v\u0002\u0002\u00ba\u00bb\u0007h\u0002\u0002\u00bb\u00bc\u0007",
"w\u0002\u0002\u00bc\u00bd\u0007p\u0002\u0002\u00bd\u001a\u0003\u0002",
"\u0002\u0002\u00be\u00bf\u0007e\u0002\u0002\u00bf\u00c0\u0007q\u0002",
"\u0002\u00c0\u00c1\u0007p\u0002\u0002\u00c1\u00c2\u0007v\u0002\u0002",
"\u00c2\u00c3\u0007t\u0002\u0002\u00c3\u00c4\u0007c\u0002\u0002\u00c4",
"\u00c5\u0007e\u0002\u0002\u00c5\u00c6\u0007v\u0002\u0002\u00c6\u001c",
"\u0003\u0002\u0002\u0002\u00c7\u00c8\u0007v\u0002\u0002\u00c8\u00c9",
"\u0007t\u0002\u0002\u00c9\u00ca\u0007c\u0002\u0002\u00ca\u00cb\u0007",
"p\u0002\u0002\u00cb\u00cc\u0007u\u0002\u0002\u00cc\u00cd\u0007k\u0002",
"\u0002\u00cd\u00ce\u0007v\u0002\u0002\u00ce\u00cf\u0007k\u0002\u0002",
"\u00cf\u00d0\u0007q\u0002\u0002\u00d0\u00d1\u0007p\u0002\u0002\u00d1",
"\u001e\u0003\u0002\u0002\u0002\u00d2\u00d3\u0007u\u0002\u0002\u00d3",
"\u00d4\u0007g\u0002\u0002\u00d4\u00d5\u0007p\u0002\u0002\u00d5\u00d6",
"\u0007f\u0002\u0002\u00d6 \u0003\u0002\u0002\u0002\u00d7\u00d8\u0007",
"g\u0002\u0002\u00d8\u00d9\u0007x\u0002\u0002\u00d9\u00da\u0007g\u0002",
"\u0002\u00da\u00db\u0007p\u0002\u0002\u00db\u00dc\u0007v\u0002\u0002",
"\u00dc\"\u0003\u0002\u0002\u0002\u00dd\u00de\u0007h\u0002\u0002\u00de",
"\u00df\u0007k\u0002\u0002\u00df\u00e0\u0007g\u0002\u0002\u00e0\u00e1",
"\u0007n\u0002\u0002\u00e1\u00e2\u0007f\u0002\u0002\u00e2$\u0003\u0002",
"\u0002\u0002\u00e3\u00e4\u0007c\u0002\u0002\u00e4\u00e5\u0007e\u0002",
"\u0002\u00e5\u00e6\u0007e\u0002\u0002\u00e6\u00e7\u0007g\u0002\u0002",
"\u00e7\u00e8\u0007r\u0002\u0002\u00e8\u00e9\u0007v\u0002\u0002\u00e9",
"&\u0003\u0002\u0002\u0002\u00ea\u00eb\u0007g\u0002\u0002\u00eb\u00ec",
"\u0007z\u0002\u0002\u00ec\u00ed\u0007k\u0002\u0002\u00ed\u00ee\u0007",
"u\u0002\u0002\u00ee\u00ef\u0007v\u0002\u0002\u00ef\u00f0\u0007u\u0002",
"\u0002\u00f0(\u0003\u0002\u0002\u0002\u00f1\u00f2\u0007f\u0002\u0002",
"\u00f2\u00f3\u0007g\u0002\u0002\u00f3\u00f4\u0007n\u0002\u0002\u00f4",
"\u00f5\u0007g\u0002\u0002\u00f5\u00f6\u0007v\u0002\u0002\u00f6\u00f7",
"\u0007g\u0002\u0002\u00f7*\u0003\u0002\u0002\u0002\u00f8\u00f9\u0007",
"G\u0002\u0002\u00f9\u00fa\u0007o\u0002\u0002\u00fa\u00fb\u0007r\u0002",
"\u0002\u00fb,\u0003\u0002\u0002\u0002\u00fc\u00fd\u0007O\u0002\u0002",
"\u00fd\u00fe\u0007c\u0002\u0002\u00fe\u00ff\u0007r\u0002\u0002\u00ff",
".\u0003\u0002\u0002\u0002\u0100\u0101\u0007u\u0002\u0002\u0101\u0102",
"\u0007e\u0002\u0002\u0102\u0103\u0007k\u0002\u0002\u0103\u0104\u0007",
"n\u0002\u0002\u0104\u0105\u0007n\u0002\u0002\u0105\u0106\u0007c\u0002",
"\u0002\u0106\u0107\u0007a\u0002\u0002\u0107\u0108\u0007x\u0002\u0002",
"\u0108\u0109\u0007g\u0002\u0002\u0109\u010a\u0007t\u0002\u0002\u010a",
"\u010b\u0007u\u0002\u0002\u010b\u010c\u0007k\u0002\u0002\u010c\u010d",
"\u0007q\u0002\u0002\u010d\u010e\u0007p\u0002\u0002\u010e0\u0003\u0002",
"\u0002\u0002\u010f\u0110\u0007v\u0002\u0002\u0110\u0111\u0007{\u0002",
"\u0002\u0111\u0112\u0007r\u0002\u0002\u0112\u0113\u0007g\u0002\u0002",
"\u01132\u0003\u0002\u0002\u0002\u0114\u0115\u0007q\u0002\u0002\u0115",
"\u0116\u0007h\u0002\u0002\u01164\u0003\u0002\u0002\u0002\u0117\u0118",
"\u0007v\u0002\u0002\u0118\u0119\u0007t\u0002\u0002\u0119\u011a\u0007",
"{\u0002\u0002\u011a6\u0003\u0002\u0002\u0002\u011b\u011c\u0007e\u0002",
"\u0002\u011c\u011d\u0007c\u0002\u0002\u011d\u011e\u0007v\u0002\u0002",
"\u011e\u011f\u0007e\u0002\u0002\u011f\u0120\u0007j\u0002\u0002\u0120",
"8\u0003\u0002\u0002\u0002\u0121\u0122\u0007c\u0002\u0002\u0122\u0123",
"\u0007u\u0002\u0002\u0123:\u0003\u0002\u0002\u0002\u0124\u0125\u0007",
"r\u0002\u0002\u0125\u0126\u0007t\u0002\u0002\u0126\u0127\u0007q\u0002",
"\u0002\u0127\u0128\u0007e\u0002\u0002\u0128\u0129\u0007g\u0002\u0002",
"\u0129\u012a\u0007f\u0002\u0002\u012a\u012b\u0007w\u0002\u0002\u012b",
"\u012c\u0007t\u0002\u0002\u012c\u012d\u0007g\u0002\u0002\u012d<\u0003",
"\u0002\u0002\u0002\u012e\u012f\u0007v\u0002\u0002\u012f\u0130\u0007",
"j\u0002\u0002\u0130\u0131\u0007t\u0002\u0002\u0131\u0132\u0007q\u0002",
"\u0002\u0132\u0133\u0007y\u0002\u0002\u0133>\u0003\u0002\u0002\u0002",
"\u0134\u0135\u0007=\u0002\u0002\u0135@\u0003\u0002\u0002\u0002\u0136",
"\u0137\u0007<\u0002\u0002\u0137B\u0003\u0002\u0002\u0002\u0138\u0139",
"\u00070\u0002\u0002\u0139D\u0003\u0002\u0002\u0002\u013a\u013b\u0007",
"~\u0002\u0002\u013bF\u0003\u0002\u0002\u0002\u013c\u013d\u0007]\u0002",
"\u0002\u013dH\u0003\u0002\u0002\u0002\u013e\u013f\u0007_\u0002\u0002",
"\u013fJ\u0003\u0002\u0002\u0002\u0140\u0141\u0007*\u0002\u0002\u0141",
"L\u0003\u0002\u0002\u0002\u0142\u0143\u0007+\u0002\u0002\u0143N\u0003",
"\u0002\u0002\u0002\u0144\u0145\u0007}\u0002\u0002\u0145P\u0003\u0002",
"\u0002\u0002\u0146\u0147\u0007\u007f\u0002\u0002\u0147R\u0003\u0002",
"\u0002\u0002\u0148\u0149\u0007.\u0002\u0002\u0149T\u0003\u0002\u0002",
"\u0002\u014a\u014b\u0007?\u0002\u0002\u014b\u014c\u0007@\u0002\u0002",
"\u014cV\u0003\u0002\u0002\u0002\u014d\u014e\u0007/\u0002\u0002\u014e",
"\u014f\u0007@\u0002\u0002\u014fX\u0003\u0002\u0002\u0002\u0150\u0151",
"\u0007?\u0002\u0002\u0151Z\u0003\u0002\u0002\u0002\u0152\u0153\u0007",
"(\u0002\u0002\u0153\\\u0003\u0002\u0002\u0002\u0154\u0155\u0007>\u0002",
"\u0002\u0155\u0156\u0007/\u0002\u0002\u0156^\u0003\u0002\u0002\u0002",
"\u0157\u0158\u0007<\u0002\u0002\u0158\u0159\u0007?\u0002\u0002\u0159",
"`\u0003\u0002\u0002\u0002\u015a\u015b\u0007B\u0002\u0002\u015bb\u0003",
"\u0002\u0002\u0002\u015c\u015d\u0007a\u0002\u0002\u015dd\u0003\u0002",
"\u0002\u0002\u015e\u015f\u0007*\u0002\u0002\u015f\u0160\u0007,\u0002",
"\u0002\u0160\u0164\u0003\u0002\u0002\u0002\u0161\u0163\u000b\u0002\u0002",
"\u0002\u0162\u0161\u0003\u0002\u0002\u0002\u0163\u0166\u0003\u0002\u0002",
"\u0002\u0164\u0165\u0003\u0002\u0002\u0002\u0164\u0162\u0003\u0002\u0002",
"\u0002\u0165\u0167\u0003\u0002\u0002\u0002\u0166\u0164\u0003\u0002\u0002",
"\u0002\u0167\u0168\u0007,\u0002\u0002\u0168\u0169\u0007+\u0002\u0002",
"\u0169\u016a\u0003\u0002\u0002\u0002\u016a\u016b\b3\u0002\u0002\u016b",
"f\u0003\u0002\u0002\u0002\u016c\u016e\t\u0002\u0002\u0002\u016d\u016c",
"\u0003\u0002\u0002\u0002\u016e\u016f\u0003\u0002\u0002\u0002\u016f\u016d",
"\u0003\u0002\u0002\u0002\u016f\u0170\u0003\u0002\u0002\u0002\u0170h",
"\u0003\u0002\u0002\u0002\u0171\u0175\u0007$\u0002\u0002\u0172\u0174",
"\n\u0003\u0002\u0002\u0173\u0172\u0003\u0002\u0002\u0002\u0174\u0177",
"\u0003\u0002\u0002\u0002\u0175\u0173\u0003\u0002\u0002\u0002\u0175\u0176",
"\u0003\u0002\u0002\u0002\u0176\u0178\u0003\u0002\u0002\u0002\u0177\u0175",
"\u0003\u0002\u0002\u0002\u0178\u0179\u0007$\u0002\u0002\u0179j\u0003",
"\u0002\u0002\u0002\u017a\u017c\u00042;\u0002\u017b\u017a\u0003\u0002",
"\u0002\u0002\u017c\u017d\u0003\u0002\u0002\u0002\u017d\u017b\u0003\u0002",
"\u0002\u0002\u017d\u017e\u0003\u0002\u0002\u0002\u017e\u017f\u0003\u0002",
"\u0002\u0002\u017f\u0183\u00070\u0002\u0002\u0180\u0182\u00042;\u0002",
"\u0181\u0180\u0003\u0002\u0002\u0002\u0182\u0185\u0003\u0002\u0002\u0002",
"\u0183\u0181\u0003\u0002\u0002\u0002\u0183\u0184\u0003\u0002\u0002\u0002",
"\u0184l\u0003\u0002\u0002\u0002\u0185\u0183\u0003\u0002\u0002\u0002",
"\u0186\u0187\t\u0004\u0002\u0002\u0187\u018c\t\u0005\u0002\u0002\u0188",
"\u0189\t\u0006\u0002\u0002\u0189\u018b\t\u0006\u0002\u0002\u018a\u0188",
"\u0003\u0002\u0002\u0002\u018b\u018e\u0003\u0002\u0002\u0002\u018c\u018a",
"\u0003\u0002\u0002\u0002\u018c\u018d\u0003\u0002\u0002\u0002\u018dn",
"\u0003\u0002\u0002\u0002\u018e\u018c\u0003\u0002\u0002\u0002\u018f\u0190",
"\u0007D\u0002\u0002\u0190\u0191\u0007{\u0002\u0002\u0191\u0192\u0007",
"U\u0002\u0002\u0192\u0193\u0007v\u0002\u0002\u0193\u0194\u0007t\u0002",
"\u0002\u0194\u0198\u0003\u0002\u0002\u0002\u0195\u0197\t\u0002\u0002",
"\u0002\u0196\u0195\u0003\u0002\u0002\u0002\u0197\u019a\u0003\u0002\u0002",
"\u0002\u0198\u0196\u0003\u0002\u0002\u0002\u0198\u0199\u0003\u0002\u0002",
"\u0002\u0199p\u0003\u0002\u0002\u0002\u019a\u0198\u0003\u0002\u0002",
"\u0002\u019b\u019c\u0007G\u0002\u0002\u019c\u019d\u0007x\u0002\u0002",
"\u019d\u019e\u0007g\u0002\u0002\u019e\u019f\u0007p\u0002\u0002\u019f",
"\u01a0\u0007v\u0002\u0002\u01a0r\u0003\u0002\u0002\u0002\u01a1\u01a3",
"\t\u0007\u0002\u0002\u01a2\u01a1\u0003\u0002\u0002\u0002\u01a3\u01a4",
"\u0003\u0002\u0002\u0002\u01a4\u01a2\u0003\u0002\u0002\u0002\u01a4\u01a5",
"\u0003\u0002\u0002\u0002\u01a5\u01a6\u0003\u0002\u0002\u0002\u01a6\u01a7",
"\b:\u0002\u0002\u01a7t\u0003\u0002\u0002\u0002\u01a8\u01aa\t\b\u0002",
"\u0002\u01a9\u01a8\u0003\u0002\u0002\u0002\u01aa\u01ab\u0003\u0002\u0002",
"\u0002\u01ab\u01a9\u0003\u0002\u0002\u0002\u01ab\u01ac\u0003\u0002\u0002",
"\u0002\u01ac\u01ad\u0003\u0002\u0002\u0002\u01ad\u01ae\b;\u0002\u0002",
"\u01aev\u0003\u0002\u0002\u0002\u01af\u01b3\t\t\u0002\u0002\u01b0\u01b2",
"\t\n\u0002\u0002\u01b1\u01b0\u0003\u0002\u0002\u0002\u01b2\u01b5\u0003",
"\u0002\u0002\u0002\u01b3\u01b1\u0003\u0002\u0002\u0002\u01b3\u01b4\u0003",
"\u0002\u0002\u0002\u01b4x\u0003\u0002\u0002\u0002\u01b5\u01b3\u0003",
"\u0002\u0002\u0002\u01b6\u01ba\t\u000b\u0002\u0002\u01b7\u01b9\t\n\u0002",
"\u0002\u01b8\u01b7\u0003\u0002\u0002\u0002\u01b9\u01bc\u0003\u0002\u0002",
"\u0002\u01ba\u01b8\u0003\u0002\u0002\u0002\u01ba\u01bb\u0003\u0002\u0002",
"\u0002\u01bbz\u0003\u0002\u0002\u0002\u01bc\u01ba\u0003\u0002\u0002",
"\u0002\u01bd\u01c1\t\f\u0002\u0002\u01be\u01c0\t\n\u0002\u0002\u01bf",
"\u01be\u0003\u0002\u0002\u0002\u01c0\u01c3\u0003\u0002\u0002\u0002\u01c1",
"\u01bf\u0003\u0002\u0002\u0002\u01c1\u01c2\u0003\u0002\u0002\u0002\u01c2",
"|\u0003\u0002\u0002\u0002\u01c3\u01c1\u0003\u0002\u0002\u0002\u01c4",
"\u01c5\t\r\u0002\u0002\u01c5\u01c9\t\f\u0002\u0002\u01c6\u01c8\t\n\u0002",
"\u0002\u01c7\u01c6\u0003\u0002\u0002\u0002\u01c8\u01cb\u0003\u0002\u0002",
"\u0002\u01c9\u01c7\u0003\u0002\u0002\u0002\u01c9\u01ca\u0003\u0002\u0002",
"\u0002\u01ca~\u0003\u0002\u0002\u0002\u01cb\u01c9\u0003\u0002\u0002",
"\u0002\u0010\u0002\u0164\u016f\u0175\u017d\u0183\u018c\u0198\u01a4\u01ab",
"\u01b3\u01ba\u01c1\u01c9\u0003\b\u0002\u0002"].join("");
const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) );
export default class scillaLexer extends antlr4.Lexer {
static grammarFileName = "scilla.g4";
static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
static modeNames = [ "DEFAULT_MODE" ];
static literalNames = [ null, "'-'", "'forall'", "'builtin'", "'library'",
"'import'", "'let'", "'in'", "'match'", "'with'",
"'end'", "'fun'", "'tfun'", "'contract'", "'transition'",
"'send'", "'event'", "'field'", "'accept'", "'exists'",
"'delete'", "'Emp'", "'Map'", "'scilla_version'",
"'type'", "'of'", "'try'", "'catch'", "'as'", "'procedure'",
"'throw'", "';'", "':'", "'.'", "'|'", "'['", "']'",
"'('", "')'", "'{'", "'}'", "','", "'=>'", "'->'",
"'='", "'&'", "'<-'", "':='", "'@'", "'_'", null,
null, null, null, null, null, "'Event'" ];
static symbolicNames = [ null, null, "FORALL", "BUILTIN", "LIBRARY", "IMPORT",
"LET", "IN", "MATCH", "WITH", "END", "FUN", "TFUN",
"CONTRACT", "TRANSITION", "SEND", "EVENT", "FIELD",
"ACCEPT", "EXISTS", "DELETE", "EMP", "MAP", "SCILLA_VERSION",
"TYPE", "OF", "TRY", "CATCH", "AS", "PROCEDURE",
"THROW", "SEMICOLON", "COLON", "PERIOD", "BAR",
"LSQB", "RSQB", "LPAREN", "RPAREN", "LBRACE",
"RBRACE", "COMMA", "ARROW", "TARROW", "EQ", "AND",
"FETCH", "ASSIGN", "AT", "UNDERSCORE", "BlockComment",
"NUMBER", "STRING", "FLOAT", "HEX", "BYSTR", "EVENT_TY",
"WS", "TOSKIP", "ID", "SPID", "CID", "TID" ];
static ruleNames = [ "T__0", "FORALL", "BUILTIN", "LIBRARY", "IMPORT",
"LET", "IN", "MATCH", "WITH", "END", "FUN", "TFUN",
"CONTRACT", "TRANSITION", "SEND", "EVENT", "FIELD",
"ACCEPT", "EXISTS", "DELETE", "EMP", "MAP", "SCILLA_VERSION",
"TYPE", "OF", "TRY", "CATCH", "AS", "PROCEDURE", "THROW",
"SEMICOLON", "COLON", "PERIOD", "BAR", "LSQB", "RSQB",
"LPAREN", "RPAREN", "LBRACE", "RBRACE", "COMMA", "ARROW",
"TARROW", "EQ", "AND", "FETCH", "ASSIGN", "AT", "UNDERSCORE",
"BlockComment", "NUMBER", "STRING", "FLOAT", "HEX",
"BYSTR", "EVENT_TY", "WS", "TOSKIP", "ID", "SPID",
"CID", "TID" ];
constructor(input) {
super(input)
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
}
get atn() {
return atn;
}
}
scillaLexer.EOF = antlr4.Token.EOF;
scillaLexer.T__0 = 1;
scillaLexer.FORALL = 2;
scillaLexer.BUILTIN = 3;
scillaLexer.LIBRARY = 4;
scillaLexer.IMPORT = 5;
scillaLexer.LET = 6;
scillaLexer.IN = 7;
scillaLexer.MATCH = 8;
scillaLexer.WITH = 9;
scillaLexer.END = 10;
scillaLexer.FUN = 11;
scillaLexer.TFUN = 12;
scillaLexer.CONTRACT = 13;
scillaLexer.TRANSITION = 14;
scillaLexer.SEND = 15;
scillaLexer.EVENT = 16;
scillaLexer.FIELD = 17;
scillaLexer.ACCEPT = 18;
scillaLexer.EXISTS = 19;
scillaLexer.DELETE = 20;
scillaLexer.EMP = 21;
scillaLexer.MAP = 22;
scillaLexer.SCILLA_VERSION = 23;
scillaLexer.TYPE = 24;
scillaLexer.OF = 25;
scillaLexer.TRY = 26;
scillaLexer.CATCH = 27;
scillaLexer.AS = 28;
scillaLexer.PROCEDURE = 29;
scillaLexer.THROW = 30;
scillaLexer.SEMICOLON = 31;
scillaLexer.COLON = 32;
scillaLexer.PERIOD = 33;
scillaLexer.BAR = 34;
scillaLexer.LSQB = 35;
scillaLexer.RSQB = 36;
scillaLexer.LPAREN = 37;
scillaLexer.RPAREN = 38;
scillaLexer.LBRACE = 39;
scillaLexer.RBRACE = 40;
scillaLexer.COMMA = 41;
scillaLexer.ARROW = 42;
scillaLexer.TARROW = 43;
scillaLexer.EQ = 44;
scillaLexer.AND = 45;
scillaLexer.FETCH = 46;
scillaLexer.ASSIGN = 47;
scillaLexer.AT = 48;
scillaLexer.UNDERSCORE = 49;
scillaLexer.BlockComment = 50;
scillaLexer.NUMBER = 51;
scillaLexer.STRING = 52;
scillaLexer.FLOAT = 53;
scillaLexer.HEX = 54;
scillaLexer.BYSTR = 55;
scillaLexer.EVENT_TY = 56;
scillaLexer.WS = 57;
scillaLexer.TOSKIP = 58;
scillaLexer.ID = 59;
scillaLexer.SPID = 60;
scillaLexer.CID = 61;
scillaLexer.TID = 62;