commit
message
[Parser] using Symbol enums in ACTION_TABLE
author
Ben Vogt <[email protected]>
date
2017-09-18 01:32:20
stats
1 file(s) changed,
1469 insertions(+),
1176 deletions(-)
files
src/Parser/Parser.ts
1diff --git a/src/Parser/Parser.ts b/src/Parser/Parser.ts
2index ffa8487..b209de7 100644
3--- a/src/Parser/Parser.ts
4+++ b/src/Parser/Parser.ts
5@@ -220,78 +220,134 @@ productions[ReduceActions.REDUCE_LAST_THREE_A] = new ReductionPair(2, 3);
6 productions[ReduceActions.REDUCE_LAST_THREE_B] = new ReductionPair(2, 4);
7 const PRODUCTIONS = productions;
8
9-const SYMBOL_NAME_TO_INDEX = {
10- "$accept": 0,
11- "$end": 1,
12- "error": 2,
13- "expressions": 3,
14- "expression": 4,
15- "EOF": 5,
16- "variableSequence": 6,
17- "TIME_AMPM": 7,
18- "TIME_24": 8,
19- "number": 9,
20- "STRING": 10,
21- "&": 11,
22- "=": 12,
23- "+": 13,
24- "(": 14,
25- ")": 15,
26- "<": 16,
27- ">": 17,
28- "NOT": 18,
29- "-": 19,
30- "*": 20,
31- "/": 21,
32- "^": 22,
33- "FUNCTION": 23,
34- "expseq": 24,
35- "cell": 25,
36- "FIXEDCELL": 26,
37- ":": 27,
38- "CELL": 28,
39- "ARRAY": 29,
40- ";": 30,
41- ",": 31,
42- "VARIABLE": 32,
43- "DECIMAL": 33,
44- "NUMBER": 34,
45- "%": 35,
46- "#": 36,
47- "!": 37
48-};
49-const SYMBOL_INDEX_TO_NAME = {
50- 5: "EOF",
51- 7: "TIME_AMPM",
52- 8: "TIME_24",
53- 10: "STRING",
54- 11: "&",
55- 12: "=",
56- 13: "+",
57- 14: "(",
58- 15: ")",
59- 16: "<",
60- 17: ">",
61- 18: "NOT",
62- 19: "-",
63- 20: "*",
64- 21: "/",
65- 22: "^",
66- 23: "FUNCTION",
67- 26: "FIXEDCELL",
68- 27: ":",
69- 28: "CELL",
70- 29: "ARRAY",
71- 30: ";",
72- 31: ",",
73- 32: "VARIABLE",
74- 33: "DECIMAL",
75- 34: "NUMBER",
76- 35: "%",
77- 36: "#",
78- 37: "!"
79-};
80+enum Symbol {
81+ ACCEPT = 0,
82+ END = 1,
83+ ERROR = 2,
84+ EXPRESSIONS = 3,
85+ EXPRESSION = 4,
86+ EOF = 5,
87+ VARIABLE_SEQUENCE = 6,
88+ TIME_AMPM = 7,
89+ TIME_24 = 8,
90+ NUMBER = 9,
91+ STRING = 10,
92+ AMPERSAND = 11,
93+ EQUALS = 12,
94+ PLUS = 13,
95+ LEFT_PAREN = 14,
96+ RIGHT_PAREN = 15,
97+ LESS_THAN = 16,
98+ GREATER_THAN = 17,
99+ NOT = 18,
100+ MINUS = 19,
101+ ASTERISK = 20,
102+ DIVIDE = 21,
103+ CARROT = 22,
104+ FUNCTION = 23,
105+ EXP_SEQ = 24,
106+ CELL = 25,
107+ FIXEDCELL = 26,
108+ COLON = 27,
109+ CELL_UPPER = 28,
110+ ARRAY = 29,
111+ SEMI_COLON = 30,
112+ COMMA = 31,
113+ VARIABLE = 32,
114+ DECIMAL = 33,
115+ NUMBER_UPPER = 34,
116+ PERCENT = 35,
117+ POUND = 36,
118+ EXCLAMATION_POINT = 37
119+}
120
121+const SYMBOL_NAME_TO_INDEX = {
122+ "$accept": Symbol.ACCEPT,
123+ "$end": Symbol.END,
124+ "error": Symbol.ERROR,
125+ "expressions": Symbol.EXPRESSIONS,
126+ "expression": Symbol.EXPRESSION,
127+ "EOF": Symbol.EOF,
128+ "variableSequence": Symbol.VARIABLE_SEQUENCE,
129+ "TIME_AMPM": Symbol.TIME_AMPM,
130+ "TIME_24": Symbol.TIME_24,
131+ "number": Symbol.NUMBER,
132+ "STRING": Symbol.STRING,
133+ "&": Symbol.AMPERSAND,
134+ "=": Symbol.EQUALS,
135+ "+": Symbol.PLUS,
136+ "(": Symbol.LEFT_PAREN,
137+ ")": Symbol.RIGHT_PAREN,
138+ "<": Symbol.LESS_THAN,
139+ ">": Symbol.GREATER_THAN,
140+ "NOT": Symbol.NOT,
141+ "-": Symbol.MINUS,
142+ "*": Symbol.ASTERISK,
143+ "/": Symbol.DIVIDE,
144+ "^": Symbol.CARROT,
145+ "FUNCTION": Symbol.FUNCTION,
146+ "expseq": Symbol.EXP_SEQ,
147+ "cell": Symbol.CELL,
148+ "FIXEDCELL": Symbol.FIXEDCELL,
149+ ":": Symbol.COLON,
150+ "CELL": Symbol.CELL_UPPER,
151+ "ARRAY": Symbol.ARRAY,
152+ ";": Symbol.SEMI_COLON,
153+ ",": Symbol.COMMA,
154+ "VARIABLE": Symbol.VARIABLE,
155+ "DECIMAL": Symbol.DECIMAL,
156+ "NUMBER": Symbol.NUMBER_UPPER,
157+ "%": Symbol.PERCENT,
158+ "#": Symbol.POUND,
159+ "!": Symbol.EXCLAMATION_POINT
160+};
161+let symbolIndexToName = {};
162+symbolIndexToName[Symbol.EOF] = "EOF";
163+symbolIndexToName[Symbol.TIME_AMPM] = "TIME_AMPM";
164+symbolIndexToName[Symbol.TIME_24] = "TIME_24";
165+symbolIndexToName[Symbol.STRING] = "STRING";
166+symbolIndexToName[Symbol.AMPERSAND] = "&";
167+symbolIndexToName[Symbol.EQUALS] = "=";
168+symbolIndexToName[Symbol.PLUS] = "+";
169+symbolIndexToName[Symbol.LEFT_PAREN] = "(";
170+symbolIndexToName[Symbol.RIGHT_PAREN] = ")";
171+symbolIndexToName[Symbol.LESS_THAN] = "<";
172+symbolIndexToName[Symbol.GREATER_THAN] = ">";
173+symbolIndexToName[Symbol.NOT] = "NOTE";
174+symbolIndexToName[Symbol.MINUS] = "-";
175+symbolIndexToName[Symbol.ASTERISK] = "*";
176+symbolIndexToName[Symbol.DIVIDE] = "/";
177+symbolIndexToName[Symbol.CARROT] = "^";
178+symbolIndexToName[Symbol.FUNCTION] = "FUNCTION";
179+symbolIndexToName[Symbol.FIXEDCELL] = "FIXEDCELL";
180+symbolIndexToName[Symbol.COLON] = ";";
181+symbolIndexToName[Symbol.COMMA] = ",";
182+symbolIndexToName[Symbol.VARIABLE] = "VARIABLE";
183+symbolIndexToName[Symbol.DECIMAL] = "DECIMAL";
184+symbolIndexToName[Symbol.NUMBER_UPPER] = "NUMBER";
185+symbolIndexToName[Symbol.PERCENT] = "%";
186+symbolIndexToName[Symbol.POUND] = "#";
187+symbolIndexToName[Symbol.EXCLAMATION_POINT] = "!";
188+const SYMBOL_INDEX_TO_NAME = symbolIndexToName;
189+
190+
191+
192+class ObjectBuilder {
193+ public o : Object = {};
194+
195+ public static add(k, v) : ObjectBuilder {
196+ let m = new ObjectBuilder();
197+ m.o[k.toString()] = v;
198+ return m;
199+ }
200+ public add(k, v) : ObjectBuilder {
201+ this.o[k.toString()] = v;
202+ return this;
203+ }
204+ public build() : Object {
205+ return this.o;
206+ }
207+}
208
209 /**
210 * Array of to map rules to to LexActions and other rules. A single index in the object (e.g. `{2: 13}`) indicates the
211@@ -299,1103 +355,1130 @@ const SYMBOL_INDEX_TO_NAME = {
212 * and the rule object to follow after the action.
213 */
214 let table = [];
215-table[0] = {
216- 2: 13,
217- 3: 1,
218- 4: 2,
219- 6: 3,
220- 7: [SHIFT, 4],
221- 8: [SHIFT, 5],
222- 9: 6,
223- 10: [SHIFT, 7],
224- 13: [SHIFT, 10],
225- 14: [SHIFT, 8],
226- 19: [SHIFT, 9],
227- 23: [SHIFT, 11],
228- 25: 12,
229- 26: [SHIFT, 16],
230- 28: [SHIFT, 17],
231- 32: [SHIFT, 14],
232- 34: [SHIFT, 15],
233- 36: [SHIFT, 18]
234-};
235-table[1] = {
236- 1: [3]
237-};
238-table[2] = {
239- 5: [SHIFT, 19],
240- 11: [SHIFT, 20],
241- 12: [SHIFT, 21],
242- 13: [SHIFT, 22],
243- 16: [SHIFT, 23],
244- 17: [SHIFT, 24],
245- 18: [SHIFT, 25],
246- 19: [SHIFT, 26],
247- 20: [SHIFT, 27],
248- 21: [SHIFT, 28],
249- 22: [SHIFT, 29]
250-};
251-table[3] = {
252- 5: [REDUCE, 2],
253- 11: [REDUCE, 2],
254- 12: [REDUCE, 2],
255- 13: [REDUCE, 2],
256- 15: [REDUCE, 2],
257- 16: [REDUCE, 2],
258- 17: [REDUCE, 2],
259- 18: [REDUCE, 2],
260- 19: [REDUCE, 2],
261- 20: [REDUCE, 2],
262- 21: [REDUCE, 2],
263- 22: [REDUCE, 2],
264- 30: [REDUCE, 2],
265- 31: [REDUCE, 2],
266- 33: [SHIFT, 30]
267-};
268-table[4] = {
269- 5: [REDUCE, 3],
270- 11: [REDUCE, 3],
271- 12: [REDUCE, 3],
272- 13: [REDUCE, 3],
273- 15: [REDUCE, 3],
274- 16: [REDUCE, 3],
275- 17: [REDUCE, 3],
276- 18: [REDUCE, 3],
277- 19: [REDUCE, 3],
278- 20: [REDUCE, 3],
279- 21: [REDUCE, 3],
280- 22: [REDUCE, 3],
281- 30: [REDUCE, 3],
282- 31: [REDUCE, 3]
283-};
284-table[5] = {
285- 5: [REDUCE, 4],
286- 11: [REDUCE, 4],
287- 12: [REDUCE, 4],
288- 13: [REDUCE, 4],
289- 15: [REDUCE, 4],
290- 16: [REDUCE, 4],
291- 17: [REDUCE, 4],
292- 18: [REDUCE, 4],
293- 19: [REDUCE, 4],
294- 20: [REDUCE, 4],
295- 21: [REDUCE, 4],
296- 22: [REDUCE, 4],
297- 30: [REDUCE, 4],
298- 31: [REDUCE, 4]
299-};
300-table[6] = {
301- 5: [REDUCE, 5],
302- 11: [REDUCE, 5],
303- 12: [REDUCE, 5],
304- 13: [REDUCE, 5],
305- 15: [REDUCE, 5],
306- 16: [REDUCE, 5],
307- 17: [REDUCE, 5],
308- 18: [REDUCE, 5],
309- 19: [REDUCE, 5],
310- 20: [REDUCE, 5],
311- 21: [REDUCE, 5],
312- 22: [REDUCE, 5],
313- 30: [REDUCE, 5],
314- 31: [REDUCE, 5],
315- 35: [SHIFT, 31]
316-};
317-table[7] = {
318- 5: [REDUCE, 6],
319- 11: [REDUCE, 6],
320- 12: [REDUCE, 6],
321- 13: [REDUCE, 6],
322- 15: [REDUCE, 6],
323- 16: [REDUCE, 6],
324- 17: [REDUCE, 6],
325- 18: [REDUCE, 6],
326- 19: [REDUCE, 6],
327- 20: [REDUCE, 6],
328- 21: [REDUCE, 6],
329- 22: [REDUCE, 6],
330- 30: [REDUCE, 6],
331- 31: [REDUCE, 6]
332-};
333-table[8] = {
334- 2: 13,
335- 4: 32,
336- 6: 3,
337- 7: [SHIFT, 4],
338- 8: [SHIFT, 5],
339- 9: 6,
340- 10: [SHIFT, 7],
341- 13: [SHIFT, 10],
342- 14: [SHIFT, 8],
343- 19: [SHIFT, 9],
344- 23: [SHIFT, 11],
345- 25: 12,
346- 26: [SHIFT, 16],
347- 28: [SHIFT, 17],
348- 32: [SHIFT, 14],
349- 34: [SHIFT, 15],
350- 36: [SHIFT, 18]
351-};
352-table[9] = {
353- 2: 13,
354- 4: 33,
355- 6: 3,
356- 7: [SHIFT, 4],
357- 8: [SHIFT, 5],
358- 9: 6,
359- 10: [SHIFT, 7],
360- 13: [SHIFT, 10],
361- 14: [SHIFT, 8],
362- 19: [SHIFT, 9],
363- 23: [SHIFT, 11],
364- 25: 12,
365- 26: [SHIFT, 16],
366- 28: [SHIFT, 17],
367- 32: [SHIFT, 14],
368- 34: [SHIFT, 15],
369- 36: [SHIFT, 18]
370-};
371-table[10] = {
372- 2: 13,
373- 4: 34,
374- 6: 3,
375- 7: [SHIFT, 4],
376- 8: [SHIFT, 5],
377- 9: 6,
378- 10: [SHIFT, 7],
379- 13: [SHIFT, 10],
380- 14: [SHIFT, 8],
381- 19: [SHIFT, 9],
382- 23: [SHIFT, 11],
383- 25: 12,
384- 26: [SHIFT, 16],
385- 28: [SHIFT, 17],
386- 32: [SHIFT, 14],
387- 34: [SHIFT, 15],
388- 36: [SHIFT, 18]
389-};
390-table[11] = {
391- 14: [SHIFT, 35]
392-};
393-table[12] = {
394- 5: [REDUCE, 25],
395- 11: [REDUCE, 25],
396- 12: [REDUCE, 25],
397- 13: [REDUCE, 25],
398- 15: [REDUCE, 25],
399- 16: [REDUCE, 25],
400- 17: [REDUCE, 25],
401- 18: [REDUCE, 25],
402- 19: [REDUCE, 25],
403- 20: [REDUCE, 25],
404- 21: [REDUCE, 25],
405- 22: [REDUCE, 25],
406- 30: [REDUCE, 25],
407- 31: [REDUCE, 25]
408-};
409-table[13] = {
410- 2: 36,
411- 5: [REDUCE, 26],
412- 11: [REDUCE, 26],
413- 12: [REDUCE, 26],
414- 13: [REDUCE, 26],
415- 15: [REDUCE, 26],
416- 16: [REDUCE, 26],
417- 17: [REDUCE, 26],
418- 18: [REDUCE, 26],
419- 19: [REDUCE, 26],
420- 20: [REDUCE, 26],
421- 21: [REDUCE, 26],
422- 22: [REDUCE, 26],
423- 30: [REDUCE, 26],
424- 31: [REDUCE, 26],
425- 32: [SHIFT, 37],
426- 36: [SHIFT, 18]
427-};
428-table[14] = {
429- 5: [REDUCE, 36],
430- 11: [REDUCE, 36],
431- 12: [REDUCE, 36],
432- 13: [REDUCE, 36],
433- 15: [REDUCE, 36],
434- 16: [REDUCE, 36],
435- 17: [REDUCE, 36],
436- 18: [REDUCE, 36],
437- 19: [REDUCE, 36],
438- 20: [REDUCE, 36],
439- 21: [REDUCE, 36],
440- 22: [REDUCE, 36],
441- 30: [REDUCE, 36],
442- 31: [REDUCE, 36],
443- 33: [REDUCE, 36],
444- 36: [SHIFT, 38]
445-};
446-table[15] = {
447- 5: [REDUCE, 38],
448- 11: [REDUCE, 38],
449- 12: [REDUCE, 38],
450- 13: [REDUCE, 38],
451- 15: [REDUCE, 38],
452- 16: [REDUCE, 38],
453- 17: [REDUCE, 38],
454- 18: [REDUCE, 38],
455- 19: [REDUCE, 38],
456- 20: [REDUCE, 38],
457- 21: [REDUCE, 38],
458- 22: [REDUCE, 38],
459- 30: [REDUCE, 38],
460- 31: [REDUCE, 38],
461- 33: [SHIFT, 39],
462- 35: [REDUCE, 38],
463- 38: [REDUCE, 38]
464-};
465-table[16] = {
466- 5: [REDUCE, 28],
467- 11: [REDUCE, 28],
468- 12: [REDUCE, 28],
469- 13: [REDUCE, 28],
470- 15: [REDUCE, 28],
471- 16: [REDUCE, 28],
472- 17: [REDUCE, 28],
473- 18: [REDUCE, 28],
474- 19: [REDUCE, 28],
475- 20: [REDUCE, 28],
476- 21: [REDUCE, 28],
477- 22: [REDUCE, 28],
478- 27: [SHIFT, 40],
479- 30: [REDUCE, 28],
480- 31: [REDUCE, 28]
481-};
482-table[17] = {
483- 5: [REDUCE, 30],
484- 11: [REDUCE, 30],
485- 12: [REDUCE, 30],
486- 13: [REDUCE, 30],
487- 15: [REDUCE, 30],
488- 16: [REDUCE, 30],
489- 17: [REDUCE, 30],
490- 18: [REDUCE, 30],
491- 19: [REDUCE, 30],
492- 20: [REDUCE, 30],
493- 21: [REDUCE, 30],
494- 22: [REDUCE, 30],
495- 27: [SHIFT, 41],
496- 30: [REDUCE, 30],
497- 31: [REDUCE, 30]
498-};
499-table[18] = {
500- 32: [SHIFT, 42]
501-};
502-table[19] = {
503- 1: [ACCEPT, 1]
504-};
505-table[20] = {
506- 2: 13,
507- 4: 43,
508- 6: 3,
509- 7: [SHIFT, 4],
510- 8: [SHIFT, 5],
511- 9: 6,
512- 10: [SHIFT, 7],
513- 13: [SHIFT, 10],
514- 14: [SHIFT, 8],
515- 19: [SHIFT, 9],
516- 23: [SHIFT, 11],
517- 25: 12,
518- 26: [SHIFT, 16],
519- 28: [SHIFT, 17],
520- 32: [SHIFT, 14],
521- 34: [SHIFT, 15],
522- 36: [SHIFT, 18]
523-};
524-table[21] = {
525- 2: 13,
526- 4: 44,
527- 6: 3,
528- 7: [SHIFT, 4],
529- 8: [SHIFT, 5],
530- 9: 6,
531- 10: [SHIFT, 7],
532- 13: [SHIFT, 10],
533- 14: [SHIFT, 8],
534- 19: [SHIFT, 9],
535- 23: [SHIFT, 11],
536- 25: 12,
537- 26: [SHIFT, 16],
538- 28: [SHIFT, 17],
539- 32: [SHIFT, 14],
540- 34: [SHIFT, 15],
541- 36: [SHIFT, 18]
542-};
543-table[22] = {
544- 2: 13,
545- 4: 45,
546- 6: 3,
547- 7: [SHIFT, 4],
548- 8: [SHIFT, 5],
549- 9: 6,
550- 10: [SHIFT, 7],
551- 13: [SHIFT, 10],
552- 14: [SHIFT, 8],
553- 19: [SHIFT, 9],
554- 23: [SHIFT, 11],
555- 25: 12,
556- 26: [SHIFT, 16],
557- 28: [SHIFT, 17],
558- 32: [SHIFT, 14],
559- 34: [SHIFT, 15],
560- 36: [SHIFT, 18]
561-};
562-table[23] = {
563- 2: 13,
564- 4: 48,
565- 6: 3,
566- 7: [SHIFT, 4],
567- 8: [SHIFT, 5],
568- 9: 6,
569- 10: [SHIFT, 7],
570- 12: [SHIFT, 46],
571- 13: [SHIFT, 10],
572- 14: [SHIFT, 8],
573- 17: [SHIFT, 47],
574- 19: [SHIFT, 9],
575- 23: [SHIFT, 11],
576- 25: 12,
577- 26: [SHIFT, 16],
578- 28: [SHIFT, 17],
579- 32: [SHIFT, 14],
580- 34: [SHIFT, 15],
581- 36: [SHIFT, 18]
582-};
583-table[24] = {
584- 2: 13,
585- 4: 50,
586- 6: 3,
587- 7: [SHIFT, 4],
588- 8: [SHIFT, 5],
589- 9: 6,
590- 10: [SHIFT, 7],
591- 12: [SHIFT, 49],
592- 13: [SHIFT, 10],
593- 14: [SHIFT, 8],
594- 19: [SHIFT, 9],
595- 23: [SHIFT, 11],
596- 25: 12,
597- 26: [SHIFT, 16],
598- 28: [SHIFT, 17],
599- 32: [SHIFT, 14],
600- 34: [SHIFT, 15],
601- 36: [SHIFT, 18]
602-};
603-table[25] = {
604- 2: 13,
605- 4: 51,
606- 6: 3,
607- 7: [SHIFT, 4],
608- 8: [SHIFT, 5],
609- 9: 6,
610- 10: [SHIFT, 7],
611- 13: [SHIFT, 10],
612- 14: [SHIFT, 8],
613- 19: [SHIFT, 9],
614- 23: [SHIFT, 11],
615- 25: 12,
616- 26: [SHIFT, 16],
617- 28: [SHIFT, 17],
618- 32: [SHIFT, 14],
619- 34: [SHIFT, 15],
620- 36: [SHIFT, 18]
621-};
622-table[26] = {
623- 2: 13,
624- 4: 52,
625- 6: 3,
626- 7: [SHIFT, 4],
627- 8: [SHIFT, 5],
628- 9: 6,
629- 10: [SHIFT, 7],
630- 13: [SHIFT, 10],
631- 14: [SHIFT, 8],
632- 19: [SHIFT, 9],
633- 23: [SHIFT, 11],
634- 25: 12,
635- 26: [SHIFT, 16],
636- 28: [SHIFT, 17],
637- 32: [SHIFT, 14],
638- 34: [SHIFT, 15],
639- 36: [SHIFT, 18]
640-};
641-table[27] = {
642- 2: 13,
643- 4: 53,
644- 6: 3,
645- 7: [SHIFT, 4],
646- 8: [SHIFT, 5],
647- 9: 6,
648- 10: [SHIFT, 7],
649- 13: [SHIFT, 10],
650- 14: [SHIFT, 8],
651- 19: [SHIFT, 9],
652- 23: [SHIFT, 11],
653- 25: 12,
654- 26: [SHIFT, 16],
655- 28: [SHIFT, 17],
656- 32: [SHIFT, 14],
657- 34: [SHIFT, 15],
658- 36: [SHIFT, 18]
659-};
660-table[28] = {
661- 2: 13,
662- 4: 54,
663- 6: 3,
664- 7: [SHIFT, 4],
665- 8: [SHIFT, 5],
666- 9: 6,
667- 10: [SHIFT, 7],
668- 13: [SHIFT, 10],
669- 14: [SHIFT, 8],
670- 19: [SHIFT, 9],
671- 23: [SHIFT, 11],
672- 25: 12,
673- 26: [SHIFT, 16],
674- 28: [SHIFT, 17],
675- 32: [SHIFT, 14],
676- 34: [SHIFT, 15],
677- 36: [SHIFT, 18]
678-};
679-table[29] = {
680- 2: 13,
681- 4: 55,
682- 6: 3,
683- 7: [SHIFT, 4],
684- 8: [SHIFT, 5],
685- 9: 6,
686- 10: [SHIFT, 7],
687- 13: [SHIFT, 10],
688- 14: [SHIFT, 8],
689- 19: [SHIFT, 9],
690- 23: [SHIFT, 11],
691- 25: 12,
692- 26: [SHIFT, 16],
693- 28: [SHIFT, 17],
694- 32: [SHIFT, 14],
695- 34: [SHIFT, 15],
696- 36: [SHIFT, 18]
697-};
698-table[30] = {
699- 32: [SHIFT, 56]
700-};
701-table[31] = {
702- 5: [REDUCE, 40],
703- 11: [REDUCE, 40],
704- 12: [REDUCE, 40],
705- 13: [REDUCE, 40],
706- 15: [REDUCE, 40],
707- 16: [REDUCE, 40],
708- 17: [REDUCE, 40],
709- 18: [REDUCE, 40],
710- 19: [REDUCE, 40],
711- 20: [REDUCE, 40],
712- 21: [REDUCE, 40],
713- 22: [REDUCE, 40],
714- 30: [REDUCE, 40],
715- 31: [REDUCE, 40],
716- 35: [REDUCE, 40],
717- 38: [REDUCE, 40]
718-};
719-table[32] = {
720- 11: [SHIFT, 20],
721- 12: [SHIFT, 21],
722- 13: [SHIFT, 22],
723- 15: [SHIFT, 57],
724- 16: [SHIFT, 23],
725- 17: [SHIFT, 24],
726- 18: [SHIFT, 25],
727- 19: [SHIFT, 26],
728- 20: [SHIFT, 27],
729- 21: [SHIFT, 28],
730- 22: [SHIFT, 29]
731-};
732-table[33] = {
733- 5: [REDUCE, 21],
734- 11: [SHIFT, 20],
735- 12: [REDUCE, 21],
736- 13: [REDUCE, 21],
737- 15: [REDUCE, 21],
738- 16: [REDUCE, 21],
739- 17: [REDUCE, 21],
740- 18: [REDUCE, 21],
741- 19: [REDUCE, 21],
742- 20: [SHIFT, 27],
743- 21: [SHIFT, 28],
744- 22: [SHIFT, 29],
745- 30: [REDUCE, 21],
746- 31: [REDUCE, 21]
747-};
748-table[34] = {
749- 5: [REDUCE, 22],
750- 11: [SHIFT, 20],
751- 12: [REDUCE, 22],
752- 13: [REDUCE, 22],
753- 15: [REDUCE, 22],
754- 16: [REDUCE, 22],
755- 17: [REDUCE, 22],
756- 18: [REDUCE, 22],
757- 19: [REDUCE, 22],
758- 20: [SHIFT, 27],
759- 21: [SHIFT, 28],
760- 22: [SHIFT, 29],
761- 30: [REDUCE, 22],
762- 31: [REDUCE, 22]
763-};
764-table[35] = {
765- 2: 13,
766- 4: 60,
767- 6: 3,
768- 7: [SHIFT, 4],
769- 8: [SHIFT, 5],
770- 9: 6,
771- 10: [SHIFT, 7],
772- 13: [SHIFT, 10],
773- 14: [SHIFT, 8],
774- 15: [SHIFT, 58],
775- 19: [SHIFT, 9],
776- 23: [SHIFT, 11],
777- 24: 59,
778- 25: 12,
779- 26: [SHIFT, 16],
780- 28: [SHIFT, 17],
781- 29: [SHIFT, 61],
782- 32: [SHIFT, 14],
783- 34: [SHIFT, 15],
784- 36: [SHIFT, 18]
785-};
786-table[36] = {
787- 5: [REDUCE, 27],
788- 11: [REDUCE, 27],
789- 12: [REDUCE, 27],
790- 13: [REDUCE, 27],
791- 15: [REDUCE, 27],
792- 16: [REDUCE, 27],
793- 17: [REDUCE, 27],
794- 18: [REDUCE, 27],
795- 19: [REDUCE, 27],
796- 20: [REDUCE, 27],
797- 21: [REDUCE, 27],
798- 22: [REDUCE, 27],
799- 30: [REDUCE, 27],
800- 31: [REDUCE, 27]
801-};
802-table[37] = {36: [SHIFT, 38]};
803-table[38] = {32: [SHIFT, 62]};
804-table[39] = {34: [SHIFT, 63]};
805-table[40] = {26: [SHIFT, 64]};
806-table[41] = {28: [SHIFT, 65]};
807-table[42] = {37: [SHIFT, 66]};
808-table[43] = {
809- 5: [REDUCE, 7],
810- 11: [REDUCE, 7],
811- 12: [REDUCE, 7],
812- 13: [REDUCE, 7],
813- 15: [REDUCE, 7],
814- 16: [REDUCE, 7],
815- 17: [REDUCE, 7],
816- 18: [REDUCE, 7],
817- 19: [REDUCE, 7],
818- 20: [REDUCE, 7],
819- 21: [REDUCE, 7],
820- 22: [REDUCE, 7],
821- 30: [REDUCE, 7],
822- 31: [REDUCE, 7]
823-};
824-table[44] = {
825- 5: [REDUCE, 8],
826- 11: [SHIFT, 20],
827- 12: [REDUCE, 8],
828- 13: [SHIFT, 22],
829- 15: [REDUCE, 8],
830- 16: [SHIFT, 23],
831- 17: [SHIFT, 24],
832- 18: [SHIFT, 25],
833- 19: [SHIFT, 26],
834- 20: [SHIFT, 27],
835- 21: [SHIFT, 28],
836- 22: [SHIFT, 29],
837- 30: [REDUCE, 8],
838- 31: [REDUCE, 8]
839-};
840-table[45] = {
841- 5: [REDUCE, 9],
842- 11: [SHIFT, 20],
843- 12: [REDUCE, 9],
844- 13: [REDUCE, 9],
845- 15: [REDUCE, 9],
846- 16: [REDUCE, 9],
847- 17: [REDUCE, 9],
848- 18: [REDUCE, 9],
849- 19: [REDUCE, 9],
850- 20: [SHIFT, 27],
851- 21: [SHIFT, 28],
852- 22: [SHIFT, 29],
853- 30: [REDUCE, 9],
854- 31: [REDUCE, 9]
855-};
856-table[46] = {
857- 2: 13,
858- 4: 67,
859- 6: 3,
860- 7: [SHIFT, 4],
861- 8: [SHIFT, 5],
862- 9: 6,
863- 10: [SHIFT, 7],
864- 13: [SHIFT, 10],
865- 14: [SHIFT, 8],
866- 19: [SHIFT, 9],
867- 23: [SHIFT, 11],
868- 25: 12,
869- 26: [SHIFT, 16],
870- 28: [SHIFT, 17],
871- 32: [SHIFT, 14],
872- 34: [SHIFT, 15],
873- 36: [SHIFT, 18]
874-};
875-table[47] = {
876- 2: 13,
877- 4: 68,
878- 6: 3,
879- 7: [SHIFT, 4],
880- 8: [SHIFT, 5],
881- 9: 6,
882- 10: [SHIFT, 7],
883- 13: [SHIFT, 10],
884- 14: [SHIFT, 8],
885- 19: [SHIFT, 9],
886- 23: [SHIFT, 11],
887- 25: 12,
888- 26: [SHIFT, 16],
889- 28: [SHIFT, 17],
890- 32: [SHIFT, 14],
891- 34: [SHIFT, 15],
892- 36: [SHIFT, 18]
893-};
894-table[48] = {
895- 5: [REDUCE, 16],
896- 11: [SHIFT, 20],
897- 12: [REDUCE, 16],
898- 13: [SHIFT, 22],
899- 15: [REDUCE, 16],
900- 16: [REDUCE, 16],
901- 17: [REDUCE, 16],
902- 18: [REDUCE, 16],
903- 19: [SHIFT, 26],
904- 20: [SHIFT, 27],
905- 21: [SHIFT, 28],
906- 22: [SHIFT, 29],
907- 30: [REDUCE, 16],
908- 31: [REDUCE, 16]
909-};
910-table[49] = {
911- 2: 13,
912- 4: 69,
913- 6: 3,
914- 7: [SHIFT, 4],
915- 8: [SHIFT, 5],
916- 9: 6,
917- 10: [SHIFT, 7],
918- 13: [SHIFT, 10],
919- 14: [SHIFT, 8],
920- 19: [SHIFT, 9],
921- 23: [SHIFT, 11],
922- 25: 12,
923- 26: [SHIFT, 16],
924- 28: [SHIFT, 17],
925- 32: [SHIFT, 14],
926- 34: [SHIFT, 15],
927- 36: [SHIFT, 18]
928-};
929-table[50] = {
930- 5: [REDUCE, 15],
931- 11: [SHIFT, 20],
932- 12: [REDUCE, 15],
933- 13: [SHIFT, 22],
934- 15: [REDUCE, 15],
935- 16: [REDUCE, 15],
936- 17: [REDUCE, 15],
937- 18: [REDUCE, 15],
938- 19: [SHIFT, 26],
939- 20: [SHIFT, 27],
940- 21: [SHIFT, 28],
941- 22: [SHIFT, 29],
942- 30: [REDUCE, 15],
943- 31: [REDUCE, 15]
944-};
945-table[51] = {
946- 5: [REDUCE, 14],
947- 11: [SHIFT, 20],
948- 12: [REDUCE, 14],
949- 13: [SHIFT, 22],
950- 15: [REDUCE, 14],
951- 16: [SHIFT, 23],
952- 17: [SHIFT, 24],
953- 18: [REDUCE, 14],
954- 19: [SHIFT, 26],
955- 20: [SHIFT, 27],
956- 21: [SHIFT, 28],
957- 22: [SHIFT, 29],
958- 30: [REDUCE, 14],
959- 31: [REDUCE, 14]
960-};
961-table[52] = {
962- 5: [REDUCE, 17],
963- 11: [SHIFT, 20],
964- 12: [REDUCE, 17],
965- 13: [REDUCE, 17],
966- 15: [REDUCE, 17],
967- 16: [REDUCE, 17],
968- 17: [REDUCE, 17],
969- 18: [REDUCE, 17],
970- 19: [REDUCE, 17],
971- 20: [SHIFT, 27],
972- 21: [SHIFT, 28],
973- 22: [SHIFT, 29],
974- 30: [REDUCE, 17],
975- 31: [REDUCE, 17]
976-};
977-table[53] = {
978- 5: [REDUCE, 18],
979- 11: [SHIFT, 20],
980- 12: [REDUCE, 18],
981- 13: [REDUCE, 18],
982- 15: [REDUCE, 18],
983- 16: [REDUCE, 18],
984- 17: [REDUCE, 18],
985- 18: [REDUCE, 18],
986- 19: [REDUCE, 18],
987- 20: [REDUCE, 18],
988- 21: [REDUCE, 18],
989- 22: [SHIFT, 29],
990- 30: [REDUCE, 18],
991- 31: [REDUCE, 18]
992-};
993-table[54] = {
994- 5: [REDUCE, 19],
995- 11: [SHIFT, 20],
996- 12: [REDUCE, 19],
997- 13: [REDUCE, 19],
998- 15: [REDUCE, 19],
999- 16: [REDUCE, 19],
1000- 17: [REDUCE, 19],
1001- 18: [REDUCE, 19],
1002- 19: [REDUCE, 19],
1003- 20: [REDUCE, 19],
1004- 21: [REDUCE, 19],
1005- 22: [SHIFT, 29],
1006- 30: [REDUCE, 19],
1007- 31: [REDUCE, 19]
1008-};
1009-table[55] = {
1010- 5: [REDUCE, 20],
1011- 11: [SHIFT, 20],
1012- 12: [REDUCE, 20],
1013- 13: [REDUCE, 20],
1014- 15: [REDUCE, 20],
1015- 16: [REDUCE, 20],
1016- 17: [REDUCE, 20],
1017- 18: [REDUCE, 20],
1018- 19: [REDUCE, 20],
1019- 20: [REDUCE, 20],
1020- 21: [REDUCE, 20],
1021- 22: [REDUCE, 20],
1022- 30: [REDUCE, 20],
1023- 31: [REDUCE, 20]
1024-};
1025-table[56] = {
1026- 5: [REDUCE, 37],
1027- 11: [REDUCE, 37],
1028- 12: [REDUCE, 37],
1029- 13: [REDUCE, 37],
1030- 15: [REDUCE, 37],
1031- 16: [REDUCE, 37],
1032- 17: [REDUCE, 37],
1033- 18: [REDUCE, 37],
1034- 19: [REDUCE, 37],
1035- 20: [REDUCE, 37],
1036- 21: [REDUCE, 37],
1037- 22: [REDUCE, 37],
1038- 30: [REDUCE, 37],
1039- 31: [REDUCE, 37],
1040- 33: [REDUCE, 37]
1041-};
1042-table[57] = {
1043- 5: [REDUCE, 10],
1044- 11: [REDUCE, 10],
1045- 12: [REDUCE, 10],
1046- 13: [REDUCE, 10],
1047- 15: [REDUCE, 10],
1048- 16: [REDUCE, 10],
1049- 17: [REDUCE, 10],
1050- 18: [REDUCE, 10],
1051- 19: [REDUCE, 10],
1052- 20: [REDUCE, 10],
1053- 21: [REDUCE, 10],
1054- 22: [REDUCE, 10],
1055- 30: [REDUCE, 10],
1056- 31: [REDUCE, 10]
1057-};
1058-table[58] = {
1059- 5: [REDUCE, 23],
1060- 11: [REDUCE, 23],
1061- 12: [REDUCE, 23],
1062- 13: [REDUCE, 23],
1063- 15: [REDUCE, 23],
1064- 16: [REDUCE, 23],
1065- 17: [REDUCE, 23],
1066- 18: [REDUCE, 23],
1067- 19: [REDUCE, 23],
1068- 20: [REDUCE, 23],
1069- 21: [REDUCE, 23],
1070- 22: [REDUCE, 23],
1071- 30: [REDUCE, 23],
1072- 31: [REDUCE, 23]
1073-};
1074-table[59] = {15: [SHIFT, 70], 30: [SHIFT, 71], 31: [SHIFT, 72]};
1075-table[60] = {
1076- 11: [SHIFT, 20],
1077- 12: [SHIFT, 21],
1078- 13: [SHIFT, 22],
1079- 15: [REDUCE, 32],
1080- 16: [SHIFT, 23],
1081- 17: [SHIFT, 24],
1082- 18: [SHIFT, 25],
1083- 19: [SHIFT, 26],
1084- 20: [SHIFT, 27],
1085- 21: [SHIFT, 28],
1086- 22: [SHIFT, 29],
1087- 30: [REDUCE, 32],
1088- 31: [REDUCE, 32]
1089-};
1090-table[61] = {15: [REDUCE, 33], 30: [REDUCE, 33], 31: [REDUCE, 33]};
1091-table[62] = {37: [SHIFT, 73]};
1092-table[63] = {
1093- 5: [REDUCE, 39],
1094- 11: [REDUCE, 39],
1095- 12: [REDUCE, 39],
1096- 13: [REDUCE, 39],
1097- 15: [REDUCE, 39],
1098- 16: [REDUCE, 39],
1099- 17: [REDUCE, 39],
1100- 18: [REDUCE, 39],
1101- 19: [REDUCE, 39],
1102- 20: [REDUCE, 39],
1103- 21: [REDUCE, 39],
1104- 22: [REDUCE, 39],
1105- 30: [REDUCE, 39],
1106- 31: [REDUCE, 39],
1107- 35: [REDUCE, 39],
1108- 38: [REDUCE, 39]
1109-};
1110-table[64] = {
1111- 5: [REDUCE, 29],
1112- 11: [REDUCE, 29],
1113- 12: [REDUCE, 29],
1114- 13: [REDUCE, 29],
1115- 15: [REDUCE, 29],
1116- 16: [REDUCE, 29],
1117- 17: [REDUCE, 29],
1118- 18: [REDUCE, 29],
1119- 19: [REDUCE, 29],
1120- 20: [REDUCE, 29],
1121- 21: [REDUCE, 29],
1122- 22: [REDUCE, 29],
1123- 30: [REDUCE, 29],
1124- 31: [REDUCE, 29]
1125-};
1126-table[65] = {
1127- 5: [REDUCE, 31],
1128- 11: [REDUCE, 31],
1129- 12: [REDUCE, 31],
1130- 13: [REDUCE, 31],
1131- 15: [REDUCE, 31],
1132- 16: [REDUCE, 31],
1133- 17: [REDUCE, 31],
1134- 18: [REDUCE, 31],
1135- 19: [REDUCE, 31],
1136- 20: [REDUCE, 31],
1137- 21: [REDUCE, 31],
1138- 22: [REDUCE, 31],
1139- 30: [REDUCE, 31],
1140- 31: [REDUCE, 31]
1141-};
1142-table[66] = {
1143- 5: [REDUCE, 41],
1144- 11: [REDUCE, 41],
1145- 12: [REDUCE, 41],
1146- 13: [REDUCE, 41],
1147- 15: [REDUCE, 41],
1148- 16: [REDUCE, 41],
1149- 17: [REDUCE, 41],
1150- 18: [REDUCE, 41],
1151- 19: [REDUCE, 41],
1152- 20: [REDUCE, 41],
1153- 21: [REDUCE, 41],
1154- 22: [REDUCE, 41],
1155- 30: [REDUCE, 41],
1156- 31: [REDUCE, 41],
1157- 32: [REDUCE, 41],
1158- 36: [REDUCE, 41]
1159-};
1160-table[67] = {
1161- 5: [REDUCE, 11],
1162- 11: [SHIFT, 20],
1163- 12: [REDUCE, 11],
1164- 13: [SHIFT, 22],
1165- 15: [REDUCE, 11],
1166- 16: [REDUCE, 11],
1167- 17: [REDUCE, 11],
1168- 18: [REDUCE, 11],
1169- 19: [SHIFT, 26],
1170- 20: [SHIFT, 27],
1171- 21: [SHIFT, 28],
1172- 22: [SHIFT, 29],
1173- 30: [REDUCE, 11],
1174- 31: [REDUCE, 11]
1175-};
1176-table[68] = {
1177- 5: [REDUCE, 13],
1178- 11: [SHIFT, 20],
1179- 12: [REDUCE, 13],
1180- 13: [SHIFT, 22],
1181- 15: [REDUCE, 13],
1182- 16: [REDUCE, 13],
1183- 17: [REDUCE, 13],
1184- 18: [REDUCE, 13],
1185- 19: [SHIFT, 26],
1186- 20: [SHIFT, 27],
1187- 21: [SHIFT, 28],
1188- 22: [SHIFT, 29],
1189- 30: [REDUCE, 13],
1190- 31: [REDUCE, 13]
1191-};
1192-table[69] = {
1193- 5: [REDUCE, 12],
1194- 11: [SHIFT, 20],
1195- 12: [REDUCE, 12],
1196- 13: [SHIFT, 22],
1197- 15: [REDUCE, 12],
1198- 16: [REDUCE, 12],
1199- 17: [REDUCE, 12],
1200- 18: [REDUCE, 12],
1201- 19: [SHIFT, 26],
1202- 20: [SHIFT, 27],
1203- 21: [SHIFT, 28],
1204- 22: [SHIFT, 29],
1205- 30: [REDUCE, 12],
1206- 31: [REDUCE, 12]
1207-};
1208-table[70] = {
1209- 5: [REDUCE, 24],
1210- 11: [REDUCE, 24],
1211- 12: [REDUCE, 24],
1212- 13: [REDUCE, 24],
1213- 15: [REDUCE, 24],
1214- 16: [REDUCE, 24],
1215- 17: [REDUCE, 24],
1216- 18: [REDUCE, 24],
1217- 19: [REDUCE, 24],
1218- 20: [REDUCE, 24],
1219- 21: [REDUCE, 24],
1220- 22: [REDUCE, 24],
1221- 30: [REDUCE, 24],
1222- 31: [REDUCE, 24]
1223-};
1224-table[71] = {
1225- 2: 13,
1226- 4: 74,
1227- 6: 3,
1228- 7: [SHIFT, 4],
1229- 8: [SHIFT, 5],
1230- 9: 6,
1231- 10: [SHIFT, 7],
1232- 12: [SHIFT, 21],
1233- 13: [SHIFT, 10],
1234- 14: [SHIFT, 8],
1235- 19: [SHIFT, 9],
1236- 23: [SHIFT, 11],
1237- 25: 12,
1238- 26: [SHIFT, 16],
1239- 28: [SHIFT, 17],
1240- 32: [SHIFT, 14],
1241- 34: [SHIFT, 15],
1242- 36: [SHIFT, 18]
1243-};
1244-table[72] = {
1245- 2: 13,
1246- 4: 75,
1247- 6: 3,
1248- 7: [SHIFT, 4],
1249- 8: [SHIFT, 5],
1250- 9: 6,
1251- 10: [SHIFT, 7],
1252- 12: [SHIFT, 21],
1253- 13: [SHIFT, 10],
1254- 14: [SHIFT, 8],
1255- 19: [SHIFT, 9],
1256- 23: [SHIFT, 11],
1257- 25: 12,
1258- 26: [SHIFT, 16],
1259- 28: [SHIFT, 17],
1260- 32: [SHIFT, 14],
1261- 34: [SHIFT, 15],
1262- 36: [SHIFT, 18]
1263-};
1264-table[73] = {
1265- 5: [REDUCE, 42],
1266- 11: [REDUCE, 42],
1267- 12: [REDUCE, 42],
1268- 13: [REDUCE, 42],
1269- 15: [REDUCE, 42],
1270- 16: [REDUCE, 42],
1271- 17: [REDUCE, 42],
1272- 18: [REDUCE, 42],
1273- 19: [REDUCE, 42],
1274- 20: [REDUCE, 42],
1275- 21: [REDUCE, 42],
1276- 22: [REDUCE, 42],
1277- 30: [REDUCE, 42],
1278- 31: [REDUCE, 42],
1279- 32: [REDUCE, 42],
1280- 36: [REDUCE, 42]
1281-};
1282-table[74] = {
1283- 11: [SHIFT, 20],
1284- 12: [SHIFT, 21],
1285- 13: [SHIFT, 22],
1286- 15: [REDUCE, 34],
1287- 16: [SHIFT, 23],
1288- 17: [SHIFT, 24],
1289- 18: [SHIFT, 25],
1290- 19: [SHIFT, 26],
1291- 20: [SHIFT, 27],
1292- 21: [SHIFT, 28],
1293- 22: [SHIFT, 29],
1294- 30: [REDUCE, 34],
1295- 31: [REDUCE, 34]
1296-};
1297-table[75] = {
1298- 11: [SHIFT, 20],
1299- 12: [SHIFT, 21],
1300- 13: [SHIFT, 22],
1301- 15: [REDUCE, 35],
1302- 16: [SHIFT, 23],
1303- 17: [SHIFT, 24],
1304- 18: [SHIFT, 25],
1305- 19: [SHIFT, 26],
1306- 20: [SHIFT, 27],
1307- 21: [SHIFT, 28],
1308- 22: [SHIFT, 29],
1309- 30: [REDUCE, 35],
1310- 31: [REDUCE, 35]
1311-};
1312+// All functions in the spreadsheet start with a 0-token.
1313+table[0] = ObjectBuilder
1314+ .add(Symbol.ERROR, 13)
1315+ .add(Symbol.EXPRESSIONS, 1)
1316+ .add(Symbol.EXPRESSION, 2)
1317+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1318+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1319+ .add(Symbol.TIME_24, [SHIFT, 5])
1320+ .add(Symbol.NUMBER, 6)
1321+ .add(Symbol.STRING, [SHIFT, 7])
1322+ .add(Symbol.PLUS, [SHIFT, 10])
1323+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1324+ .add(Symbol.MINUS, [SHIFT, 9])
1325+ .add(Symbol.FUNCTION, [SHIFT, 11])
1326+ .add(Symbol.CELL, 12)
1327+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1328+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1329+ .add(Symbol.VARIABLE, [SHIFT, 14])
1330+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1331+ .add(Symbol.POUND, [SHIFT, 18])
1332+ .build();
1333+table[1] = ObjectBuilder
1334+ .add(Symbol.END, [3])
1335+ .build();
1336+table[2] = ObjectBuilder
1337+ .add(Symbol.EOF, [SHIFT, 19])
1338+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1339+ .add(Symbol.EQUALS, [SHIFT, 21])
1340+ .add(Symbol.PLUS, [SHIFT, 22])
1341+ .add(Symbol.LESS_THAN, [SHIFT, 23])
1342+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
1343+ .add(Symbol.NOT, [SHIFT, 25])
1344+ .add(Symbol.MINUS, [SHIFT, 26])
1345+ .add(Symbol.ASTERISK, [SHIFT, 27])
1346+ .add(Symbol.DIVIDE, [SHIFT, 28])
1347+ .add(Symbol.CARROT, [SHIFT, 29])
1348+ .build();
1349+table[3] = ObjectBuilder
1350+ .add(Symbol.EOF, [REDUCE, 2])
1351+ .add(Symbol.AMPERSAND, [REDUCE, 2])
1352+ .add(Symbol.EQUALS, [REDUCE, 2])
1353+ .add(Symbol.PLUS, [REDUCE, 2])
1354+ .add(Symbol.RIGHT_PAREN, [REDUCE, 2])
1355+ .add(Symbol.LESS_THAN, [REDUCE, 2])
1356+ .add(Symbol.GREATER_THAN, [REDUCE, 2])
1357+ .add(Symbol.NOT, [REDUCE, 2])
1358+ .add(Symbol.MINUS, [REDUCE, 2])
1359+ .add(Symbol.ASTERISK, [REDUCE, 2])
1360+ .add(Symbol.DIVIDE, [REDUCE, 2])
1361+ .add(Symbol.CARROT, [REDUCE, 2])
1362+ .add(Symbol.SEMI_COLON, [REDUCE, 2])
1363+ .add(Symbol.COMMA, [REDUCE, 2])
1364+ .add(33, [SHIFT, 30])
1365+ .build();
1366+table[3] = ObjectBuilder
1367+ .add(Symbol.EOF, [REDUCE, 2])
1368+ .add(Symbol.AMPERSAND, [REDUCE, 2])
1369+ .add(Symbol.EQUALS, [REDUCE, 2])
1370+ .add(Symbol.PLUS, [REDUCE, 2])
1371+ .add(Symbol.RIGHT_PAREN, [REDUCE, 2])
1372+ .add(Symbol.LESS_THAN, [REDUCE, 2])
1373+ .add(Symbol.GREATER_THAN, [REDUCE, 2])
1374+ .add(Symbol.NOT, [REDUCE, 2])
1375+ .add(Symbol.MINUS, [REDUCE, 2])
1376+ .add(Symbol.ASTERISK, [REDUCE, 2])
1377+ .add(Symbol.DIVIDE, [REDUCE, 2])
1378+ .add(Symbol.CARROT, [REDUCE, 2])
1379+ .add(Symbol.SEMI_COLON, [REDUCE, 2])
1380+ .add(Symbol.COMMA, [REDUCE, 2])
1381+ .add(33, [SHIFT, 30])
1382+ .build();
1383+table[4] = ObjectBuilder
1384+ .add(Symbol.EOF, [REDUCE, 3])
1385+ .add(Symbol.AMPERSAND, [REDUCE, 3])
1386+ .add(Symbol.EQUALS, [REDUCE, 3])
1387+ .add(Symbol.PLUS, [REDUCE, 3])
1388+ .add(Symbol.RIGHT_PAREN, [REDUCE, 3])
1389+ .add(Symbol.LESS_THAN, [REDUCE, 3])
1390+ .add(Symbol.GREATER_THAN, [REDUCE, 3])
1391+ .add(Symbol.NOT, [REDUCE, 3])
1392+ .add(Symbol.MINUS, [REDUCE, 3])
1393+ .add(Symbol.ASTERISK, [REDUCE, 3])
1394+ .add(Symbol.DIVIDE, [REDUCE, 3])
1395+ .add(Symbol.CARROT, [REDUCE, 3])
1396+ .add(Symbol.SEMI_COLON, [REDUCE, 3])
1397+ .add(Symbol.COMMA, [REDUCE, 3])
1398+ .build();
1399+table[5] = ObjectBuilder
1400+ .add(Symbol.EOF, [REDUCE, 4])
1401+ .add(Symbol.AMPERSAND, [REDUCE, 4])
1402+ .add(Symbol.EQUALS, [REDUCE, 4])
1403+ .add(Symbol.PLUS, [REDUCE, 4])
1404+ .add(Symbol.RIGHT_PAREN, [REDUCE, 4])
1405+ .add(Symbol.LESS_THAN, [REDUCE, 4])
1406+ .add(Symbol.GREATER_THAN, [REDUCE, 4])
1407+ .add(Symbol.NOT, [REDUCE, 4])
1408+ .add(Symbol.MINUS, [REDUCE, 4])
1409+ .add(Symbol.ASTERISK, [REDUCE, 4])
1410+ .add(Symbol.DIVIDE, [REDUCE, 4])
1411+ .add(Symbol.CARROT, [REDUCE, 4])
1412+ .add(Symbol.SEMI_COLON, [REDUCE, 4])
1413+ .add(Symbol.COMMA, [REDUCE, 4])
1414+ .build();
1415+table[6] = ObjectBuilder
1416+ .add(Symbol.EOF, [REDUCE, 5])
1417+ .add(Symbol.AMPERSAND, [REDUCE, 5])
1418+ .add(Symbol.EQUALS, [REDUCE, 5])
1419+ .add(Symbol.PLUS, [REDUCE, 5])
1420+ .add(Symbol.RIGHT_PAREN, [REDUCE, 5])
1421+ .add(Symbol.LESS_THAN, [REDUCE, 5])
1422+ .add(Symbol.GREATER_THAN, [REDUCE, 5])
1423+ .add(Symbol.NOT, [REDUCE, 5])
1424+ .add(Symbol.MINUS, [REDUCE, 5])
1425+ .add(Symbol.ASTERISK, [REDUCE, 5])
1426+ .add(Symbol.DIVIDE, [REDUCE, 5])
1427+ .add(Symbol.CARROT, [REDUCE, 5])
1428+ .add(Symbol.SEMI_COLON, [REDUCE, 5])
1429+ .add(Symbol.COMMA, [REDUCE, 5])
1430+ .add(Symbol.PERCENT, [SHIFT, 31])
1431+ .build();
1432+table[7] = ObjectBuilder
1433+ .add(Symbol.EOF, [REDUCE, 6])
1434+ .add(Symbol.AMPERSAND, [REDUCE, 6])
1435+ .add(Symbol.EQUALS, [REDUCE, 6])
1436+ .add(Symbol.PLUS, [REDUCE, 6])
1437+ .add(Symbol.RIGHT_PAREN, [REDUCE, 6])
1438+ .add(Symbol.LESS_THAN, [REDUCE, 6])
1439+ .add(Symbol.GREATER_THAN, [REDUCE, 6])
1440+ .add(Symbol.NOT, [REDUCE, 6])
1441+ .add(Symbol.MINUS, [REDUCE, 6])
1442+ .add(Symbol.ASTERISK, [REDUCE, 6])
1443+ .add(Symbol.DIVIDE, [REDUCE, 6])
1444+ .add(Symbol.CARROT, [REDUCE, 6])
1445+ .add(Symbol.SEMI_COLON, [REDUCE, 6])
1446+ .add(Symbol.COMMA, [REDUCE, 6])
1447+ .build();
1448+table[8] = ObjectBuilder
1449+ .add(Symbol.ERROR, 13)
1450+ .add(Symbol.EXPRESSION, 32)
1451+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1452+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1453+ .add(Symbol.TIME_24, [SHIFT, 5])
1454+ .add(Symbol.NUMBER, 6)
1455+ .add(Symbol.STRING, [SHIFT, 7])
1456+ .add(Symbol.PLUS, [SHIFT, 10])
1457+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1458+ .add(Symbol.MINUS, [SHIFT, 9])
1459+ .add(Symbol.FUNCTION, [SHIFT, 11])
1460+ .add(Symbol.CELL, 12)
1461+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1462+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1463+ .add(Symbol.VARIABLE, [SHIFT, 14])
1464+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1465+ .add(Symbol.POUND, [SHIFT, 18])
1466+ .build();
1467+table[9] = ObjectBuilder
1468+ .add(Symbol.ERROR, 13)
1469+ .add(Symbol.EXPRESSION, 33)
1470+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1471+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1472+ .add(Symbol.TIME_24, [SHIFT, 5])
1473+ .add(Symbol.NUMBER, 6)
1474+ .add(Symbol.STRING, [SHIFT, 7])
1475+ .add(Symbol.PLUS, [SHIFT, 10])
1476+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1477+ .add(Symbol.MINUS, [SHIFT, 9])
1478+ .add(Symbol.FUNCTION, [SHIFT, 11])
1479+ .add(Symbol.CELL, 12)
1480+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1481+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1482+ .add(Symbol.VARIABLE, [SHIFT, 14])
1483+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1484+ .add(Symbol.POUND, [SHIFT, 18])
1485+ .build();
1486+table[10] = ObjectBuilder
1487+ .add(Symbol.ERROR, 13)
1488+ .add(Symbol.EXPRESSION, 34)
1489+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1490+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1491+ .add(Symbol.TIME_24, [SHIFT, 5])
1492+ .add(Symbol.NUMBER, 6)
1493+ .add(Symbol.STRING, [SHIFT, 7])
1494+ .add(Symbol.PLUS, [SHIFT, 10])
1495+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1496+ .add(Symbol.MINUS, [SHIFT, 9])
1497+ .add(Symbol.FUNCTION, [SHIFT, 11])
1498+ .add(Symbol.CELL, 12)
1499+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1500+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1501+ .add(Symbol.VARIABLE, [SHIFT, 14])
1502+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1503+ .add(Symbol.POUND, [SHIFT, 18])
1504+ .build();
1505+table[11] = ObjectBuilder
1506+ .add(Symbol.LEFT_PAREN, [SHIFT, 35])
1507+ .build();
1508+table[12] = ObjectBuilder
1509+ .add(Symbol.EOF, [REDUCE, 25])
1510+ .add(Symbol.AMPERSAND, [REDUCE, 25])
1511+ .add(Symbol.EQUALS, [REDUCE, 25])
1512+ .add(Symbol.PLUS, [REDUCE, 25])
1513+ .add(Symbol.RIGHT_PAREN, [REDUCE, 25])
1514+ .add(Symbol.LESS_THAN, [REDUCE, 25])
1515+ .add(Symbol.GREATER_THAN, [REDUCE, 25])
1516+ .add(Symbol.NOT, [REDUCE, 25])
1517+ .add(Symbol.MINUS, [REDUCE, 25])
1518+ .add(Symbol.ASTERISK, [REDUCE, 25])
1519+ .add(Symbol.DIVIDE, [REDUCE, 25])
1520+ .add(Symbol.CARROT, [REDUCE, 25])
1521+ .add(Symbol.SEMI_COLON, [REDUCE, 25])
1522+ .add(Symbol.COMMA, [REDUCE, 25])
1523+ .build();
1524+table[13] = ObjectBuilder
1525+ .add(Symbol.ERROR, 36)
1526+ .add(Symbol.EOF, [REDUCE, 26])
1527+ .add(Symbol.AMPERSAND, [REDUCE, 26])
1528+ .add(Symbol.EQUALS, [REDUCE, 26])
1529+ .add(Symbol.PLUS, [REDUCE, 26])
1530+ .add(Symbol.RIGHT_PAREN, [REDUCE, 26])
1531+ .add(Symbol.LESS_THAN, [REDUCE, 26])
1532+ .add(Symbol.GREATER_THAN, [REDUCE, 26])
1533+ .add(Symbol.NOT, [REDUCE, 26])
1534+ .add(Symbol.MINUS, [REDUCE, 26])
1535+ .add(Symbol.ASTERISK, [REDUCE, 26])
1536+ .add(Symbol.DIVIDE, [REDUCE, 26])
1537+ .add(Symbol.CARROT, [REDUCE, 26])
1538+ .add(Symbol.SEMI_COLON, [REDUCE, 26])
1539+ .add(Symbol.COMMA, [REDUCE, 26])
1540+ .add(Symbol.VARIABLE, [SHIFT, 37])
1541+ .add(Symbol.POUND, [SHIFT, 18])
1542+ .build();
1543+table[14] = ObjectBuilder
1544+ .add(Symbol.EOF, [REDUCE, 36])
1545+ .add(Symbol.AMPERSAND, [REDUCE, 36])
1546+ .add(Symbol.EQUALS, [REDUCE, 36])
1547+ .add(Symbol.PLUS, [REDUCE, 36])
1548+ .add(Symbol.RIGHT_PAREN, [REDUCE, 36])
1549+ .add(Symbol.LESS_THAN, [REDUCE, 36])
1550+ .add(Symbol.GREATER_THAN, [REDUCE, 36])
1551+ .add(Symbol.NOT, [REDUCE, 36])
1552+ .add(Symbol.MINUS, [REDUCE, 36])
1553+ .add(Symbol.ASTERISK, [REDUCE, 36])
1554+ .add(Symbol.DIVIDE, [REDUCE, 36])
1555+ .add(Symbol.CARROT, [REDUCE, 36])
1556+ .add(Symbol.SEMI_COLON, [REDUCE, 36])
1557+ .add(Symbol.COMMA, [REDUCE, 36])
1558+ .add(33, [REDUCE, 36])
1559+ .add(Symbol.POUND, [SHIFT, 38])
1560+ .build();
1561+table[15] = ObjectBuilder
1562+ .add(Symbol.EOF, [REDUCE, 38])
1563+ .add(Symbol.AMPERSAND, [REDUCE, 38])
1564+ .add(Symbol.EQUALS, [REDUCE, 38])
1565+ .add(Symbol.PLUS, [REDUCE, 38])
1566+ .add(Symbol.RIGHT_PAREN, [REDUCE, 38])
1567+ .add(Symbol.LESS_THAN, [REDUCE, 38])
1568+ .add(Symbol.GREATER_THAN, [REDUCE, 38])
1569+ .add(Symbol.NOT, [REDUCE, 38])
1570+ .add(Symbol.MINUS, [REDUCE, 38])
1571+ .add(Symbol.ASTERISK, [REDUCE, 38])
1572+ .add(Symbol.DIVIDE, [REDUCE, 38])
1573+ .add(Symbol.CARROT, [REDUCE, 38])
1574+ .add(Symbol.SEMI_COLON, [REDUCE, 38])
1575+ .add(Symbol.COMMA, [REDUCE, 38])
1576+ .add(33, [SHIFT, 39])
1577+ .add(Symbol.PERCENT, [REDUCE, 38])
1578+ .add(38, [REDUCE, 38])
1579+ .build();
1580+table[16] = ObjectBuilder
1581+ .add(Symbol.EOF, [REDUCE, 28])
1582+ .add(Symbol.AMPERSAND, [REDUCE, 28])
1583+ .add(Symbol.EQUALS, [REDUCE, 28])
1584+ .add(Symbol.PLUS, [REDUCE, 28])
1585+ .add(Symbol.RIGHT_PAREN, [REDUCE, 28])
1586+ .add(Symbol.LESS_THAN, [REDUCE, 28])
1587+ .add(Symbol.GREATER_THAN, [REDUCE, 28])
1588+ .add(Symbol.NOT, [REDUCE, 28])
1589+ .add(Symbol.MINUS, [REDUCE, 28])
1590+ .add(Symbol.ASTERISK, [REDUCE, 28])
1591+ .add(Symbol.DIVIDE, [REDUCE, 28])
1592+ .add(Symbol.CARROT, [REDUCE, 28])
1593+ .add(Symbol.COLON, [SHIFT, 40])
1594+ .add(Symbol.SEMI_COLON, [REDUCE, 28])
1595+ .add(Symbol.COMMA, [REDUCE, 28])
1596+ .build();
1597+table[17] = ObjectBuilder
1598+ .add(Symbol.EOF, [REDUCE, 30])
1599+ .add(Symbol.AMPERSAND, [REDUCE, 30])
1600+ .add(Symbol.EQUALS, [REDUCE, 30])
1601+ .add(Symbol.PLUS, [REDUCE, 30])
1602+ .add(Symbol.RIGHT_PAREN, [REDUCE, 30])
1603+ .add(Symbol.LESS_THAN, [REDUCE, 30])
1604+ .add(Symbol.GREATER_THAN, [REDUCE, 30])
1605+ .add(Symbol.NOT, [REDUCE, 30])
1606+ .add(Symbol.MINUS, [REDUCE, 30])
1607+ .add(Symbol.ASTERISK, [REDUCE, 30])
1608+ .add(Symbol.DIVIDE, [REDUCE, 30])
1609+ .add(Symbol.CARROT, [REDUCE, 30])
1610+ .add(Symbol.COLON, [SHIFT, 41])
1611+ .add(Symbol.SEMI_COLON, [REDUCE, 30])
1612+ .add(Symbol.COMMA, [REDUCE, 30])
1613+ .build();
1614+table[18] = ObjectBuilder
1615+ .add(Symbol.VARIABLE, [SHIFT, 42])
1616+ .build();
1617+table[19] = ObjectBuilder
1618+ .add(Symbol.END, [ACCEPT, 1])
1619+ .build();
1620+table[20] = ObjectBuilder
1621+ .add(Symbol.ERROR, 13)
1622+ .add(Symbol.EXPRESSION, 43)
1623+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1624+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1625+ .add(Symbol.TIME_24, [SHIFT, 5])
1626+ .add(Symbol.NUMBER, 6)
1627+ .add(Symbol.STRING, [SHIFT, 7])
1628+ .add(Symbol.PLUS, [SHIFT, 10])
1629+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1630+ .add(Symbol.MINUS, [SHIFT, 9])
1631+ .add(Symbol.FUNCTION, [SHIFT, 11])
1632+ .add(Symbol.CELL, 12)
1633+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1634+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1635+ .add(Symbol.VARIABLE, [SHIFT, 14])
1636+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1637+ .add(Symbol.POUND, [SHIFT, 18])
1638+ .build();
1639+table[21] = ObjectBuilder
1640+ .add(Symbol.ERROR, 13)
1641+ .add(Symbol.EXPRESSION, 44)
1642+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1643+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1644+ .add(Symbol.TIME_24, [SHIFT, 5])
1645+ .add(Symbol.NUMBER, 6)
1646+ .add(Symbol.STRING, [SHIFT, 7])
1647+ .add(Symbol.PLUS, [SHIFT, 10])
1648+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1649+ .add(Symbol.MINUS, [SHIFT, 9])
1650+ .add(Symbol.FUNCTION, [SHIFT, 11])
1651+ .add(Symbol.CELL, 12)
1652+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1653+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1654+ .add(Symbol.VARIABLE, [SHIFT, 14])
1655+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1656+ .add(Symbol.POUND, [SHIFT, 18])
1657+ .build();
1658+table[22] = ObjectBuilder
1659+ .add(Symbol.ERROR, 13)
1660+ .add(Symbol.EXPRESSION, 45)
1661+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1662+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1663+ .add(Symbol.TIME_24, [SHIFT, 5])
1664+ .add(Symbol.NUMBER, 6)
1665+ .add(Symbol.STRING, [SHIFT, 7])
1666+ .add(Symbol.PLUS, [SHIFT, 10])
1667+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1668+ .add(Symbol.MINUS, [SHIFT, 9])
1669+ .add(Symbol.FUNCTION, [SHIFT, 11])
1670+ .add(Symbol.CELL, 12)
1671+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1672+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1673+ .add(Symbol.VARIABLE, [SHIFT, 14])
1674+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1675+ .add(Symbol.POUND, [SHIFT, 18])
1676+ .build();
1677+table[23] = ObjectBuilder
1678+ .add(Symbol.ERROR, 13)
1679+ .add(Symbol.EXPRESSION, 48)
1680+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1681+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1682+ .add(Symbol.TIME_24, [SHIFT, 5])
1683+ .add(Symbol.NUMBER, 6)
1684+ .add(Symbol.STRING, [SHIFT, 7])
1685+ .add(Symbol.EQUALS, [SHIFT, 46])
1686+ .add(Symbol.PLUS, [SHIFT, 10])
1687+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1688+ .add(Symbol.GREATER_THAN, [SHIFT, 47])
1689+ .add(Symbol.MINUS, [SHIFT, 9])
1690+ .add(Symbol.FUNCTION, [SHIFT, 11])
1691+ .add(Symbol.CELL, 12)
1692+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1693+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1694+ .add(Symbol.VARIABLE, [SHIFT, 14])
1695+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1696+ .add(Symbol.POUND, [SHIFT, 18])
1697+ .build();
1698+table[24] = ObjectBuilder
1699+ .add(Symbol.ERROR, 13)
1700+ .add(Symbol.EXPRESSION, 50)
1701+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1702+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1703+ .add(Symbol.TIME_24, [SHIFT, 5])
1704+ .add(Symbol.NUMBER, 6)
1705+ .add(Symbol.STRING, [SHIFT, 7])
1706+ .add(Symbol.EQUALS, [SHIFT, 49])
1707+ .add(Symbol.PLUS, [SHIFT, 10])
1708+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1709+ .add(Symbol.MINUS, [SHIFT, 9])
1710+ .add(Symbol.FUNCTION, [SHIFT, 11])
1711+ .add(Symbol.CELL, 12)
1712+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1713+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1714+ .add(Symbol.VARIABLE, [SHIFT, 14])
1715+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1716+ .add(Symbol.POUND, [SHIFT, 18])
1717+ .build();
1718+table[25] = ObjectBuilder
1719+ .add(Symbol.ERROR, 13)
1720+ .add(Symbol.EXPRESSION, 51)
1721+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1722+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1723+ .add(Symbol.TIME_24, [SHIFT, 5])
1724+ .add(Symbol.NUMBER, 6)
1725+ .add(Symbol.STRING, [SHIFT, 7])
1726+ .add(Symbol.PLUS, [SHIFT, 10])
1727+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1728+ .add(Symbol.MINUS, [SHIFT, 9])
1729+ .add(Symbol.FUNCTION, [SHIFT, 11])
1730+ .add(Symbol.CELL, 12)
1731+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1732+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1733+ .add(Symbol.VARIABLE, [SHIFT, 14])
1734+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1735+ .add(Symbol.POUND, [SHIFT, 18])
1736+ .build();
1737+table[26] = ObjectBuilder
1738+ .add(Symbol.ERROR, 13)
1739+ .add(Symbol.EXPRESSION, 52)
1740+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1741+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1742+ .add(Symbol.TIME_24, [SHIFT, 5])
1743+ .add(Symbol.NUMBER, 6)
1744+ .add(Symbol.STRING, [SHIFT, 7])
1745+ .add(Symbol.PLUS, [SHIFT, 10])
1746+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1747+ .add(Symbol.MINUS, [SHIFT, 9])
1748+ .add(Symbol.FUNCTION, [SHIFT, 11])
1749+ .add(Symbol.CELL, 12)
1750+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1751+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1752+ .add(Symbol.VARIABLE, [SHIFT, 14])
1753+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1754+ .add(Symbol.POUND, [SHIFT, 18])
1755+ .build();
1756+table[27] = ObjectBuilder
1757+ .add(Symbol.ERROR, 13)
1758+ .add(Symbol.EXPRESSION, 53)
1759+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1760+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1761+ .add(Symbol.TIME_24, [SHIFT, 5])
1762+ .add(Symbol.NUMBER, 6)
1763+ .add(Symbol.STRING, [SHIFT, 7])
1764+ .add(Symbol.PLUS, [SHIFT, 10])
1765+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1766+ .add(Symbol.MINUS, [SHIFT, 9])
1767+ .add(Symbol.FUNCTION, [SHIFT, 11])
1768+ .add(Symbol.CELL, 12)
1769+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1770+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1771+ .add(Symbol.VARIABLE, [SHIFT, 14])
1772+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1773+ .add(Symbol.POUND, [SHIFT, 18])
1774+ .build();
1775+table[28] = ObjectBuilder
1776+ .add(Symbol.ERROR, 13)
1777+ .add(Symbol.EXPRESSION, 54)
1778+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1779+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1780+ .add(Symbol.TIME_24, [SHIFT, 5])
1781+ .add(Symbol.NUMBER, 6)
1782+ .add(Symbol.STRING, [SHIFT, 7])
1783+ .add(Symbol.PLUS, [SHIFT, 10])
1784+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1785+ .add(Symbol.MINUS, [SHIFT, 9])
1786+ .add(Symbol.FUNCTION, [SHIFT, 11])
1787+ .add(Symbol.CELL, 12)
1788+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1789+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1790+ .add(Symbol.VARIABLE, [SHIFT, 14])
1791+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1792+ .add(Symbol.POUND, [SHIFT, 18])
1793+ .build();
1794+table[29] = ObjectBuilder
1795+ .add(Symbol.ERROR, 13)
1796+ .add(Symbol.EXPRESSION, 55)
1797+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1798+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1799+ .add(Symbol.TIME_24, [SHIFT, 5])
1800+ .add(Symbol.NUMBER, 6)
1801+ .add(Symbol.STRING, [SHIFT, 7])
1802+ .add(Symbol.PLUS, [SHIFT, 10])
1803+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1804+ .add(Symbol.MINUS, [SHIFT, 9])
1805+ .add(Symbol.FUNCTION, [SHIFT, 11])
1806+ .add(Symbol.CELL, 12)
1807+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1808+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1809+ .add(Symbol.VARIABLE, [SHIFT, 14])
1810+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1811+ .add(Symbol.POUND, [SHIFT, 18])
1812+ .build();
1813+table[30] = ObjectBuilder
1814+ .add(Symbol.VARIABLE, [SHIFT, 56])
1815+ .build();
1816+table[31] = ObjectBuilder
1817+ .add(Symbol.EOF, [REDUCE, 40])
1818+ .add(Symbol.AMPERSAND, [REDUCE, 40])
1819+ .add(Symbol.EQUALS, [REDUCE, 40])
1820+ .add(Symbol.PLUS, [REDUCE, 40])
1821+ .add(Symbol.RIGHT_PAREN, [REDUCE, 40])
1822+ .add(Symbol.LESS_THAN, [REDUCE, 40])
1823+ .add(Symbol.GREATER_THAN, [REDUCE, 40])
1824+ .add(Symbol.NOT, [REDUCE, 40])
1825+ .add(Symbol.MINUS, [REDUCE, 40])
1826+ .add(Symbol.ASTERISK, [REDUCE, 40])
1827+ .add(Symbol.DIVIDE, [REDUCE, 40])
1828+ .add(Symbol.CARROT, [REDUCE, 40])
1829+ .add(Symbol.SEMI_COLON, [REDUCE, 40])
1830+ .add(Symbol.COMMA, [REDUCE, 40])
1831+ .add(Symbol.PERCENT, [REDUCE, 40])
1832+ .add(38, [REDUCE, 40])
1833+ .build();
1834+table[32] = ObjectBuilder
1835+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1836+ .add(Symbol.EQUALS, [SHIFT, 21])
1837+ .add(Symbol.PLUS, [SHIFT, 22])
1838+ .add(Symbol.RIGHT_PAREN, [SHIFT, 57])
1839+ .add(Symbol.LESS_THAN, [SHIFT, 23])
1840+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
1841+ .add(Symbol.NOT, [SHIFT, 25])
1842+ .add(Symbol.MINUS, [SHIFT, 26])
1843+ .add(Symbol.ASTERISK, [SHIFT, 27])
1844+ .add(Symbol.DIVIDE, [SHIFT, 28])
1845+ .add(Symbol.CARROT, [SHIFT, 29])
1846+ .build();
1847+table[33] = ObjectBuilder
1848+ .add(Symbol.EOF, [REDUCE, 21])
1849+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1850+ .add(Symbol.EQUALS, [REDUCE, 21])
1851+ .add(Symbol.PLUS, [REDUCE, 21])
1852+ .add(Symbol.RIGHT_PAREN, [REDUCE, 21])
1853+ .add(Symbol.LESS_THAN, [REDUCE, 21])
1854+ .add(Symbol.GREATER_THAN, [REDUCE, 21])
1855+ .add(Symbol.NOT, [REDUCE, 21])
1856+ .add(Symbol.MINUS, [REDUCE, 21])
1857+ .add(Symbol.ASTERISK, [SHIFT, 27])
1858+ .add(Symbol.DIVIDE, [SHIFT, 28])
1859+ .add(Symbol.CARROT, [SHIFT, 29])
1860+ .add(Symbol.SEMI_COLON, [REDUCE, 21])
1861+ .add(Symbol.COMMA, [REDUCE, 21])
1862+ .build();
1863+table[34] = ObjectBuilder
1864+ .add(Symbol.EOF, [REDUCE, 22])
1865+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1866+ .add(Symbol.EQUALS, [REDUCE, 22])
1867+ .add(Symbol.PLUS, [REDUCE, 22])
1868+ .add(Symbol.RIGHT_PAREN, [REDUCE, 22])
1869+ .add(Symbol.LESS_THAN, [REDUCE, 22])
1870+ .add(Symbol.GREATER_THAN, [REDUCE, 22])
1871+ .add(Symbol.NOT, [REDUCE, 22])
1872+ .add(Symbol.MINUS, [REDUCE, 22])
1873+ .add(Symbol.ASTERISK, [SHIFT, 27])
1874+ .add(Symbol.DIVIDE, [SHIFT, 28])
1875+ .add(Symbol.CARROT, [SHIFT, 29])
1876+ .add(Symbol.SEMI_COLON, [REDUCE, 22])
1877+ .add(Symbol.COMMA, [REDUCE, 22])
1878+ .build();
1879+table[35] = ObjectBuilder
1880+ .add(Symbol.ERROR, 13)
1881+ .add(Symbol.EXPRESSION, 60)
1882+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1883+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1884+ .add(Symbol.TIME_24, [SHIFT, 5])
1885+ .add(Symbol.NUMBER, 6)
1886+ .add(Symbol.STRING, [SHIFT, 7])
1887+ .add(Symbol.PLUS, [SHIFT, 10])
1888+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1889+ .add(Symbol.RIGHT_PAREN, [SHIFT, 58])
1890+ .add(Symbol.MINUS, [SHIFT, 9])
1891+ .add(Symbol.FUNCTION, [SHIFT, 11])
1892+ .add(Symbol.EXP_SEQ, 59)
1893+ .add(Symbol.CELL, 12)
1894+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1895+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1896+ .add(Symbol.ARRAY, [SHIFT, 61])
1897+ .add(Symbol.VARIABLE, [SHIFT, 14])
1898+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
1899+ .add(Symbol.POUND, [SHIFT, 18])
1900+ .build();
1901+table[36] = ObjectBuilder
1902+ .add(Symbol.EOF, [REDUCE, 27])
1903+ .add(Symbol.AMPERSAND, [REDUCE, 27])
1904+ .add(Symbol.EQUALS, [REDUCE, 27])
1905+ .add(Symbol.PLUS, [REDUCE, 27])
1906+ .add(Symbol.RIGHT_PAREN, [REDUCE, 27])
1907+ .add(Symbol.LESS_THAN, [REDUCE, 27])
1908+ .add(Symbol.GREATER_THAN, [REDUCE, 27])
1909+ .add(Symbol.NOT, [REDUCE, 27])
1910+ .add(Symbol.MINUS, [REDUCE, 27])
1911+ .add(Symbol.ASTERISK, [REDUCE, 27])
1912+ .add(Symbol.DIVIDE, [REDUCE, 27])
1913+ .add(Symbol.CARROT, [REDUCE, 27])
1914+ .add(Symbol.SEMI_COLON, [REDUCE, 27])
1915+ .add(Symbol.COMMA, [REDUCE, 27])
1916+ .build();
1917+table[37] = ObjectBuilder
1918+ .add(Symbol.POUND, [SHIFT, 38])
1919+ .build();
1920+table[38] = ObjectBuilder
1921+ .add(Symbol.VARIABLE, [SHIFT, 62])
1922+ .build();
1923+table[39] = ObjectBuilder
1924+ .add(Symbol.NUMBER_UPPER, [SHIFT, 63])
1925+ .build();
1926+table[40] = ObjectBuilder
1927+ .add(Symbol.FIXEDCELL, [SHIFT, 64])
1928+ .build();
1929+table[41] = ObjectBuilder
1930+ .add(Symbol.CELL_UPPER, [SHIFT, 65])
1931+ .build();
1932+table[42] = ObjectBuilder
1933+ .add(Symbol.EXCLAMATION_POINT, [SHIFT, 66])
1934+ .build();
1935+table[43] = ObjectBuilder
1936+ .add(Symbol.EOF, [REDUCE, 7])
1937+ .add(Symbol.AMPERSAND, [REDUCE, 7])
1938+ .add(Symbol.EQUALS, [REDUCE, 7])
1939+ .add(Symbol.PLUS, [REDUCE, 7])
1940+ .add(Symbol.RIGHT_PAREN, [REDUCE, 7])
1941+ .add(Symbol.LESS_THAN, [REDUCE, 7])
1942+ .add(Symbol.GREATER_THAN, [REDUCE, 7])
1943+ .add(Symbol.NOT, [REDUCE, 7])
1944+ .add(Symbol.MINUS, [REDUCE, 7])
1945+ .add(Symbol.ASTERISK, [REDUCE, 7])
1946+ .add(Symbol.DIVIDE, [REDUCE, 7])
1947+ .add(Symbol.CARROT, [REDUCE, 7])
1948+ .add(Symbol.SEMI_COLON, [REDUCE, 7])
1949+ .add(Symbol.COMMA, [REDUCE, 7])
1950+ .build();
1951+table[44] = ObjectBuilder
1952+ .add(Symbol.EOF, [REDUCE, 8])
1953+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1954+ .add(Symbol.EQUALS, [REDUCE, 8])
1955+ .add(Symbol.PLUS, [SHIFT, 22])
1956+ .add(Symbol.RIGHT_PAREN, [REDUCE, 8])
1957+ .add(Symbol.LESS_THAN, [SHIFT, 23])
1958+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
1959+ .add(Symbol.NOT, [SHIFT, 25])
1960+ .add(Symbol.MINUS, [SHIFT, 26])
1961+ .add(Symbol.ASTERISK, [SHIFT, 27])
1962+ .add(Symbol.DIVIDE, [SHIFT, 28])
1963+ .add(Symbol.CARROT, [SHIFT, 29])
1964+ .add(Symbol.SEMI_COLON, [REDUCE, 8])
1965+ .add(Symbol.COMMA, [REDUCE, 8])
1966+ .build();
1967+table[45] = ObjectBuilder
1968+ .add(Symbol.EOF, [REDUCE, 9])
1969+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1970+ .add(Symbol.EQUALS, [REDUCE, 9])
1971+ .add(Symbol.PLUS, [REDUCE, 9])
1972+ .add(Symbol.RIGHT_PAREN, [REDUCE, 9])
1973+ .add(Symbol.LESS_THAN, [REDUCE, 9])
1974+ .add(Symbol.GREATER_THAN, [REDUCE, 9])
1975+ .add(Symbol.NOT, [REDUCE, 9])
1976+ .add(Symbol.MINUS, [REDUCE, 9])
1977+ .add(Symbol.ASTERISK, [SHIFT, 27])
1978+ .add(Symbol.DIVIDE, [SHIFT, 28])
1979+ .add(Symbol.CARROT, [SHIFT, 29])
1980+ .add(Symbol.SEMI_COLON, [REDUCE, 9])
1981+ .add(Symbol.COMMA, [REDUCE, 9])
1982+ .build();
1983+table[46] = ObjectBuilder
1984+ .add(Symbol.ERROR, 13)
1985+ .add(Symbol.EXPRESSION, 67)
1986+ .add(Symbol.VARIABLE_SEQUENCE, 3)
1987+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
1988+ .add(Symbol.TIME_24, [SHIFT, 5])
1989+ .add(Symbol.NUMBER, 6)
1990+ .add(Symbol.STRING, [SHIFT, 7])
1991+ .add(Symbol.PLUS, [SHIFT, 10])
1992+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
1993+ .add(Symbol.MINUS, [SHIFT, 9])
1994+ .add(Symbol.FUNCTION, [SHIFT, 11])
1995+ .add(Symbol.CELL, 12)
1996+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
1997+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
1998+ .add(Symbol.VARIABLE, [SHIFT, 14])
1999+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
2000+ .add(Symbol.POUND, [SHIFT, 18])
2001+ .build();
2002+table[47] = ObjectBuilder
2003+ .add(Symbol.ERROR, 13)
2004+ .add(Symbol.EXPRESSION, 68)
2005+ .add(Symbol.VARIABLE_SEQUENCE, 3)
2006+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
2007+ .add(Symbol.TIME_24, [SHIFT, 5])
2008+ .add(Symbol.NUMBER, 6)
2009+ .add(Symbol.STRING, [SHIFT, 7])
2010+ .add(Symbol.PLUS, [SHIFT, 10])
2011+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
2012+ .add(Symbol.MINUS, [SHIFT, 9])
2013+ .add(Symbol.FUNCTION, [SHIFT, 11])
2014+ .add(Symbol.CELL, 12)
2015+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
2016+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
2017+ .add(Symbol.VARIABLE, [SHIFT, 14])
2018+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
2019+ .add(Symbol.POUND, [SHIFT, 18])
2020+ .build();
2021+table[48] = ObjectBuilder
2022+ .add(Symbol.EOF, [REDUCE, 16])
2023+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2024+ .add(Symbol.EQUALS, [REDUCE, 16])
2025+ .add(Symbol.PLUS, [SHIFT, 22])
2026+ .add(Symbol.RIGHT_PAREN, [REDUCE, 16])
2027+ .add(Symbol.LESS_THAN, [REDUCE, 16])
2028+ .add(Symbol.GREATER_THAN, [REDUCE, 16])
2029+ .add(Symbol.NOT, [REDUCE, 16])
2030+ .add(Symbol.MINUS, [SHIFT, 26])
2031+ .add(Symbol.ASTERISK, [SHIFT, 27])
2032+ .add(Symbol.DIVIDE, [SHIFT, 28])
2033+ .add(Symbol.CARROT, [SHIFT, 29])
2034+ .add(Symbol.SEMI_COLON, [REDUCE, 16])
2035+ .add(Symbol.COMMA, [REDUCE, 16])
2036+ .build();
2037+table[49] = ObjectBuilder
2038+ .add(Symbol.ERROR, 13)
2039+ .add(Symbol.EXPRESSION, 69)
2040+ .add(Symbol.VARIABLE_SEQUENCE, 3)
2041+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
2042+ .add(Symbol.TIME_24, [SHIFT, 5])
2043+ .add(Symbol.NUMBER, 6)
2044+ .add(Symbol.STRING, [SHIFT, 7])
2045+ .add(Symbol.PLUS, [SHIFT, 10])
2046+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
2047+ .add(Symbol.MINUS, [SHIFT, 9])
2048+ .add(Symbol.FUNCTION, [SHIFT, 11])
2049+ .add(Symbol.CELL, 12)
2050+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
2051+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
2052+ .add(Symbol.VARIABLE, [SHIFT, 14])
2053+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
2054+ .add(Symbol.POUND, [SHIFT, 18])
2055+ .build();
2056+table[50] = ObjectBuilder
2057+ .add(Symbol.EOF, [REDUCE, 15])
2058+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2059+ .add(Symbol.EQUALS, [REDUCE, 15])
2060+ .add(Symbol.PLUS, [SHIFT, 22])
2061+ .add(Symbol.RIGHT_PAREN, [REDUCE, 15])
2062+ .add(Symbol.LESS_THAN, [REDUCE, 15])
2063+ .add(Symbol.GREATER_THAN, [REDUCE, 15])
2064+ .add(Symbol.NOT, [REDUCE, 15])
2065+ .add(Symbol.MINUS, [SHIFT, 26])
2066+ .add(Symbol.ASTERISK, [SHIFT, 27])
2067+ .add(Symbol.DIVIDE, [SHIFT, 28])
2068+ .add(Symbol.CARROT, [SHIFT, 29])
2069+ .add(Symbol.SEMI_COLON, [REDUCE, 15])
2070+ .add(Symbol.COMMA, [REDUCE, 15])
2071+ .build();
2072+table[51] = ObjectBuilder
2073+ .add(Symbol.EOF, [REDUCE, 14])
2074+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2075+ .add(Symbol.EQUALS, [REDUCE, 14])
2076+ .add(Symbol.PLUS, [SHIFT, 22])
2077+ .add(Symbol.RIGHT_PAREN, [REDUCE, 14])
2078+ .add(Symbol.LESS_THAN, [SHIFT, 23])
2079+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
2080+ .add(Symbol.NOT, [REDUCE, 14])
2081+ .add(Symbol.MINUS, [SHIFT, 26])
2082+ .add(Symbol.ASTERISK, [SHIFT, 27])
2083+ .add(Symbol.DIVIDE, [SHIFT, 28])
2084+ .add(Symbol.CARROT, [SHIFT, 29])
2085+ .add(Symbol.SEMI_COLON, [REDUCE, 14])
2086+ .add(Symbol.COMMA, [REDUCE, 14])
2087+ .build();
2088+table[52] = ObjectBuilder
2089+ .add(Symbol.EOF, [REDUCE, 17])
2090+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2091+ .add(Symbol.EQUALS, [REDUCE, 17])
2092+ .add(Symbol.PLUS, [REDUCE, 17])
2093+ .add(Symbol.RIGHT_PAREN, [REDUCE, 17])
2094+ .add(Symbol.LESS_THAN, [REDUCE, 17])
2095+ .add(Symbol.GREATER_THAN, [REDUCE, 17])
2096+ .add(Symbol.NOT, [REDUCE, 17])
2097+ .add(Symbol.MINUS, [REDUCE, 17])
2098+ .add(Symbol.ASTERISK, [SHIFT, 27])
2099+ .add(Symbol.DIVIDE, [SHIFT, 28])
2100+ .add(Symbol.CARROT, [SHIFT, 29])
2101+ .add(Symbol.SEMI_COLON, [REDUCE, 17])
2102+ .add(Symbol.COMMA, [REDUCE, 17])
2103+ .build();
2104+table[53] = ObjectBuilder
2105+ .add(Symbol.EOF, [REDUCE, 18])
2106+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2107+ .add(Symbol.EQUALS, [REDUCE, 18])
2108+ .add(Symbol.PLUS, [REDUCE, 18])
2109+ .add(Symbol.RIGHT_PAREN, [REDUCE, 18])
2110+ .add(Symbol.LESS_THAN, [REDUCE, 18])
2111+ .add(Symbol.GREATER_THAN, [REDUCE, 18])
2112+ .add(Symbol.NOT, [REDUCE, 18])
2113+ .add(Symbol.MINUS, [REDUCE, 18])
2114+ .add(Symbol.ASTERISK, [REDUCE, 18])
2115+ .add(Symbol.DIVIDE, [REDUCE, 18])
2116+ .add(Symbol.CARROT, [SHIFT, 29])
2117+ .add(Symbol.SEMI_COLON, [REDUCE, 18])
2118+ .add(Symbol.COMMA, [REDUCE, 18])
2119+ .build();
2120+table[54] = ObjectBuilder
2121+ .add(Symbol.EOF, [REDUCE, 19])
2122+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2123+ .add(Symbol.EQUALS, [REDUCE, 19])
2124+ .add(Symbol.PLUS, [REDUCE, 19])
2125+ .add(Symbol.RIGHT_PAREN, [REDUCE, 19])
2126+ .add(Symbol.LESS_THAN, [REDUCE, 19])
2127+ .add(Symbol.GREATER_THAN, [REDUCE, 19])
2128+ .add(Symbol.NOT, [REDUCE, 19])
2129+ .add(Symbol.MINUS, [REDUCE, 19])
2130+ .add(Symbol.ASTERISK, [REDUCE, 19])
2131+ .add(Symbol.DIVIDE, [REDUCE, 19])
2132+ .add(Symbol.CARROT, [SHIFT, 29])
2133+ .add(Symbol.SEMI_COLON, [REDUCE, 19])
2134+ .add(Symbol.COMMA, [REDUCE, 19])
2135+ .build();
2136+table[55] = ObjectBuilder
2137+ .add(Symbol.EOF, [REDUCE, 20])
2138+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2139+ .add(Symbol.EQUALS, [REDUCE, 20])
2140+ .add(Symbol.PLUS, [REDUCE, 20])
2141+ .add(Symbol.RIGHT_PAREN, [REDUCE, 20])
2142+ .add(Symbol.LESS_THAN, [REDUCE, 20])
2143+ .add(Symbol.GREATER_THAN, [REDUCE, 20])
2144+ .add(Symbol.NOT, [REDUCE, 20])
2145+ .add(Symbol.MINUS, [REDUCE, 20])
2146+ .add(Symbol.ASTERISK, [REDUCE, 20])
2147+ .add(Symbol.DIVIDE, [REDUCE, 20])
2148+ .add(Symbol.CARROT, [REDUCE, 20])
2149+ .add(Symbol.SEMI_COLON, [REDUCE, 20])
2150+ .add(Symbol.COMMA, [REDUCE, 20])
2151+ .build();
2152+table[56] = ObjectBuilder
2153+ .add(Symbol.EOF, [REDUCE, 37])
2154+ .add(Symbol.AMPERSAND, [REDUCE, 37])
2155+ .add(Symbol.EQUALS, [REDUCE, 37])
2156+ .add(Symbol.PLUS, [REDUCE, 37])
2157+ .add(Symbol.RIGHT_PAREN, [REDUCE, 37])
2158+ .add(Symbol.LESS_THAN, [REDUCE, 37])
2159+ .add(Symbol.GREATER_THAN, [REDUCE, 37])
2160+ .add(Symbol.NOT, [REDUCE, 37])
2161+ .add(Symbol.MINUS, [REDUCE, 37])
2162+ .add(Symbol.ASTERISK, [REDUCE, 37])
2163+ .add(Symbol.DIVIDE, [REDUCE, 37])
2164+ .add(Symbol.CARROT, [REDUCE, 37])
2165+ .add(Symbol.SEMI_COLON, [REDUCE, 37])
2166+ .add(Symbol.COMMA, [REDUCE, 37])
2167+ .add(33, [REDUCE, 37])
2168+ .build();
2169+table[57] = ObjectBuilder
2170+ .add(Symbol.EOF, [REDUCE, 10])
2171+ .add(Symbol.AMPERSAND, [REDUCE, 10])
2172+ .add(Symbol.EQUALS, [REDUCE, 10])
2173+ .add(Symbol.PLUS, [REDUCE, 10])
2174+ .add(Symbol.RIGHT_PAREN, [REDUCE, 10])
2175+ .add(Symbol.LESS_THAN, [REDUCE, 10])
2176+ .add(Symbol.GREATER_THAN, [REDUCE, 10])
2177+ .add(Symbol.NOT, [REDUCE, 10])
2178+ .add(Symbol.MINUS, [REDUCE, 10])
2179+ .add(Symbol.ASTERISK, [REDUCE, 10])
2180+ .add(Symbol.DIVIDE, [REDUCE, 10])
2181+ .add(Symbol.CARROT, [REDUCE, 10])
2182+ .add(Symbol.SEMI_COLON, [REDUCE, 10])
2183+ .add(Symbol.COMMA, [REDUCE, 10])
2184+ .build();
2185+table[58] = ObjectBuilder
2186+ .add(Symbol.EOF, [REDUCE, 23])
2187+ .add(Symbol.AMPERSAND, [REDUCE, 23])
2188+ .add(Symbol.EQUALS, [REDUCE, 23])
2189+ .add(Symbol.PLUS, [REDUCE, 23])
2190+ .add(Symbol.RIGHT_PAREN, [REDUCE, 23])
2191+ .add(Symbol.LESS_THAN, [REDUCE, 23])
2192+ .add(Symbol.GREATER_THAN, [REDUCE, 23])
2193+ .add(Symbol.NOT, [REDUCE, 23])
2194+ .add(Symbol.MINUS, [REDUCE, 23])
2195+ .add(Symbol.ASTERISK, [REDUCE, 23])
2196+ .add(Symbol.DIVIDE, [REDUCE, 23])
2197+ .add(Symbol.CARROT, [REDUCE, 23])
2198+ .add(Symbol.SEMI_COLON, [REDUCE, 23])
2199+ .add(Symbol.COMMA, [REDUCE, 23])
2200+ .build();
2201+table[59] = ObjectBuilder
2202+ .add(Symbol.RIGHT_PAREN, [SHIFT, 70])
2203+ .add(Symbol.SEMI_COLON, [SHIFT, 71])
2204+ .add(Symbol.COMMA, [SHIFT, 72])
2205+ .build();
2206+table[60] = ObjectBuilder
2207+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2208+ .add(Symbol.EQUALS, [SHIFT, 21])
2209+ .add(Symbol.PLUS, [SHIFT, 22])
2210+ .add(Symbol.RIGHT_PAREN, [REDUCE, 32])
2211+ .add(Symbol.LESS_THAN, [SHIFT, 23])
2212+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
2213+ .add(Symbol.NOT, [SHIFT, 25])
2214+ .add(Symbol.MINUS, [SHIFT, 26])
2215+ .add(Symbol.ASTERISK, [SHIFT, 27])
2216+ .add(Symbol.DIVIDE, [SHIFT, 28])
2217+ .add(Symbol.CARROT, [SHIFT, 29])
2218+ .add(Symbol.SEMI_COLON, [REDUCE, 32])
2219+ .add(Symbol.COMMA, [REDUCE, 32])
2220+ .build();
2221+table[61] = ObjectBuilder
2222+ .add(Symbol.RIGHT_PAREN, [REDUCE, 33])
2223+ .add(Symbol.SEMI_COLON, [REDUCE, 33])
2224+ .add(Symbol.COMMA, [REDUCE, 33])
2225+ .build();
2226+table[62] = ObjectBuilder
2227+ .add(Symbol.EXCLAMATION_POINT, [SHIFT, 73])
2228+ .build();
2229+table[63] = ObjectBuilder
2230+ .add(Symbol.EOF, [REDUCE, 39])
2231+ .add(Symbol.AMPERSAND, [REDUCE, 39])
2232+ .add(Symbol.EQUALS, [REDUCE, 39])
2233+ .add(Symbol.PLUS, [REDUCE, 39])
2234+ .add(Symbol.RIGHT_PAREN, [REDUCE, 39])
2235+ .add(Symbol.LESS_THAN, [REDUCE, 39])
2236+ .add(Symbol.GREATER_THAN, [REDUCE, 39])
2237+ .add(Symbol.NOT, [REDUCE, 39])
2238+ .add(Symbol.MINUS, [REDUCE, 39])
2239+ .add(Symbol.ASTERISK, [REDUCE, 39])
2240+ .add(Symbol.DIVIDE, [REDUCE, 39])
2241+ .add(Symbol.CARROT, [REDUCE, 39])
2242+ .add(Symbol.SEMI_COLON, [REDUCE, 39])
2243+ .add(Symbol.COMMA, [REDUCE, 39])
2244+ .add(Symbol.PERCENT, [REDUCE, 39])
2245+ .add(38, [REDUCE, 39]).build();
2246+table[64] = ObjectBuilder
2247+ .add(Symbol.EOF, [REDUCE, 29])
2248+ .add(Symbol.AMPERSAND, [REDUCE, 29])
2249+ .add(Symbol.EQUALS, [REDUCE, 29])
2250+ .add(Symbol.PLUS, [REDUCE, 29])
2251+ .add(Symbol.RIGHT_PAREN, [REDUCE, 29])
2252+ .add(Symbol.LESS_THAN, [REDUCE, 29])
2253+ .add(Symbol.GREATER_THAN, [REDUCE, 29])
2254+ .add(Symbol.NOT, [REDUCE, 29])
2255+ .add(Symbol.MINUS, [REDUCE, 29])
2256+ .add(Symbol.ASTERISK, [REDUCE, 29])
2257+ .add(Symbol.DIVIDE, [REDUCE, 29])
2258+ .add(Symbol.CARROT, [REDUCE, 29])
2259+ .add(Symbol.SEMI_COLON, [REDUCE, 29])
2260+ .add(Symbol.COMMA, [REDUCE, 29]).build();
2261+table[65] = ObjectBuilder
2262+ .add(Symbol.EOF, [REDUCE, 31])
2263+ .add(Symbol.AMPERSAND, [REDUCE, 31])
2264+ .add(Symbol.EQUALS, [REDUCE, 31])
2265+ .add(Symbol.PLUS, [REDUCE, 31])
2266+ .add(Symbol.RIGHT_PAREN, [REDUCE, 31])
2267+ .add(Symbol.LESS_THAN, [REDUCE, 31])
2268+ .add(Symbol.GREATER_THAN, [REDUCE, 31])
2269+ .add(Symbol.NOT, [REDUCE, 31])
2270+ .add(Symbol.MINUS, [REDUCE, 31])
2271+ .add(Symbol.ASTERISK, [REDUCE, 31])
2272+ .add(Symbol.DIVIDE, [REDUCE, 31])
2273+ .add(Symbol.CARROT, [REDUCE, 31])
2274+ .add(Symbol.SEMI_COLON, [REDUCE, 31])
2275+ .add(Symbol.COMMA, [REDUCE, 31]).build();
2276+table[66] = ObjectBuilder
2277+ .add(Symbol.EOF, [REDUCE, 41])
2278+ .add(Symbol.AMPERSAND, [REDUCE, 41])
2279+ .add(Symbol.EQUALS, [REDUCE, 41])
2280+ .add(Symbol.PLUS, [REDUCE, 41])
2281+ .add(Symbol.RIGHT_PAREN, [REDUCE, 41])
2282+ .add(Symbol.LESS_THAN, [REDUCE, 41])
2283+ .add(Symbol.GREATER_THAN, [REDUCE, 41])
2284+ .add(Symbol.NOT, [REDUCE, 41])
2285+ .add(Symbol.MINUS, [REDUCE, 41])
2286+ .add(Symbol.ASTERISK, [REDUCE, 41])
2287+ .add(Symbol.DIVIDE, [REDUCE, 41])
2288+ .add(Symbol.CARROT, [REDUCE, 41])
2289+ .add(Symbol.SEMI_COLON, [REDUCE, 41])
2290+ .add(Symbol.COMMA, [REDUCE, 41])
2291+ .add(Symbol.VARIABLE, [REDUCE, 41])
2292+ .add(Symbol.POUND, [REDUCE, 41]).build();
2293+table[67] = ObjectBuilder
2294+ .add(Symbol.EOF, [REDUCE, 11])
2295+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2296+ .add(Symbol.EQUALS, [REDUCE, 11])
2297+ .add(Symbol.PLUS, [SHIFT, 22])
2298+ .add(Symbol.RIGHT_PAREN, [REDUCE, 11])
2299+ .add(Symbol.LESS_THAN, [REDUCE, 11])
2300+ .add(Symbol.GREATER_THAN, [REDUCE, 11])
2301+ .add(Symbol.NOT, [REDUCE, 11])
2302+ .add(Symbol.MINUS, [SHIFT, 26])
2303+ .add(Symbol.ASTERISK, [SHIFT, 27])
2304+ .add(Symbol.DIVIDE, [SHIFT, 28])
2305+ .add(Symbol.CARROT, [SHIFT, 29])
2306+ .add(Symbol.SEMI_COLON, [REDUCE, 11])
2307+ .add(Symbol.COMMA, [REDUCE, 11]).build();
2308+table[68] = ObjectBuilder
2309+ .add(Symbol.EOF, [REDUCE, 13])
2310+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2311+ .add(Symbol.EQUALS, [REDUCE, 13])
2312+ .add(Symbol.PLUS, [SHIFT, 22])
2313+ .add(Symbol.RIGHT_PAREN, [REDUCE, 13])
2314+ .add(Symbol.LESS_THAN, [REDUCE, 13])
2315+ .add(Symbol.GREATER_THAN, [REDUCE, 13])
2316+ .add(Symbol.NOT, [REDUCE, 13])
2317+ .add(Symbol.MINUS, [SHIFT, 26])
2318+ .add(Symbol.ASTERISK, [SHIFT, 27])
2319+ .add(Symbol.DIVIDE, [SHIFT, 28])
2320+ .add(Symbol.CARROT, [SHIFT, 29])
2321+ .add(Symbol.SEMI_COLON, [REDUCE, 13])
2322+ .add(Symbol.COMMA, [REDUCE, 13]).build();
2323+table[69] = ObjectBuilder
2324+ .add(Symbol.EOF, [REDUCE, 12])
2325+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2326+ .add(Symbol.EQUALS, [REDUCE, 12])
2327+ .add(Symbol.PLUS, [SHIFT, 22])
2328+ .add(Symbol.RIGHT_PAREN, [REDUCE, 12])
2329+ .add(Symbol.LESS_THAN, [REDUCE, 12])
2330+ .add(Symbol.GREATER_THAN, [REDUCE, 12])
2331+ .add(Symbol.NOT, [REDUCE, 12])
2332+ .add(Symbol.MINUS, [SHIFT, 26])
2333+ .add(Symbol.ASTERISK, [SHIFT, 27])
2334+ .add(Symbol.DIVIDE, [SHIFT, 28])
2335+ .add(Symbol.CARROT, [SHIFT, 29])
2336+ .add(Symbol.SEMI_COLON, [REDUCE, 12])
2337+ .add(Symbol.COMMA, [REDUCE, 12]).build();
2338+table[70] = ObjectBuilder
2339+ .add(Symbol.EOF, [REDUCE, 24])
2340+ .add(Symbol.AMPERSAND, [REDUCE, 24])
2341+ .add(Symbol.EQUALS, [REDUCE, 24])
2342+ .add(Symbol.PLUS, [REDUCE, 24])
2343+ .add(Symbol.RIGHT_PAREN, [REDUCE, 24])
2344+ .add(Symbol.LESS_THAN, [REDUCE, 24])
2345+ .add(Symbol.GREATER_THAN, [REDUCE, 24])
2346+ .add(Symbol.NOT, [REDUCE, 24])
2347+ .add(Symbol.MINUS, [REDUCE, 24])
2348+ .add(Symbol.ASTERISK, [REDUCE, 24])
2349+ .add(Symbol.DIVIDE, [REDUCE, 24])
2350+ .add(Symbol.CARROT, [REDUCE, 24])
2351+ .add(Symbol.SEMI_COLON, [REDUCE, 24])
2352+ .add(Symbol.COMMA, [REDUCE, 24]).build();
2353+table[71] = ObjectBuilder
2354+ .add(Symbol.ERROR, 13)
2355+ .add(Symbol.EXPRESSION, 74)
2356+ .add(Symbol.VARIABLE_SEQUENCE, 3)
2357+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
2358+ .add(Symbol.TIME_24, [SHIFT, 5])
2359+ .add(Symbol.NUMBER, 6)
2360+ .add(Symbol.STRING, [SHIFT, 7])
2361+ .add(Symbol.EQUALS, [SHIFT, 21])
2362+ .add(Symbol.PLUS, [SHIFT, 10])
2363+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
2364+ .add(Symbol.MINUS, [SHIFT, 9])
2365+ .add(Symbol.FUNCTION, [SHIFT, 11])
2366+ .add(Symbol.CELL, 12)
2367+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
2368+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
2369+ .add(Symbol.VARIABLE, [SHIFT, 14])
2370+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
2371+ .add(Symbol.POUND, [SHIFT, 18]).build();
2372+table[72] = ObjectBuilder
2373+ .add(Symbol.ERROR, 13)
2374+ .add(Symbol.EXPRESSION, 75)
2375+ .add(Symbol.VARIABLE_SEQUENCE, 3)
2376+ .add(Symbol.TIME_AMPM, [SHIFT, 4])
2377+ .add(Symbol.TIME_24, [SHIFT, 5])
2378+ .add(Symbol.NUMBER, 6)
2379+ .add(Symbol.STRING, [SHIFT, 7])
2380+ .add(Symbol.EQUALS, [SHIFT, 21])
2381+ .add(Symbol.PLUS, [SHIFT, 10])
2382+ .add(Symbol.LEFT_PAREN, [SHIFT, 8])
2383+ .add(Symbol.MINUS, [SHIFT, 9])
2384+ .add(Symbol.FUNCTION, [SHIFT, 11])
2385+ .add(Symbol.CELL, 12)
2386+ .add(Symbol.FIXEDCELL, [SHIFT, 16])
2387+ .add(Symbol.CELL_UPPER, [SHIFT, 17])
2388+ .add(Symbol.VARIABLE, [SHIFT, 14])
2389+ .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
2390+ .add(Symbol.POUND, [SHIFT, 18]).build();
2391+table[73] = ObjectBuilder
2392+ .add(Symbol.EOF, [REDUCE, 42])
2393+ .add(Symbol.AMPERSAND, [REDUCE, 42])
2394+ .add(Symbol.EQUALS, [REDUCE, 42])
2395+ .add(Symbol.PLUS, [REDUCE, 42])
2396+ .add(Symbol.RIGHT_PAREN, [REDUCE, 42])
2397+ .add(Symbol.LESS_THAN, [REDUCE, 42])
2398+ .add(Symbol.GREATER_THAN, [REDUCE, 42])
2399+ .add(Symbol.NOT, [REDUCE, 42])
2400+ .add(Symbol.MINUS, [REDUCE, 42])
2401+ .add(Symbol.ASTERISK, [REDUCE, 42])
2402+ .add(Symbol.DIVIDE, [REDUCE, 42])
2403+ .add(Symbol.CARROT, [REDUCE, 42])
2404+ .add(Symbol.SEMI_COLON, [REDUCE, 42])
2405+ .add(Symbol.COMMA, [REDUCE, 42])
2406+ .add(Symbol.VARIABLE, [REDUCE, 42])
2407+ .add(Symbol.POUND, [REDUCE, 42]).build();
2408+table[74] = ObjectBuilder
2409+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2410+ .add(Symbol.EQUALS, [SHIFT, 21])
2411+ .add(Symbol.PLUS, [SHIFT, 22])
2412+ .add(Symbol.RIGHT_PAREN, [REDUCE, 34])
2413+ .add(Symbol.LESS_THAN, [SHIFT, 23])
2414+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
2415+ .add(Symbol.NOT, [SHIFT, 25])
2416+ .add(Symbol.MINUS, [SHIFT, 26])
2417+ .add(Symbol.ASTERISK, [SHIFT, 27])
2418+ .add(Symbol.DIVIDE, [SHIFT, 28])
2419+ .add(Symbol.CARROT, [SHIFT, 29])
2420+ .add(Symbol.SEMI_COLON, [REDUCE, 34])
2421+ .add(Symbol.COMMA, [REDUCE, 34]).build();
2422+table[75] = ObjectBuilder
2423+ .add(Symbol.AMPERSAND, [SHIFT, 20])
2424+ .add(Symbol.EQUALS, [SHIFT, 21])
2425+ .add(Symbol.PLUS, [SHIFT, 22])
2426+ .add(Symbol.RIGHT_PAREN, [REDUCE, 35])
2427+ .add(Symbol.LESS_THAN, [SHIFT, 23])
2428+ .add(Symbol.GREATER_THAN, [SHIFT, 24])
2429+ .add(Symbol.NOT, [SHIFT, 25])
2430+ .add(Symbol.MINUS, [SHIFT, 26])
2431+ .add(Symbol.ASTERISK, [SHIFT, 27])
2432+ .add(Symbol.DIVIDE, [SHIFT, 28])
2433+ .add(Symbol.CARROT, [SHIFT, 29])
2434+ .add(Symbol.SEMI_COLON, [REDUCE, 35])
2435+ .add(Symbol.COMMA, [REDUCE, 35]).build();
2436 const ACTION_TABLE = table;
2437
2438
2439@@ -1837,7 +1920,7 @@ let Parser = (function () {
2440 throw new ParseError('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
2441 }
2442
2443- // LexActions are always:
2444+ // Available actions:
2445 // Shift: continue to process tokens.
2446 // Reduce: enough tokens have been gathered to reduce input through evaluation.
2447 // Accept: return.
2448@@ -1847,6 +1930,8 @@ let Parser = (function () {
2449 semanticValueStack.push(lexer.yytext);
2450 locationStack.push(lexer.yylloc);
2451 stack.push(action[1]); // push state
2452+ // console.log("SHIFT", "literal", lexer.yytext, " symbol", symbol, " symbol name", SYMBOL_INDEX_TO_NAME[symbol], " action", action,
2453+ // " stack", stack, " semanticValueStack", semanticValueStack);
2454 symbol = null;
2455
2456 if (Formulas.isTryCatchFormula(lexer.yytext)) {
2457@@ -1869,6 +1954,8 @@ let Parser = (function () {
2458 break;
2459
2460 case REDUCE: // Reduce
2461+ // console.log("REDUCE", "literal", lexer.yytext, " symbol", symbol, " symbol name", SYMBOL_INDEX_TO_NAME[symbol], " action", action,
2462+ // " stack", stack, " semanticValueStack", semanticValueStack);
2463 let currentProduction : ReductionPair = PRODUCTIONS[action[1]];
2464
2465 let lengthToReduceStackBy = currentProduction.getLengthToReduceStackBy();
2466@@ -2146,7 +2233,7 @@ let Parser = (function () {
2467 }
2468 let rules = this._currentRules();
2469 for (let i = 0; i < rules.length; i++) {
2470- tempMatch = this._input.match(this.rules[rules[i]]);
2471+ tempMatch = this._input.match(RULES[rules[i]]);
2472 if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
2473 match = tempMatch;
2474 index = i;
2475@@ -2196,27 +2283,12 @@ let Parser = (function () {
2476 }
2477 },
2478
2479- // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
2480- begin: function begin(condition) {
2481- this.conditionStack.push(condition);
2482- },
2483-
2484- // pop the previously active lexer condition state off the condition stack
2485- popState: function popState() {
2486- let n = this.conditionStack.length - 1;
2487- if (n > 0) {
2488- return this.conditionStack.pop();
2489- } else {
2490- return this.conditionStack[0];
2491- }
2492- },
2493-
2494 // produce the lexer rule set which is active for the currently active lexer condition state
2495 _currentRules: function _currentRules() {
2496 if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
2497 return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
2498 } else {
2499- return this.conditions["INITIAL"].rules;
2500+ return this.conditions.INITIAL.rules;
2501 }
2502 },
2503
2504@@ -2306,10 +2378,9 @@ let Parser = (function () {
2505 return ReduceActions.AS_NUMBER;
2506 }
2507 },
2508- rules: RULES,
2509 conditions: {
2510- "INITIAL": {
2511- "rules": [
2512+ INITIAL: {
2513+ rules: [
2514 0,
2515 1,
2516 2,