commit
message
[ParserConstants] organizing States by name and logical sequence
author
Ben Vogt <[email protected]>
date
2017-12-22 02:47:04
stats
1 file(s) changed,
622 insertions(+),
588 deletions(-)
files
src/Parser/ParserConstants.ts
1diff --git a/src/Parser/ParserConstants.ts b/src/Parser/ParserConstants.ts
2index 41c5123..8ef0f43 100644
3--- a/src/Parser/ParserConstants.ts
4+++ b/src/Parser/ParserConstants.ts
5@@ -351,57 +351,70 @@ const SYMBOL_INDEX_TO_NAME = symbolIndexToName;
6
7
8 const enum State {
9- START = 0,
10- FOLLOW_EXPRESSIONS = 1,
11- FOLLOW_EXPRESSION = 2,
12- FOLLOW_VARIABLE_SEQUENCE = 3,
13- START_NUMBER = 6,
14- START_STRING = 7,
15- LEFT_PAREN = 8,
16- PREFIX_UNARY_MINUS = 9,
17- PREFIX_UNARY_PLUS = 10,
18- FUNCTION = 11,
19- FOLLOWS_CELL = 12,
20- ERROR = 13,
21- FOLLOW_VARIABLE = 14,
22- FOLLOW_NUMBER_UPPER = 15,
23- FIXED_CELL = 16,
24- FOLLOW_CELL_UPPER = 17,
25- FOLLOW_POUND = 18,
26- EOF_AND_RETURN_LAST = 19,
27- NUMBER_FOLLOWED_BY_AMPERSAND = 20,
28- START_EQUALS = 21,
29- NUMBER_FOLLOWED_BY_PLUS = 22,
30- LESS_THAN = 23,
31- GREATER_THAN = 24,
32- NUMBER_FOLLOWED_BY_MINUS = 26,
33- NUMBER_FOLLOWED_BY_ASTERISK = 27,
34- NUMBER_FOLLOWED_BY_SLASH = 28,
35- NUMBER_FOLLOWED_BY_CARROT = 29,
36- EXPRESSION_FOLLOWING_LEFT_PAREN = 32,
37- EXPRESSION_FOLLOWING_PREFIX_UNARY_MINUS = 33,
38- EXPRESSION_FOLLOWING_PREFIX_UNARY_PLUS = 34,
39- FOLLOW_FUNCTION_THEN_LEFT_PAREN = 35,
40- FOLLOW_ERROR_ERROR = 36,
41- FOLLOW_POUND_VARIABLE = 42,
42- NUMBER_AMPERSAND_EXPRESSION = 43,
43- START_EQUALS_EXPRESSION = 44,
44- ADD_TWO_NUMBERS = 45,
45- LESS_THAN_EQUALS = 46,
46- LESSTHAN_GREATERTHAN = 47,
47- LESSTHAN_EXPRESSION = 48,
48- GREATER_THAN_EQUALS = 49,
49- GREATERTHAN_EXPRESSION = 50,
50- SUBTRACT_TWO_NUMBERS = 52,
51- MULTIPLY_TWO_NUMBERS = 53,
52- DIVIDE_TWO_NUMBERS = 54,
53- NUMBER_TO_POWER_OF_OTHER = 55,
54+ // Start
55+ Start = 0,
56+ Start_Number = 6,
57+ Start_String = 7,
58+ Start_Equals = 21,
59+ Start_Equals_Expression = 44,
60+ // Number
61+ Number_Plus = 22,
62+ Number_Minus = 26,
63+ Number_Asterisk = 27,
64+ Number_Divide = 28,
65+ Number_Carrot = 29,
66+ Number_Ampersand = 20,
67+ Number_Percent = 31,
68+ // Error
69+ Error = 13,
70+ Error_Error = 36,
71+ // LessThan
72+ LessThan = 23,
73+ LessThan_Equals = 46,
74+ LessThan_GreaterThan = 47,
75+ LessThan_Expression = 48,
76+ // GreaterThan
77+ GreaterThan = 24,
78+ GreaterThan_Equals = 49,
79+ GreaterThan_Expression = 50,
80+ // Operations
81+ AddTwoNumbers = 45,
82+ SubtractTwoNumbers = 52,
83+ MultiplyTwoNumbers = 53,
84+ DivideTwoNumbers = 54,
85+ PowerTwoNumbers = 55,
86+ // Variable
87+ Variable = 14,
88+ Variable_SemiColon = 71,
89+ Variable_Comma = 72,
90+ // VariableSeq
91+ VariableSeq = 3,
92+ VariableSeq_Decimal = 30,
93+ VariableSeq_Decimal_Variable = 56,
94+ // Pound
95+ Pound = 18,
96+ Pound_Variable = 42,
97+ // Other
98+ Expressions = 1,
99+ Expression = 2,
100+ LeftParen = 8,
101+ PrefixUnaryMinus = 9,
102+ PrefixUnaryPlus = 10,
103+ Function = 11,
104+ Cell = 12,
105+ NumberUpper = 15,
106+ FixedCell = 16,
107+ CellUpper = 17,
108+ EOF_ReturnLast = 19,
109+ LeftParen_Expression = 32,
110+ PrefixUnaryMinus_Expression = 33,
111+ PrefixUnaryPlus_Expression = 34,
112+ Function_LeftParen = 35,
113+ Number_Ampersand_Expression = 43,
114 CLOSE_PAREN_ON_EXPRESSION = 57,
115- FUNCTION_LEFTPAREN_EXPRESSION = 60,
116- COMPARE_TWO_EXPRESSIONS_WITH_GTE = 69,
117- CLOSE_PAREN_ON_FUNCTION = 70,
118- VARIABLE_FOLLOWED_BY_SEMI_COLON = 71,
119- VARIABLE_FOLLOWED_BY_COMMA = 72
120+ Function_LeftParen_Expression = 60,
121+ GTETwoExpressions = 69,
122+ CLOSE_PAREN_ON_FUNCTION = 70
123 }
124
125
126@@ -412,40 +425,40 @@ const enum State {
127 */
128 let table = [];
129 // All functions in the spreadsheet start with a 0-token.
130-table[State.START] = ObjectBuilder
131- .add(Symbol.ERROR, State.ERROR)
132- .add(Symbol.EXPRESSIONS, State.FOLLOW_EXPRESSIONS)
133- .add(Symbol.EXPRESSION, State.FOLLOW_EXPRESSION)
134- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
135- .add(Symbol.NUMBER, State.START_NUMBER)
136- .add(Symbol.STRING, [SHIFT, State.START_STRING])
137- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
138- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
139- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
140- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
141- .add(Symbol.CELL, State.FOLLOWS_CELL)
142- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
143- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
144- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
145- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
146- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
147- .build();
148-table[State.FOLLOW_EXPRESSIONS] = ObjectBuilder
149+table[State.Start] = ObjectBuilder
150+ .add(Symbol.ERROR, State.Error)
151+ .add(Symbol.EXPRESSIONS, State.Expressions)
152+ .add(Symbol.EXPRESSION, State.Expression)
153+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
154+ .add(Symbol.NUMBER, State.Start_Number)
155+ .add(Symbol.STRING, [SHIFT, State.Start_String])
156+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
157+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
158+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
159+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
160+ .add(Symbol.CELL, State.Cell)
161+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
162+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
163+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
164+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
165+ .add(Symbol.POUND, [SHIFT, State.Pound])
166+ .build();
167+table[State.Expressions] = ObjectBuilder
168 .add(Symbol.END, [ACCEPT])
169 .build();
170-table[State.FOLLOW_EXPRESSION] = ObjectBuilder
171- .add(Symbol.EOF, [SHIFT, State.EOF_AND_RETURN_LAST])
172- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
173- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
174- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
175- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
176- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
177- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
178- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
179- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
180- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
181- .build();
182-table[State.FOLLOW_VARIABLE_SEQUENCE] = ObjectBuilder
183+table[State.Expression] = ObjectBuilder
184+ .add(Symbol.EOF, [SHIFT, State.EOF_ReturnLast])
185+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
186+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
187+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
188+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
189+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
190+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
191+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
192+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
193+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
194+ .build();
195+table[State.VariableSeq] = ObjectBuilder
196 .add(Symbol.EOF, [REDUCE, ReduceActions.CALL_VARIABLE])
197 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.CALL_VARIABLE])
198 .add(Symbol.EQUALS, [REDUCE, ReduceActions.CALL_VARIABLE])
199@@ -459,9 +472,9 @@ table[State.FOLLOW_VARIABLE_SEQUENCE] = ObjectBuilder
200 .add(Symbol.CARROT, [REDUCE, ReduceActions.CALL_VARIABLE])
201 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.CALL_VARIABLE])
202 .add(Symbol.COMMA, [REDUCE, ReduceActions.CALL_VARIABLE])
203- .add(Symbol.DECIMAL, [SHIFT, ReduceActions.CELL_VALUE])
204+ .add(Symbol.DECIMAL, [SHIFT, State.VariableSeq_Decimal])
205 .build();
206-table[State.START_NUMBER] = ObjectBuilder
207+table[State.Start_Number] = ObjectBuilder
208 .add(Symbol.EOF, [REDUCE, ReduceActions.AS_NUMBER])
209 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.AS_NUMBER])
210 .add(Symbol.EQUALS, [REDUCE, ReduceActions.AS_NUMBER])
211@@ -475,9 +488,9 @@ table[State.START_NUMBER] = ObjectBuilder
212 .add(Symbol.CARROT, [REDUCE, ReduceActions.AS_NUMBER])
213 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.AS_NUMBER])
214 .add(Symbol.COMMA, [REDUCE, ReduceActions.AS_NUMBER])
215- .add(Symbol.PERCENT, [SHIFT, ReduceActions.CELL_RANGE_VALUE])
216+ .add(Symbol.PERCENT, [SHIFT, State.Number_Percent])
217 .build();
218-table[State.START_STRING] = ObjectBuilder
219+table[State.Start_String] = ObjectBuilder
220 .add(Symbol.EOF, [REDUCE, ReduceActions.AS_STRING])
221 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.AS_STRING])
222 .add(Symbol.EQUALS, [REDUCE, ReduceActions.AS_STRING])
223@@ -492,61 +505,61 @@ table[State.START_STRING] = ObjectBuilder
224 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.AS_STRING])
225 .add(Symbol.COMMA, [REDUCE, ReduceActions.AS_STRING])
226 .build();
227-table[State.LEFT_PAREN] = ObjectBuilder
228- .add(Symbol.ERROR, State.ERROR)
229- .add(Symbol.EXPRESSION, State.EXPRESSION_FOLLOWING_LEFT_PAREN)
230- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
231- .add(Symbol.NUMBER, State.START_NUMBER)
232- .add(Symbol.STRING, [SHIFT, State.START_STRING])
233- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
234- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
235- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
236- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
237- .add(Symbol.CELL, State.FOLLOWS_CELL)
238- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
239- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
240- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
241- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
242- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
243- .build();
244-table[State.PREFIX_UNARY_MINUS] = ObjectBuilder
245- .add(Symbol.ERROR, State.ERROR)
246- .add(Symbol.EXPRESSION, State.EXPRESSION_FOLLOWING_PREFIX_UNARY_MINUS)
247- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
248- .add(Symbol.NUMBER, State.START_NUMBER)
249- .add(Symbol.STRING, [SHIFT, State.START_STRING])
250- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
251- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
252- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
253- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
254- .add(Symbol.CELL, State.FOLLOWS_CELL)
255- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
256- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
257- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
258- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
259- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
260- .build();
261-table[State.PREFIX_UNARY_PLUS] = ObjectBuilder
262- .add(Symbol.ERROR, State.ERROR)
263- .add(Symbol.EXPRESSION, State.EXPRESSION_FOLLOWING_PREFIX_UNARY_PLUS)
264- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
265- .add(Symbol.NUMBER, State.START_NUMBER)
266- .add(Symbol.STRING, [SHIFT, State.START_STRING])
267- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
268- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
269- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
270- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
271- .add(Symbol.CELL, State.FOLLOWS_CELL)
272- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
273- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
274- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
275- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
276- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
277- .build();
278-table[State.FUNCTION] = ObjectBuilder
279- .add(Symbol.LEFT_PAREN, [SHIFT, State.FOLLOW_FUNCTION_THEN_LEFT_PAREN])
280- .build();
281-table[State.FOLLOWS_CELL] = ObjectBuilder
282+table[State.LeftParen] = ObjectBuilder
283+ .add(Symbol.ERROR, State.Error)
284+ .add(Symbol.EXPRESSION, State.LeftParen_Expression)
285+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
286+ .add(Symbol.NUMBER, State.Start_Number)
287+ .add(Symbol.STRING, [SHIFT, State.Start_String])
288+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
289+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
290+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
291+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
292+ .add(Symbol.CELL, State.Cell)
293+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
294+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
295+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
296+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
297+ .add(Symbol.POUND, [SHIFT, State.Pound])
298+ .build();
299+table[State.PrefixUnaryMinus] = ObjectBuilder
300+ .add(Symbol.ERROR, State.Error)
301+ .add(Symbol.EXPRESSION, State.PrefixUnaryMinus_Expression)
302+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
303+ .add(Symbol.NUMBER, State.Start_Number)
304+ .add(Symbol.STRING, [SHIFT, State.Start_String])
305+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
306+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
307+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
308+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
309+ .add(Symbol.CELL, State.Cell)
310+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
311+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
312+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
313+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
314+ .add(Symbol.POUND, [SHIFT, State.Pound])
315+ .build();
316+table[State.PrefixUnaryPlus] = ObjectBuilder
317+ .add(Symbol.ERROR, State.Error)
318+ .add(Symbol.EXPRESSION, State.PrefixUnaryPlus_Expression)
319+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
320+ .add(Symbol.NUMBER, State.Start_Number)
321+ .add(Symbol.STRING, [SHIFT, State.Start_String])
322+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
323+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
324+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
325+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
326+ .add(Symbol.CELL, State.Cell)
327+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
328+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
329+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
330+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
331+ .add(Symbol.POUND, [SHIFT, State.Pound])
332+ .build();
333+table[State.Function] = ObjectBuilder
334+ .add(Symbol.LEFT_PAREN, [SHIFT, State.Function_LeftParen])
335+ .build();
336+table[State.Cell] = ObjectBuilder
337 .add(Symbol.EOF, [REDUCE, ReduceActions.CELL_VALUE_AS_EXPRESSION])
338 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.CELL_VALUE_AS_EXPRESSION])
339 .add(Symbol.EQUALS, [REDUCE, ReduceActions.CELL_VALUE_AS_EXPRESSION])
340@@ -561,8 +574,8 @@ table[State.FOLLOWS_CELL] = ObjectBuilder
341 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.CELL_VALUE_AS_EXPRESSION])
342 .add(Symbol.COMMA, [REDUCE, ReduceActions.CELL_VALUE_AS_EXPRESSION])
343 .build();
344-table[State.ERROR] = ObjectBuilder
345- .add(Symbol.ERROR, State.FOLLOW_ERROR_ERROR)
346+table[State.Error] = ObjectBuilder
347+ .add(Symbol.ERROR, State.Error_Error)
348 .add(Symbol.EOF, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
349 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
350 .add(Symbol.EQUALS, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
351@@ -576,10 +589,10 @@ table[State.ERROR] = ObjectBuilder
352 .add(Symbol.CARROT, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
353 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
354 .add(Symbol.COMMA, [REDUCE, ReduceActions.ERROR_AND_CONTINUE])
355- .add(Symbol.VARIABLE, [SHIFT, ReduceActions.ENSURE_LAST_TWO_IN_ARRAY_AND_PUSH])
356- .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
357+ .add(Symbol.VARIABLE, [SHIFT, 37])
358+ .add(Symbol.POUND, [SHIFT, 18])
359 .build();
360-table[State.FOLLOW_VARIABLE] = ObjectBuilder
361+table[State.Variable] = ObjectBuilder
362 .add(Symbol.EOF, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
363 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
364 .add(Symbol.EQUALS, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
365@@ -594,9 +607,9 @@ table[State.FOLLOW_VARIABLE] = ObjectBuilder
366 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
367 .add(Symbol.COMMA, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
368 .add(Symbol.DECIMAL, [REDUCE, ReduceActions.WRAP_CURRENT_INDEX_TOKEN_AS_ARRAY])
369- .add(Symbol.POUND, [SHIFT, ReduceActions.REFLEXIVE_REDUCE])
370+ .add(Symbol.POUND, [SHIFT, 38])
371 .build();
372-table[State.FOLLOW_NUMBER_UPPER] = ObjectBuilder
373+table[State.NumberUpper] = ObjectBuilder
374 .add(Symbol.EOF, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
375 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
376 .add(Symbol.EQUALS, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
377@@ -610,11 +623,11 @@ table[State.FOLLOW_NUMBER_UPPER] = ObjectBuilder
378 .add(Symbol.CARROT, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
379 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
380 .add(Symbol.COMMA, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
381- .add(Symbol.DECIMAL, [SHIFT, ReduceActions.REDUCE_FLOAT])
382+ .add(Symbol.DECIMAL, [SHIFT, 39])
383 .add(Symbol.PERCENT, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
384 .add(38, [REDUCE, ReduceActions.REFLEXIVE_REDUCE])
385 .build();
386-table[State.FIXED_CELL] = ObjectBuilder
387+table[State.FixedCell] = ObjectBuilder
388 .add(Symbol.EOF, [REDUCE, ReduceActions.FIXED_CELL_VAL])
389 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.FIXED_CELL_VAL])
390 .add(Symbol.EQUALS, [REDUCE, ReduceActions.FIXED_CELL_VAL])
391@@ -626,11 +639,11 @@ table[State.FIXED_CELL] = ObjectBuilder
392 .add(Symbol.ASTERISK, [REDUCE, ReduceActions.FIXED_CELL_VAL])
393 .add(Symbol.DIVIDE, [REDUCE, ReduceActions.FIXED_CELL_VAL])
394 .add(Symbol.CARROT, [REDUCE, ReduceActions.FIXED_CELL_VAL])
395- .add(Symbol.COLON, [SHIFT, ReduceActions.REDUCE_PREV_AS_PERCENT])
396+ .add(Symbol.COLON, [SHIFT, 40])
397 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.FIXED_CELL_VAL])
398 .add(Symbol.COMMA, [REDUCE, ReduceActions.FIXED_CELL_VAL])
399 .build();
400-table[State.FOLLOW_CELL_UPPER] = ObjectBuilder
401+table[State.CellUpper] = ObjectBuilder
402 .add(Symbol.EOF, [REDUCE, ReduceActions.CELL_VALUE])
403 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.CELL_VALUE])
404 .add(Symbol.EQUALS, [REDUCE, ReduceActions.CELL_VALUE])
405@@ -642,196 +655,196 @@ table[State.FOLLOW_CELL_UPPER] = ObjectBuilder
406 .add(Symbol.ASTERISK, [REDUCE, ReduceActions.CELL_VALUE])
407 .add(Symbol.DIVIDE, [REDUCE, ReduceActions.CELL_VALUE])
408 .add(Symbol.CARROT, [REDUCE, ReduceActions.CELL_VALUE])
409- .add(Symbol.COLON, [SHIFT, ReduceActions.REDUCE_LAST_THREE_A])
410+ .add(Symbol.COLON, [SHIFT, 41])
411 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.CELL_VALUE])
412 .add(Symbol.COMMA, [REDUCE, ReduceActions.CELL_VALUE])
413 .build();
414-table[State.FOLLOW_POUND] = ObjectBuilder
415- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_POUND_VARIABLE])
416+table[State.Pound] = ObjectBuilder
417+ .add(Symbol.VARIABLE, [SHIFT, State.Pound_Variable])
418 .add(Symbol.EOF, [REDUCE, ReduceActions.AS_ERROR])
419 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.AS_ERROR])
420 .add(Symbol.COMMA, [REDUCE, ReduceActions.AS_ERROR])
421 .build();
422-table[State.EOF_AND_RETURN_LAST] = ObjectBuilder
423+table[State.EOF_ReturnLast] = ObjectBuilder
424 .add(Symbol.END, [REDUCE, ReduceActions.RETURN_LAST])
425 .build();
426-table[State.NUMBER_FOLLOWED_BY_AMPERSAND] = ObjectBuilder
427- .add(Symbol.ERROR, State.ERROR)
428- .add(Symbol.EXPRESSION, State.NUMBER_AMPERSAND_EXPRESSION)
429- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
430- .add(Symbol.NUMBER, State.START_NUMBER)
431- .add(Symbol.STRING, [SHIFT, State.START_STRING])
432- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
433- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
434- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
435- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
436- .add(Symbol.CELL, State.FOLLOWS_CELL)
437- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
438- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
439- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
440- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
441- .add(Symbol.POUND, [SHIFT, ReduceActions.MULTIPLY])
442- .build();
443-table[State.START_EQUALS] = ObjectBuilder
444- .add(Symbol.ERROR, State.ERROR)
445- .add(Symbol.EXPRESSION, State.START_EQUALS_EXPRESSION)
446- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
447- .add(Symbol.NUMBER, State.START_NUMBER)
448- .add(Symbol.STRING, [SHIFT, State.START_STRING])
449- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
450- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
451- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
452- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
453- .add(Symbol.CELL, State.FOLLOWS_CELL)
454- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
455- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
456- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
457- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
458- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
459- .build();
460-table[State.NUMBER_FOLLOWED_BY_PLUS] = ObjectBuilder
461- .add(Symbol.ERROR, State.ERROR)
462- .add(Symbol.EXPRESSION, State.ADD_TWO_NUMBERS)
463- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
464- .add(Symbol.NUMBER, State.START_NUMBER)
465- .add(Symbol.STRING, [SHIFT, State.START_STRING])
466- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
467- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
468- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
469- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
470- .add(Symbol.CELL, State.FOLLOWS_CELL)
471- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
472- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
473- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
474- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
475- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
476- .build();
477-table[State.LESS_THAN] = ObjectBuilder
478- .add(Symbol.ERROR, State.ERROR)
479- .add(Symbol.EXPRESSION, State.LESSTHAN_EXPRESSION)
480- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
481- .add(Symbol.NUMBER, State.START_NUMBER)
482- .add(Symbol.STRING, [SHIFT, State.START_STRING])
483- .add(Symbol.EQUALS, [SHIFT, State.LESS_THAN_EQUALS])
484- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
485- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
486- .add(Symbol.GREATER_THAN, [SHIFT, State.LESSTHAN_GREATERTHAN])
487- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
488- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
489- .add(Symbol.CELL, State.FOLLOWS_CELL)
490- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
491- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
492- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
493- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
494- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
495- .build();
496-table[State.GREATER_THAN] = ObjectBuilder
497- .add(Symbol.ERROR, State.ERROR)
498- .add(Symbol.EXPRESSION, State.GREATERTHAN_EXPRESSION)
499- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
500- .add(Symbol.NUMBER, State.START_NUMBER)
501- .add(Symbol.STRING, [SHIFT, State.START_STRING])
502- .add(Symbol.EQUALS, [SHIFT, State.GREATER_THAN_EQUALS])
503- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
504- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
505- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
506- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
507- .add(Symbol.CELL, State.FOLLOWS_CELL)
508- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
509- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
510- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
511- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
512- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
513+table[State.Number_Ampersand] = ObjectBuilder
514+ .add(Symbol.ERROR, State.Error)
515+ .add(Symbol.EXPRESSION, State.Number_Ampersand_Expression)
516+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
517+ .add(Symbol.NUMBER, State.Start_Number)
518+ .add(Symbol.STRING, [SHIFT, State.Start_String])
519+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
520+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
521+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
522+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
523+ .add(Symbol.CELL, State.Cell)
524+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
525+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
526+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
527+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
528+ .add(Symbol.POUND, [SHIFT, 18])
529+ .build();
530+table[State.Start_Equals] = ObjectBuilder
531+ .add(Symbol.ERROR, State.Error)
532+ .add(Symbol.EXPRESSION, State.Start_Equals_Expression)
533+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
534+ .add(Symbol.NUMBER, State.Start_Number)
535+ .add(Symbol.STRING, [SHIFT, State.Start_String])
536+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
537+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
538+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
539+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
540+ .add(Symbol.CELL, State.Cell)
541+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
542+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
543+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
544+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
545+ .add(Symbol.POUND, [SHIFT, State.Pound])
546+ .build();
547+table[State.Number_Plus] = ObjectBuilder
548+ .add(Symbol.ERROR, State.Error)
549+ .add(Symbol.EXPRESSION, State.AddTwoNumbers)
550+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
551+ .add(Symbol.NUMBER, State.Start_Number)
552+ .add(Symbol.STRING, [SHIFT, State.Start_String])
553+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
554+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
555+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
556+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
557+ .add(Symbol.CELL, State.Cell)
558+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
559+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
560+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
561+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
562+ .add(Symbol.POUND, [SHIFT, State.Pound])
563+ .build();
564+table[State.LessThan] = ObjectBuilder
565+ .add(Symbol.ERROR, State.Error)
566+ .add(Symbol.EXPRESSION, State.LessThan_Expression)
567+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
568+ .add(Symbol.NUMBER, State.Start_Number)
569+ .add(Symbol.STRING, [SHIFT, State.Start_String])
570+ .add(Symbol.EQUALS, [SHIFT, State.LessThan_Equals])
571+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
572+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
573+ .add(Symbol.GREATER_THAN, [SHIFT, State.LessThan_GreaterThan])
574+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
575+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
576+ .add(Symbol.CELL, State.Cell)
577+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
578+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
579+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
580+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
581+ .add(Symbol.POUND, [SHIFT, State.Pound])
582+ .build();
583+table[State.GreaterThan] = ObjectBuilder
584+ .add(Symbol.ERROR, State.Error)
585+ .add(Symbol.EXPRESSION, State.GreaterThan_Expression)
586+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
587+ .add(Symbol.NUMBER, State.Start_Number)
588+ .add(Symbol.STRING, [SHIFT, State.Start_String])
589+ .add(Symbol.EQUALS, [SHIFT, State.GreaterThan_Equals])
590+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
591+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
592+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
593+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
594+ .add(Symbol.CELL, State.Cell)
595+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
596+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
597+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
598+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
599+ .add(Symbol.POUND, [SHIFT, State.Pound])
600 .build();
601 table[25] = ObjectBuilder
602- .add(Symbol.ERROR, State.ERROR)
603+ .add(Symbol.ERROR, State.Error)
604 .add(Symbol.EXPRESSION, 51)
605- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
606- .add(Symbol.NUMBER, State.START_NUMBER)
607- .add(Symbol.STRING, [SHIFT, State.START_STRING])
608- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
609- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
610- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
611- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
612- .add(Symbol.CELL, State.FOLLOWS_CELL)
613- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
614- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
615- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
616- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
617- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
618- .build();
619-table[State.NUMBER_FOLLOWED_BY_MINUS] = ObjectBuilder
620- .add(Symbol.ERROR, State.ERROR)
621- .add(Symbol.EXPRESSION, State.SUBTRACT_TWO_NUMBERS)
622- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
623- .add(Symbol.NUMBER, State.START_NUMBER)
624- .add(Symbol.STRING, [SHIFT, State.START_STRING])
625- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
626- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
627- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
628- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
629- .add(Symbol.CELL, State.FOLLOWS_CELL)
630- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
631- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
632- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
633- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
634- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
635- .build();
636-table[State.NUMBER_FOLLOWED_BY_ASTERISK] = ObjectBuilder
637- .add(Symbol.ERROR, State.ERROR)
638- .add(Symbol.EXPRESSION, State.MULTIPLY_TWO_NUMBERS)
639- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
640- .add(Symbol.NUMBER, State.START_NUMBER)
641- .add(Symbol.STRING, [SHIFT, State.START_STRING])
642- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
643- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
644- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
645- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
646- .add(Symbol.CELL, State.FOLLOWS_CELL)
647- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
648- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
649- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
650- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
651- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
652- .build();
653-table[State.NUMBER_FOLLOWED_BY_SLASH] = ObjectBuilder
654- .add(Symbol.ERROR, State.ERROR)
655- .add(Symbol.EXPRESSION, State.DIVIDE_TWO_NUMBERS)
656- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
657- .add(Symbol.NUMBER, State.START_NUMBER)
658- .add(Symbol.STRING, [SHIFT, State.START_STRING])
659- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
660- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
661- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
662- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
663- .add(Symbol.CELL, State.FOLLOWS_CELL)
664- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
665- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
666- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
667- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
668- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
669- .build();
670-table[State.NUMBER_FOLLOWED_BY_CARROT] = ObjectBuilder
671- .add(Symbol.ERROR, State.ERROR)
672- .add(Symbol.EXPRESSION, State.NUMBER_TO_POWER_OF_OTHER)
673- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
674- .add(Symbol.NUMBER, State.START_NUMBER)
675- .add(Symbol.STRING, [SHIFT, State.START_STRING])
676- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
677- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
678- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
679- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
680- .add(Symbol.CELL, State.FOLLOWS_CELL)
681- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
682- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
683- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
684- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
685- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
686- .build();
687-table[30] = ObjectBuilder
688- .add(Symbol.VARIABLE, [SHIFT, 56])
689- .build();
690-table[31] = ObjectBuilder
691+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
692+ .add(Symbol.NUMBER, State.Start_Number)
693+ .add(Symbol.STRING, [SHIFT, State.Start_String])
694+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
695+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
696+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
697+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
698+ .add(Symbol.CELL, State.Cell)
699+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
700+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
701+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
702+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
703+ .add(Symbol.POUND, [SHIFT, State.Pound])
704+ .build();
705+table[State.Number_Minus] = ObjectBuilder
706+ .add(Symbol.ERROR, State.Error)
707+ .add(Symbol.EXPRESSION, State.SubtractTwoNumbers)
708+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
709+ .add(Symbol.NUMBER, State.Start_Number)
710+ .add(Symbol.STRING, [SHIFT, State.Start_String])
711+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
712+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
713+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
714+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
715+ .add(Symbol.CELL, State.Cell)
716+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
717+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
718+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
719+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
720+ .add(Symbol.POUND, [SHIFT, State.Pound])
721+ .build();
722+table[State.Number_Asterisk] = ObjectBuilder
723+ .add(Symbol.ERROR, State.Error)
724+ .add(Symbol.EXPRESSION, State.MultiplyTwoNumbers)
725+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
726+ .add(Symbol.NUMBER, State.Start_Number)
727+ .add(Symbol.STRING, [SHIFT, State.Start_String])
728+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
729+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
730+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
731+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
732+ .add(Symbol.CELL, State.Cell)
733+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
734+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
735+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
736+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
737+ .add(Symbol.POUND, [SHIFT, State.Pound])
738+ .build();
739+table[State.Number_Divide] = ObjectBuilder
740+ .add(Symbol.ERROR, State.Error)
741+ .add(Symbol.EXPRESSION, State.DivideTwoNumbers)
742+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
743+ .add(Symbol.NUMBER, State.Start_Number)
744+ .add(Symbol.STRING, [SHIFT, State.Start_String])
745+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
746+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
747+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
748+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
749+ .add(Symbol.CELL, State.Cell)
750+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
751+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
752+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
753+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
754+ .add(Symbol.POUND, [SHIFT, State.Pound])
755+ .build();
756+table[State.Number_Carrot] = ObjectBuilder
757+ .add(Symbol.ERROR, State.Error)
758+ .add(Symbol.EXPRESSION, State.PowerTwoNumbers)
759+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
760+ .add(Symbol.NUMBER, State.Start_Number)
761+ .add(Symbol.STRING, [SHIFT, State.Start_String])
762+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
763+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
764+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
765+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
766+ .add(Symbol.CELL, State.Cell)
767+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
768+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
769+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
770+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
771+ .add(Symbol.POUND, [SHIFT, State.Pound])
772+ .build();
773+table[State.VariableSeq_Decimal] = ObjectBuilder
774+ .add(Symbol.VARIABLE, [SHIFT, State.VariableSeq_Decimal_Variable])
775+ .build();
776+table[State.Number_Percent] = ObjectBuilder
777 .add(Symbol.EOF, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
778 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
779 .add(Symbol.EQUALS, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
780@@ -848,69 +861,69 @@ table[31] = ObjectBuilder
781 .add(Symbol.PERCENT, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
782 .add(38, [REDUCE, ReduceActions.REDUCE_PREV_AS_PERCENT])
783 .build();
784-table[State.EXPRESSION_FOLLOWING_LEFT_PAREN] = ObjectBuilder
785- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
786- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
787- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
788+table[State.LeftParen_Expression] = ObjectBuilder
789+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
790+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
791+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
792 .add(Symbol.RIGHT_PAREN, [SHIFT, State.CLOSE_PAREN_ON_EXPRESSION])
793- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
794- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
795- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
796- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
797- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
798- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
799- .build();
800-table[State.EXPRESSION_FOLLOWING_PREFIX_UNARY_MINUS] = ObjectBuilder
801+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
802+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
803+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
804+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
805+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
806+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
807+ .build();
808+table[State.PrefixUnaryMinus_Expression] = ObjectBuilder
809 .add(Symbol.EOF, [REDUCE, ReduceActions.INVERT_NUM])
810- .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])
811+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
812 .add(Symbol.EQUALS, [REDUCE, ReduceActions.INVERT_NUM])
813 .add(Symbol.PLUS, [REDUCE, ReduceActions.INVERT_NUM])
814 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.INVERT_NUM])
815 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.INVERT_NUM])
816 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.INVERT_NUM])
817 .add(Symbol.MINUS, [REDUCE, ReduceActions.INVERT_NUM])
818- .add(Symbol.ASTERISK, [SHIFT, ReduceActions.ERROR_AND_CONTINUE_WITH_OTHER_ERRORS])
819- .add(Symbol.DIVIDE, [SHIFT, ReduceActions.FIXED_CELL_VAL])
820- .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
821+ .add(Symbol.ASTERISK, [SHIFT, 27])
822+ .add(Symbol.DIVIDE, [SHIFT, 28])
823+ .add(Symbol.CARROT, [SHIFT, 29])
824 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.INVERT_NUM])
825 .add(Symbol.COMMA, [REDUCE, ReduceActions.INVERT_NUM])
826 .build();
827-table[State.EXPRESSION_FOLLOWING_PREFIX_UNARY_PLUS] = ObjectBuilder
828+table[State.PrefixUnaryPlus_Expression] = ObjectBuilder
829 .add(Symbol.EOF, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
830- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
831+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
832 .add(Symbol.EQUALS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
833 .add(Symbol.PLUS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
834 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
835 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
836 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
837 .add(Symbol.MINUS, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
838- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
839- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
840- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
841+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
842+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
843+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
844 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
845 .add(Symbol.COMMA, [REDUCE, ReduceActions.TO_NUMBER_NAN_AS_ZERO])
846 .build();
847-table[State.FOLLOW_FUNCTION_THEN_LEFT_PAREN] = ObjectBuilder
848- .add(Symbol.ERROR, State.ERROR)
849- .add(Symbol.EXPRESSION, State.FUNCTION_LEFTPAREN_EXPRESSION)
850- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
851- .add(Symbol.NUMBER, State.START_NUMBER)
852- .add(Symbol.STRING, [SHIFT, State.START_STRING])
853- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
854- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
855+table[State.Function_LeftParen] = ObjectBuilder
856+ .add(Symbol.ERROR, State.Error)
857+ .add(Symbol.EXPRESSION, State.Function_LeftParen_Expression)
858+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
859+ .add(Symbol.NUMBER, State.Start_Number)
860+ .add(Symbol.STRING, [SHIFT, State.Start_String])
861+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
862+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
863 .add(Symbol.RIGHT_PAREN, [SHIFT, 58])
864- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
865- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
866+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
867+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
868 .add(Symbol.EXP_SEQ, 59)
869- .add(Symbol.CELL, State.FOLLOWS_CELL)
870- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
871- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
872+ .add(Symbol.CELL, State.Cell)
873+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
874+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
875 .add(Symbol.ARRAY, [SHIFT, 61])
876- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
877- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
878- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
879+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
880+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
881+ .add(Symbol.POUND, [SHIFT, State.Pound])
882 .build();
883-table[State.FOLLOW_ERROR_ERROR] = ObjectBuilder
884+table[State.Error_Error] = ObjectBuilder
885 .add(Symbol.EOF, [REDUCE, ReduceActions.ERROR_AND_CONTINUE_WITH_OTHER_ERRORS])
886 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.ERROR_AND_CONTINUE_WITH_OTHER_ERRORS])
887 .add(Symbol.EQUALS, [REDUCE, ReduceActions.ERROR_AND_CONTINUE_WITH_OTHER_ERRORS])
888@@ -940,10 +953,10 @@ table[40] = ObjectBuilder
889 table[41] = ObjectBuilder
890 .add(Symbol.CELL_UPPER, [SHIFT, 65])
891 .build();
892-table[State.FOLLOW_POUND_VARIABLE] = ObjectBuilder
893+table[State.Pound_Variable] = ObjectBuilder
894 .add(Symbol.EXCLAMATION_POINT, [SHIFT, 66])
895 .build();
896-table[State.NUMBER_AMPERSAND_EXPRESSION] = ObjectBuilder
897+table[State.Number_Ampersand_Expression] = ObjectBuilder
898 .add(Symbol.EOF, [REDUCE, ReduceActions.AMPERSAND])
899 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.AMPERSAND])
900 .add(Symbol.EQUALS, [REDUCE, ReduceActions.AMPERSAND])
901@@ -958,145 +971,145 @@ table[State.NUMBER_AMPERSAND_EXPRESSION] = ObjectBuilder
902 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.AMPERSAND])
903 .add(Symbol.COMMA, [REDUCE, ReduceActions.AMPERSAND])
904 .build();
905-table[State.START_EQUALS_EXPRESSION] = ObjectBuilder
906+table[State.Start_Equals_Expression] = ObjectBuilder
907 .add(Symbol.EOF, [REDUCE, ReduceActions.EQUALS])
908- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
909+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
910 .add(Symbol.EQUALS, [REDUCE, ReduceActions.EQUALS])
911- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
912+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
913 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.EQUALS])
914- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
915- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
916- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
917- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
918- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
919- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
920+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
921+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
922+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
923+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
924+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
925+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
926 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.EQUALS])
927 .add(Symbol.COMMA, [REDUCE, ReduceActions.EQUALS])
928 .build();
929-table[State.ADD_TWO_NUMBERS] = ObjectBuilder
930+table[State.AddTwoNumbers] = ObjectBuilder
931 .add(Symbol.EOF, [REDUCE, ReduceActions.PLUS])
932- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
933+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
934 .add(Symbol.EQUALS, [REDUCE, ReduceActions.PLUS])
935 .add(Symbol.PLUS, [REDUCE, ReduceActions.PLUS])
936 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.PLUS])
937 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.PLUS])
938 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.PLUS])
939 .add(Symbol.MINUS, [REDUCE, ReduceActions.PLUS])
940- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
941- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
942- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
943+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
944+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
945+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
946 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.PLUS])
947 .add(Symbol.COMMA, [REDUCE, ReduceActions.PLUS])
948 .build();
949-table[State.LESS_THAN_EQUALS] = ObjectBuilder
950- .add(Symbol.ERROR, State.ERROR)
951+table[State.LessThan_Equals] = ObjectBuilder
952+ .add(Symbol.ERROR, State.Error)
953 .add(Symbol.EXPRESSION, 67)
954- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
955- .add(Symbol.NUMBER, State.START_NUMBER)
956- .add(Symbol.STRING, [SHIFT, State.START_STRING])
957- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
958- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
959- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
960- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
961- .add(Symbol.CELL, State.FOLLOWS_CELL)
962- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
963- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
964- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
965- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
966- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
967- .build();
968-table[State.LESSTHAN_GREATERTHAN] = ObjectBuilder
969- .add(Symbol.ERROR, State.ERROR)
970+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
971+ .add(Symbol.NUMBER, State.Start_Number)
972+ .add(Symbol.STRING, [SHIFT, State.Start_String])
973+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
974+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
975+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
976+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
977+ .add(Symbol.CELL, State.Cell)
978+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
979+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
980+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
981+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
982+ .add(Symbol.POUND, [SHIFT, State.Pound])
983+ .build();
984+table[State.LessThan_GreaterThan] = ObjectBuilder
985+ .add(Symbol.ERROR, State.Error)
986 .add(Symbol.EXPRESSION, 68)
987- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
988- .add(Symbol.NUMBER, State.START_NUMBER)
989- .add(Symbol.STRING, [SHIFT, State.START_STRING])
990- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
991- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
992- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
993- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
994- .add(Symbol.CELL, State.FOLLOWS_CELL)
995- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
996- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
997- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
998- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
999- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
1000- .build();
1001-table[State.LESSTHAN_EXPRESSION] = ObjectBuilder
1002+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
1003+ .add(Symbol.NUMBER, State.Start_Number)
1004+ .add(Symbol.STRING, [SHIFT, State.Start_String])
1005+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
1006+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
1007+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
1008+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
1009+ .add(Symbol.CELL, State.Cell)
1010+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
1011+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
1012+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
1013+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
1014+ .add(Symbol.POUND, [SHIFT, State.Pound])
1015+ .build();
1016+table[State.LessThan_Expression] = ObjectBuilder
1017 .add(Symbol.EOF, [REDUCE, ReduceActions.LT])
1018- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1019+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1020 .add(Symbol.EQUALS, [REDUCE, ReduceActions.LT])
1021- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1022+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1023 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.LT])
1024 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.LT])
1025 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.LT])
1026- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1027- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1028- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1029- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1030+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1031+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1032+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1033+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1034 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.LT])
1035 .add(Symbol.COMMA, [REDUCE, ReduceActions.LT])
1036 .build();
1037-table[State.GREATER_THAN_EQUALS] = ObjectBuilder
1038- .add(Symbol.ERROR, State.ERROR)
1039- .add(Symbol.EXPRESSION, State.COMPARE_TWO_EXPRESSIONS_WITH_GTE)
1040- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
1041- .add(Symbol.NUMBER, State.START_NUMBER)
1042- .add(Symbol.STRING, [SHIFT, State.START_STRING])
1043- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
1044- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
1045- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
1046- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
1047- .add(Symbol.CELL, State.FOLLOWS_CELL)
1048- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
1049- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
1050- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
1051- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
1052- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
1053- .build();
1054-table[State.GREATERTHAN_EXPRESSION] = ObjectBuilder
1055+table[State.GreaterThan_Equals] = ObjectBuilder
1056+ .add(Symbol.ERROR, State.Error)
1057+ .add(Symbol.EXPRESSION, State.GTETwoExpressions)
1058+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
1059+ .add(Symbol.NUMBER, State.Start_Number)
1060+ .add(Symbol.STRING, [SHIFT, State.Start_String])
1061+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
1062+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
1063+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
1064+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
1065+ .add(Symbol.CELL, State.Cell)
1066+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
1067+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
1068+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
1069+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
1070+ .add(Symbol.POUND, [SHIFT, State.Pound])
1071+ .build();
1072+table[State.GreaterThan_Expression] = ObjectBuilder
1073 .add(Symbol.EOF, [REDUCE, ReduceActions.GT])
1074- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1075+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1076 .add(Symbol.EQUALS, [REDUCE, ReduceActions.GT])
1077- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1078+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1079 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.GT])
1080 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.GT])
1081 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.GT])
1082- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1083- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1084- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1085- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1086+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1087+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1088+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1089+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1090 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.GT])
1091 .add(Symbol.COMMA, [REDUCE, ReduceActions.GT])
1092 .build();
1093 table[51] = ObjectBuilder
1094- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1095+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1096 .add(Symbol.PLUS, [SHIFT, 22])
1097 .add(Symbol.LESS_THAN, [SHIFT, 23])
1098 .add(Symbol.GREATER_THAN, [SHIFT, 24])
1099- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1100- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1101+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1102+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1103 .add(Symbol.DIVIDE, [SHIFT, 28])
1104 .add(Symbol.CARROT, [SHIFT, 29])
1105 .build();
1106-table[State.SUBTRACT_TWO_NUMBERS] = ObjectBuilder
1107+table[State.SubtractTwoNumbers] = ObjectBuilder
1108 .add(Symbol.EOF, [REDUCE, ReduceActions.MINUS])
1109- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1110+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1111 .add(Symbol.EQUALS, [REDUCE, ReduceActions.MINUS])
1112 .add(Symbol.PLUS, [REDUCE, ReduceActions.MINUS])
1113 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.MINUS])
1114 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.MINUS])
1115 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.MINUS])
1116 .add(Symbol.MINUS, [REDUCE, ReduceActions.MINUS])
1117- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1118+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1119 .add(Symbol.DIVIDE, [SHIFT, 28])
1120 .add(Symbol.CARROT, [SHIFT, 29])
1121 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.MINUS])
1122 .add(Symbol.COMMA, [REDUCE, ReduceActions.MINUS])
1123 .build();
1124-table[State.MULTIPLY_TWO_NUMBERS] = ObjectBuilder
1125+table[State.MultiplyTwoNumbers] = ObjectBuilder
1126 .add(Symbol.EOF, [REDUCE, ReduceActions.MULTIPLY])
1127- .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER])// ??? questionable use of shift. should it be reduce?
1128+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1129 .add(Symbol.EQUALS, [REDUCE, ReduceActions.MULTIPLY])
1130 .add(Symbol.PLUS, [REDUCE, ReduceActions.MULTIPLY])
1131 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.MULTIPLY])
1132@@ -1105,13 +1118,13 @@ table[State.MULTIPLY_TWO_NUMBERS] = ObjectBuilder
1133 .add(Symbol.MINUS, [REDUCE, ReduceActions.MULTIPLY])
1134 .add(Symbol.ASTERISK, [REDUCE, ReduceActions.MULTIPLY])
1135 .add(Symbol.DIVIDE, [REDUCE, ReduceActions.MULTIPLY])
1136- .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
1137+ .add(Symbol.CARROT, [SHIFT, 29])
1138 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.MULTIPLY])
1139 .add(Symbol.COMMA, [REDUCE, ReduceActions.MULTIPLY])
1140 .build();
1141-table[State.DIVIDE_TWO_NUMBERS] = ObjectBuilder
1142+table[State.DivideTwoNumbers] = ObjectBuilder
1143 .add(Symbol.EOF, [REDUCE, ReduceActions.DIVIDE])
1144- .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER]) // ???same
1145+ .add(Symbol.AMPERSAND, [SHIFT, 20]) // ???same
1146 .add(Symbol.EQUALS, [REDUCE, ReduceActions.DIVIDE])
1147 .add(Symbol.PLUS, [REDUCE, ReduceActions.DIVIDE])
1148 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.DIVIDE])
1149@@ -1120,13 +1133,13 @@ table[State.DIVIDE_TWO_NUMBERS] = ObjectBuilder
1150 .add(Symbol.MINUS, [REDUCE, ReduceActions.DIVIDE])
1151 .add(Symbol.ASTERISK, [REDUCE, ReduceActions.DIVIDE])
1152 .add(Symbol.DIVIDE, [REDUCE, ReduceActions.DIVIDE])
1153- .add(Symbol.CARROT, [SHIFT, ReduceActions.FIXED_CELL_RANGE_VAL])
1154+ .add(Symbol.CARROT, [SHIFT, 29])
1155 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.DIVIDE])
1156 .add(Symbol.COMMA, [REDUCE, ReduceActions.DIVIDE])
1157 .build();
1158-table[State.NUMBER_TO_POWER_OF_OTHER] = ObjectBuilder
1159+table[State.PowerTwoNumbers] = ObjectBuilder
1160 .add(Symbol.EOF, [REDUCE, ReduceActions.TO_POWER])
1161- .add(Symbol.AMPERSAND, [SHIFT, ReduceActions.TO_POWER]) // ???same
1162+ .add(Symbol.AMPERSAND, [SHIFT, 20])
1163 .add(Symbol.EQUALS, [REDUCE, ReduceActions.TO_POWER])
1164 .add(Symbol.PLUS, [REDUCE, ReduceActions.TO_POWER])
1165 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.TO_POWER])
1166@@ -1139,7 +1152,7 @@ table[State.NUMBER_TO_POWER_OF_OTHER] = ObjectBuilder
1167 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.TO_POWER])
1168 .add(Symbol.COMMA, [REDUCE, ReduceActions.TO_POWER])
1169 .build();
1170-table[56] = ObjectBuilder
1171+table[State.VariableSeq_Decimal_Variable] = ObjectBuilder
1172 .add(Symbol.EOF, [REDUCE, ReduceActions.ENSURE_LAST_TWO_IN_ARRAY_AND_PUSH])
1173 .add(Symbol.AMPERSAND, [REDUCE, ReduceActions.ENSURE_LAST_TWO_IN_ARRAY_AND_PUSH])
1174 .add(Symbol.EQUALS, [REDUCE, ReduceActions.ENSURE_LAST_TWO_IN_ARRAY_AND_PUSH])
1175@@ -1187,20 +1200,20 @@ table[58] = ObjectBuilder
1176 .build();
1177 table[59] = ObjectBuilder
1178 .add(Symbol.RIGHT_PAREN, [SHIFT, State.CLOSE_PAREN_ON_FUNCTION])
1179- .add(Symbol.SEMI_COLON, [SHIFT, State.VARIABLE_FOLLOWED_BY_SEMI_COLON])
1180- .add(Symbol.COMMA, [SHIFT, State.VARIABLE_FOLLOWED_BY_COMMA])
1181+ .add(Symbol.SEMI_COLON, [SHIFT, State.Variable_SemiColon])
1182+ .add(Symbol.COMMA, [SHIFT, State.Variable_Comma])
1183 .build();
1184-table[State.FUNCTION_LEFTPAREN_EXPRESSION] = ObjectBuilder
1185- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1186- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
1187- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1188+table[State.Function_LeftParen_Expression] = ObjectBuilder
1189+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1190+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
1191+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1192 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
1193- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
1194- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
1195- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1196- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1197- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1198- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1199+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
1200+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
1201+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1202+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1203+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1204+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1205 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
1206 .add(Symbol.COMMA, [REDUCE, ReduceActions.ENSURE_IS_ARRAY])
1207 .build();
1208@@ -1274,44 +1287,44 @@ table[66] = ObjectBuilder
1209 .add(Symbol.POUND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_A]).build();
1210 table[67] = ObjectBuilder
1211 .add(Symbol.EOF, [REDUCE, ReduceActions.LTE])
1212- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1213+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1214 .add(Symbol.EQUALS, [REDUCE, ReduceActions.LTE])
1215- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1216+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1217 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.LTE])
1218 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.LTE])
1219 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.LTE])
1220- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1221- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1222- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1223- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1224+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1225+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1226+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1227+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1228 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.LTE])
1229 .add(Symbol.COMMA, [REDUCE, ReduceActions.LTE]).build();
1230 table[68] = ObjectBuilder
1231 .add(Symbol.EOF, [REDUCE, ReduceActions.NOT_EQ])
1232- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1233+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1234 .add(Symbol.EQUALS, [REDUCE, ReduceActions.NOT_EQ])
1235- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1236+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1237 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.NOT_EQ])
1238 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.NOT_EQ])
1239 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.NOT_EQ])
1240- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1241- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1242- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1243- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1244+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1245+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1246+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1247+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1248 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.NOT_EQ])
1249 .add(Symbol.COMMA, [REDUCE, ReduceActions.NOT_EQ]).build();
1250-table[State.COMPARE_TWO_EXPRESSIONS_WITH_GTE] = ObjectBuilder
1251+table[State.GTETwoExpressions] = ObjectBuilder
1252 .add(Symbol.EOF, [REDUCE, ReduceActions.GTE])
1253- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1254+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1255 .add(Symbol.EQUALS, [REDUCE, ReduceActions.GTE])
1256- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1257+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1258 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.GTE])
1259 .add(Symbol.LESS_THAN, [REDUCE, ReduceActions.GTE])
1260 .add(Symbol.GREATER_THAN, [REDUCE, ReduceActions.GTE])
1261- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1262- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1263- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1264- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1265+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1266+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1267+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1268+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1269 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.GTE])
1270 .add(Symbol.COMMA, [REDUCE, ReduceActions.GTE])
1271 .build();
1272@@ -1330,42 +1343,42 @@ table[State.CLOSE_PAREN_ON_FUNCTION] = ObjectBuilder
1273 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
1274 .add(Symbol.COMMA, [REDUCE, ReduceActions.CALL_FUNCTION_LAST_TWO_IN_STACK])
1275 .build();
1276-table[State.VARIABLE_FOLLOWED_BY_SEMI_COLON] = ObjectBuilder
1277- .add(Symbol.ERROR, State.ERROR)
1278+table[State.Variable_SemiColon] = ObjectBuilder
1279+ .add(Symbol.ERROR, State.Error)
1280 .add(Symbol.EXPRESSION, 74)
1281- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
1282- .add(Symbol.NUMBER, State.START_NUMBER)
1283- .add(Symbol.STRING, [SHIFT, State.START_STRING])
1284- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
1285- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
1286- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
1287- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
1288- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
1289- .add(Symbol.CELL, State.FOLLOWS_CELL)
1290- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
1291- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
1292- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
1293- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
1294- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
1295- .build();
1296-table[State.VARIABLE_FOLLOWED_BY_COMMA] = ObjectBuilder
1297- .add(Symbol.ERROR, State.ERROR)
1298+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
1299+ .add(Symbol.NUMBER, State.Start_Number)
1300+ .add(Symbol.STRING, [SHIFT, State.Start_String])
1301+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
1302+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
1303+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
1304+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
1305+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
1306+ .add(Symbol.CELL, State.Cell)
1307+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
1308+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
1309+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
1310+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
1311+ .add(Symbol.POUND, [SHIFT, State.Pound])
1312+ .build();
1313+table[State.Variable_Comma] = ObjectBuilder
1314+ .add(Symbol.ERROR, State.Error)
1315 .add(Symbol.EXPRESSION, 75)
1316- .add(Symbol.VARIABLE_SEQUENCE, State.FOLLOW_VARIABLE_SEQUENCE)
1317- .add(Symbol.NUMBER, State.START_NUMBER)
1318- .add(Symbol.STRING, [SHIFT, State.START_STRING])
1319- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
1320- .add(Symbol.PLUS, [SHIFT, State.PREFIX_UNARY_PLUS])
1321- .add(Symbol.LEFT_PAREN, [SHIFT, State.LEFT_PAREN])
1322- .add(Symbol.MINUS, [SHIFT, State.PREFIX_UNARY_MINUS])
1323- .add(Symbol.FUNCTION, [SHIFT, State.FUNCTION])
1324- .add(Symbol.CELL, State.FOLLOWS_CELL)
1325- .add(Symbol.FIXEDCELL, [SHIFT, State.FIXED_CELL])
1326- .add(Symbol.CELL_UPPER, [SHIFT, State.FOLLOW_CELL_UPPER])
1327- .add(Symbol.VARIABLE, [SHIFT, State.FOLLOW_VARIABLE])
1328- .add(Symbol.NUMBER_UPPER, [SHIFT, State.FOLLOW_NUMBER_UPPER])
1329+ .add(Symbol.VARIABLE_SEQUENCE, State.VariableSeq)
1330+ .add(Symbol.NUMBER, State.Start_Number)
1331+ .add(Symbol.STRING, [SHIFT, State.Start_String])
1332+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
1333+ .add(Symbol.PLUS, [SHIFT, State.PrefixUnaryPlus])
1334+ .add(Symbol.LEFT_PAREN, [SHIFT, State.LeftParen])
1335+ .add(Symbol.MINUS, [SHIFT, State.PrefixUnaryMinus])
1336+ .add(Symbol.FUNCTION, [SHIFT, State.Function])
1337+ .add(Symbol.CELL, State.Cell)
1338+ .add(Symbol.FIXEDCELL, [SHIFT, State.FixedCell])
1339+ .add(Symbol.CELL_UPPER, [SHIFT, State.CellUpper])
1340+ .add(Symbol.VARIABLE, [SHIFT, State.Variable])
1341+ .add(Symbol.NUMBER_UPPER, [SHIFT, State.NumberUpper])
1342 .add(Symbol.ARRAY, [SHIFT, 61])
1343- .add(Symbol.POUND, [SHIFT, State.FOLLOW_POUND])
1344+ .add(Symbol.POUND, [SHIFT, State.Pound])
1345 .build();
1346 table[73] = ObjectBuilder
1347 .add(Symbol.EOF, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
1348@@ -1385,29 +1398,29 @@ table[73] = ObjectBuilder
1349 .add(Symbol.POUND, [REDUCE, ReduceActions.REDUCE_LAST_THREE_B])
1350 .build();
1351 table[74] = ObjectBuilder
1352- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1353- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
1354- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1355+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1356+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
1357+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1358 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.REDUCE_INT])
1359- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
1360- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
1361- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1362- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1363- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1364- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1365+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
1366+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
1367+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1368+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1369+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1370+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1371 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REDUCE_INT])
1372 .add(Symbol.COMMA, [REDUCE, ReduceActions.REDUCE_INT]).build();
1373 table[75] = ObjectBuilder
1374- .add(Symbol.AMPERSAND, [SHIFT, State.NUMBER_FOLLOWED_BY_AMPERSAND])
1375- .add(Symbol.EQUALS, [SHIFT, State.START_EQUALS])
1376- .add(Symbol.PLUS, [SHIFT, State.NUMBER_FOLLOWED_BY_PLUS])
1377+ .add(Symbol.AMPERSAND, [SHIFT, State.Number_Ampersand])
1378+ .add(Symbol.EQUALS, [SHIFT, State.Start_Equals])
1379+ .add(Symbol.PLUS, [SHIFT, State.Number_Plus])
1380 .add(Symbol.RIGHT_PAREN, [REDUCE, ReduceActions.REDUCE_PERCENT])
1381- .add(Symbol.LESS_THAN, [SHIFT, State.LESS_THAN])
1382- .add(Symbol.GREATER_THAN, [SHIFT, State.GREATER_THAN])
1383- .add(Symbol.MINUS, [SHIFT, State.NUMBER_FOLLOWED_BY_MINUS])
1384- .add(Symbol.ASTERISK, [SHIFT, State.NUMBER_FOLLOWED_BY_ASTERISK])
1385- .add(Symbol.DIVIDE, [SHIFT, State.NUMBER_FOLLOWED_BY_SLASH])
1386- .add(Symbol.CARROT, [SHIFT, State.NUMBER_FOLLOWED_BY_CARROT])
1387+ .add(Symbol.LESS_THAN, [SHIFT, State.LessThan])
1388+ .add(Symbol.GREATER_THAN, [SHIFT, State.GreaterThan])
1389+ .add(Symbol.MINUS, [SHIFT, State.Number_Minus])
1390+ .add(Symbol.ASTERISK, [SHIFT, State.Number_Asterisk])
1391+ .add(Symbol.DIVIDE, [SHIFT, State.Number_Divide])
1392+ .add(Symbol.CARROT, [SHIFT, State.Number_Carrot])
1393 .add(Symbol.SEMI_COLON, [REDUCE, ReduceActions.REDUCE_PERCENT])
1394 .add(Symbol.COMMA, [REDUCE, ReduceActions.REDUCE_PERCENT]).build();
1395 const ACTION_TABLE = table;