spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← Commit log
commit
message
[ParserConstants] fixing bad refs
author
Ben Vogt <[email protected]>
date
2017-12-10 02:45:28
stats
2 file(s) changed, 249 insertions(+), 243 deletions(-)
files
src/Parser/ParserConstants.ts
tests/Parser/ParseEngineTest.ts
  1diff --git a/src/Parser/ParserConstants.ts b/src/Parser/ParserConstants.ts
  2index 7d1b1d8..40f512f 100644
  3--- a/src/Parser/ParserConstants.ts
  4+++ b/src/Parser/ParserConstants.ts
  5@@ -757,93 +757,93 @@ table[25] = ObjectBuilder
  6   .add(Symbol.TIME_AMPM, [SHIFT, 4])
  7   .add(Symbol.TIME_24, [SHIFT, 5])
  8   .add(Symbol.NUMBER, 6)
  9-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
 10-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
 11-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
 12-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
 13-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
 14+  .add(Symbol.STRING, [SHIFT, 7])
 15+  .add(Symbol.PLUS, [SHIFT, 10])
 16+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
 17+  .add(Symbol.MINUS, [SHIFT, 9])
 18+  .add(Symbol.FUNCTION, [SHIFT, 11])
 19   .add(Symbol.CELL, 12)
 20-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
 21-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
 22-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
 23-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
 24-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
 25+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
 26+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
 27+  .add(Symbol.VARIABLE, [SHIFT, 14])
 28+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
 29+  .add(Symbol.POUND, [SHIFT, 18])
 30   .build();
 31 table[26] = ObjectBuilder
 32   .add(Symbol.ERROR, 13)
 33   .add(Symbol.EXPRESSION, 52)
 34   .add(Symbol.VARIABLE_SEQUENCE, 3)
 35-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
 36-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
 37+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
 38+  .add(Symbol.TIME_24, [SHIFT, 5])
 39   .add(Symbol.NUMBER, 6)
 40-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
 41-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
 42-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
 43-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
 44-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
 45+  .add(Symbol.STRING, [SHIFT, 7])
 46+  .add(Symbol.PLUS, [SHIFT, 10])
 47+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
 48+  .add(Symbol.MINUS, [SHIFT, 9])
 49+  .add(Symbol.FUNCTION, [SHIFT, 11])
 50   .add(Symbol.CELL, 12)
 51-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
 52-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
 53-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
 54-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
 55-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
 56+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
 57+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
 58+  .add(Symbol.VARIABLE, [SHIFT, 14])
 59+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
 60+  .add(Symbol.POUND, [SHIFT, 18])
 61   .build();
 62 table[27] = ObjectBuilder
 63   .add(Symbol.ERROR, 13)
 64   .add(Symbol.EXPRESSION, 53)
 65   .add(Symbol.VARIABLE_SEQUENCE, 3)
 66-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
 67-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
 68+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
 69+  .add(Symbol.TIME_24, [SHIFT, 5])
 70   .add(Symbol.NUMBER, 6)
 71-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
 72-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
 73-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
 74-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
 75-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
 76+  .add(Symbol.STRING, [SHIFT, 7])
 77+  .add(Symbol.PLUS, [SHIFT, 10])
 78+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
 79+  .add(Symbol.MINUS, [SHIFT, 9])
 80+  .add(Symbol.FUNCTION, [SHIFT, 11])
 81   .add(Symbol.CELL, 12)
 82-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
 83-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
 84-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
 85-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
 86-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
 87+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
 88+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
 89+  .add(Symbol.VARIABLE, [SHIFT, 14])
 90+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
 91+  .add(Symbol.POUND, [SHIFT, 18])
 92   .build();
 93 table[28] = ObjectBuilder
 94   .add(Symbol.ERROR, 13)
 95   .add(Symbol.EXPRESSION, 54)
 96   .add(Symbol.VARIABLE_SEQUENCE, 3)
 97-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
 98-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
 99+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
100+  .add(Symbol.TIME_24, [SHIFT, 5])
101   .add(Symbol.NUMBER, 6)
102-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
103-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
104-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
105-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
106-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
107+  .add(Symbol.STRING, [SHIFT, 7])
108+  .add(Symbol.PLUS, [SHIFT, 10])
109+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
110+  .add(Symbol.MINUS, [SHIFT, 9])
111+  .add(Symbol.FUNCTION, [SHIFT, 11])
112   .add(Symbol.CELL, 12)
113-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
114-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
115-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
116-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
117-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
118+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
119+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
120+  .add(Symbol.VARIABLE, [SHIFT, 14])
121+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
122+  .add(Symbol.POUND, [SHIFT, 18])
123   .build();
124 table[29] = ObjectBuilder
125   .add(Symbol.ERROR, 13)
126   .add(Symbol.EXPRESSION, 55)
127   .add(Symbol.VARIABLE_SEQUENCE, 3)
128-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
129-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
130+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
131+  .add(Symbol.TIME_24, [SHIFT, 5])
132   .add(Symbol.NUMBER, 6)
133-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
134-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
135-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
136-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
137-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
138+  .add(Symbol.STRING, [SHIFT, 7])
139+  .add(Symbol.PLUS, [SHIFT, 10])
140+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
141+  .add(Symbol.MINUS, [SHIFT, 9])
142+  .add(Symbol.FUNCTION, [SHIFT, 11])
143   .add(Symbol.CELL, 12)
144-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
145-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
146-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
147-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
148-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
149+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
150+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
151+  .add(Symbol.VARIABLE, [SHIFT, 14])
152+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
153+  .add(Symbol.POUND, [SHIFT, 18])
154   .build();
155 table[ReduceActions.CELL_VALUE] = ObjectBuilder
156   .add(Symbol.VARIABLE, [SHIFT, 56])
157@@ -867,17 +867,17 @@ table[31] = ObjectBuilder
158   .add(38, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
159   .build();
160 table[32] = ObjectBuilder
161-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
162-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
163-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
164+  .add(Symbol.AMPERSAND, [SHIFT, 20])
165+  .add(Symbol.EQUALS, [SHIFT, 21])
166+  .add(Symbol.PLUS, [SHIFT, 22])
167   .add(Symbol.RIGHT_PAREN, [SHIFT, 57])
168-  .add(Symbol.LESS_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_BLANK])
169-  .add(Symbol.GREATER_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
170-  .add(Symbol.NOT, [SHIFT, ReduceActions.I25])
171-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
172-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
173-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
174-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
175+  .add(Symbol.LESS_THAN, [SHIFT, 23])
176+  .add(Symbol.GREATER_THAN, [SHIFT, 24])
177+  .add(Symbol.NOT, [SHIFT, 25])
178+  .add(Symbol.MINUS, [SHIFT, 26])
179+  .add(Symbol.ASTERISK, [SHIFT, 27])
180+  .add(Symbol.DIVIDE, [SHIFT, 28])
181+  .add(Symbol.CARROT, [SHIFT, 29])
182   .build();
183 table[33] = ObjectBuilder
184   .add(Symbol.EOF, [REDUCE, ReduceActions.INVERT_NUM])
185@@ -897,7 +897,7 @@ table[33] = ObjectBuilder
186   .build();
187 table[34] = ObjectBuilder
188   .add(Symbol.EOF, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
189-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
190+  .add(Symbol.AMPERSAND, [SHIFT, 20])
191   .add(Symbol.EQUALS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
192   .add(Symbol.PLUS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
193   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
194@@ -905,9 +905,9 @@ table[34] = ObjectBuilder
195   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
196   .add(Symbol.NOT, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
197   .add(Symbol.MINUS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
198-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
199-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
200-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
201+  .add(Symbol.ASTERISK, [SHIFT, 27])
202+  .add(Symbol.DIVIDE, [SHIFT, 28])
203+  .add(Symbol.CARROT, [SHIFT, 29])
204   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
205   .add(Symbol.COMMA, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
206   .build();
207@@ -915,23 +915,23 @@ table[35] = ObjectBuilder
208   .add(Symbol.ERROR, 13)
209   .add(Symbol.EXPRESSION, 60)
210   .add(Symbol.VARIABLE_SEQUENCE, 3)
211-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
212-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
213+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
214+  .add(Symbol.TIME_24, [SHIFT, 5])
215   .add(Symbol.NUMBER, 6)
216-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
217-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
218-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
219+  .add(Symbol.STRING, [SHIFT, 7])
220+  .add(Symbol.PLUS, [SHIFT, 10])
221+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
222   .add(Symbol.RIGHT_PAREN, [SHIFT, 58])
223-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
224-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
225+  .add(Symbol.MINUS, [SHIFT, 9])
226+  .add(Symbol.FUNCTION, [SHIFT, 11])
227   .add(Symbol.EXP_SEQ, 59)
228   .add(Symbol.CELL, 12)
229-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
230-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
231+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
232+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
233   .add(Symbol.ARRAY, [SHIFT, 61])
234-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
235-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
236-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
237+  .add(Symbol.VARIABLE, [SHIFT, 14])
238+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
239+  .add(Symbol.POUND, [SHIFT, 18])
240   .build();
241 table[36] = ObjectBuilder
242   .add(Symbol.EOF, [REDUCE, ReduceActions.I27])
243@@ -985,23 +985,23 @@ table[43] = ObjectBuilder
244   .build();
245 table[44] = ObjectBuilder
246   .add(Symbol.EOF, [REDUCE, ReduceActions.EQUALS])
247-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
248+  .add(Symbol.AMPERSAND, [SHIFT, 22])
249   .add(Symbol.EQUALS, [REDUCE, ReduceActions.EQUALS])
250-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
251+  .add(Symbol.PLUS, [SHIFT, 22])
252   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.EQUALS])
253-  .add(Symbol.LESS_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_BLANK])
254-  .add(Symbol.GREATER_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
255-  .add(Symbol.NOT, [SHIFT, ReduceActions.I25])
256-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
257-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
258-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
259-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
260+  .add(Symbol.LESS_THAN, [SHIFT, 23])
261+  .add(Symbol.GREATER_THAN, [SHIFT, 24])
262+  .add(Symbol.NOT, [SHIFT, 25])
263+  .add(Symbol.MINUS, [SHIFT, 26])
264+  .add(Symbol.ASTERISK, [SHIFT, 27])
265+  .add(Symbol.DIVIDE, [SHIFT, 28])
266+  .add(Symbol.CARROT, [SHIFT, 29])
267   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.EQUALS])
268   .add(Symbol.COMMA, [REDUCE, ReduceActions.EQUALS])
269   .build();
270 table[45] = ObjectBuilder
271   .add(Symbol.EOF, [REDUCE, ReduceActions.PLUS])
272-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
273+  .add(Symbol.AMPERSAND, [SHIFT, 20])
274   .add(Symbol.EQUALS, [REDUCE, ReduceActions.PLUS])
275   .add(Symbol.PLUS, [REDUCE, ReduceActions.PLUS])
276   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.PLUS])
277@@ -1009,9 +1009,9 @@ table[45] = ObjectBuilder
278   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.PLUS])
279   .add(Symbol.NOT, [REDUCE, ReduceActions.PLUS])
280   .add(Symbol.MINUS, [REDUCE, ReduceActions.PLUS])
281-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
282-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
283-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
284+  .add(Symbol.ASTERISK, [SHIFT, 27])
285+  .add(Symbol.DIVIDE, [SHIFT, 28])
286+  .add(Symbol.CARROT, [SHIFT, 29])
287   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.PLUS])
288   .add(Symbol.COMMA, [REDUCE, ReduceActions.PLUS])
289   .build();
290@@ -1019,53 +1019,53 @@ table[46] = ObjectBuilder
291   .add(Symbol.ERROR, 13)
292   .add(Symbol.EXPRESSION, 67)
293   .add(Symbol.VARIABLE_SEQUENCE, 3)
294-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
295-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
296+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
297+  .add(Symbol.TIME_24, [SHIFT, 5])
298   .add(Symbol.NUMBER, 6)
299-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
300-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
301-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
302-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
303-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
304+  .add(Symbol.STRING, [SHIFT, 7])
305+  .add(Symbol.PLUS, [SHIFT, 10])
306+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
307+  .add(Symbol.MINUS, [SHIFT, 9])
308+  .add(Symbol.FUNCTION, [SHIFT, 11])
309   .add(Symbol.CELL, 12)
310-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
311-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
312-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
313-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
314-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
315+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
316+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
317+  .add(Symbol.VARIABLE, [SHIFT, 14])
318+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
319+  .add(Symbol.POUND, [SHIFT, 18])
320   .build();
321 table[47] = ObjectBuilder
322   .add(Symbol.ERROR, 13)
323   .add(Symbol.EXPRESSION, 68)
324   .add(Symbol.VARIABLE_SEQUENCE, 3)
325-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
326-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
327+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
328+  .add(Symbol.TIME_24, [SHIFT, 5])
329   .add(Symbol.NUMBER, 6)
330-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
331-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
332-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
333-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
334-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
335+  .add(Symbol.STRING, [SHIFT, 7])
336+  .add(Symbol.PLUS, [SHIFT, 10])
337+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
338+  .add(Symbol.MINUS, [SHIFT, 9])
339+  .add(Symbol.FUNCTION, [SHIFT, 11])
340   .add(Symbol.CELL, 12)
341-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
342-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
343-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
344-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
345-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
346+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
347+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
348+  .add(Symbol.VARIABLE, [SHIFT, 14])
349+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
350+  .add(Symbol.POUND, [SHIFT, 18])
351   .build();
352 table[48] = ObjectBuilder
353   .add(Symbol.EOF, [REDUCE, ReduceActions.LT])
354-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
355+  .add(Symbol.AMPERSAND, [SHIFT, 20])
356   .add(Symbol.EQUALS, [REDUCE, ReduceActions.LT])
357-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
358+  .add(Symbol.PLUS, [SHIFT, 22])
359   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.LT])
360   .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.LT])
361   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.LT])
362   .add(Symbol.NOT, [REDUCE, ReduceActions.LT])
363-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
364-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
365-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
366-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
367+  .add(Symbol.MINUS, [SHIFT, 26])
368+  .add(Symbol.ASTERISK, [SHIFT, 27])
369+  .add(Symbol.DIVIDE, [SHIFT, 28])
370+  .add(Symbol.CARROT, [SHIFT, 29])
371   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.LT])
372   .add(Symbol.COMMA, [REDUCE, ReduceActions.LT])
373   .build();
374@@ -1073,34 +1073,34 @@ table[49] = ObjectBuilder
375   .add(Symbol.ERROR, 13)
376   .add(Symbol.EXPRESSION, 69)
377   .add(Symbol.VARIABLE_SEQUENCE, 3)
378-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
379-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
380+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
381+  .add(Symbol.TIME_24, [SHIFT, 5])
382   .add(Symbol.NUMBER, 6)
383-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
384-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
385-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
386-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
387-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
388+  .add(Symbol.STRING, [SHIFT, 7])
389+  .add(Symbol.PLUS, [SHIFT, 10])
390+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
391+  .add(Symbol.MINUS, [SHIFT, 9])
392+  .add(Symbol.FUNCTION, [SHIFT, 11])
393   .add(Symbol.CELL, 12)
394-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
395-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
396-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
397-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
398-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
399+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
400+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
401+  .add(Symbol.VARIABLE, [SHIFT, 14])
402+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
403+  .add(Symbol.POUND, [SHIFT, 18])
404   .build();
405 table[50] = ObjectBuilder
406   .add(Symbol.EOF, [REDUCE, ReduceActions.GT])
407-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
408+  .add(Symbol.AMPERSAND, [SHIFT, 20])
409   .add(Symbol.EQUALS, [REDUCE, ReduceActions.GT])
410-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
411+  .add(Symbol.PLUS, [SHIFT, 22])
412   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.GT])
413   .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.GT])
414   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.GT])
415   .add(Symbol.NOT, [REDUCE, ReduceActions.GT])
416-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
417-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
418-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
419-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
420+  .add(Symbol.MINUS, [SHIFT, 26])
421+  .add(Symbol.ASTERISK, [SHIFT, 27])
422+  .add(Symbol.DIVIDE, [SHIFT, 28])
423+  .add(Symbol.CARROT, [SHIFT, 29])
424   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.GT])
425   .add(Symbol.COMMA, [REDUCE, ReduceActions.GT])
426   .build();
427@@ -1239,17 +1239,17 @@ table[59] = ObjectBuilder
428   .add(Symbol.COMMA, [SHIFT, 72])
429   .build();
430 table[60] = ObjectBuilder
431-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
432-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
433-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
434+  .add(Symbol.AMPERSAND, [SHIFT, 20])
435+  .add(Symbol.EQUALS, [SHIFT, 21])
436+  .add(Symbol.PLUS, [SHIFT, 22])
437   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
438-  .add(Symbol.LESS_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_BLANK])
439-  .add(Symbol.GREATER_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
440-  .add(Symbol.NOT, [SHIFT, ReduceActions.I25])
441-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
442-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
443-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
444-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
445+  .add(Symbol.LESS_THAN, [SHIFT, 23])
446+  .add(Symbol.GREATER_THAN, [SHIFT, 24])
447+  .add(Symbol.NOT, [SHIFT, 25])
448+  .add(Symbol.MINUS, [SHIFT, 26])
449+  .add(Symbol.ASTERISK, [SHIFT, 27])
450+  .add(Symbol.DIVIDE, [SHIFT, 28])
451+  .add(Symbol.CARROT, [SHIFT, 29])
452   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
453   .add(Symbol.COMMA, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
454   .build();
455@@ -1327,49 +1327,50 @@ table[66] = ObjectBuilder
456   .add(Symbol.POUND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_A]).build();
457 table[67] = ObjectBuilder
458   .add(Symbol.EOF, [REDUCE, ReduceActions.LTE])
459-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
460+  .add(Symbol.AMPERSAND, [SHIFT, 20])
461   .add(Symbol.EQUALS, [REDUCE, ReduceActions.LTE])
462-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
463+  .add(Symbol.PLUS, [SHIFT, 22])
464   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.LTE])
465   .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.LTE])
466   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.LTE])
467   .add(Symbol.NOT, [REDUCE, ReduceActions.LTE])
468-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
469-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
470-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
471-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
472+  .add(Symbol.MINUS, [SHIFT, 26])
473+  .add(Symbol.ASTERISK, [SHIFT, 27])
474+  .add(Symbol.DIVIDE, [SHIFT, 28])
475+  .add(Symbol.CARROT, [SHIFT, 29])
476   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.LTE])
477   .add(Symbol.COMMA, [REDUCE, ReduceActions.LTE]).build();
478 table[68] = ObjectBuilder
479   .add(Symbol.EOF, [REDUCE, ReduceActions.NOT_EQ])
480-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
481+  .add(Symbol.AMPERSAND, [SHIFT, 20])
482   .add(Symbol.EQUALS, [REDUCE, ReduceActions.NOT_EQ])
483-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
484+  .add(Symbol.PLUS, [SHIFT, 22])
485   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.NOT_EQ])
486   .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.NOT_EQ])
487   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.NOT_EQ])
488   .add(Symbol.NOT, [REDUCE, ReduceActions.NOT_EQ])
489-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
490-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
491-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
492-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
493+  .add(Symbol.MINUS, [SHIFT, 26])
494+  .add(Symbol.ASTERISK, [SHIFT, 27])
495+  .add(Symbol.DIVIDE, [SHIFT, 28])
496+  .add(Symbol.CARROT, [SHIFT, 29])
497   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.NOT_EQ])
498   .add(Symbol.COMMA, [REDUCE, ReduceActions.NOT_EQ]).build();
499 table[69] = ObjectBuilder
500   .add(Symbol.EOF, [REDUCE, ReduceActions.GTE])
501-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
502+  .add(Symbol.AMPERSAND, [SHIFT, 20])
503   .add(Symbol.EQUALS, [REDUCE, ReduceActions.GTE])
504-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
505+  .add(Symbol.PLUS, [SHIFT, 22])
506   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.GTE])
507   .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.GTE])
508   .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.GTE])
509   .add(Symbol.NOT, [REDUCE, ReduceActions.GTE])
510-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
511-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
512-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
513-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
514+  .add(Symbol.MINUS, [SHIFT, 26])
515+  .add(Symbol.ASTERISK, [SHIFT, 27])
516+  .add(Symbol.DIVIDE, [SHIFT, 28])
517+  .add(Symbol.CARROT, [SHIFT, 29])
518   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.GTE])
519-  .add(Symbol.COMMA, [REDUCE, ReduceActions.GTE]).build();
520+  .add(Symbol.COMMA, [REDUCE, ReduceActions.GTE])
521+  .build();
522 table[70] = ObjectBuilder
523   .add(Symbol.EOF, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
524   .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
525@@ -1384,46 +1385,49 @@ table[70] = ObjectBuilder
526   .add(Symbol.DIVIDE, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
527   .add(Symbol.CARROT, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
528   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
529-  .add(Symbol.COMMA, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK]).build();
530+  .add(Symbol.COMMA, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
531+  .build();
532 table[71] = ObjectBuilder
533   .add(Symbol.ERROR, 13)
534   .add(Symbol.EXPRESSION, 74)
535   .add(Symbol.VARIABLE_SEQUENCE, 3)
536-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
537-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
538+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
539+  .add(Symbol.TIME_24, [SHIFT, 5])
540   .add(Symbol.NUMBER, 6)
541-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
542-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
543-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
544-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
545-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
546-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
547+  .add(Symbol.STRING, [SHIFT, 7])
548+  .add(Symbol.EQUALS, [SHIFT, 21])
549+  .add(Symbol.PLUS, [SHIFT, 10])
550+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
551+  .add(Symbol.MINUS, [SHIFT, 9])
552+  .add(Symbol.FUNCTION, [SHIFT, 11])
553   .add(Symbol.CELL, 12)
554-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
555-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
556-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
557-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
558-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY]).build();
559+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
560+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
561+  .add(Symbol.VARIABLE, [SHIFT, 14])
562+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
563+  .add(Symbol.POUND, [SHIFT, 18])
564+  .build();
565 table[72] = ObjectBuilder
566   .add(Symbol.ERROR, 13)
567   .add(Symbol.EXPRESSION, 75)
568   .add(Symbol.VARIABLE_SEQUENCE, 3)
569-  .add(Symbol.TIME_AMPM, [SHIFT, ReduceActions.TIME_CALL])
570-  .add(Symbol.TIME_24, [SHIFT, ReduceActions.AS_NUMBER])
571+  .add(Symbol.TIME_AMPM, [SHIFT, 4])
572+  .add(Symbol.TIME_24, [SHIFT, 5])
573   .add(Symbol.NUMBER, 6)
574-  .add(Symbol.STRING, [SHIFT, ReduceActions.AMPERSAND])
575-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
576-  .add(Symbol.PLUS, [SHIFT, ReduceActions.LAST_NUMBER])
577-  .add(Symbol.LEFT_PAREN, [SHIFT, ReduceActions.EQUALS])
578-  .add(Symbol.MINUS, [SHIFT, ReduceActions.PLUS])
579-  .add(Symbol.FUNCTION, [SHIFT, ReduceActions.LTE])
580+  .add(Symbol.STRING, [SHIFT, 7])
581+  .add(Symbol.EQUALS, [SHIFT, 21])
582+  .add(Symbol.PLUS, [SHIFT, 10])
583+  .add(Symbol.LEFT_PAREN, [SHIFT, 8])
584+  .add(Symbol.MINUS, [SHIFT, 9])
585+  .add(Symbol.FUNCTION, [SHIFT, 11])
586   .add(Symbol.CELL, 12)
587-  .add(Symbol.FIXEDCELL, [SHIFT, ReduceActions.LT])
588-  .add(Symbol.CELL_UPPER, [SHIFT, ReduceActions.MINUS])
589-  .add(Symbol.VARIABLE, [SHIFT, ReduceActions.NOT])
590-  .add(Symbol.NUMBER_UPPER, [SHIFT, ReduceActions.GT])
591+  .add(Symbol.FIXEDCELL, [SHIFT, 16])
592+  .add(Symbol.CELL_UPPER, [SHIFT, 17])
593+  .add(Symbol.VARIABLE, [SHIFT, 14])
594+  .add(Symbol.NUMBER_UPPER, [SHIFT, 15])
595   .add(Symbol.ARRAY, [SHIFT, 61])
596-  .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY]).build();
597+  .add(Symbol.POUND, [SHIFT, 18])
598+  .build();
599 table[73] = ObjectBuilder
600   .add(Symbol.EOF, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
601   .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
602@@ -1440,33 +1444,34 @@ table[73] = ObjectBuilder
603   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
604   .add(Symbol.COMMA, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
605   .add(Symbol.VARIABLE, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
606-  .add(Symbol.POUND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B]).build();
607+  .add(Symbol.POUND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
608+  .build();
609 table[74] = ObjectBuilder
610-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
611-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
612-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
613+  .add(Symbol.AMPERSAND, [SHIFT, 20])
614+  .add(Symbol.EQUALS, [SHIFT, 21])
615+  .add(Symbol.PLUS, [SHIFT, 22])
616   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.REDUCE_INT])
617-  .add(Symbol.LESS_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_BLANK])
618-  .add(Symbol.GREATER_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
619-  .add(Symbol.NOT, [SHIFT, ReduceActions.I25])
620-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
621-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
622-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
623-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
624+  .add(Symbol.LESS_THAN, [SHIFT, 23])
625+  .add(Symbol.GREATER_THAN, [SHIFT, 24])
626+  .add(Symbol.NOT, [SHIFT, 25])
627+  .add(Symbol.MINUS, [SHIFT, 26])
628+  .add(Symbol.ASTERISK, [SHIFT, 27])
629+  .add(Symbol.DIVIDE, [SHIFT, 28])
630+  .add(Symbol.CARROT, [SHIFT, 29])
631   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REDUCE_INT])
632   .add(Symbol.COMMA, [REDUCE, ReduceActions.REDUCE_INT]).build();
633 table[75] = ObjectBuilder
634-  .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
635-  .add(Symbol.EQUALS, [SHIFT, ReduceActions.INVERT_NUM])
636-  .add(Symbol.PLUS, [SHIFT, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
637+  .add(Symbol.AMPERSAND, [SHIFT, 20])
638+  .add(Symbol.EQUALS, [SHIFT, 21])
639+  .add(Symbol.PLUS, [SHIFT, 22])
640   .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.REDUCE_PERCENT])
641-  .add(Symbol.LESS_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_BLANK])
642-  .add(Symbol.GREATER_THAN, [SHIFT, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
643-  .add(Symbol.NOT, [SHIFT, ReduceActions.I25])
644-  .add(Symbol.MINUS, [SHIFT, ReduceActions.I26])
645-  .add(Symbol.ASTERISK, [SHIFT, ReduceActions.I27])
646-  .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
647-  .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
648+  .add(Symbol.LESS_THAN, [SHIFT, 23])
649+  .add(Symbol.GREATER_THAN, [SHIFT, 24])
650+  .add(Symbol.NOT, [SHIFT, 25])
651+  .add(Symbol.MINUS, [SHIFT, 26])
652+  .add(Symbol.ASTERISK, [SHIFT, 27])
653+  .add(Symbol.DIVIDE, [SHIFT, 28])
654+  .add(Symbol.CARROT, [SHIFT, 29])
655   .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REDUCE_PERCENT])
656   .add(Symbol.COMMA, [REDUCE, ReduceActions.REDUCE_PERCENT]).build();
657 const ACTION_TABLE = table;
658diff --git a/tests/Parser/ParseEngineTest.ts b/tests/Parser/ParseEngineTest.ts
659index b1eca81..c837841 100644
660--- a/tests/Parser/ParseEngineTest.ts
661+++ b/tests/Parser/ParseEngineTest.ts
662@@ -1,6 +1,6 @@
663 import {
664   Parser
665-} from "../../src/Parser/ParseEngine";
666+} from "../../src/Parser/Parser";
667 import {TypeConverter} from "../../src/Utilities/TypeConverter";
668 import {DivZeroError, NameError} from "../../src/Errors";
669 import {Formulas} from "../../src/Formulas";