[bug_14245] parser fixed about field and call
[scilab.git] / scilab / modules / ast / src / cpp / parse / bison / parsescilab.output
1 Terminals unused in grammar
2
3    "line break"
4    "spaces"
5    FLEX_ERROR
6    "block comment"
7    FUNCTIONCALL
8
9
10 Grammar
11
12     0 $accept: program "end of file"
13
14     1 program: expressions
15     2        | "end of line" expressions
16     3        | expressionLineBreak
17     4        | %empty
18
19     5 expressions: recursiveExpression
20     6            | recursiveExpression expression
21     7            | recursiveExpression expression "line comment"
22     8            | expression
23     9            | expression "line comment"
24
25    10 recursiveExpression: recursiveExpression expression expressionLineBreak
26    11                    | recursiveExpression expression "line comment" expressionLineBreak
27    12                    | expression "line comment" expressionLineBreak
28    13                    | expression expressionLineBreak
29
30    14 expressionLineBreak: ";"
31    15                    | ","
32    16                    | "end of line"
33    17                    | expressionLineBreak ";"
34    18                    | expressionLineBreak ","
35    19                    | expressionLineBreak "end of line"
36
37    20 expression: functionDeclaration
38    21           | functionCall
39    22           | variableDeclaration
40    23           | ifControl
41    24           | selectControl
42    25           | forControl
43    26           | whileControl
44    27           | tryControl
45    28           | variable
46    29           | implicitFunctionCall
47    30           | "break"
48    31           | "continue"
49    32           | returnControl
50    33           | "line comment"
51    34           | error
52
53    35 implicitFunctionCall: implicitFunctionCall implicitCallable
54    36                     | "identifier" implicitCallable
55
56    37 implicitCallable: "identifier"
57    38                 | "integer"
58    39                 | "number"
59    40                 | "float"
60    41                 | "string"
61    42                 | "$"
62    43                 | "%t or %T"
63    44                 | "%f or %F"
64    45                 | implicitCallable "." "identifier"
65    46                 | "path"
66
67    47 functionCall: simpleFunctionCall
68    48             | "(" functionCall ")"
69
70    49 simpleFunctionCall: "identifier" "(" functionArgs ")"
71    50                   | "identifier" "{" functionArgs "}"
72    51                   | "identifier" "(" ")"
73    52                   | "identifier" "{" "}"
74
75    53 functionArgs: variable
76    54             | functionCall
77    55             | ":"
78    56             | variableDeclaration
79    57             | ","
80    58             | "," variable
81    59             | "," functionCall
82    60             | "," ":"
83    61             | "," variableDeclaration
84    62             | functionArgs ","
85    63             | functionArgs "," variable
86    64             | functionArgs "," functionCall
87    65             | functionArgs "," ":"
88    66             | functionArgs "," variableDeclaration
89
90    67 functionDeclaration: "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
91    68                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
92    69                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
93    70                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
94    71                    | "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
95    72                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
96    73                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
97    74                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
98
99    75 functionDeclarationReturns: idList
100
101    76 functionDeclarationArguments: "(" idList ")"
102    77                             | "(" ")"
103    78                             | %empty
104
105    79 idList: idList "," "identifier"
106    80       | "identifier"
107
108    81 functionDeclarationBreak: lineEnd
109    82                         | ";"
110    83                         | ";" "end of line"
111    84                         | ","
112    85                         | "," "end of line"
113
114    86 functionBody: expressions
115    87             | %empty
116
117    88 condition: functionCall
118    89          | variable
119
120    90 comparison: variable rightComparable
121    91           | functionCall rightComparable
122
123    92 rightComparable: "&" variable
124    93                | "&" functionCall
125    94                | "&" ":"
126    95                | "&&" variable
127    96                | "&&" functionCall
128    97                | "&&" ":"
129    98                | "|" variable
130    99                | "|" functionCall
131   100                | "|" ":"
132   101                | "||" variable
133   102                | "||" functionCall
134   103                | "||" ":"
135   104                | "==" variable
136   105                | "==" functionCall
137   106                | "==" ":"
138   107                | "<> or ~=" variable
139   108                | "<> or ~=" functionCall
140   109                | "<> or ~=" ":"
141   110                | ">" variable
142   111                | ">" functionCall
143   112                | ">" ":"
144   113                | "<" variable
145   114                | "<" functionCall
146   115                | "<" ":"
147   116                | ">=" variable
148   117                | ">=" functionCall
149   118                | ">=" ":"
150   119                | "<=" variable
151   120                | "<=" functionCall
152   121                | "<=" ":"
153
154   122 operation: variable rightOperand
155   123          | functionCall rightOperand
156   124          | "-" variable
157   125          | "-" functionCall
158   126          | "+" variable
159   127          | "+" functionCall
160   128          | variable "** or ^" variable
161   129          | variable "** or ^" functionCall
162   130          | functionCall "** or ^" variable
163   131          | functionCall "** or ^" functionCall
164   132          | variable ".^" variable
165   133          | variable ".^" functionCall
166   134          | functionCall ".^" variable
167   135          | functionCall ".^" functionCall
168   136          | variable "'"
169   137          | variable ".'"
170   138          | functionCall "'"
171   139          | functionCall ".'"
172
173   140 rightOperand: "+" variable
174   141             | "+" functionCall
175   142             | "-" variable
176   143             | "-" functionCall
177   144             | "*" variable
178   145             | "*" functionCall
179   146             | ".*" variable
180   147             | ".*" functionCall
181   148             | ".*." variable
182   149             | ".*." functionCall
183   150             | "*." variable
184   151             | "*." functionCall
185   152             | "/" variable
186   153             | "/" functionCall
187   154             | "./" variable
188   155             | "./" functionCall
189   156             | "./." variable
190   157             | "./." functionCall
191   158             | "/." variable
192   159             | "/." functionCall
193   160             | "\\" variable
194   161             | "\\" functionCall
195   162             | ".\\" variable
196   163             | ".\\" functionCall
197   164             | ".\\." variable
198   165             | ".\\." functionCall
199   166             | "\\." variable
200   167             | "\\." functionCall
201
202   168 listableBegin: ":" variable
203   169              | ":" functionCall
204
205   170 listableEnd: listableBegin ":" variable
206   171            | listableBegin ":" functionCall
207   172            | listableBegin
208
209   173 variable: "~ or @" variable
210   174         | "~ or @" functionCall
211   175         | variable "." "identifier"
212   176         | variable "." keywords
213   177         | variable "." functionCall
214   178         | functionCall "." "identifier"
215   179         | functionCall "." keywords
216   180         | variable listableEnd
217   181         | functionCall listableEnd
218   182         | matrix
219   183         | cell
220   184         | operation
221   185         | "identifier"
222   186         | "integer"
223   187         | "number"
224   188         | "float"
225   189         | "string"
226   190         | "$"
227   191         | "%t or %T"
228   192         | "%f or %F"
229   193         | "(" variable ")"
230   194         | "(" variableFields ")"
231   195         | comparison
232   196         | variable "(" functionArgs ")"
233   197         | functionCall "(" functionArgs ")"
234
235   198 variableFields: variableFields "," variable
236   199               | variableFields "," functionCall
237   200               | variable "," variable
238   201               | functionCall "," functionCall
239   202               | functionCall "," variable
240   203               | variable "," functionCall
241
242   204 cell: "{" matrixOrCellLines "}"
243   205     | "{" "end of line" matrixOrCellLines "}"
244   206     | "{" matrixOrCellLines matrixOrCellColumns "}"
245   207     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
246   208     | "{" matrixOrCellColumns "}"
247   209     | "{" "end of line" matrixOrCellColumns "}"
248   210     | "{" "end of line" "}"
249   211     | "{" "}"
250
251   212 matrix: "[" matrixOrCellLines "]"
252   213       | "[" "end of line" matrixOrCellLines "]"
253   214       | "[" matrixOrCellLines matrixOrCellColumns "]"
254   215       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
255   216       | "[" matrixOrCellColumns "]"
256   217       | "[" "end of line" matrixOrCellColumns "]"
257   218       | "[" "end of line" "]"
258   219       | "[" "]"
259
260   220 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
261   221                  | matrixOrCellLine
262
263   222 matrixOrCellLineBreak: ";"
264   223                      | "end of line"
265   224                      | matrixOrCellLineBreak "end of line"
266   225                      | matrixOrCellLineBreak ";"
267
268   226 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
269   227                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
270
271   228 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
272   229                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
273   230                    | matrixOrCellColumns variable
274   231                    | matrixOrCellColumns functionCall
275   232                    | matrixOrCellColumns "line comment"
276   233                    | variable
277   234                    | functionCall
278   235                    | "line comment"
279
280   236 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
281   237                         | ","
282
283   238 variableDeclaration: assignable "=" variable
284   239                    | assignable "=" functionCall
285   240                    | functionCall "=" variable
286   241                    | functionCall "=" functionCall
287   242                    | assignable "=" ":"
288   243                    | functionCall "=" ":"
289   244                    | assignable "=" returnControl
290   245                    | functionCall "=" returnControl
291
292   246 assignable: variable "." "identifier"
293   247           | variable "." keywords
294   248           | variable "." functionCall
295   249           | functionCall "." "identifier"
296   250           | functionCall "." keywords
297   251           | "identifier"
298   252           | multipleResults
299   253           | variable "(" functionArgs ")"
300   254           | functionCall "(" functionArgs ")"
301
302   255 multipleResults: "[" matrixOrCellColumns "]"
303
304   256 ifControl: "if" condition then thenBody "end"
305   257          | "if" condition then thenBody else elseBody "end"
306   258          | "if" condition then thenBody elseIfControl "end"
307
308   259 thenBody: expressions
309   260         | %empty
310
311   261 elseBody: expressions
312   262         | %empty
313
314   263 ifConditionBreak: ";"
315   264                 | ";" "end of line"
316   265                 | ","
317   266                 | "," "end of line"
318   267                 | "end of line"
319
320   268 then: "then"
321   269     | ifConditionBreak "then"
322   270     | ifConditionBreak "then" "end of line"
323   271     | "then" ifConditionBreak
324   272     | ifConditionBreak
325   273     | %empty
326
327   274 else: "else"
328   275     | "else" ","
329   276     | "else" ";"
330   277     | "else" "end of line"
331   278     | "else" "," "end of line"
332   279     | "else" ";" "end of line"
333
334   280 elseIfControl: "elseif" condition then thenBody
335   281              | "elseif" condition then thenBody else elseBody
336   282              | "elseif" condition then thenBody elseIfControl
337
338   283 selectControl: select selectable selectConditionBreak casesControl "end"
339   284              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
340   285              | select selectable "line comment" selectConditionBreak casesControl "end"
341   286              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
342
343   287 select: "select"
344   288       | "switch"
345
346   289 defaultCase: else
347   290            | "otherwise"
348   291            | "otherwise" ","
349   292            | "otherwise" ";"
350   293            | "otherwise" "end of line"
351   294            | "otherwise" "," "end of line"
352   295            | "otherwise" ";" "end of line"
353
354   296 selectable: variable
355   297           | functionCall
356
357   298 selectConditionBreak: "end of line"
358   299                     | "," "end of line"
359   300                     | ";" "end of line"
360   301                     | ","
361   302                     | ";"
362
363   303 casesControl: "case" variable caseControlBreak caseBody
364   304             | "case" functionCall caseControlBreak caseBody
365   305             | comments "case" variable caseControlBreak caseBody
366   306             | comments "case" functionCall caseControlBreak caseBody
367   307             | casesControl "case" variable caseControlBreak caseBody
368   308             | casesControl "case" functionCall caseControlBreak caseBody
369
370   309 caseBody: expressions
371   310         | %empty
372
373   311 caseControlBreak: "then"
374   312                 | ","
375   313                 | ";"
376   314                 | "end of line"
377   315                 | "then" "end of line"
378   316                 | "," "end of line"
379   317                 | ";" "end of line"
380   318                 | "then" ","
381   319                 | "then" "," "end of line"
382   320                 | "then" ";"
383   321                 | "then" ";" "end of line"
384   322                 | %empty
385
386   323 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
387   324           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
388
389   325 forIterator: functionCall
390   326            | variable
391
392   327 forConditionBreak: "end of line"
393   328                  | ";"
394   329                  | ";" "end of line"
395   330                  | ","
396   331                  | "," "end of line"
397   332                  | "do"
398   333                  | "do" "end of line"
399   334                  | %empty
400
401   335 forBody: expressions
402   336        | %empty
403
404   337 whileControl: "while" condition whileConditionBreak whileBody "end"
405
406   338 whileBody: expressions
407   339          | %empty
408
409   340 whileConditionBreak: ","
410   341                    | ";"
411   342                    | "do"
412   343                    | "do" ","
413   344                    | "do" ";"
414   345                    | "then"
415   346                    | "then" ","
416   347                    | "then" ";"
417   348                    | "line comment" "end of line"
418   349                    | "end of line"
419   350                    | "," "end of line"
420   351                    | ";" "end of line"
421   352                    | "do" "end of line"
422   353                    | "do" "," "end of line"
423   354                    | "do" ";" "end of line"
424   355                    | "then" "end of line"
425   356                    | "then" "," "end of line"
426   357                    | "then" ";" "end of line"
427
428   358 tryControl: "try" catchBody "catch" catchBody "end"
429   359           | "try" catchBody "end"
430
431   360 catchBody: expressions
432   361          | "end of line" expressions
433   362          | ";" expressions
434   363          | "," expressions
435   364          | "end of line"
436   365          | %empty
437
438   366 returnControl: "return"
439   367              | "return" variable
440   368              | "return" functionCall
441
442   369 comments: "line comment" "end of line"
443   370         | comments "line comment" "end of line"
444
445   371 lineEnd: "end of line"
446   372        | "line comment" "end of line"
447
448   373 keywords: "if"
449   374         | "then"
450   375         | "else"
451   376         | "elseif"
452   377         | "end"
453   378         | "select"
454   379         | "switch"
455   380         | "otherwise"
456   381         | "case"
457   382         | "function"
458   383         | "endfunction"
459   384         | "for"
460   385         | "while"
461   386         | "do"
462   387         | "break"
463   388         | "try"
464   389         | "catch"
465   390         | "return"
466
467
468 Terminals, with rules where they appear
469
470 "end of file" (0) 0
471 error (256) 34
472 "line break" (258)
473 "end of line" (259) 2 16 19 83 85 205 207 209 210 213 215 217 218 223
474     224 264 266 267 270 277 278 279 293 294 295 298 299 300 314 315
475     316 317 319 321 327 329 331 333 348 349 350 351 352 353 354 355
476     356 357 361 364 369 370 371 372
477 "spaces" (260)
478 "%t or %T" (261) 43 191
479 "%f or %F" (262) 44 192
480 "'" (263) 136 138
481 "~ or @" (264) 173 174
482 "$" (265) 42 190
483 "," (266) 15 18 57 58 59 60 61 62 63 64 65 66 79 84 85 198 199 200
484     201 202 203 236 237 265 266 275 278 291 294 299 301 312 316 318
485     319 330 331 340 343 346 350 353 356 363
486 ":" (267) 55 60 65 94 97 100 103 106 109 112 115 118 121 168 169 170
487     171 242 243
488 ";" (268) 14 17 82 83 222 225 263 264 276 279 292 295 300 302 313 317
489     320 321 328 329 341 344 347 351 354 357 362
490 "(" (269) 48 49 51 76 77 193 194 196 197 253 254 324
491 ")" (270) 48 49 51 76 77 193 194 196 197 253 254 324
492 "[" (271) 68 69 72 73 212 213 214 215 216 217 218 219 255
493 "]" (272) 68 69 72 73 212 213 214 215 216 217 218 219 255
494 "{" (273) 50 52 204 205 206 207 208 209 210 211
495 "}" (274) 50 52 204 205 206 207 208 209 210 211
496 "." (275) 45 175 176 177 178 179 246 247 248 249 250
497 ".'" (276) 137 139
498 "+" (277) 126 127 140 141
499 "-" (278) 124 125 142 143
500 "*" (279) 144 145
501 ".*" (280) 146 147
502 ".*." (281) 148 149
503 "*." (282) 150 151
504 "/" (283) 152 153
505 "./" (284) 154 155
506 "/." (285) 158 159
507 "./." (286) 156 157
508 "\\" (287) 160 161
509 ".\\" (288) 162 163
510 "\\." (289) 166 167
511 ".\\." (290) 164 165
512 "** or ^" (291) 128 129 130 131
513 ".^" (292) 132 133 134 135
514 "==" (293) 104 105 106
515 "<> or ~=" (294) 107 108 109
516 "<" (295) 113 114 115
517 "<=" (296) 119 120 121
518 ">" (297) 110 111 112
519 ">=" (298) 116 117 118
520 "&" (299) 92 93 94
521 "&&" (300) 95 96 97
522 "|" (301) 98 99 100
523 "||" (302) 101 102 103
524 "=" (303) 67 68 69 71 72 73 238 239 240 241 242 243 244 245 323 324
525 "if" (304) 256 257 258 373
526 "then" (305) 268 269 270 271 311 315 318 319 320 321 345 346 347 355
527     356 357 374
528 "else" (306) 274 275 276 277 278 279 375
529 "elseif" (307) 280 281 282 376
530 "end" (308) 71 72 73 74 256 257 258 283 284 285 286 323 324 337 358
531     359 377
532 "select" (309) 287 378
533 "switch" (310) 288 379
534 "case" (311) 303 304 305 306 307 308 381
535 "otherwise" (312) 290 291 292 293 294 295 380
536 "function" (313) 67 68 69 70 71 72 73 74 382
537 "endfunction" (314) 67 68 69 70 383
538 "for" (315) 323 324 384
539 "while" (316) 337 385
540 "do" (317) 332 333 342 343 344 352 353 354 386
541 "break" (318) 30 387
542 "continue" (319) 31
543 "try" (320) 358 359 388
544 "catch" (321) 358 389
545 "return" (322) 366 367 368 390
546 FLEX_ERROR (323)
547 "string" (324) 41 189
548 "identifier" (325) 36 37 45 49 50 51 52 67 68 69 70 71 72 73 74 79
549     80 175 178 185 246 249 251 323 324
550 "integer" (326) 38 186
551 "float" (327) 40 188
552 "number" (328) 39 187
553 "path" (329) 46
554 "line comment" (330) 7 9 11 12 33 232 235 285 286 348 369 370 372
555 "block comment" (331)
556 TOPLEVEL (332)
557 HIGHLEVEL (333)
558 UPLEVEL (334)
559 LISTABLE (335)
560 CONTROLBREAK (336)
561 UMINUS (337)
562 FUNCTIONCALL (338)
563
564
565 Nonterminals, with rules where they appear
566
567 $accept (84)
568     on left: 0
569 program (85)
570     on left: 1 2 3 4, on right: 0
571 expressions (86)
572     on left: 5 6 7 8 9, on right: 1 2 86 259 261 309 335 338 360 361
573     362 363
574 recursiveExpression (87)
575     on left: 10 11 12 13, on right: 5 6 7 10 11
576 expressionLineBreak (88)
577     on left: 14 15 16 17 18 19, on right: 3 10 11 12 13 17 18 19
578 expression (89)
579     on left: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, on right:
580     6 7 8 9 10 11 12 13
581 implicitFunctionCall (90)
582     on left: 35 36, on right: 29 35
583 implicitCallable (91)
584     on left: 37 38 39 40 41 42 43 44 45 46, on right: 35 36 45
585 functionCall (92)
586     on left: 47 48, on right: 21 48 54 59 64 88 91 93 96 99 102 105
587     108 111 114 117 120 123 125 127 129 130 131 133 134 135 138 139
588     141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171
589     174 177 178 179 181 197 199 201 202 203 229 231 234 239 240 241
590     243 245 248 249 250 254 297 304 306 308 325 368
591 simpleFunctionCall (93)
592     on left: 49 50 51 52, on right: 47
593 functionArgs (94)
594     on left: 53 54 55 56 57 58 59 60 61 62 63 64 65 66, on right: 49
595     50 62 63 64 65 66 196 197 253 254
596 functionDeclaration (95)
597     on left: 67 68 69 70 71 72 73 74, on right: 20
598 functionDeclarationReturns (96)
599     on left: 75, on right: 68 72
600 functionDeclarationArguments (97)
601     on left: 76 77 78, on right: 67 68 69 70 71 72 73 74
602 idList (98)
603     on left: 79 80, on right: 75 76 79
604 functionDeclarationBreak (99)
605     on left: 81 82 83 84 85, on right: 67 68 69 70 71 72 73 74
606 functionBody (100)
607     on left: 86 87, on right: 67 68 69 70 71 72 73 74
608 condition (101)
609     on left: 88 89, on right: 256 257 258 280 281 282 337
610 comparison (102)
611     on left: 90 91, on right: 195
612 rightComparable (103)
613     on left: 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
614     108 109 110 111 112 113 114 115 116 117 118 119 120 121, on right:
615     90 91
616 operation (104)
617     on left: 122 123 124 125 126 127 128 129 130 131 132 133 134 135
618     136 137 138 139, on right: 184
619 rightOperand (105)
620     on left: 140 141 142 143 144 145 146 147 148 149 150 151 152 153
621     154 155 156 157 158 159 160 161 162 163 164 165 166 167, on right:
622     122 123
623 listableBegin (106)
624     on left: 168 169, on right: 170 171 172
625 listableEnd (107)
626     on left: 170 171 172, on right: 180 181
627 variable (108)
628     on left: 173 174 175 176 177 178 179 180 181 182 183 184 185 186
629     187 188 189 190 191 192 193 194 195 196 197, on right: 28 53 58
630     63 89 90 92 95 98 101 104 107 110 113 116 119 122 124 126 128 129
631     130 132 133 134 136 137 140 142 144 146 148 150 152 154 156 158
632     160 162 164 166 168 170 173 175 176 177 180 193 196 198 200 202
633     203 228 230 233 238 240 246 247 248 253 296 303 305 307 326 367
634 variableFields (109)
635     on left: 198 199 200 201 202 203, on right: 194 198 199
636 cell (110)
637     on left: 204 205 206 207 208 209 210 211, on right: 183
638 matrix (111)
639     on left: 212 213 214 215 216 217 218 219, on right: 182
640 matrixOrCellLines (112)
641     on left: 220 221, on right: 204 205 206 207 212 213 214 215 220
642 matrixOrCellLineBreak (113)
643     on left: 222 223 224 225, on right: 224 225 226 227
644 matrixOrCellLine (114)
645     on left: 226 227, on right: 220 221
646 matrixOrCellColumns (115)
647     on left: 228 229 230 231 232 233 234 235, on right: 206 207 208
648     209 214 215 216 217 226 227 228 229 230 231 232 255
649 matrixOrCellColumnsBreak (116)
650     on left: 236 237, on right: 227 228 229 236
651 variableDeclaration (117)
652     on left: 238 239 240 241 242 243 244 245, on right: 22 56 61 66
653 assignable (118)
654     on left: 246 247 248 249 250 251 252 253 254, on right: 238 239
655     242 244
656 multipleResults (119)
657     on left: 255, on right: 252
658 ifControl (120)
659     on left: 256 257 258, on right: 23
660 thenBody (121)
661     on left: 259 260, on right: 256 257 258 280 281 282
662 elseBody (122)
663     on left: 261 262, on right: 257 281 284 286
664 ifConditionBreak (123)
665     on left: 263 264 265 266 267, on right: 269 270 271 272
666 then (124)
667     on left: 268 269 270 271 272 273, on right: 256 257 258 280 281
668     282
669 else (125)
670     on left: 274 275 276 277 278 279, on right: 257 281 289
671 elseIfControl (126)
672     on left: 280 281 282, on right: 258 282
673 selectControl (127)
674     on left: 283 284 285 286, on right: 24
675 select (128)
676     on left: 287 288, on right: 283 284 285 286
677 defaultCase (129)
678     on left: 289 290 291 292 293 294 295, on right: 284 286
679 selectable (130)
680     on left: 296 297, on right: 283 284 285 286
681 selectConditionBreak (131)
682     on left: 298 299 300 301 302, on right: 283 284 285 286
683 casesControl (132)
684     on left: 303 304 305 306 307 308, on right: 283 284 285 286 307
685     308
686 caseBody (133)
687     on left: 309 310, on right: 303 304 305 306 307 308
688 caseControlBreak (134)
689     on left: 311 312 313 314 315 316 317 318 319 320 321 322, on right:
690     303 304 305 306 307 308
691 forControl (135)
692     on left: 323 324, on right: 25
693 forIterator (136)
694     on left: 325 326, on right: 323 324
695 forConditionBreak (137)
696     on left: 327 328 329 330 331 332 333 334, on right: 323 324
697 forBody (138)
698     on left: 335 336, on right: 323 324
699 whileControl (139)
700     on left: 337, on right: 26
701 whileBody (140)
702     on left: 338 339, on right: 337
703 whileConditionBreak (141)
704     on left: 340 341 342 343 344 345 346 347 348 349 350 351 352 353
705     354 355 356 357, on right: 337
706 tryControl (142)
707     on left: 358 359, on right: 27
708 catchBody (143)
709     on left: 360 361 362 363 364 365, on right: 358 359
710 returnControl (144)
711     on left: 366 367 368, on right: 32 244 245
712 comments (145)
713     on left: 369 370, on right: 305 306 370
714 lineEnd (146)
715     on left: 371 372, on right: 81
716 keywords (147)
717     on left: 373 374 375 376 377 378 379 380 381 382 383 384 385 386
718     387 388 389 390, on right: 176 179 247 250
719
720
721 State 0
722
723     0 $accept: . program "end of file"
724     1 program: . expressions
725     2        | . "end of line" expressions
726     3        | . expressionLineBreak
727     4        | . %empty  ["end of file"]
728     5 expressions: . recursiveExpression
729     6            | . recursiveExpression expression
730     7            | . recursiveExpression expression "line comment"
731     8            | . expression
732     9            | . expression "line comment"
733    10 recursiveExpression: . recursiveExpression expression expressionLineBreak
734    11                    | . recursiveExpression expression "line comment" expressionLineBreak
735    12                    | . expression "line comment" expressionLineBreak
736    13                    | . expression expressionLineBreak
737    14 expressionLineBreak: . ";"
738    15                    | . ","
739    16                    | . "end of line"
740    17                    | . expressionLineBreak ";"
741    18                    | . expressionLineBreak ","
742    19                    | . expressionLineBreak "end of line"
743    20 expression: . functionDeclaration
744    21           | . functionCall
745    22           | . variableDeclaration
746    23           | . ifControl
747    24           | . selectControl
748    25           | . forControl
749    26           | . whileControl
750    27           | . tryControl
751    28           | . variable
752    29           | . implicitFunctionCall
753    30           | . "break"
754    31           | . "continue"
755    32           | . returnControl
756    33           | . "line comment"
757    34           | . error
758    35 implicitFunctionCall: . implicitFunctionCall implicitCallable
759    36                     | . "identifier" implicitCallable
760    47 functionCall: . simpleFunctionCall
761    48             | . "(" functionCall ")"
762    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
763    50                   | . "identifier" "{" functionArgs "}"
764    51                   | . "identifier" "(" ")"
765    52                   | . "identifier" "{" "}"
766    67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
767    68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
768    69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
769    70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
770    71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
771    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
772    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
773    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
774    90 comparison: . variable rightComparable
775    91           | . functionCall rightComparable
776   122 operation: . variable rightOperand
777   123          | . functionCall rightOperand
778   124          | . "-" variable
779   125          | . "-" functionCall
780   126          | . "+" variable
781   127          | . "+" functionCall
782   128          | . variable "** or ^" variable
783   129          | . variable "** or ^" functionCall
784   130          | . functionCall "** or ^" variable
785   131          | . functionCall "** or ^" functionCall
786   132          | . variable ".^" variable
787   133          | . variable ".^" functionCall
788   134          | . functionCall ".^" variable
789   135          | . functionCall ".^" functionCall
790   136          | . variable "'"
791   137          | . variable ".'"
792   138          | . functionCall "'"
793   139          | . functionCall ".'"
794   173 variable: . "~ or @" variable
795   174         | . "~ or @" functionCall
796   175         | . variable "." "identifier"
797   176         | . variable "." keywords
798   177         | . variable "." functionCall
799   178         | . functionCall "." "identifier"
800   179         | . functionCall "." keywords
801   180         | . variable listableEnd
802   181         | . functionCall listableEnd
803   182         | . matrix
804   183         | . cell
805   184         | . operation
806   185         | . "identifier"
807   186         | . "integer"
808   187         | . "number"
809   188         | . "float"
810   189         | . "string"
811   190         | . "$"
812   191         | . "%t or %T"
813   192         | . "%f or %F"
814   193         | . "(" variable ")"
815   194         | . "(" variableFields ")"
816   195         | . comparison
817   196         | . variable "(" functionArgs ")"
818   197         | . functionCall "(" functionArgs ")"
819   204 cell: . "{" matrixOrCellLines "}"
820   205     | . "{" "end of line" matrixOrCellLines "}"
821   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
822   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
823   208     | . "{" matrixOrCellColumns "}"
824   209     | . "{" "end of line" matrixOrCellColumns "}"
825   210     | . "{" "end of line" "}"
826   211     | . "{" "}"
827   212 matrix: . "[" matrixOrCellLines "]"
828   213       | . "[" "end of line" matrixOrCellLines "]"
829   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
830   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
831   216       | . "[" matrixOrCellColumns "]"
832   217       | . "[" "end of line" matrixOrCellColumns "]"
833   218       | . "[" "end of line" "]"
834   219       | . "[" "]"
835   238 variableDeclaration: . assignable "=" variable
836   239                    | . assignable "=" functionCall
837   240                    | . functionCall "=" variable
838   241                    | . functionCall "=" functionCall
839   242                    | . assignable "=" ":"
840   243                    | . functionCall "=" ":"
841   244                    | . assignable "=" returnControl
842   245                    | . functionCall "=" returnControl
843   246 assignable: . variable "." "identifier"
844   247           | . variable "." keywords
845   248           | . variable "." functionCall
846   249           | . functionCall "." "identifier"
847   250           | . functionCall "." keywords
848   251           | . "identifier"
849   252           | . multipleResults
850   253           | . variable "(" functionArgs ")"
851   254           | . functionCall "(" functionArgs ")"
852   255 multipleResults: . "[" matrixOrCellColumns "]"
853   256 ifControl: . "if" condition then thenBody "end"
854   257          | . "if" condition then thenBody else elseBody "end"
855   258          | . "if" condition then thenBody elseIfControl "end"
856   283 selectControl: . select selectable selectConditionBreak casesControl "end"
857   284              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
858   285              | . select selectable "line comment" selectConditionBreak casesControl "end"
859   286              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
860   287 select: . "select"
861   288       | . "switch"
862   323 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
863   324           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
864   337 whileControl: . "while" condition whileConditionBreak whileBody "end"
865   358 tryControl: . "try" catchBody "catch" catchBody "end"
866   359           | . "try" catchBody "end"
867   366 returnControl: . "return"
868   367              | . "return" variable
869   368              | . "return" functionCall
870
871     error           shift, and go to state 1
872     "end of line"   shift, and go to state 2
873     "%t or %T"      shift, and go to state 3
874     "%f or %F"      shift, and go to state 4
875     "~ or @"        shift, and go to state 5
876     "$"             shift, and go to state 6
877     ","             shift, and go to state 7
878     ";"             shift, and go to state 8
879     "("             shift, and go to state 9
880     "["             shift, and go to state 10
881     "{"             shift, and go to state 11
882     "+"             shift, and go to state 12
883     "-"             shift, and go to state 13
884     "if"            shift, and go to state 14
885     "select"        shift, and go to state 15
886     "switch"        shift, and go to state 16
887     "function"      shift, and go to state 17
888     "for"           shift, and go to state 18
889     "while"         shift, and go to state 19
890     "break"         shift, and go to state 20
891     "continue"      shift, and go to state 21
892     "try"           shift, and go to state 22
893     "return"        shift, and go to state 23
894     "string"        shift, and go to state 24
895     "identifier"    shift, and go to state 25
896     "integer"       shift, and go to state 26
897     "float"         shift, and go to state 27
898     "number"        shift, and go to state 28
899     "line comment"  shift, and go to state 29
900
901     "end of file"  reduce using rule 4 (program)
902
903     program               go to state 30
904     expressions           go to state 31
905     recursiveExpression   go to state 32
906     expressionLineBreak   go to state 33
907     expression            go to state 34
908     implicitFunctionCall  go to state 35
909     functionCall          go to state 36
910     simpleFunctionCall    go to state 37
911     functionDeclaration   go to state 38
912     comparison            go to state 39
913     operation             go to state 40
914     variable              go to state 41
915     cell                  go to state 42
916     matrix                go to state 43
917     variableDeclaration   go to state 44
918     assignable            go to state 45
919     multipleResults       go to state 46
920     ifControl             go to state 47
921     selectControl         go to state 48
922     select                go to state 49
923     forControl            go to state 50
924     whileControl          go to state 51
925     tryControl            go to state 52
926     returnControl         go to state 53
927
928
929 State 1
930
931    34 expression: error .
932
933     $default  reduce using rule 34 (expression)
934
935
936 State 2
937
938     2 program: "end of line" . expressions
939     5 expressions: . recursiveExpression
940     6            | . recursiveExpression expression
941     7            | . recursiveExpression expression "line comment"
942     8            | . expression
943     9            | . expression "line comment"
944    10 recursiveExpression: . recursiveExpression expression expressionLineBreak
945    11                    | . recursiveExpression expression "line comment" expressionLineBreak
946    12                    | . expression "line comment" expressionLineBreak
947    13                    | . expression expressionLineBreak
948    16 expressionLineBreak: "end of line" .  ["end of file", "end of line", ",", ";"]
949    20 expression: . functionDeclaration
950    21           | . functionCall
951    22           | . variableDeclaration
952    23           | . ifControl
953    24           | . selectControl
954    25           | . forControl
955    26           | . whileControl
956    27           | . tryControl
957    28           | . variable
958    29           | . implicitFunctionCall
959    30           | . "break"
960    31           | . "continue"
961    32           | . returnControl
962    33           | . "line comment"
963    34           | . error
964    35 implicitFunctionCall: . implicitFunctionCall implicitCallable
965    36                     | . "identifier" implicitCallable
966    47 functionCall: . simpleFunctionCall
967    48             | . "(" functionCall ")"
968    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
969    50                   | . "identifier" "{" functionArgs "}"
970    51                   | . "identifier" "(" ")"
971    52                   | . "identifier" "{" "}"
972    67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
973    68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
974    69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
975    70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
976    71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
977    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
978    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
979    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
980    90 comparison: . variable rightComparable
981    91           | . functionCall rightComparable
982   122 operation: . variable rightOperand
983   123          | . functionCall rightOperand
984   124          | . "-" variable
985   125          | . "-" functionCall
986   126          | . "+" variable
987   127          | . "+" functionCall
988   128          | . variable "** or ^" variable
989   129          | . variable "** or ^" functionCall
990   130          | . functionCall "** or ^" variable
991   131          | . functionCall "** or ^" functionCall
992   132          | . variable ".^" variable
993   133          | . variable ".^" functionCall
994   134          | . functionCall ".^" variable
995   135          | . functionCall ".^" functionCall
996   136          | . variable "'"
997   137          | . variable ".'"
998   138          | . functionCall "'"
999   139          | . functionCall ".'"
1000   173 variable: . "~ or @" variable
1001   174         | . "~ or @" functionCall
1002   175         | . variable "." "identifier"
1003   176         | . variable "." keywords
1004   177         | . variable "." functionCall
1005   178         | . functionCall "." "identifier"
1006   179         | . functionCall "." keywords
1007   180         | . variable listableEnd
1008   181         | . functionCall listableEnd
1009   182         | . matrix
1010   183         | . cell
1011   184         | . operation
1012   185         | . "identifier"
1013   186         | . "integer"
1014   187         | . "number"
1015   188         | . "float"
1016   189         | . "string"
1017   190         | . "$"
1018   191         | . "%t or %T"
1019   192         | . "%f or %F"
1020   193         | . "(" variable ")"
1021   194         | . "(" variableFields ")"
1022   195         | . comparison
1023   196         | . variable "(" functionArgs ")"
1024   197         | . functionCall "(" functionArgs ")"
1025   204 cell: . "{" matrixOrCellLines "}"
1026   205     | . "{" "end of line" matrixOrCellLines "}"
1027   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1028   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1029   208     | . "{" matrixOrCellColumns "}"
1030   209     | . "{" "end of line" matrixOrCellColumns "}"
1031   210     | . "{" "end of line" "}"
1032   211     | . "{" "}"
1033   212 matrix: . "[" matrixOrCellLines "]"
1034   213       | . "[" "end of line" matrixOrCellLines "]"
1035   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1036   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1037   216       | . "[" matrixOrCellColumns "]"
1038   217       | . "[" "end of line" matrixOrCellColumns "]"
1039   218       | . "[" "end of line" "]"
1040   219       | . "[" "]"
1041   238 variableDeclaration: . assignable "=" variable
1042   239                    | . assignable "=" functionCall
1043   240                    | . functionCall "=" variable
1044   241                    | . functionCall "=" functionCall
1045   242                    | . assignable "=" ":"
1046   243                    | . functionCall "=" ":"
1047   244                    | . assignable "=" returnControl
1048   245                    | . functionCall "=" returnControl
1049   246 assignable: . variable "." "identifier"
1050   247           | . variable "." keywords
1051   248           | . variable "." functionCall
1052   249           | . functionCall "." "identifier"
1053   250           | . functionCall "." keywords
1054   251           | . "identifier"
1055   252           | . multipleResults
1056   253           | . variable "(" functionArgs ")"
1057   254           | . functionCall "(" functionArgs ")"
1058   255 multipleResults: . "[" matrixOrCellColumns "]"
1059   256 ifControl: . "if" condition then thenBody "end"
1060   257          | . "if" condition then thenBody else elseBody "end"
1061   258          | . "if" condition then thenBody elseIfControl "end"
1062   283 selectControl: . select selectable selectConditionBreak casesControl "end"
1063   284              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
1064   285              | . select selectable "line comment" selectConditionBreak casesControl "end"
1065   286              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
1066   287 select: . "select"
1067   288       | . "switch"
1068   323 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
1069   324           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
1070   337 whileControl: . "while" condition whileConditionBreak whileBody "end"
1071   358 tryControl: . "try" catchBody "catch" catchBody "end"
1072   359           | . "try" catchBody "end"
1073   366 returnControl: . "return"
1074   367              | . "return" variable
1075   368              | . "return" functionCall
1076
1077     error           shift, and go to state 1
1078     "%t or %T"      shift, and go to state 3
1079     "%f or %F"      shift, and go to state 4
1080     "~ or @"        shift, and go to state 5
1081     "$"             shift, and go to state 6
1082     "("             shift, and go to state 9
1083     "["             shift, and go to state 10
1084     "{"             shift, and go to state 11
1085     "+"             shift, and go to state 12
1086     "-"             shift, and go to state 13
1087     "if"            shift, and go to state 14
1088     "select"        shift, and go to state 15
1089     "switch"        shift, and go to state 16
1090     "function"      shift, and go to state 17
1091     "for"           shift, and go to state 18
1092     "while"         shift, and go to state 19
1093     "break"         shift, and go to state 20
1094     "continue"      shift, and go to state 21
1095     "try"           shift, and go to state 22
1096     "return"        shift, and go to state 23
1097     "string"        shift, and go to state 24
1098     "identifier"    shift, and go to state 25
1099     "integer"       shift, and go to state 26
1100     "float"         shift, and go to state 27
1101     "number"        shift, and go to state 28
1102     "line comment"  shift, and go to state 29
1103
1104     "end of file"  reduce using rule 16 (expressionLineBreak)
1105     "end of line"  reduce using rule 16 (expressionLineBreak)
1106     ","            reduce using rule 16 (expressionLineBreak)
1107     ";"            reduce using rule 16 (expressionLineBreak)
1108
1109     expressions           go to state 54
1110     recursiveExpression   go to state 32
1111     expression            go to state 34
1112     implicitFunctionCall  go to state 35
1113     functionCall          go to state 36
1114     simpleFunctionCall    go to state 37
1115     functionDeclaration   go to state 38
1116     comparison            go to state 39
1117     operation             go to state 40
1118     variable              go to state 41
1119     cell                  go to state 42
1120     matrix                go to state 43
1121     variableDeclaration   go to state 44
1122     assignable            go to state 45
1123     multipleResults       go to state 46
1124     ifControl             go to state 47
1125     selectControl         go to state 48
1126     select                go to state 49
1127     forControl            go to state 50
1128     whileControl          go to state 51
1129     tryControl            go to state 52
1130     returnControl         go to state 53
1131
1132
1133 State 3
1134
1135   191 variable: "%t or %T" .
1136
1137     $default  reduce using rule 191 (variable)
1138
1139
1140 State 4
1141
1142   192 variable: "%f or %F" .
1143
1144     $default  reduce using rule 192 (variable)
1145
1146
1147 State 5
1148
1149    47 functionCall: . simpleFunctionCall
1150    48             | . "(" functionCall ")"
1151    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1152    50                   | . "identifier" "{" functionArgs "}"
1153    51                   | . "identifier" "(" ")"
1154    52                   | . "identifier" "{" "}"
1155    90 comparison: . variable rightComparable
1156    91           | . functionCall rightComparable
1157   122 operation: . variable rightOperand
1158   123          | . functionCall rightOperand
1159   124          | . "-" variable
1160   125          | . "-" functionCall
1161   126          | . "+" variable
1162   127          | . "+" functionCall
1163   128          | . variable "** or ^" variable
1164   129          | . variable "** or ^" functionCall
1165   130          | . functionCall "** or ^" variable
1166   131          | . functionCall "** or ^" functionCall
1167   132          | . variable ".^" variable
1168   133          | . variable ".^" functionCall
1169   134          | . functionCall ".^" variable
1170   135          | . functionCall ".^" functionCall
1171   136          | . variable "'"
1172   137          | . variable ".'"
1173   138          | . functionCall "'"
1174   139          | . functionCall ".'"
1175   173 variable: . "~ or @" variable
1176   173         | "~ or @" . variable
1177   174         | . "~ or @" functionCall
1178   174         | "~ or @" . functionCall
1179   175         | . variable "." "identifier"
1180   176         | . variable "." keywords
1181   177         | . variable "." functionCall
1182   178         | . functionCall "." "identifier"
1183   179         | . functionCall "." keywords
1184   180         | . variable listableEnd
1185   181         | . functionCall listableEnd
1186   182         | . matrix
1187   183         | . cell
1188   184         | . operation
1189   185         | . "identifier"
1190   186         | . "integer"
1191   187         | . "number"
1192   188         | . "float"
1193   189         | . "string"
1194   190         | . "$"
1195   191         | . "%t or %T"
1196   192         | . "%f or %F"
1197   193         | . "(" variable ")"
1198   194         | . "(" variableFields ")"
1199   195         | . comparison
1200   196         | . variable "(" functionArgs ")"
1201   197         | . functionCall "(" functionArgs ")"
1202   204 cell: . "{" matrixOrCellLines "}"
1203   205     | . "{" "end of line" matrixOrCellLines "}"
1204   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1205   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1206   208     | . "{" matrixOrCellColumns "}"
1207   209     | . "{" "end of line" matrixOrCellColumns "}"
1208   210     | . "{" "end of line" "}"
1209   211     | . "{" "}"
1210   212 matrix: . "[" matrixOrCellLines "]"
1211   213       | . "[" "end of line" matrixOrCellLines "]"
1212   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1213   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1214   216       | . "[" matrixOrCellColumns "]"
1215   217       | . "[" "end of line" matrixOrCellColumns "]"
1216   218       | . "[" "end of line" "]"
1217   219       | . "[" "]"
1218
1219     "%t or %T"    shift, and go to state 3
1220     "%f or %F"    shift, and go to state 4
1221     "~ or @"      shift, and go to state 5
1222     "$"           shift, and go to state 6
1223     "("           shift, and go to state 9
1224     "["           shift, and go to state 55
1225     "{"           shift, and go to state 11
1226     "+"           shift, and go to state 12
1227     "-"           shift, and go to state 13
1228     "string"      shift, and go to state 24
1229     "identifier"  shift, and go to state 56
1230     "integer"     shift, and go to state 26
1231     "float"       shift, and go to state 27
1232     "number"      shift, and go to state 28
1233
1234     functionCall        go to state 57
1235     simpleFunctionCall  go to state 37
1236     comparison          go to state 39
1237     operation           go to state 40
1238     variable            go to state 58
1239     cell                go to state 42
1240     matrix              go to state 43
1241
1242
1243 State 6
1244
1245   190 variable: "$" .
1246
1247     $default  reduce using rule 190 (variable)
1248
1249
1250 State 7
1251
1252    15 expressionLineBreak: "," .
1253
1254     $default  reduce using rule 15 (expressionLineBreak)
1255
1256
1257 State 8
1258
1259    14 expressionLineBreak: ";" .
1260
1261     $default  reduce using rule 14 (expressionLineBreak)
1262
1263
1264 State 9
1265
1266    47 functionCall: . simpleFunctionCall
1267    48             | . "(" functionCall ")"
1268    48             | "(" . functionCall ")"
1269    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1270    50                   | . "identifier" "{" functionArgs "}"
1271    51                   | . "identifier" "(" ")"
1272    52                   | . "identifier" "{" "}"
1273    90 comparison: . variable rightComparable
1274    91           | . functionCall rightComparable
1275   122 operation: . variable rightOperand
1276   123          | . functionCall rightOperand
1277   124          | . "-" variable
1278   125          | . "-" functionCall
1279   126          | . "+" variable
1280   127          | . "+" functionCall
1281   128          | . variable "** or ^" variable
1282   129          | . variable "** or ^" functionCall
1283   130          | . functionCall "** or ^" variable
1284   131          | . functionCall "** or ^" functionCall
1285   132          | . variable ".^" variable
1286   133          | . variable ".^" functionCall
1287   134          | . functionCall ".^" variable
1288   135          | . functionCall ".^" functionCall
1289   136          | . variable "'"
1290   137          | . variable ".'"
1291   138          | . functionCall "'"
1292   139          | . functionCall ".'"
1293   173 variable: . "~ or @" variable
1294   174         | . "~ or @" functionCall
1295   175         | . variable "." "identifier"
1296   176         | . variable "." keywords
1297   177         | . variable "." functionCall
1298   178         | . functionCall "." "identifier"
1299   179         | . functionCall "." keywords
1300   180         | . variable listableEnd
1301   181         | . functionCall listableEnd
1302   182         | . matrix
1303   183         | . cell
1304   184         | . operation
1305   185         | . "identifier"
1306   186         | . "integer"
1307   187         | . "number"
1308   188         | . "float"
1309   189         | . "string"
1310   190         | . "$"
1311   191         | . "%t or %T"
1312   192         | . "%f or %F"
1313   193         | . "(" variable ")"
1314   193         | "(" . variable ")"
1315   194         | . "(" variableFields ")"
1316   194         | "(" . variableFields ")"
1317   195         | . comparison
1318   196         | . variable "(" functionArgs ")"
1319   197         | . functionCall "(" functionArgs ")"
1320   198 variableFields: . variableFields "," variable
1321   199               | . variableFields "," functionCall
1322   200               | . variable "," variable
1323   201               | . functionCall "," functionCall
1324   202               | . functionCall "," variable
1325   203               | . variable "," functionCall
1326   204 cell: . "{" matrixOrCellLines "}"
1327   205     | . "{" "end of line" matrixOrCellLines "}"
1328   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1329   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1330   208     | . "{" matrixOrCellColumns "}"
1331   209     | . "{" "end of line" matrixOrCellColumns "}"
1332   210     | . "{" "end of line" "}"
1333   211     | . "{" "}"
1334   212 matrix: . "[" matrixOrCellLines "]"
1335   213       | . "[" "end of line" matrixOrCellLines "]"
1336   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1337   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1338   216       | . "[" matrixOrCellColumns "]"
1339   217       | . "[" "end of line" matrixOrCellColumns "]"
1340   218       | . "[" "end of line" "]"
1341   219       | . "[" "]"
1342
1343     "%t or %T"    shift, and go to state 3
1344     "%f or %F"    shift, and go to state 4
1345     "~ or @"      shift, and go to state 5
1346     "$"           shift, and go to state 6
1347     "("           shift, and go to state 9
1348     "["           shift, and go to state 55
1349     "{"           shift, and go to state 11
1350     "+"           shift, and go to state 12
1351     "-"           shift, and go to state 13
1352     "string"      shift, and go to state 24
1353     "identifier"  shift, and go to state 56
1354     "integer"     shift, and go to state 26
1355     "float"       shift, and go to state 27
1356     "number"      shift, and go to state 28
1357
1358     functionCall        go to state 59
1359     simpleFunctionCall  go to state 37
1360     comparison          go to state 39
1361     operation           go to state 40
1362     variable            go to state 60
1363     variableFields      go to state 61
1364     cell                go to state 42
1365     matrix              go to state 43
1366
1367
1368 State 10
1369
1370    47 functionCall: . simpleFunctionCall
1371    48             | . "(" functionCall ")"
1372    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1373    50                   | . "identifier" "{" functionArgs "}"
1374    51                   | . "identifier" "(" ")"
1375    52                   | . "identifier" "{" "}"
1376    90 comparison: . variable rightComparable
1377    91           | . functionCall rightComparable
1378   122 operation: . variable rightOperand
1379   123          | . functionCall rightOperand
1380   124          | . "-" variable
1381   125          | . "-" functionCall
1382   126          | . "+" variable
1383   127          | . "+" functionCall
1384   128          | . variable "** or ^" variable
1385   129          | . variable "** or ^" functionCall
1386   130          | . functionCall "** or ^" variable
1387   131          | . functionCall "** or ^" functionCall
1388   132          | . variable ".^" variable
1389   133          | . variable ".^" functionCall
1390   134          | . functionCall ".^" variable
1391   135          | . functionCall ".^" functionCall
1392   136          | . variable "'"
1393   137          | . variable ".'"
1394   138          | . functionCall "'"
1395   139          | . functionCall ".'"
1396   173 variable: . "~ or @" variable
1397   174         | . "~ or @" functionCall
1398   175         | . variable "." "identifier"
1399   176         | . variable "." keywords
1400   177         | . variable "." functionCall
1401   178         | . functionCall "." "identifier"
1402   179         | . functionCall "." keywords
1403   180         | . variable listableEnd
1404   181         | . functionCall listableEnd
1405   182         | . matrix
1406   183         | . cell
1407   184         | . operation
1408   185         | . "identifier"
1409   186         | . "integer"
1410   187         | . "number"
1411   188         | . "float"
1412   189         | . "string"
1413   190         | . "$"
1414   191         | . "%t or %T"
1415   192         | . "%f or %F"
1416   193         | . "(" variable ")"
1417   194         | . "(" variableFields ")"
1418   195         | . comparison
1419   196         | . variable "(" functionArgs ")"
1420   197         | . functionCall "(" functionArgs ")"
1421   204 cell: . "{" matrixOrCellLines "}"
1422   205     | . "{" "end of line" matrixOrCellLines "}"
1423   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1424   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1425   208     | . "{" matrixOrCellColumns "}"
1426   209     | . "{" "end of line" matrixOrCellColumns "}"
1427   210     | . "{" "end of line" "}"
1428   211     | . "{" "}"
1429   212 matrix: . "[" matrixOrCellLines "]"
1430   212       | "[" . matrixOrCellLines "]"
1431   213       | . "[" "end of line" matrixOrCellLines "]"
1432   213       | "[" . "end of line" matrixOrCellLines "]"
1433   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1434   214       | "[" . matrixOrCellLines matrixOrCellColumns "]"
1435   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1436   215       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
1437   216       | . "[" matrixOrCellColumns "]"
1438   216       | "[" . matrixOrCellColumns "]"
1439   217       | . "[" "end of line" matrixOrCellColumns "]"
1440   217       | "[" . "end of line" matrixOrCellColumns "]"
1441   218       | . "[" "end of line" "]"
1442   218       | "[" . "end of line" "]"
1443   219       | . "[" "]"
1444   219       | "[" . "]"
1445   220 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
1446   221                  | . matrixOrCellLine
1447   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
1448   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
1449   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
1450   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
1451   230                    | . matrixOrCellColumns variable
1452   231                    | . matrixOrCellColumns functionCall
1453   232                    | . matrixOrCellColumns "line comment"
1454   233                    | . variable
1455   234                    | . functionCall
1456   235                    | . "line comment"
1457   255 multipleResults: "[" . matrixOrCellColumns "]"
1458
1459     "end of line"   shift, and go to state 62
1460     "%t or %T"      shift, and go to state 3
1461     "%f or %F"      shift, and go to state 4
1462     "~ or @"        shift, and go to state 5
1463     "$"             shift, and go to state 6
1464     "("             shift, and go to state 9
1465     "["             shift, and go to state 55
1466     "]"             shift, and go to state 63
1467     "{"             shift, and go to state 11
1468     "+"             shift, and go to state 12
1469     "-"             shift, and go to state 13
1470     "string"        shift, and go to state 24
1471     "identifier"    shift, and go to state 56
1472     "integer"       shift, and go to state 26
1473     "float"         shift, and go to state 27
1474     "number"        shift, and go to state 28
1475     "line comment"  shift, and go to state 64
1476
1477     functionCall         go to state 65
1478     simpleFunctionCall   go to state 37
1479     comparison           go to state 39
1480     operation            go to state 40
1481     variable             go to state 66
1482     cell                 go to state 42
1483     matrix               go to state 43
1484     matrixOrCellLines    go to state 67
1485     matrixOrCellLine     go to state 68
1486     matrixOrCellColumns  go to state 69
1487
1488
1489 State 11
1490
1491    47 functionCall: . simpleFunctionCall
1492    48             | . "(" functionCall ")"
1493    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1494    50                   | . "identifier" "{" functionArgs "}"
1495    51                   | . "identifier" "(" ")"
1496    52                   | . "identifier" "{" "}"
1497    90 comparison: . variable rightComparable
1498    91           | . functionCall rightComparable
1499   122 operation: . variable rightOperand
1500   123          | . functionCall rightOperand
1501   124          | . "-" variable
1502   125          | . "-" functionCall
1503   126          | . "+" variable
1504   127          | . "+" functionCall
1505   128          | . variable "** or ^" variable
1506   129          | . variable "** or ^" functionCall
1507   130          | . functionCall "** or ^" variable
1508   131          | . functionCall "** or ^" functionCall
1509   132          | . variable ".^" variable
1510   133          | . variable ".^" functionCall
1511   134          | . functionCall ".^" variable
1512   135          | . functionCall ".^" functionCall
1513   136          | . variable "'"
1514   137          | . variable ".'"
1515   138          | . functionCall "'"
1516   139          | . functionCall ".'"
1517   173 variable: . "~ or @" variable
1518   174         | . "~ or @" functionCall
1519   175         | . variable "." "identifier"
1520   176         | . variable "." keywords
1521   177         | . variable "." functionCall
1522   178         | . functionCall "." "identifier"
1523   179         | . functionCall "." keywords
1524   180         | . variable listableEnd
1525   181         | . functionCall listableEnd
1526   182         | . matrix
1527   183         | . cell
1528   184         | . operation
1529   185         | . "identifier"
1530   186         | . "integer"
1531   187         | . "number"
1532   188         | . "float"
1533   189         | . "string"
1534   190         | . "$"
1535   191         | . "%t or %T"
1536   192         | . "%f or %F"
1537   193         | . "(" variable ")"
1538   194         | . "(" variableFields ")"
1539   195         | . comparison
1540   196         | . variable "(" functionArgs ")"
1541   197         | . functionCall "(" functionArgs ")"
1542   204 cell: . "{" matrixOrCellLines "}"
1543   204     | "{" . matrixOrCellLines "}"
1544   205     | . "{" "end of line" matrixOrCellLines "}"
1545   205     | "{" . "end of line" matrixOrCellLines "}"
1546   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1547   206     | "{" . matrixOrCellLines matrixOrCellColumns "}"
1548   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1549   207     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
1550   208     | . "{" matrixOrCellColumns "}"
1551   208     | "{" . matrixOrCellColumns "}"
1552   209     | . "{" "end of line" matrixOrCellColumns "}"
1553   209     | "{" . "end of line" matrixOrCellColumns "}"
1554   210     | . "{" "end of line" "}"
1555   210     | "{" . "end of line" "}"
1556   211     | . "{" "}"
1557   211     | "{" . "}"
1558   212 matrix: . "[" matrixOrCellLines "]"
1559   213       | . "[" "end of line" matrixOrCellLines "]"
1560   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1561   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1562   216       | . "[" matrixOrCellColumns "]"
1563   217       | . "[" "end of line" matrixOrCellColumns "]"
1564   218       | . "[" "end of line" "]"
1565   219       | . "[" "]"
1566   220 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
1567   221                  | . matrixOrCellLine
1568   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
1569   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
1570   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
1571   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
1572   230                    | . matrixOrCellColumns variable
1573   231                    | . matrixOrCellColumns functionCall
1574   232                    | . matrixOrCellColumns "line comment"
1575   233                    | . variable
1576   234                    | . functionCall
1577   235                    | . "line comment"
1578
1579     "end of line"   shift, and go to state 70
1580     "%t or %T"      shift, and go to state 3
1581     "%f or %F"      shift, and go to state 4
1582     "~ or @"        shift, and go to state 5
1583     "$"             shift, and go to state 6
1584     "("             shift, and go to state 9
1585     "["             shift, and go to state 55
1586     "{"             shift, and go to state 11
1587     "}"             shift, and go to state 71
1588     "+"             shift, and go to state 12
1589     "-"             shift, and go to state 13
1590     "string"        shift, and go to state 24
1591     "identifier"    shift, and go to state 56
1592     "integer"       shift, and go to state 26
1593     "float"         shift, and go to state 27
1594     "number"        shift, and go to state 28
1595     "line comment"  shift, and go to state 64
1596
1597     functionCall         go to state 65
1598     simpleFunctionCall   go to state 37
1599     comparison           go to state 39
1600     operation            go to state 40
1601     variable             go to state 66
1602     cell                 go to state 42
1603     matrix               go to state 43
1604     matrixOrCellLines    go to state 72
1605     matrixOrCellLine     go to state 68
1606     matrixOrCellColumns  go to state 73
1607
1608
1609 State 12
1610
1611    47 functionCall: . simpleFunctionCall
1612    48             | . "(" functionCall ")"
1613    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1614    50                   | . "identifier" "{" functionArgs "}"
1615    51                   | . "identifier" "(" ")"
1616    52                   | . "identifier" "{" "}"
1617    90 comparison: . variable rightComparable
1618    91           | . functionCall rightComparable
1619   122 operation: . variable rightOperand
1620   123          | . functionCall rightOperand
1621   124          | . "-" variable
1622   125          | . "-" functionCall
1623   126          | . "+" variable
1624   126          | "+" . variable
1625   127          | . "+" functionCall
1626   127          | "+" . functionCall
1627   128          | . variable "** or ^" variable
1628   129          | . variable "** or ^" functionCall
1629   130          | . functionCall "** or ^" variable
1630   131          | . functionCall "** or ^" functionCall
1631   132          | . variable ".^" variable
1632   133          | . variable ".^" functionCall
1633   134          | . functionCall ".^" variable
1634   135          | . functionCall ".^" functionCall
1635   136          | . variable "'"
1636   137          | . variable ".'"
1637   138          | . functionCall "'"
1638   139          | . functionCall ".'"
1639   173 variable: . "~ or @" variable
1640   174         | . "~ or @" functionCall
1641   175         | . variable "." "identifier"
1642   176         | . variable "." keywords
1643   177         | . variable "." functionCall
1644   178         | . functionCall "." "identifier"
1645   179         | . functionCall "." keywords
1646   180         | . variable listableEnd
1647   181         | . functionCall listableEnd
1648   182         | . matrix
1649   183         | . cell
1650   184         | . operation
1651   185         | . "identifier"
1652   186         | . "integer"
1653   187         | . "number"
1654   188         | . "float"
1655   189         | . "string"
1656   190         | . "$"
1657   191         | . "%t or %T"
1658   192         | . "%f or %F"
1659   193         | . "(" variable ")"
1660   194         | . "(" variableFields ")"
1661   195         | . comparison
1662   196         | . variable "(" functionArgs ")"
1663   197         | . functionCall "(" functionArgs ")"
1664   204 cell: . "{" matrixOrCellLines "}"
1665   205     | . "{" "end of line" matrixOrCellLines "}"
1666   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1667   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1668   208     | . "{" matrixOrCellColumns "}"
1669   209     | . "{" "end of line" matrixOrCellColumns "}"
1670   210     | . "{" "end of line" "}"
1671   211     | . "{" "}"
1672   212 matrix: . "[" matrixOrCellLines "]"
1673   213       | . "[" "end of line" matrixOrCellLines "]"
1674   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1675   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1676   216       | . "[" matrixOrCellColumns "]"
1677   217       | . "[" "end of line" matrixOrCellColumns "]"
1678   218       | . "[" "end of line" "]"
1679   219       | . "[" "]"
1680
1681     "%t or %T"    shift, and go to state 3
1682     "%f or %F"    shift, and go to state 4
1683     "~ or @"      shift, and go to state 5
1684     "$"           shift, and go to state 6
1685     "("           shift, and go to state 9
1686     "["           shift, and go to state 55
1687     "{"           shift, and go to state 11
1688     "+"           shift, and go to state 12
1689     "-"           shift, and go to state 13
1690     "string"      shift, and go to state 24
1691     "identifier"  shift, and go to state 56
1692     "integer"     shift, and go to state 26
1693     "float"       shift, and go to state 27
1694     "number"      shift, and go to state 28
1695
1696     functionCall        go to state 74
1697     simpleFunctionCall  go to state 37
1698     comparison          go to state 39
1699     operation           go to state 40
1700     variable            go to state 75
1701     cell                go to state 42
1702     matrix              go to state 43
1703
1704
1705 State 13
1706
1707    47 functionCall: . simpleFunctionCall
1708    48             | . "(" functionCall ")"
1709    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1710    50                   | . "identifier" "{" functionArgs "}"
1711    51                   | . "identifier" "(" ")"
1712    52                   | . "identifier" "{" "}"
1713    90 comparison: . variable rightComparable
1714    91           | . functionCall rightComparable
1715   122 operation: . variable rightOperand
1716   123          | . functionCall rightOperand
1717   124          | . "-" variable
1718   124          | "-" . variable
1719   125          | . "-" functionCall
1720   125          | "-" . functionCall
1721   126          | . "+" variable
1722   127          | . "+" functionCall
1723   128          | . variable "** or ^" variable
1724   129          | . variable "** or ^" functionCall
1725   130          | . functionCall "** or ^" variable
1726   131          | . functionCall "** or ^" functionCall
1727   132          | . variable ".^" variable
1728   133          | . variable ".^" functionCall
1729   134          | . functionCall ".^" variable
1730   135          | . functionCall ".^" functionCall
1731   136          | . variable "'"
1732   137          | . variable ".'"
1733   138          | . functionCall "'"
1734   139          | . functionCall ".'"
1735   173 variable: . "~ or @" variable
1736   174         | . "~ or @" functionCall
1737   175         | . variable "." "identifier"
1738   176         | . variable "." keywords
1739   177         | . variable "." functionCall
1740   178         | . functionCall "." "identifier"
1741   179         | . functionCall "." keywords
1742   180         | . variable listableEnd
1743   181         | . functionCall listableEnd
1744   182         | . matrix
1745   183         | . cell
1746   184         | . operation
1747   185         | . "identifier"
1748   186         | . "integer"
1749   187         | . "number"
1750   188         | . "float"
1751   189         | . "string"
1752   190         | . "$"
1753   191         | . "%t or %T"
1754   192         | . "%f or %F"
1755   193         | . "(" variable ")"
1756   194         | . "(" variableFields ")"
1757   195         | . comparison
1758   196         | . variable "(" functionArgs ")"
1759   197         | . functionCall "(" functionArgs ")"
1760   204 cell: . "{" matrixOrCellLines "}"
1761   205     | . "{" "end of line" matrixOrCellLines "}"
1762   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1763   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1764   208     | . "{" matrixOrCellColumns "}"
1765   209     | . "{" "end of line" matrixOrCellColumns "}"
1766   210     | . "{" "end of line" "}"
1767   211     | . "{" "}"
1768   212 matrix: . "[" matrixOrCellLines "]"
1769   213       | . "[" "end of line" matrixOrCellLines "]"
1770   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1771   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1772   216       | . "[" matrixOrCellColumns "]"
1773   217       | . "[" "end of line" matrixOrCellColumns "]"
1774   218       | . "[" "end of line" "]"
1775   219       | . "[" "]"
1776
1777     "%t or %T"    shift, and go to state 3
1778     "%f or %F"    shift, and go to state 4
1779     "~ or @"      shift, and go to state 5
1780     "$"           shift, and go to state 6
1781     "("           shift, and go to state 9
1782     "["           shift, and go to state 55
1783     "{"           shift, and go to state 11
1784     "+"           shift, and go to state 12
1785     "-"           shift, and go to state 13
1786     "string"      shift, and go to state 24
1787     "identifier"  shift, and go to state 56
1788     "integer"     shift, and go to state 26
1789     "float"       shift, and go to state 27
1790     "number"      shift, and go to state 28
1791
1792     functionCall        go to state 76
1793     simpleFunctionCall  go to state 37
1794     comparison          go to state 39
1795     operation           go to state 40
1796     variable            go to state 77
1797     cell                go to state 42
1798     matrix              go to state 43
1799
1800
1801 State 14
1802
1803    47 functionCall: . simpleFunctionCall
1804    48             | . "(" functionCall ")"
1805    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1806    50                   | . "identifier" "{" functionArgs "}"
1807    51                   | . "identifier" "(" ")"
1808    52                   | . "identifier" "{" "}"
1809    88 condition: . functionCall
1810    89          | . variable
1811    90 comparison: . variable rightComparable
1812    91           | . functionCall rightComparable
1813   122 operation: . variable rightOperand
1814   123          | . functionCall rightOperand
1815   124          | . "-" variable
1816   125          | . "-" functionCall
1817   126          | . "+" variable
1818   127          | . "+" functionCall
1819   128          | . variable "** or ^" variable
1820   129          | . variable "** or ^" functionCall
1821   130          | . functionCall "** or ^" variable
1822   131          | . functionCall "** or ^" functionCall
1823   132          | . variable ".^" variable
1824   133          | . variable ".^" functionCall
1825   134          | . functionCall ".^" variable
1826   135          | . functionCall ".^" functionCall
1827   136          | . variable "'"
1828   137          | . variable ".'"
1829   138          | . functionCall "'"
1830   139          | . functionCall ".'"
1831   173 variable: . "~ or @" variable
1832   174         | . "~ or @" functionCall
1833   175         | . variable "." "identifier"
1834   176         | . variable "." keywords
1835   177         | . variable "." functionCall
1836   178         | . functionCall "." "identifier"
1837   179         | . functionCall "." keywords
1838   180         | . variable listableEnd
1839   181         | . functionCall listableEnd
1840   182         | . matrix
1841   183         | . cell
1842   184         | . operation
1843   185         | . "identifier"
1844   186         | . "integer"
1845   187         | . "number"
1846   188         | . "float"
1847   189         | . "string"
1848   190         | . "$"
1849   191         | . "%t or %T"
1850   192         | . "%f or %F"
1851   193         | . "(" variable ")"
1852   194         | . "(" variableFields ")"
1853   195         | . comparison
1854   196         | . variable "(" functionArgs ")"
1855   197         | . functionCall "(" functionArgs ")"
1856   204 cell: . "{" matrixOrCellLines "}"
1857   205     | . "{" "end of line" matrixOrCellLines "}"
1858   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1859   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1860   208     | . "{" matrixOrCellColumns "}"
1861   209     | . "{" "end of line" matrixOrCellColumns "}"
1862   210     | . "{" "end of line" "}"
1863   211     | . "{" "}"
1864   212 matrix: . "[" matrixOrCellLines "]"
1865   213       | . "[" "end of line" matrixOrCellLines "]"
1866   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
1867   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
1868   216       | . "[" matrixOrCellColumns "]"
1869   217       | . "[" "end of line" matrixOrCellColumns "]"
1870   218       | . "[" "end of line" "]"
1871   219       | . "[" "]"
1872   256 ifControl: "if" . condition then thenBody "end"
1873   257          | "if" . condition then thenBody else elseBody "end"
1874   258          | "if" . condition then thenBody elseIfControl "end"
1875
1876     "%t or %T"    shift, and go to state 3
1877     "%f or %F"    shift, and go to state 4
1878     "~ or @"      shift, and go to state 5
1879     "$"           shift, and go to state 6
1880     "("           shift, and go to state 9
1881     "["           shift, and go to state 55
1882     "{"           shift, and go to state 11
1883     "+"           shift, and go to state 12
1884     "-"           shift, and go to state 13
1885     "string"      shift, and go to state 24
1886     "identifier"  shift, and go to state 56
1887     "integer"     shift, and go to state 26
1888     "float"       shift, and go to state 27
1889     "number"      shift, and go to state 28
1890
1891     functionCall        go to state 78
1892     simpleFunctionCall  go to state 37
1893     condition           go to state 79
1894     comparison          go to state 39
1895     operation           go to state 40
1896     variable            go to state 80
1897     cell                go to state 42
1898     matrix              go to state 43
1899
1900
1901 State 15
1902
1903   287 select: "select" .
1904
1905     $default  reduce using rule 287 (select)
1906
1907
1908 State 16
1909
1910   288 select: "switch" .
1911
1912     $default  reduce using rule 288 (select)
1913
1914
1915 State 17
1916
1917    67 functionDeclaration: "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
1918    68                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
1919    69                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
1920    70                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
1921    71                    | "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
1922    72                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
1923    73                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
1924    74                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
1925
1926     "["           shift, and go to state 81
1927     "identifier"  shift, and go to state 82
1928
1929
1930 State 18
1931
1932   323 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
1933   324           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
1934
1935     "("           shift, and go to state 83
1936     "identifier"  shift, and go to state 84
1937
1938
1939 State 19
1940
1941    47 functionCall: . simpleFunctionCall
1942    48             | . "(" functionCall ")"
1943    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
1944    50                   | . "identifier" "{" functionArgs "}"
1945    51                   | . "identifier" "(" ")"
1946    52                   | . "identifier" "{" "}"
1947    88 condition: . functionCall
1948    89          | . variable
1949    90 comparison: . variable rightComparable
1950    91           | . functionCall rightComparable
1951   122 operation: . variable rightOperand
1952   123          | . functionCall rightOperand
1953   124          | . "-" variable
1954   125          | . "-" functionCall
1955   126          | . "+" variable
1956   127          | . "+" functionCall
1957   128          | . variable "** or ^" variable
1958   129          | . variable "** or ^" functionCall
1959   130          | . functionCall "** or ^" variable
1960   131          | . functionCall "** or ^" functionCall
1961   132          | . variable ".^" variable
1962   133          | . variable ".^" functionCall
1963   134          | . functionCall ".^" variable
1964   135          | . functionCall ".^" functionCall
1965   136          | . variable "'"
1966   137          | . variable ".'"
1967   138          | . functionCall "'"
1968   139          | . functionCall ".'"
1969   173 variable: . "~ or @" variable
1970   174         | . "~ or @" functionCall
1971   175         | . variable "." "identifier"
1972   176         | . variable "." keywords
1973   177         | . variable "." functionCall
1974   178         | . functionCall "." "identifier"
1975   179         | . functionCall "." keywords
1976   180         | . variable listableEnd
1977   181         | . functionCall listableEnd
1978   182         | . matrix
1979   183         | . cell
1980   184         | . operation
1981   185         | . "identifier"
1982   186         | . "integer"
1983   187         | . "number"
1984   188         | . "float"
1985   189         | . "string"
1986   190         | . "$"
1987   191         | . "%t or %T"
1988   192         | . "%f or %F"
1989   193         | . "(" variable ")"
1990   194         | . "(" variableFields ")"
1991   195         | . comparison
1992   196         | . variable "(" functionArgs ")"
1993   197         | . functionCall "(" functionArgs ")"
1994   204 cell: . "{" matrixOrCellLines "}"
1995   205     | . "{" "end of line" matrixOrCellLines "}"
1996   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
1997   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
1998   208     | . "{" matrixOrCellColumns "}"
1999   209     | . "{" "end of line" matrixOrCellColumns "}"
2000   210     | . "{" "end of line" "}"
2001   211     | . "{" "}"
2002   212 matrix: . "[" matrixOrCellLines "]"
2003   213       | . "[" "end of line" matrixOrCellLines "]"
2004   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
2005   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
2006   216       | . "[" matrixOrCellColumns "]"
2007   217       | . "[" "end of line" matrixOrCellColumns "]"
2008   218       | . "[" "end of line" "]"
2009   219       | . "[" "]"
2010   337 whileControl: "while" . condition whileConditionBreak whileBody "end"
2011
2012     "%t or %T"    shift, and go to state 3
2013     "%f or %F"    shift, and go to state 4
2014     "~ or @"      shift, and go to state 5
2015     "$"           shift, and go to state 6
2016     "("           shift, and go to state 9
2017     "["           shift, and go to state 55
2018     "{"           shift, and go to state 11
2019     "+"           shift, and go to state 12
2020     "-"           shift, and go to state 13
2021     "string"      shift, and go to state 24
2022     "identifier"  shift, and go to state 56
2023     "integer"     shift, and go to state 26
2024     "float"       shift, and go to state 27
2025     "number"      shift, and go to state 28
2026
2027     functionCall        go to state 78
2028     simpleFunctionCall  go to state 37
2029     condition           go to state 85
2030     comparison          go to state 39
2031     operation           go to state 40
2032     variable            go to state 80
2033     cell                go to state 42
2034     matrix              go to state 43
2035
2036
2037 State 20
2038
2039    30 expression: "break" .
2040
2041     $default  reduce using rule 30 (expression)
2042
2043
2044 State 21
2045
2046    31 expression: "continue" .
2047
2048     $default  reduce using rule 31 (expression)
2049
2050
2051 State 22
2052
2053     5 expressions: . recursiveExpression
2054     6            | . recursiveExpression expression
2055     7            | . recursiveExpression expression "line comment"
2056     8            | . expression
2057     9            | . expression "line comment"
2058    10 recursiveExpression: . recursiveExpression expression expressionLineBreak
2059    11                    | . recursiveExpression expression "line comment" expressionLineBreak
2060    12                    | . expression "line comment" expressionLineBreak
2061    13                    | . expression expressionLineBreak
2062    20 expression: . functionDeclaration
2063    21           | . functionCall
2064    22           | . variableDeclaration
2065    23           | . ifControl
2066    24           | . selectControl
2067    25           | . forControl
2068    26           | . whileControl
2069    27           | . tryControl
2070    28           | . variable
2071    29           | . implicitFunctionCall
2072    30           | . "break"
2073    31           | . "continue"
2074    32           | . returnControl
2075    33           | . "line comment"
2076    34           | . error
2077    35 implicitFunctionCall: . implicitFunctionCall implicitCallable
2078    36                     | . "identifier" implicitCallable
2079    47 functionCall: . simpleFunctionCall
2080    48             | . "(" functionCall ")"
2081    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
2082    50                   | . "identifier" "{" functionArgs "}"
2083    51                   | . "identifier" "(" ")"
2084    52                   | . "identifier" "{" "}"
2085    67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2086    68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2087    69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2088    70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2089    71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2090    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2091    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2092    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2093    90 comparison: . variable rightComparable
2094    91           | . functionCall rightComparable
2095   122 operation: . variable rightOperand
2096   123          | . functionCall rightOperand
2097   124          | . "-" variable
2098   125          | . "-" functionCall
2099   126          | . "+" variable
2100   127          | . "+" functionCall
2101   128          | . variable "** or ^" variable
2102   129          | . variable "** or ^" functionCall
2103   130          | . functionCall "** or ^" variable
2104   131          | . functionCall "** or ^" functionCall
2105   132          | . variable ".^" variable
2106   133          | . variable ".^" functionCall
2107   134          | . functionCall ".^" variable
2108   135          | . functionCall ".^" functionCall
2109   136          | . variable "'"
2110   137          | . variable ".'"
2111   138          | . functionCall "'"
2112   139          | . functionCall ".'"
2113   173 variable: . "~ or @" variable
2114   174         | . "~ or @" functionCall
2115   175         | . variable "." "identifier"
2116   176         | . variable "." keywords
2117   177         | . variable "." functionCall
2118   178         | . functionCall "." "identifier"
2119   179         | . functionCall "." keywords
2120   180         | . variable listableEnd
2121   181         | . functionCall listableEnd
2122   182         | . matrix
2123   183         | . cell
2124   184         | . operation
2125   185         | . "identifier"
2126   186         | . "integer"
2127   187         | . "number"
2128   188         | . "float"
2129   189         | . "string"
2130   190         | . "$"
2131   191         | . "%t or %T"
2132   192         | . "%f or %F"
2133   193         | . "(" variable ")"
2134   194         | . "(" variableFields ")"
2135   195         | . comparison
2136   196         | . variable "(" functionArgs ")"
2137   197         | . functionCall "(" functionArgs ")"
2138   204 cell: . "{" matrixOrCellLines "}"
2139   205     | . "{" "end of line" matrixOrCellLines "}"
2140   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
2141   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
2142   208     | . "{" matrixOrCellColumns "}"
2143   209     | . "{" "end of line" matrixOrCellColumns "}"
2144   210     | . "{" "end of line" "}"
2145   211     | . "{" "}"
2146   212 matrix: . "[" matrixOrCellLines "]"
2147   213       | . "[" "end of line" matrixOrCellLines "]"
2148   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
2149   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
2150   216       | . "[" matrixOrCellColumns "]"
2151   217       | . "[" "end of line" matrixOrCellColumns "]"
2152   218       | . "[" "end of line" "]"
2153   219       | . "[" "]"
2154   238 variableDeclaration: . assignable "=" variable
2155   239                    | . assignable "=" functionCall
2156   240                    | . functionCall "=" variable
2157   241                    | . functionCall "=" functionCall
2158   242                    | . assignable "=" ":"
2159   243                    | . functionCall "=" ":"
2160   244                    | . assignable "=" returnControl
2161   245                    | . functionCall "=" returnControl
2162   246 assignable: . variable "." "identifier"
2163   247           | . variable "." keywords
2164   248           | . variable "." functionCall
2165   249           | . functionCall "." "identifier"
2166   250           | . functionCall "." keywords
2167   251           | . "identifier"
2168   252           | . multipleResults
2169   253           | . variable "(" functionArgs ")"
2170   254           | . functionCall "(" functionArgs ")"
2171   255 multipleResults: . "[" matrixOrCellColumns "]"
2172   256 ifControl: . "if" condition then thenBody "end"
2173   257          | . "if" condition then thenBody else elseBody "end"
2174   258          | . "if" condition then thenBody elseIfControl "end"
2175   283 selectControl: . select selectable selectConditionBreak casesControl "end"
2176   284              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
2177   285              | . select selectable "line comment" selectConditionBreak casesControl "end"
2178   286              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
2179   287 select: . "select"
2180   288       | . "switch"
2181   323 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
2182   324           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
2183   337 whileControl: . "while" condition whileConditionBreak whileBody "end"
2184   358 tryControl: . "try" catchBody "catch" catchBody "end"
2185   358           | "try" . catchBody "catch" catchBody "end"
2186   359           | . "try" catchBody "end"
2187   359           | "try" . catchBody "end"
2188   360 catchBody: . expressions
2189   361          | . "end of line" expressions
2190   362          | . ";" expressions
2191   363          | . "," expressions
2192   364          | . "end of line"
2193   365          | . %empty  ["end", "catch"]
2194   366 returnControl: . "return"
2195   367              | . "return" variable
2196   368              | . "return" functionCall
2197
2198     error           shift, and go to state 1
2199     "end of line"   shift, and go to state 86
2200     "%t or %T"      shift, and go to state 3
2201     "%f or %F"      shift, and go to state 4
2202     "~ or @"        shift, and go to state 5
2203     "$"             shift, and go to state 6
2204     ","             shift, and go to state 87
2205     ";"             shift, and go to state 88
2206     "("             shift, and go to state 9
2207     "["             shift, and go to state 10
2208     "{"             shift, and go to state 11
2209     "+"             shift, and go to state 12
2210     "-"             shift, and go to state 13
2211     "if"            shift, and go to state 14
2212     "select"        shift, and go to state 15
2213     "switch"        shift, and go to state 16
2214     "function"      shift, and go to state 17
2215     "for"           shift, and go to state 18
2216     "while"         shift, and go to state 19
2217     "break"         shift, and go to state 20
2218     "continue"      shift, and go to state 21
2219     "try"           shift, and go to state 22
2220     "return"        shift, and go to state 23
2221     "string"        shift, and go to state 24
2222     "identifier"    shift, and go to state 25
2223     "integer"       shift, and go to state 26
2224     "float"         shift, and go to state 27
2225     "number"        shift, and go to state 28
2226     "line comment"  shift, and go to state 29
2227
2228     "end"    reduce using rule 365 (catchBody)
2229     "catch"  reduce using rule 365 (catchBody)
2230
2231     expressions           go to state 89
2232     recursiveExpression   go to state 32
2233     expression            go to state 34
2234     implicitFunctionCall  go to state 35
2235     functionCall          go to state 36
2236     simpleFunctionCall    go to state 37
2237     functionDeclaration   go to state 38
2238     comparison            go to state 39
2239     operation             go to state 40
2240     variable              go to state 41
2241     cell                  go to state 42
2242     matrix                go to state 43
2243     variableDeclaration   go to state 44
2244     assignable            go to state 45
2245     multipleResults       go to state 46
2246     ifControl             go to state 47
2247     selectControl         go to state 48
2248     select                go to state 49
2249     forControl            go to state 50
2250     whileControl          go to state 51
2251     tryControl            go to state 52
2252     catchBody             go to state 90
2253     returnControl         go to state 53
2254
2255
2256 State 23
2257
2258    47 functionCall: . simpleFunctionCall
2259    48             | . "(" functionCall ")"
2260    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
2261    50                   | . "identifier" "{" functionArgs "}"
2262    51                   | . "identifier" "(" ")"
2263    52                   | . "identifier" "{" "}"
2264    90 comparison: . variable rightComparable
2265    91           | . functionCall rightComparable
2266   122 operation: . variable rightOperand
2267   123          | . functionCall rightOperand
2268   124          | . "-" variable
2269   125          | . "-" functionCall
2270   126          | . "+" variable
2271   127          | . "+" functionCall
2272   128          | . variable "** or ^" variable
2273   129          | . variable "** or ^" functionCall
2274   130          | . functionCall "** or ^" variable
2275   131          | . functionCall "** or ^" functionCall
2276   132          | . variable ".^" variable
2277   133          | . variable ".^" functionCall
2278   134          | . functionCall ".^" variable
2279   135          | . functionCall ".^" functionCall
2280   136          | . variable "'"
2281   137          | . variable ".'"
2282   138          | . functionCall "'"
2283   139          | . functionCall ".'"
2284   173 variable: . "~ or @" variable
2285   174         | . "~ or @" functionCall
2286   175         | . variable "." "identifier"
2287   176         | . variable "." keywords
2288   177         | . variable "." functionCall
2289   178         | . functionCall "." "identifier"
2290   179         | . functionCall "." keywords
2291   180         | . variable listableEnd
2292   181         | . functionCall listableEnd
2293   182         | . matrix
2294   183         | . cell
2295   184         | . operation
2296   185         | . "identifier"
2297   186         | . "integer"
2298   187         | . "number"
2299   188         | . "float"
2300   189         | . "string"
2301   190         | . "$"
2302   191         | . "%t or %T"
2303   192         | . "%f or %F"
2304   193         | . "(" variable ")"
2305   194         | . "(" variableFields ")"
2306   195         | . comparison
2307   196         | . variable "(" functionArgs ")"
2308   197         | . functionCall "(" functionArgs ")"
2309   204 cell: . "{" matrixOrCellLines "}"
2310   205     | . "{" "end of line" matrixOrCellLines "}"
2311   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
2312   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
2313   208     | . "{" matrixOrCellColumns "}"
2314   209     | . "{" "end of line" matrixOrCellColumns "}"
2315   210     | . "{" "end of line" "}"
2316   211     | . "{" "}"
2317   212 matrix: . "[" matrixOrCellLines "]"
2318   213       | . "[" "end of line" matrixOrCellLines "]"
2319   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
2320   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
2321   216       | . "[" matrixOrCellColumns "]"
2322   217       | . "[" "end of line" matrixOrCellColumns "]"
2323   218       | . "[" "end of line" "]"
2324   219       | . "[" "]"
2325   366 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
2326   367              | "return" . variable
2327   368              | "return" . functionCall
2328
2329     "%t or %T"    shift, and go to state 3
2330     "%f or %F"    shift, and go to state 4
2331     "~ or @"      shift, and go to state 5
2332     "$"           shift, and go to state 6
2333     "("           shift, and go to state 9
2334     "["           shift, and go to state 55
2335     "{"           shift, and go to state 11
2336     "+"           shift, and go to state 12
2337     "-"           shift, and go to state 13
2338     "string"      shift, and go to state 24
2339     "identifier"  shift, and go to state 56
2340     "integer"     shift, and go to state 26
2341     "float"       shift, and go to state 27
2342     "number"      shift, and go to state 28
2343
2344     $default  reduce using rule 366 (returnControl)
2345
2346     functionCall        go to state 91
2347     simpleFunctionCall  go to state 37
2348     comparison          go to state 39
2349     operation           go to state 40
2350     variable            go to state 92
2351     cell                go to state 42
2352     matrix              go to state 43
2353
2354
2355 State 24
2356
2357   189 variable: "string" .
2358
2359     $default  reduce using rule 189 (variable)
2360
2361
2362 State 25
2363
2364    36 implicitFunctionCall: "identifier" . implicitCallable
2365    37 implicitCallable: . "identifier"
2366    38                 | . "integer"
2367    39                 | . "number"
2368    40                 | . "float"
2369    41                 | . "string"
2370    42                 | . "$"
2371    43                 | . "%t or %T"
2372    44                 | . "%f or %F"
2373    45                 | . implicitCallable "." "identifier"
2374    46                 | . "path"
2375    49 simpleFunctionCall: "identifier" . "(" functionArgs ")"
2376    50                   | "identifier" . "{" functionArgs "}"
2377    51                   | "identifier" . "(" ")"
2378    52                   | "identifier" . "{" "}"
2379   185 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
2380   251 assignable: "identifier" .  ["="]
2381
2382     "%t or %T"    shift, and go to state 93
2383     "%f or %F"    shift, and go to state 94
2384     "$"           shift, and go to state 95
2385     "("           shift, and go to state 96
2386     "{"           shift, and go to state 97
2387     "string"      shift, and go to state 98
2388     "identifier"  shift, and go to state 99
2389     "integer"     shift, and go to state 100
2390     "float"       shift, and go to state 101
2391     "number"      shift, and go to state 102
2392     "path"        shift, and go to state 103
2393
2394     "="       reduce using rule 251 (assignable)
2395     $default  reduce using rule 185 (variable)
2396
2397     implicitCallable  go to state 104
2398
2399     Conflict between rule 185 and token "(" resolved as shift (LISTABLE < "(").
2400
2401
2402 State 26
2403
2404   186 variable: "integer" .
2405
2406     $default  reduce using rule 186 (variable)
2407
2408
2409 State 27
2410
2411   188 variable: "float" .
2412
2413     $default  reduce using rule 188 (variable)
2414
2415
2416 State 28
2417
2418   187 variable: "number" .
2419
2420     $default  reduce using rule 187 (variable)
2421
2422
2423 State 29
2424
2425    33 expression: "line comment" .
2426
2427     $default  reduce using rule 33 (expression)
2428
2429
2430 State 30
2431
2432     0 $accept: program . "end of file"
2433
2434     "end of file"  shift, and go to state 105
2435
2436
2437 State 31
2438
2439     1 program: expressions .
2440
2441     $default  reduce using rule 1 (program)
2442
2443
2444 State 32
2445
2446     5 expressions: recursiveExpression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
2447     6            | recursiveExpression . expression
2448     7            | recursiveExpression . expression "line comment"
2449    10 recursiveExpression: recursiveExpression . expression expressionLineBreak
2450    11                    | recursiveExpression . expression "line comment" expressionLineBreak
2451    20 expression: . functionDeclaration
2452    21           | . functionCall
2453    22           | . variableDeclaration
2454    23           | . ifControl
2455    24           | . selectControl
2456    25           | . forControl
2457    26           | . whileControl
2458    27           | . tryControl
2459    28           | . variable
2460    29           | . implicitFunctionCall
2461    30           | . "break"
2462    31           | . "continue"
2463    32           | . returnControl
2464    33           | . "line comment"
2465    34           | . error
2466    35 implicitFunctionCall: . implicitFunctionCall implicitCallable
2467    36                     | . "identifier" implicitCallable
2468    47 functionCall: . simpleFunctionCall
2469    48             | . "(" functionCall ")"
2470    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
2471    50                   | . "identifier" "{" functionArgs "}"
2472    51                   | . "identifier" "(" ")"
2473    52                   | . "identifier" "{" "}"
2474    67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2475    68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2476    69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2477    70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
2478    71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2479    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2480    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2481    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
2482    90 comparison: . variable rightComparable
2483    91           | . functionCall rightComparable
2484   122 operation: . variable rightOperand
2485   123          | . functionCall rightOperand
2486   124          | . "-" variable
2487   125          | . "-" functionCall
2488   126          | . "+" variable
2489   127          | . "+" functionCall
2490   128          | . variable "** or ^" variable
2491   129          | . variable "** or ^" functionCall
2492   130          | . functionCall "** or ^" variable
2493   131          | . functionCall "** or ^" functionCall
2494   132          | . variable ".^" variable
2495   133          | . variable ".^" functionCall
2496   134          | . functionCall ".^" variable
2497   135          | . functionCall ".^" functionCall
2498   136          | . variable "'"
2499   137          | . variable ".'"
2500   138          | . functionCall "'"
2501   139          | . functionCall ".'"
2502   173 variable: . "~ or @" variable
2503   174         | . "~ or @" functionCall
2504   175         | . variable "." "identifier"
2505   176         | . variable "." keywords
2506   177         | . variable "." functionCall
2507   178         | . functionCall "." "identifier"
2508   179         | . functionCall "." keywords
2509   180         | . variable listableEnd
2510   181         | . functionCall listableEnd
2511   182         | . matrix
2512   183         | . cell
2513   184         | . operation
2514   185         | . "identifier"
2515   186         | . "integer"
2516   187         | . "number"
2517   188         | . "float"
2518   189         | . "string"
2519   190         | . "$"
2520   191         | . "%t or %T"
2521   192         | . "%f or %F"
2522   193         | . "(" variable ")"
2523   194         | . "(" variableFields ")"
2524   195         | . comparison
2525   196         | . variable "(" functionArgs ")"
2526   197         | . functionCall "(" functionArgs ")"
2527   204 cell: . "{" matrixOrCellLines "}"
2528   205     | . "{" "end of line" matrixOrCellLines "}"
2529   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
2530   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
2531   208     | . "{" matrixOrCellColumns "}"
2532   209     | . "{" "end of line" matrixOrCellColumns "}"
2533   210     | . "{" "end of line" "}"
2534   211     | . "{" "}"
2535   212 matrix: . "[" matrixOrCellLines "]"
2536   213       | . "[" "end of line" matrixOrCellLines "]"
2537   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
2538   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
2539   216       | . "[" matrixOrCellColumns "]"
2540   217       | . "[" "end of line" matrixOrCellColumns "]"
2541   218       | . "[" "end of line" "]"
2542   219       | . "[" "]"
2543   238 variableDeclaration: . assignable "=" variable
2544   239                    | . assignable "=" functionCall
2545   240                    | . functionCall "=" variable
2546   241                    | . functionCall "=" functionCall
2547   242                    | . assignable "=" ":"
2548   243                    | . functionCall "=" ":"
2549   244                    | . assignable "=" returnControl
2550   245                    | . functionCall "=" returnControl
2551   246 assignable: . variable "." "identifier"
2552   247           | . variable "." keywords
2553   248           | . variable "." functionCall
2554   249           | . functionCall "." "identifier"
2555   250           | . functionCall "." keywords
2556   251           | . "identifier"
2557   252           | . multipleResults
2558   253           | . variable "(" functionArgs ")"
2559   254           | . functionCall "(" functionArgs ")"
2560   255 multipleResults: . "[" matrixOrCellColumns "]"
2561   256 ifControl: . "if" condition then thenBody "end"
2562   257          | . "if" condition then thenBody else elseBody "end"
2563   258          | . "if" condition then thenBody elseIfControl "end"
2564   283 selectControl: . select selectable selectConditionBreak casesControl "end"
2565   284              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
2566   285              | . select selectable "line comment" selectConditionBreak casesControl "end"
2567   286              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
2568   287 select: . "select"
2569   288       | . "switch"
2570   323 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
2571   324           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
2572   337 whileControl: . "while" condition whileConditionBreak whileBody "end"
2573   358 tryControl: . "try" catchBody "catch" catchBody "end"
2574   359           | . "try" catchBody "end"
2575   366 returnControl: . "return"
2576   367              | . "return" variable
2577   368              | . "return" functionCall
2578
2579     error           shift, and go to state 1
2580     "%t or %T"      shift, and go to state 3
2581     "%f or %F"      shift, and go to state 4
2582     "~ or @"        shift, and go to state 5
2583     "$"             shift, and go to state 6
2584     "("             shift, and go to state 9
2585     "["             shift, and go to state 10
2586     "{"             shift, and go to state 11
2587     "+"             shift, and go to state 12
2588     "-"             shift, and go to state 13
2589     "if"            shift, and go to state 14
2590     "select"        shift, and go to state 15
2591     "switch"        shift, and go to state 16
2592     "function"      shift, and go to state 17
2593     "for"           shift, and go to state 18
2594     "while"         shift, and go to state 19
2595     "break"         shift, and go to state 20
2596     "continue"      shift, and go to state 21
2597     "try"           shift, and go to state 22
2598     "return"        shift, and go to state 23
2599     "string"        shift, and go to state 24
2600     "identifier"    shift, and go to state 25
2601     "integer"       shift, and go to state 26
2602     "float"         shift, and go to state 27
2603     "number"        shift, and go to state 28
2604     "line comment"  shift, and go to state 29
2605
2606     "end of file"  reduce using rule 5 (expressions)
2607     "else"         reduce using rule 5 (expressions)
2608     "elseif"       reduce using rule 5 (expressions)
2609     "end"          reduce using rule 5 (expressions)
2610     "case"         reduce using rule 5 (expressions)
2611     "otherwise"    reduce using rule 5 (expressions)
2612     "endfunction"  reduce using rule 5 (expressions)
2613     "catch"        reduce using rule 5 (expressions)
2614
2615     expression            go to state 106
2616     implicitFunctionCall  go to state 35
2617     functionCall          go to state 36
2618     simpleFunctionCall    go to state 37
2619     functionDeclaration   go to state 38
2620     comparison            go to state 39
2621     operation             go to state 40
2622     variable              go to state 41
2623     cell                  go to state 42
2624     matrix                go to state 43
2625     variableDeclaration   go to state 44
2626     assignable            go to state 45
2627     multipleResults       go to state 46
2628     ifControl             go to state 47
2629     selectControl         go to state 48
2630     select                go to state 49
2631     forControl            go to state 50
2632     whileControl          go to state 51
2633     tryControl            go to state 52
2634     returnControl         go to state 53
2635
2636
2637 State 33
2638
2639     3 program: expressionLineBreak .  ["end of file"]
2640    17 expressionLineBreak: expressionLineBreak . ";"
2641    18                    | expressionLineBreak . ","
2642    19                    | expressionLineBreak . "end of line"
2643
2644     "end of line"  shift, and go to state 107
2645     ","            shift, and go to state 108
2646     ";"            shift, and go to state 109
2647
2648     $default  reduce using rule 3 (program)
2649
2650
2651 State 34
2652
2653     8 expressions: expression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
2654     9            | expression . "line comment"
2655    12 recursiveExpression: expression . "line comment" expressionLineBreak
2656    13                    | expression . expressionLineBreak
2657    14 expressionLineBreak: . ";"
2658    15                    | . ","
2659    16                    | . "end of line"
2660    17                    | . expressionLineBreak ";"
2661    18                    | . expressionLineBreak ","
2662    19                    | . expressionLineBreak "end of line"
2663
2664     "end of line"   shift, and go to state 110
2665     ","             shift, and go to state 7
2666     ";"             shift, and go to state 8
2667     "line comment"  shift, and go to state 111
2668
2669     $default  reduce using rule 8 (expressions)
2670
2671     expressionLineBreak  go to state 112
2672
2673
2674 State 35
2675
2676    29 expression: implicitFunctionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
2677    35 implicitFunctionCall: implicitFunctionCall . implicitCallable
2678    37 implicitCallable: . "identifier"
2679    38                 | . "integer"
2680    39                 | . "number"
2681    40                 | . "float"
2682    41                 | . "string"
2683    42                 | . "$"
2684    43                 | . "%t or %T"
2685    44                 | . "%f or %F"
2686    45                 | . implicitCallable "." "identifier"
2687    46                 | . "path"
2688
2689     "%t or %T"    shift, and go to state 93
2690     "%f or %F"    shift, and go to state 94
2691     "$"           shift, and go to state 95
2692     "string"      shift, and go to state 98
2693     "identifier"  shift, and go to state 99
2694     "integer"     shift, and go to state 100
2695     "float"       shift, and go to state 101
2696     "number"      shift, and go to state 102
2697     "path"        shift, and go to state 103
2698
2699     $default  reduce using rule 29 (expression)
2700
2701     implicitCallable  go to state 113
2702
2703
2704 State 36
2705
2706    21 expression: functionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
2707    91 comparison: functionCall . rightComparable
2708    92 rightComparable: . "&" variable
2709    93                | . "&" functionCall
2710    94                | . "&" ":"
2711    95                | . "&&" variable
2712    96                | . "&&" functionCall
2713    97                | . "&&" ":"
2714    98                | . "|" variable
2715    99                | . "|" functionCall
2716   100                | . "|" ":"
2717   101                | . "||" variable
2718   102                | . "||" functionCall
2719   103                | . "||" ":"
2720   104                | . "==" variable
2721   105                | . "==" functionCall
2722   106                | . "==" ":"
2723   107                | . "<> or ~=" variable
2724   108                | . "<> or ~=" functionCall
2725   109                | . "<> or ~=" ":"
2726   110                | . ">" variable
2727   111                | . ">" functionCall
2728   112                | . ">" ":"
2729   113                | . "<" variable
2730   114                | . "<" functionCall
2731   115                | . "<" ":"
2732   116                | . ">=" variable
2733   117                | . ">=" functionCall
2734   118                | . ">=" ":"
2735   119                | . "<=" variable
2736   120                | . "<=" functionCall
2737   121                | . "<=" ":"
2738   123 operation: functionCall . rightOperand
2739   130          | functionCall . "** or ^" variable
2740   131          | functionCall . "** or ^" functionCall
2741   134          | functionCall . ".^" variable
2742   135          | functionCall . ".^" functionCall
2743   138          | functionCall . "'"
2744   139          | functionCall . ".'"
2745   140 rightOperand: . "+" variable
2746   141             | . "+" functionCall
2747   142             | . "-" variable
2748   143             | . "-" functionCall
2749   144             | . "*" variable
2750   145             | . "*" functionCall
2751   146             | . ".*" variable
2752   147             | . ".*" functionCall
2753   148             | . ".*." variable
2754   149             | . ".*." functionCall
2755   150             | . "*." variable
2756   151             | . "*." functionCall
2757   152             | . "/" variable
2758   153             | . "/" functionCall
2759   154             | . "./" variable
2760   155             | . "./" functionCall
2761   156             | . "./." variable
2762   157             | . "./." functionCall
2763   158             | . "/." variable
2764   159             | . "/." functionCall
2765   160             | . "\\" variable
2766   161             | . "\\" functionCall
2767   162             | . ".\\" variable
2768   163             | . ".\\" functionCall
2769   164             | . ".\\." variable
2770   165             | . ".\\." functionCall
2771   166             | . "\\." variable
2772   167             | . "\\." functionCall
2773   168 listableBegin: . ":" variable
2774   169              | . ":" functionCall
2775   170 listableEnd: . listableBegin ":" variable
2776   171            | . listableBegin ":" functionCall
2777   172            | . listableBegin
2778   178 variable: functionCall . "." "identifier"
2779   179         | functionCall . "." keywords
2780   181         | functionCall . listableEnd
2781   197         | functionCall . "(" functionArgs ")"
2782   240 variableDeclaration: functionCall . "=" variable
2783   241                    | functionCall . "=" functionCall
2784   243                    | functionCall . "=" ":"
2785   245                    | functionCall . "=" returnControl
2786   249 assignable: functionCall . "." "identifier"
2787   250           | functionCall . "." keywords
2788   254           | functionCall . "(" functionArgs ")"
2789
2790     "'"         shift, and go to state 114
2791     ":"         shift, and go to state 115
2792     "("         shift, and go to state 116
2793     "."         shift, and go to state 117
2794     ".'"        shift, and go to state 118
2795     "+"         shift, and go to state 119
2796     "-"         shift, and go to state 120
2797     "*"         shift, and go to state 121
2798     ".*"        shift, and go to state 122
2799     ".*."       shift, and go to state 123
2800     "*."        shift, and go to state 124
2801     "/"         shift, and go to state 125
2802     "./"        shift, and go to state 126
2803     "/."        shift, and go to state 127
2804     "./."       shift, and go to state 128
2805     "\\"        shift, and go to state 129
2806     ".\\"       shift, and go to state 130
2807     "\\."       shift, and go to state 131
2808     ".\\."      shift, and go to state 132
2809     "** or ^"   shift, and go to state 133
2810     ".^"        shift, and go to state 134
2811     "=="        shift, and go to state 135
2812     "<> or ~="  shift, and go to state 136
2813     "<"         shift, and go to state 137
2814     "<="        shift, and go to state 138
2815     ">"         shift, and go to state 139
2816     ">="        shift, and go to state 140
2817     "&"         shift, and go to state 141
2818     "&&"        shift, and go to state 142
2819     "|"         shift, and go to state 143
2820     "||"        shift, and go to state 144
2821     "="         shift, and go to state 145
2822
2823     $default  reduce using rule 21 (expression)
2824
2825     rightComparable  go to state 146
2826     rightOperand     go to state 147
2827     listableBegin    go to state 148
2828     listableEnd      go to state 149
2829
2830
2831 State 37
2832
2833    47 functionCall: simpleFunctionCall .
2834
2835     $default  reduce using rule 47 (functionCall)
2836
2837
2838 State 38
2839
2840    20 expression: functionDeclaration .
2841
2842     $default  reduce using rule 20 (expression)
2843
2844
2845 State 39
2846
2847   195 variable: comparison .
2848
2849     $default  reduce using rule 195 (variable)
2850
2851
2852 State 40
2853
2854   184 variable: operation .
2855
2856     $default  reduce using rule 184 (variable)
2857
2858
2859 State 41
2860
2861    28 expression: variable .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
2862    90 comparison: variable . rightComparable
2863    92 rightComparable: . "&" variable
2864    93                | . "&" functionCall
2865    94                | . "&" ":"
2866    95                | . "&&" variable
2867    96                | . "&&" functionCall
2868    97                | . "&&" ":"
2869    98                | . "|" variable
2870    99                | . "|" functionCall
2871   100                | . "|" ":"
2872   101                | . "||" variable
2873   102                | . "||" functionCall
2874   103                | . "||" ":"
2875   104                | . "==" variable
2876   105                | . "==" functionCall
2877   106                | . "==" ":"
2878   107                | . "<> or ~=" variable
2879   108                | . "<> or ~=" functionCall
2880   109                | . "<> or ~=" ":"
2881   110                | . ">" variable
2882   111                | . ">" functionCall
2883   112                | . ">" ":"
2884   113                | . "<" variable
2885   114                | . "<" functionCall
2886   115                | . "<" ":"
2887   116                | . ">=" variable
2888   117                | . ">=" functionCall
2889   118                | . ">=" ":"
2890   119                | . "<=" variable
2891   120                | . "<=" functionCall
2892   121                | . "<=" ":"
2893   122 operation: variable . rightOperand
2894   128          | variable . "** or ^" variable
2895   129          | variable . "** or ^" functionCall
2896   132          | variable . ".^" variable
2897   133          | variable . ".^" functionCall
2898   136          | variable . "'"
2899   137          | variable . ".'"
2900   140 rightOperand: . "+" variable
2901   141             | . "+" functionCall
2902   142             | . "-" variable
2903   143             | . "-" functionCall
2904   144             | . "*" variable
2905   145             | . "*" functionCall
2906   146             | . ".*" variable
2907   147             | . ".*" functionCall
2908   148             | . ".*." variable
2909   149             | . ".*." functionCall
2910   150             | . "*." variable
2911   151             | . "*." functionCall
2912   152             | . "/" variable
2913   153             | . "/" functionCall
2914   154             | . "./" variable
2915   155             | . "./" functionCall
2916   156             | . "./." variable
2917   157             | . "./." functionCall
2918   158             | . "/." variable
2919   159             | . "/." functionCall
2920   160             | . "\\" variable
2921   161             | . "\\" functionCall
2922   162             | . ".\\" variable
2923   163             | . ".\\" functionCall
2924   164             | . ".\\." variable
2925   165             | . ".\\." functionCall
2926   166             | . "\\." variable
2927   167             | . "\\." functionCall
2928   168 listableBegin: . ":" variable
2929   169              | . ":" functionCall
2930   170 listableEnd: . listableBegin ":" variable
2931   171            | . listableBegin ":" functionCall
2932   172            | . listableBegin
2933   175 variable: variable . "." "identifier"
2934   176         | variable . "." keywords
2935   177         | variable . "." functionCall
2936   180         | variable . listableEnd
2937   196         | variable . "(" functionArgs ")"
2938   246 assignable: variable . "." "identifier"
2939   247           | variable . "." keywords
2940   248           | variable . "." functionCall
2941   253           | variable . "(" functionArgs ")"
2942
2943     "'"         shift, and go to state 150
2944     ":"         shift, and go to state 115
2945     "("         shift, and go to state 151
2946     "."         shift, and go to state 152
2947     ".'"        shift, and go to state 153
2948     "+"         shift, and go to state 119
2949     "-"         shift, and go to state 120
2950     "*"         shift, and go to state 121
2951     ".*"        shift, and go to state 122
2952     ".*."       shift, and go to state 123
2953     "*."        shift, and go to state 124
2954     "/"         shift, and go to state 125
2955     "./"        shift, and go to state 126
2956     "/."        shift, and go to state 127
2957     "./."       shift, and go to state 128
2958     "\\"        shift, and go to state 129
2959     ".\\"       shift, and go to state 130
2960     "\\."       shift, and go to state 131
2961     ".\\."      shift, and go to state 132
2962     "** or ^"   shift, and go to state 154
2963     ".^"        shift, and go to state 155
2964     "=="        shift, and go to state 135
2965     "<> or ~="  shift, and go to state 136
2966     "<"         shift, and go to state 137
2967     "<="        shift, and go to state 138
2968     ">"         shift, and go to state 139
2969     ">="        shift, and go to state 140
2970     "&"         shift, and go to state 141
2971     "&&"        shift, and go to state 142
2972     "|"         shift, and go to state 143
2973     "||"        shift, and go to state 144
2974
2975     $default  reduce using rule 28 (expression)
2976
2977     rightComparable  go to state 156
2978     rightOperand     go to state 157
2979     listableBegin    go to state 148
2980     listableEnd      go to state 158
2981
2982
2983 State 42
2984
2985   183 variable: cell .
2986
2987     $default  reduce using rule 183 (variable)
2988
2989
2990 State 43
2991
2992   182 variable: matrix .
2993
2994     $default  reduce using rule 182 (variable)
2995
2996
2997 State 44
2998
2999    22 expression: variableDeclaration .
3000
3001     $default  reduce using rule 22 (expression)
3002
3003
3004 State 45
3005
3006   238 variableDeclaration: assignable . "=" variable
3007   239                    | assignable . "=" functionCall
3008   242                    | assignable . "=" ":"
3009   244                    | assignable . "=" returnControl
3010
3011     "="  shift, and go to state 159
3012
3013
3014 State 46
3015
3016   252 assignable: multipleResults .
3017
3018     $default  reduce using rule 252 (assignable)
3019
3020
3021 State 47
3022
3023    23 expression: ifControl .
3024
3025     $default  reduce using rule 23 (expression)
3026
3027
3028 State 48
3029
3030    24 expression: selectControl .
3031
3032     $default  reduce using rule 24 (expression)
3033
3034
3035 State 49
3036
3037    47 functionCall: . simpleFunctionCall
3038    48             | . "(" functionCall ")"
3039    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
3040    50                   | . "identifier" "{" functionArgs "}"
3041    51                   | . "identifier" "(" ")"
3042    52                   | . "identifier" "{" "}"
3043    90 comparison: . variable rightComparable
3044    91           | . functionCall rightComparable
3045   122 operation: . variable rightOperand
3046   123          | . functionCall rightOperand
3047   124          | . "-" variable
3048   125          | . "-" functionCall
3049   126          | . "+" variable
3050   127          | . "+" functionCall
3051   128          | . variable "** or ^" variable
3052   129          | . variable "** or ^" functionCall
3053   130          | . functionCall "** or ^" variable
3054   131          | . functionCall "** or ^" functionCall
3055   132          | . variable ".^" variable
3056   133          | . variable ".^" functionCall
3057   134          | . functionCall ".^" variable
3058   135          | . functionCall ".^" functionCall
3059   136          | . variable "'"
3060   137          | . variable ".'"
3061   138          | . functionCall "'"
3062   139          | . functionCall ".'"
3063   173 variable: . "~ or @" variable
3064   174         | . "~ or @" functionCall
3065   175         | . variable "." "identifier"
3066   176         | . variable "." keywords
3067   177         | . variable "." functionCall
3068   178         | . functionCall "." "identifier"
3069   179         | . functionCall "." keywords
3070   180         | . variable listableEnd
3071   181         | . functionCall listableEnd
3072   182         | . matrix
3073   183         | . cell
3074   184         | . operation
3075   185         | . "identifier"
3076   186         | . "integer"
3077   187         | . "number"
3078   188         | . "float"
3079   189         | . "string"
3080   190         | . "$"
3081   191         | . "%t or %T"
3082   192         | . "%f or %F"
3083   193         | . "(" variable ")"
3084   194         | . "(" variableFields ")"
3085   195         | . comparison
3086   196         | . variable "(" functionArgs ")"
3087   197         | . functionCall "(" functionArgs ")"
3088   204 cell: . "{" matrixOrCellLines "}"
3089   205     | . "{" "end of line" matrixOrCellLines "}"
3090   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
3091   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
3092   208     | . "{" matrixOrCellColumns "}"
3093   209     | . "{" "end of line" matrixOrCellColumns "}"
3094   210     | . "{" "end of line" "}"
3095   211     | . "{" "}"
3096   212 matrix: . "[" matrixOrCellLines "]"
3097   213       | . "[" "end of line" matrixOrCellLines "]"
3098   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
3099   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
3100   216       | . "[" matrixOrCellColumns "]"
3101   217       | . "[" "end of line" matrixOrCellColumns "]"
3102   218       | . "[" "end of line" "]"
3103   219       | . "[" "]"
3104   283 selectControl: select . selectable selectConditionBreak casesControl "end"
3105   284              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
3106   285              | select . selectable "line comment" selectConditionBreak casesControl "end"
3107   286              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
3108   296 selectable: . variable
3109   297           | . functionCall
3110
3111     "%t or %T"    shift, and go to state 3
3112     "%f or %F"    shift, and go to state 4
3113     "~ or @"      shift, and go to state 5
3114     "$"           shift, and go to state 6
3115     "("           shift, and go to state 9
3116     "["           shift, and go to state 55
3117     "{"           shift, and go to state 11
3118     "+"           shift, and go to state 12
3119     "-"           shift, and go to state 13
3120     "string"      shift, and go to state 24
3121     "identifier"  shift, and go to state 56
3122     "integer"     shift, and go to state 26
3123     "float"       shift, and go to state 27
3124     "number"      shift, and go to state 28
3125
3126     functionCall        go to state 160
3127     simpleFunctionCall  go to state 37
3128     comparison          go to state 39
3129     operation           go to state 40
3130     variable            go to state 161
3131     cell                go to state 42
3132     matrix              go to state 43
3133     selectable          go to state 162
3134
3135
3136 State 50
3137
3138    25 expression: forControl .
3139
3140     $default  reduce using rule 25 (expression)
3141
3142
3143 State 51
3144
3145    26 expression: whileControl .
3146
3147     $default  reduce using rule 26 (expression)
3148
3149
3150 State 52
3151
3152    27 expression: tryControl .
3153
3154     $default  reduce using rule 27 (expression)
3155
3156
3157 State 53
3158
3159    32 expression: returnControl .
3160
3161     $default  reduce using rule 32 (expression)
3162
3163
3164 State 54
3165
3166     2 program: "end of line" expressions .
3167
3168     $default  reduce using rule 2 (program)
3169
3170
3171 State 55
3172
3173    47 functionCall: . simpleFunctionCall
3174    48             | . "(" functionCall ")"
3175    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
3176    50                   | . "identifier" "{" functionArgs "}"
3177    51                   | . "identifier" "(" ")"
3178    52                   | . "identifier" "{" "}"
3179    90 comparison: . variable rightComparable
3180    91           | . functionCall rightComparable
3181   122 operation: . variable rightOperand
3182   123          | . functionCall rightOperand
3183   124          | . "-" variable
3184   125          | . "-" functionCall
3185   126          | . "+" variable
3186   127          | . "+" functionCall
3187   128          | . variable "** or ^" variable
3188   129          | . variable "** or ^" functionCall
3189   130          | . functionCall "** or ^" variable
3190   131          | . functionCall "** or ^" functionCall
3191   132          | . variable ".^" variable
3192   133          | . variable ".^" functionCall
3193   134          | . functionCall ".^" variable
3194   135          | . functionCall ".^" functionCall
3195   136          | . variable "'"
3196   137          | . variable ".'"
3197   138          | . functionCall "'"
3198   139          | . functionCall ".'"
3199   173 variable: . "~ or @" variable
3200   174         | . "~ or @" functionCall
3201   175         | . variable "." "identifier"
3202   176         | . variable "." keywords
3203   177         | . variable "." functionCall
3204   178         | . functionCall "." "identifier"
3205   179         | . functionCall "." keywords
3206   180         | . variable listableEnd
3207   181         | . functionCall listableEnd
3208   182         | . matrix
3209   183         | . cell
3210   184         | . operation
3211   185         | . "identifier"
3212   186         | . "integer"
3213   187         | . "number"
3214   188         | . "float"
3215   189         | . "string"
3216   190         | . "$"
3217   191         | . "%t or %T"
3218   192         | . "%f or %F"
3219   193         | . "(" variable ")"
3220   194         | . "(" variableFields ")"
3221   195         | . comparison
3222   196         | . variable "(" functionArgs ")"
3223   197         | . functionCall "(" functionArgs ")"
3224   204 cell: . "{" matrixOrCellLines "}"
3225   205     | . "{" "end of line" matrixOrCellLines "}"
3226   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
3227   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
3228   208     | . "{" matrixOrCellColumns "}"
3229   209     | . "{" "end of line" matrixOrCellColumns "}"
3230   210     | . "{" "end of line" "}"
3231   211     | . "{" "}"
3232   212 matrix: . "[" matrixOrCellLines "]"
3233   212       | "[" . matrixOrCellLines "]"
3234   213       | . "[" "end of line" matrixOrCellLines "]"
3235   213       | "[" . "end of line" matrixOrCellLines "]"
3236   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
3237   214       | "[" . matrixOrCellLines matrixOrCellColumns "]"
3238   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
3239   215       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
3240   216       | . "[" matrixOrCellColumns "]"
3241   216       | "[" . matrixOrCellColumns "]"
3242   217       | . "[" "end of line" matrixOrCellColumns "]"
3243   217       | "[" . "end of line" matrixOrCellColumns "]"
3244   218       | . "[" "end of line" "]"
3245   218       | "[" . "end of line" "]"
3246   219       | . "[" "]"
3247   219       | "[" . "]"
3248   220 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
3249   221                  | . matrixOrCellLine
3250   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
3251   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
3252   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
3253   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
3254   230                    | . matrixOrCellColumns variable
3255   231                    | . matrixOrCellColumns functionCall
3256   232                    | . matrixOrCellColumns "line comment"
3257   233                    | . variable
3258   234                    | . functionCall
3259   235                    | . "line comment"
3260
3261     "end of line"   shift, and go to state 62
3262     "%t or %T"      shift, and go to state 3
3263     "%f or %F"      shift, and go to state 4
3264     "~ or @"        shift, and go to state 5
3265     "$"             shift, and go to state 6
3266     "("             shift, and go to state 9
3267     "["             shift, and go to state 55
3268     "]"             shift, and go to state 63
3269     "{"             shift, and go to state 11
3270     "+"             shift, and go to state 12
3271     "-"             shift, and go to state 13
3272     "string"        shift, and go to state 24
3273     "identifier"    shift, and go to state 56
3274     "integer"       shift, and go to state 26
3275     "float"         shift, and go to state 27
3276     "number"        shift, and go to state 28
3277     "line comment"  shift, and go to state 64
3278
3279     functionCall         go to state 65
3280     simpleFunctionCall   go to state 37
3281     comparison           go to state 39
3282     operation            go to state 40
3283     variable             go to state 66
3284     cell                 go to state 42
3285     matrix               go to state 43
3286     matrixOrCellLines    go to state 67
3287     matrixOrCellLine     go to state 68
3288     matrixOrCellColumns  go to state 163
3289
3290
3291 State 56
3292
3293    49 simpleFunctionCall: "identifier" . "(" functionArgs ")"
3294    50                   | "identifier" . "{" functionArgs "}"
3295    51                   | "identifier" . "(" ")"
3296    52                   | "identifier" . "{" "}"
3297   185 variable: "identifier" .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "'", "~ or @", "$", ",", ":", ";", ")", "[", "]", "}", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
3298
3299     "("  shift, and go to state 96
3300     "{"  shift, and go to state 97
3301
3302     $default  reduce using rule 185 (variable)
3303
3304     Conflict between rule 185 and token "(" resolved as shift (LISTABLE < "(").
3305     Conflict between rule 185 and token "{" resolved as shift (LISTABLE < "{").
3306
3307
3308 State 57
3309
3310    91 comparison: functionCall . rightComparable
3311    92 rightComparable: . "&" variable
3312    93                | . "&" functionCall
3313    94                | . "&" ":"
3314    95                | . "&&" variable
3315    96                | . "&&" functionCall
3316    97                | . "&&" ":"
3317    98                | . "|" variable
3318    99                | . "|" functionCall
3319   100                | . "|" ":"
3320   101                | . "||" variable
3321   102                | . "||" functionCall
3322   103                | . "||" ":"
3323   104                | . "==" variable
3324   105                | . "==" functionCall
3325   106                | . "==" ":"
3326   107                | . "<> or ~=" variable
3327   108                | . "<> or ~=" functionCall
3328   109                | . "<> or ~=" ":"
3329   110                | . ">" variable
3330   111                | . ">" functionCall
3331   112                | . ">" ":"
3332   113                | . "<" variable
3333   114                | . "<" functionCall
3334   115                | . "<" ":"
3335   116                | . ">=" variable
3336   117                | . ">=" functionCall
3337   118                | . ">=" ":"
3338   119                | . "<=" variable
3339   120                | . "<=" functionCall
3340   121                | . "<=" ":"
3341   123 operation: functionCall . rightOperand
3342   130          | functionCall . "** or ^" variable
3343   131          | functionCall . "** or ^" functionCall
3344   134          | functionCall . ".^" variable
3345   135          | functionCall . ".^" functionCall
3346   138          | functionCall . "'"
3347   139          | functionCall . ".'"
3348   140 rightOperand: . "+" variable
3349   141             | . "+" functionCall
3350   142             | . "-" variable
3351   143             | . "-" functionCall
3352   144             | . "*" variable
3353   145             | . "*" functionCall
3354   146             | . ".*" variable
3355   147             | . ".*" functionCall
3356   148             | . ".*." variable
3357   149             | . ".*." functionCall
3358   150             | . "*." variable
3359   151             | . "*." functionCall
3360   152             | . "/" variable
3361   153             | . "/" functionCall
3362   154             | . "./" variable
3363   155             | . "./" functionCall
3364   156             | . "./." variable
3365   157             | . "./." functionCall
3366   158             | . "/." variable
3367   159             | . "/." functionCall
3368   160             | . "\\" variable
3369   161             | . "\\" functionCall
3370   162             | . ".\\" variable
3371   163             | . ".\\" functionCall
3372   164             | . ".\\." variable
3373   165             | . ".\\." functionCall
3374   166             | . "\\." variable
3375   167             | . "\\." functionCall
3376   168 listableBegin: . ":" variable
3377   169              | . ":" functionCall
3378   170 listableEnd: . listableBegin ":" variable
3379   171            | . listableBegin ":" functionCall
3380   172            | . listableBegin
3381   174 variable: "~ or @" functionCall .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "'", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
3382   178         | functionCall . "." "identifier"
3383   179         | functionCall . "." keywords
3384   181         | functionCall . listableEnd
3385   197         | functionCall . "(" functionArgs ")"
3386
3387     "("  shift, and go to state 164
3388     "."  shift, and go to state 165
3389
3390     $default  reduce using rule 174 (variable)
3391
3392     rightComparable  go to state 146
3393     rightOperand     go to state 147
3394     listableBegin    go to state 148
3395     listableEnd      go to state 149
3396
3397     Conflict between rule 174 and token "'" resolved as reduce ("'" < NOT).
3398     Conflict between rule 174 and token ":" resolved as reduce (":" < NOT).
3399     Conflict between rule 174 and token "(" resolved as shift (NOT < "(").
3400     Conflict between rule 174 and token "." resolved as shift (NOT < ".").
3401     Conflict between rule 174 and token ".'" resolved as reduce (".'" < NOT).
3402     Conflict between rule 174 and token "+" resolved as reduce ("+" < NOT).
3403     Conflict between rule 174 and token "-" resolved as reduce ("-" < NOT).
3404     Conflict between rule 174 and token "*" resolved as reduce ("*" < NOT).
3405     Conflict between rule 174 and token ".*" resolved as reduce (".*" < NOT).
3406     Conflict between rule 174 and token ".*." resolved as reduce (".*." < NOT).
3407     Conflict between rule 174 and token "*." resolved as reduce ("*." < NOT).
3408     Conflict between rule 174 and token "/" resolved as reduce ("/" < NOT).
3409     Conflict between rule 174 and token "./" resolved as reduce ("./" < NOT).
3410     Conflict between rule 174 and token "/." resolved as reduce ("/." < NOT).
3411     Conflict between rule 174 and token "./." resolved as reduce ("./." < NOT).
3412     Conflict between rule 174 and token "\\" resolved as reduce ("\\" < NOT).
3413     Conflict between rule 174 and token ".\\" resolved as reduce (".\\" < NOT).
3414     Conflict between rule 174 and token "\\." resolved as reduce ("\\." < NOT).
3415     Conflict between rule 174 and token ".\\." resolved as reduce (".\\." < NOT).
3416     Conflict between rule 174 and token "** or ^" resolved as reduce ("** or ^" < NOT).
3417     Conflict between rule 174 and token ".^" resolved as reduce (".^" < NOT).
3418     Conflict between rule 174 and token "==" resolved as reduce ("==" < NOT).
3419     Conflict between rule 174 and token "<> or ~=" resolved as reduce ("<> or ~=" < NOT).
3420     Conflict between rule 174 and token "<" resolved as reduce ("<" < NOT).
3421     Conflict between rule 174 and token "<=" resolved as reduce ("<=" < NOT).
3422     Conflict between rule 174 and token ">" resolved as reduce (">" < NOT).
3423     Conflict between rule 174 and token ">=" resolved as reduce (">=" < NOT).
3424     Conflict between rule 174 and token "&" resolved as reduce ("&" < NOT).
3425     Conflict between rule 174 and token "&&" resolved as reduce ("&&" < NOT).
3426     Conflict between rule 174 and token "|" resolved as reduce ("|" < NOT).
3427     Conflict between rule 174 and token "||" resolved as reduce ("||" < NOT).
3428
3429
3430 State 58
3431
3432    90 comparison: variable . rightComparable
3433    92 rightComparable: . "&" variable
3434    93                | . "&" functionCall
3435    94                | . "&" ":"
3436    95                | . "&&" variable
3437    96                | . "&&" functionCall
3438    97                | . "&&" ":"
3439    98                | . "|" variable
3440    99                | . "|" functionCall
3441   100                | . "|" ":"
3442   101                | . "||" variable
3443   102                | . "||" functionCall
3444   103                | . "||" ":"
3445   104                | . "==" variable
3446   105                | . "==" functionCall
3447   106                | . "==" ":"
3448   107                | . "<> or ~=" variable
3449   108                | . "<> or ~=" functionCall
3450   109                | . "<> or ~=" ":"
3451   110                | . ">" variable
3452   111                | . ">" functionCall
3453   112                | . ">" ":"
3454   113                | . "<" variable
3455   114                | . "<" functionCall
3456   115                | . "<" ":"
3457   116                | . ">=" variable
3458   117                | . ">=" functionCall
3459   118                | . ">=" ":"
3460   119                | . "<=" variable
3461   120                | . "<=" functionCall
3462   121                | . "<=" ":"
3463   122 operation: variable . rightOperand
3464   128          | variable . "** or ^" variable
3465   129          | variable . "** or ^" functionCall
3466   132          | variable . ".^" variable
3467   133          | variable . ".^" functionCall
3468   136          | variable . "'"
3469   137          | variable . ".'"
3470   140 rightOperand: . "+" variable
3471   141             | . "+" functionCall
3472   142             | . "-" variable
3473   143             | . "-" functionCall
3474   144             | . "*" variable
3475   145             | . "*" functionCall
3476   146             | . ".*" variable
3477   147             | . ".*" functionCall
3478   148             | . ".*." variable
3479   149             | . ".*." functionCall
3480   150             | . "*." variable
3481   151             | . "*." functionCall
3482   152             | . "/" variable
3483   153             | . "/" functionCall
3484   154             | . "./" variable
3485   155             | . "./" functionCall
3486   156             | . "./." variable
3487   157             | . "./." functionCall
3488   158             | . "/." variable
3489   159             | . "/." functionCall
3490   160             | . "\\" variable
3491   161             | . "\\" functionCall
3492   162             | . ".\\" variable
3493   163             | . ".\\" functionCall
3494   164             | . ".\\." variable
3495   165             | . ".\\." functionCall
3496   166             | . "\\." variable
3497   167             | . "\\." functionCall
3498   168 listableBegin: . ":" variable
3499   169              | . ":" functionCall
3500   170 listableEnd: . listableBegin ":" variable
3501   171            | . listableBegin ":" functionCall
3502   172            | . listableBegin
3503   173 variable: "~ or @" variable .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "'", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
3504   175         | variable . "." "identifier"
3505   176         | variable . "." keywords
3506   177         | variable . "." functionCall
3507   180         | variable . listableEnd
3508   196         | variable . "(" functionArgs ")"
3509
3510     "("  shift, and go to state 166
3511     "."  shift, and go to state 167
3512
3513     $default  reduce using rule 173 (variable)
3514
3515     rightComparable  go to state 156
3516     rightOperand     go to state 157
3517     listableBegin    go to state 148
3518     listableEnd      go to state 158
3519
3520     Conflict between rule 173 and token "'" resolved as reduce ("'" < NOT).
3521     Conflict between rule 173 and token ":" resolved as reduce (":" < NOT).
3522     Conflict between rule 173 and token "(" resolved as shift (NOT < "(").
3523     Conflict between rule 173 and token "." resolved as shift (NOT < ".").
3524     Conflict between rule 173 and token ".'" resolved as reduce (".'" < NOT).
3525     Conflict between rule 173 and token "+" resolved as reduce ("+" < NOT).
3526     Conflict between rule 173 and token "-" resolved as reduce ("-" < NOT).
3527     Conflict between rule 173 and token "*" resolved as reduce ("*" < NOT).
3528     Conflict between rule 173 and token ".*" resolved as reduce (".*" < NOT).
3529     Conflict between rule 173 and token ".*." resolved as reduce (".*." < NOT).
3530     Conflict between rule 173 and token "*." resolved as reduce ("*." < NOT).
3531     Conflict between rule 173 and token "/" resolved as reduce ("/" < NOT).
3532     Conflict between rule 173 and token "./" resolved as reduce ("./" < NOT).
3533     Conflict between rule 173 and token "/." resolved as reduce ("/." < NOT).
3534     Conflict between rule 173 and token "./." resolved as reduce ("./." < NOT).
3535     Conflict between rule 173 and token "\\" resolved as reduce ("\\" < NOT).
3536     Conflict between rule 173 and token ".\\" resolved as reduce (".\\" < NOT).
3537     Conflict between rule 173 and token "\\." resolved as reduce ("\\." < NOT).
3538     Conflict between rule 173 and token ".\\." resolved as reduce (".\\." < NOT).
3539     Conflict between rule 173 and token "** or ^" resolved as reduce ("** or ^" < NOT).
3540     Conflict between rule 173 and token ".^" resolved as reduce (".^" < NOT).
3541     Conflict between rule 173 and token "==" resolved as reduce ("==" < NOT).
3542     Conflict between rule 173 and token "<> or ~=" resolved as reduce ("<> or ~=" < NOT).
3543     Conflict between rule 173 and token "<" resolved as reduce ("<" < NOT).
3544     Conflict between rule 173 and token "<=" resolved as reduce ("<=" < NOT).
3545     Conflict between rule 173 and token ">" resolved as reduce (">" < NOT).
3546     Conflict between rule 173 and token ">=" resolved as reduce (">=" < NOT).
3547     Conflict between rule 173 and token "&" resolved as reduce ("&" < NOT).
3548     Conflict between rule 173 and token "&&" resolved as reduce ("&&" < NOT).
3549     Conflict between rule 173 and token "|" resolved as reduce ("|" < NOT).
3550     Conflict between rule 173 and token "||" resolved as reduce ("||" < NOT).
3551
3552
3553 State 59
3554
3555    48 functionCall: "(" functionCall . ")"
3556    91 comparison: functionCall . rightComparable
3557    92 rightComparable: . "&" variable
3558    93                | . "&" functionCall
3559    94                | . "&" ":"
3560    95                | . "&&" variable
3561    96                | . "&&" functionCall
3562    97                | . "&&" ":"
3563    98                | . "|" variable
3564    99                | . "|" functionCall
3565   100                | . "|" ":"
3566   101                | . "||" variable
3567   102                | . "||" functionCall
3568   103                | . "||" ":"
3569   104                | . "==" variable
3570   105                | . "==" functionCall
3571   106                | . "==" ":"
3572   107                | . "<> or ~=" variable
3573   108                | . "<> or ~=" functionCall
3574   109                | . "<> or ~=" ":"
3575   110                | . ">" variable
3576   111                | . ">" functionCall
3577   112                | . ">" ":"
3578   113                | . "<" variable
3579   114                | . "<" functionCall
3580   115                | . "<" ":"
3581   116                | . ">=" variable
3582   117                | . ">=" functionCall
3583   118                | . ">=" ":"
3584   119                | . "<=" variable
3585   120                | . "<=" functionCall
3586   121                | . "<=" ":"
3587   123 operation: functionCall . rightOperand
3588   130          | functionCall . "** or ^" variable
3589   131          | functionCall . "** or ^" functionCall
3590   134          | functionCall . ".^" variable
3591   135          | functionCall . ".^" functionCall
3592   138          | functionCall . "'"
3593   139          | functionCall . ".'"
3594   140 rightOperand: . "+" variable
3595   141             | . "+" functionCall
3596   142             | . "-" variable
3597   143             | . "-" functionCall
3598   144             | . "*" variable
3599   145             | . "*" functionCall
3600   146             | . ".*" variable
3601   147             | . ".*" functionCall
3602   148             | . ".*." variable
3603   149             | . ".*." functionCall
3604   150             | . "*." variable
3605   151             | . "*." functionCall
3606   152             | . "/" variable
3607   153             | . "/" functionCall
3608   154             | . "./" variable
3609   155             | . "./" functionCall
3610   156             | . "./." variable
3611   157             | . "./." functionCall
3612   158             | . "/." variable
3613   159             | . "/." functionCall
3614   160             | . "\\" variable
3615   161             | . "\\" functionCall
3616   162             | . ".\\" variable
3617   163             | . ".\\" functionCall
3618   164             | . ".\\." variable
3619   165             | . ".\\." functionCall
3620   166             | . "\\." variable
3621   167             | . "\\." functionCall
3622   168 listableBegin: . ":" variable
3623   169              | . ":" functionCall
3624   170 listableEnd: . listableBegin ":" variable
3625   171            | . listableBegin ":" functionCall
3626   172            | . listableBegin
3627   178 variable: functionCall . "." "identifier"
3628   179         | functionCall . "." keywords
3629   181         | functionCall . listableEnd
3630   197         | functionCall . "(" functionArgs ")"
3631   201 variableFields: functionCall . "," functionCall
3632   202               | functionCall . "," variable
3633
3634     "'"         shift, and go to state 114
3635     ","         shift, and go to state 168
3636     ":"         shift, and go to state 115
3637     "("         shift, and go to state 164
3638     ")"         shift, and go to state 169
3639     "."         shift, and go to state 165
3640     ".'"        shift, and go to state 118
3641     "+"         shift, and go to state 119
3642     "-"         shift, and go to state 120
3643     "*"         shift, and go to state 121
3644     ".*"        shift, and go to state 122
3645     ".*."       shift, and go to state 123
3646     "*."        shift, and go to state 124
3647     "/"         shift, and go to state 125
3648     "./"        shift, and go to state 126
3649     "/."        shift, and go to state 127
3650     "./."       shift, and go to state 128
3651     "\\"        shift, and go to state 129
3652     ".\\"       shift, and go to state 130
3653     "\\."       shift, and go to state 131
3654     ".\\."      shift, and go to state 132
3655     "** or ^"   shift, and go to state 133
3656     ".^"        shift, and go to state 134
3657     "=="        shift, and go to state 135
3658     "<> or ~="  shift, and go to state 136
3659     "<"         shift, and go to state 137
3660     "<="        shift, and go to state 138
3661     ">"         shift, and go to state 139
3662     ">="        shift, and go to state 140
3663     "&"         shift, and go to state 141
3664     "&&"        shift, and go to state 142
3665     "|"         shift, and go to state 143
3666     "||"        shift, and go to state 144
3667
3668     rightComparable  go to state 146
3669     rightOperand     go to state 147
3670     listableBegin    go to state 148
3671     listableEnd      go to state 149
3672
3673
3674 State 60
3675
3676    90 comparison: variable . rightComparable
3677    92 rightComparable: . "&" variable
3678    93                | . "&" functionCall
3679    94                | . "&" ":"
3680    95                | . "&&" variable
3681    96                | . "&&" functionCall
3682    97                | . "&&" ":"
3683    98                | . "|" variable
3684    99                | . "|" functionCall
3685   100                | . "|" ":"
3686   101                | . "||" variable
3687   102                | . "||" functionCall
3688   103                | . "||" ":"
3689   104                | . "==" variable
3690   105                | . "==" functionCall
3691   106                | . "==" ":"
3692   107                | . "<> or ~=" variable
3693   108                | . "<> or ~=" functionCall
3694   109                | . "<> or ~=" ":"
3695   110                | . ">" variable
3696   111                | . ">" functionCall
3697   112                | . ">" ":"
3698   113                | . "<" variable
3699   114                | . "<" functionCall
3700   115                | . "<" ":"
3701   116                | . ">=" variable
3702   117                | . ">=" functionCall
3703   118                | . ">=" ":"
3704   119                | . "<=" variable
3705   120                | . "<=" functionCall
3706   121                | . "<=" ":"
3707   122 operation: variable . rightOperand
3708   128          | variable . "** or ^" variable
3709   129          | variable . "** or ^" functionCall
3710   132          | variable . ".^" variable
3711   133          | variable . ".^" functionCall
3712   136          | variable . "'"
3713   137          | variable . ".'"
3714   140 rightOperand: . "+" variable
3715   141             | . "+" functionCall
3716   142             | . "-" variable
3717   143             | . "-" functionCall
3718   144             | . "*" variable
3719   145             | . "*" functionCall
3720   146             | . ".*" variable
3721   147             | . ".*" functionCall
3722   148             | . ".*." variable
3723   149             | . ".*." functionCall
3724   150             | . "*." variable
3725   151             | . "*." functionCall
3726   152             | . "/" variable
3727   153             | . "/" functionCall
3728   154             | . "./" variable
3729   155             | . "./" functionCall
3730   156             | . "./." variable
3731   157             | . "./." functionCall
3732   158             | . "/." variable
3733   159             | . "/." functionCall
3734   160             | . "\\" variable
3735   161             | . "\\" functionCall
3736   162             | . ".\\" variable
3737   163             | . ".\\" functionCall
3738   164             | . ".\\." variable
3739   165             | . ".\\." functionCall
3740   166             | . "\\." variable
3741   167             | . "\\." functionCall
3742   168 listableBegin: . ":" variable
3743   169              | . ":" functionCall
3744   170 listableEnd: . listableBegin ":" variable
3745   171            | . listableBegin ":" functionCall
3746   172            | . listableBegin
3747   175 variable: variable . "." "identifier"
3748   176         | variable . "." keywords
3749   177         | variable . "." functionCall
3750   180         | variable . listableEnd
3751   193         | "(" variable . ")"
3752   196         | variable . "(" functionArgs ")"
3753   200 variableFields: variable . "," variable
3754   203               | variable . "," functionCall
3755
3756     "'"         shift, and go to state 150
3757     ","         shift, and go to state 170
3758     ":"         shift, and go to state 115
3759     "("         shift, and go to state 166
3760     ")"         shift, and go to state 171
3761     "."         shift, and go to state 167
3762     ".'"        shift, and go to state 153
3763     "+"         shift, and go to state 119
3764     "-"         shift, and go to state 120
3765     "*"         shift, and go to state 121
3766     ".*"        shift, and go to state 122
3767     ".*."       shift, and go to state 123
3768     "*."        shift, and go to state 124
3769     "/"         shift, and go to state 125
3770     "./"        shift, and go to state 126
3771     "/."        shift, and go to state 127
3772     "./."       shift, and go to state 128
3773     "\\"        shift, and go to state 129
3774     ".\\"       shift, and go to state 130
3775     "\\."       shift, and go to state 131
3776     ".\\."      shift, and go to state 132
3777     "** or ^"   shift, and go to state 154
3778     ".^"        shift, and go to state 155
3779     "=="        shift, and go to state 135
3780     "<> or ~="  shift, and go to state 136
3781     "<"         shift, and go to state 137
3782     "<="        shift, and go to state 138
3783     ">"         shift, and go to state 139
3784     ">="        shift, and go to state 140
3785     "&"         shift, and go to state 141
3786     "&&"        shift, and go to state 142
3787     "|"         shift, and go to state 143
3788     "||"        shift, and go to state 144
3789
3790     rightComparable  go to state 156
3791     rightOperand     go to state 157
3792     listableBegin    go to state 148
3793     listableEnd      go to state 158
3794
3795
3796 State 61
3797
3798   194 variable: "(" variableFields . ")"
3799   198 variableFields: variableFields . "," variable
3800   199               | variableFields . "," functionCall
3801
3802     ","  shift, and go to state 172
3803     ")"  shift, and go to state 173
3804
3805
3806 State 62
3807
3808    47 functionCall: . simpleFunctionCall
3809    48             | . "(" functionCall ")"
3810    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
3811    50                   | . "identifier" "{" functionArgs "}"
3812    51                   | . "identifier" "(" ")"
3813    52                   | . "identifier" "{" "}"
3814    90 comparison: . variable rightComparable
3815    91           | . functionCall rightComparable
3816   122 operation: . variable rightOperand
3817   123          | . functionCall rightOperand
3818   124          | . "-" variable
3819   125          | . "-" functionCall
3820   126          | . "+" variable
3821   127          | . "+" functionCall
3822   128          | . variable "** or ^" variable
3823   129          | . variable "** or ^" functionCall
3824   130          | . functionCall "** or ^" variable
3825   131          | . functionCall "** or ^" functionCall
3826   132          | . variable ".^" variable
3827   133          | . variable ".^" functionCall
3828   134          | . functionCall ".^" variable
3829   135          | . functionCall ".^" functionCall
3830   136          | . variable "'"
3831   137          | . variable ".'"
3832   138          | . functionCall "'"
3833   139          | . functionCall ".'"
3834   173 variable: . "~ or @" variable
3835   174         | . "~ or @" functionCall
3836   175         | . variable "." "identifier"
3837   176         | . variable "." keywords
3838   177         | . variable "." functionCall
3839   178         | . functionCall "." "identifier"
3840   179         | . functionCall "." keywords
3841   180         | . variable listableEnd
3842   181         | . functionCall listableEnd
3843   182         | . matrix
3844   183         | . cell
3845   184         | . operation
3846   185         | . "identifier"
3847   186         | . "integer"
3848   187         | . "number"
3849   188         | . "float"
3850   189         | . "string"
3851   190         | . "$"
3852   191         | . "%t or %T"
3853   192         | . "%f or %F"
3854   193         | . "(" variable ")"
3855   194         | . "(" variableFields ")"
3856   195         | . comparison
3857   196         | . variable "(" functionArgs ")"
3858   197         | . functionCall "(" functionArgs ")"
3859   204 cell: . "{" matrixOrCellLines "}"
3860   205     | . "{" "end of line" matrixOrCellLines "}"
3861   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
3862   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
3863   208     | . "{" matrixOrCellColumns "}"
3864   209     | . "{" "end of line" matrixOrCellColumns "}"
3865   210     | . "{" "end of line" "}"
3866   211     | . "{" "}"
3867   212 matrix: . "[" matrixOrCellLines "]"
3868   213       | . "[" "end of line" matrixOrCellLines "]"
3869   213       | "[" "end of line" . matrixOrCellLines "]"
3870   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
3871   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
3872   215       | "[" "end of line" . matrixOrCellLines matrixOrCellColumns "]"
3873   216       | . "[" matrixOrCellColumns "]"
3874   217       | . "[" "end of line" matrixOrCellColumns "]"
3875   217       | "[" "end of line" . matrixOrCellColumns "]"
3876   218       | . "[" "end of line" "]"
3877   218       | "[" "end of line" . "]"
3878   219       | . "[" "]"
3879   220 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
3880   221                  | . matrixOrCellLine
3881   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
3882   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
3883   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
3884   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
3885   230                    | . matrixOrCellColumns variable
3886   231                    | . matrixOrCellColumns functionCall
3887   232                    | . matrixOrCellColumns "line comment"
3888   233                    | . variable
3889   234                    | . functionCall
3890   235                    | . "line comment"
3891
3892     "%t or %T"      shift, and go to state 3
3893     "%f or %F"      shift, and go to state 4
3894     "~ or @"        shift, and go to state 5
3895     "$"             shift, and go to state 6
3896     "("             shift, and go to state 9
3897     "["             shift, and go to state 55
3898     "]"             shift, and go to state 174
3899     "{"             shift, and go to state 11
3900     "+"             shift, and go to state 12
3901     "-"             shift, and go to state 13
3902     "string"        shift, and go to state 24
3903     "identifier"    shift, and go to state 56
3904     "integer"       shift, and go to state 26
3905     "float"         shift, and go to state 27
3906     "number"        shift, and go to state 28
3907     "line comment"  shift, and go to state 64
3908
3909     functionCall         go to state 65
3910     simpleFunctionCall   go to state 37
3911     comparison           go to state 39
3912     operation            go to state 40
3913     variable             go to state 66
3914     cell                 go to state 42
3915     matrix               go to state 43
3916     matrixOrCellLines    go to state 175
3917     matrixOrCellLine     go to state 68
3918     matrixOrCellColumns  go to state 176
3919
3920
3921 State 63
3922
3923   219 matrix: "[" "]" .
3924
3925     $default  reduce using rule 219 (matrix)
3926
3927
3928 State 64
3929
3930   235 matrixOrCellColumns: "line comment" .
3931
3932     $default  reduce using rule 235 (matrixOrCellColumns)
3933
3934
3935 State 65
3936
3937    91 comparison: functionCall . rightComparable
3938    92 rightComparable: . "&" variable
3939    93                | . "&" functionCall
3940    94                | . "&" ":"
3941    95                | . "&&" variable
3942    96                | . "&&" functionCall
3943    97                | . "&&" ":"
3944    98                | . "|" variable
3945    99                | . "|" functionCall
3946   100                | . "|" ":"
3947   101                | . "||" variable
3948   102                | . "||" functionCall
3949   103                | . "||" ":"
3950   104                | . "==" variable
3951   105                | . "==" functionCall
3952   106                | . "==" ":"
3953   107                | . "<> or ~=" variable
3954   108                | . "<> or ~=" functionCall
3955   109                | . "<> or ~=" ":"
3956   110                | . ">" variable
3957   111                | . ">" functionCall
3958   112                | . ">" ":"
3959   113                | . "<" variable
3960   114                | . "<" functionCall
3961   115                | . "<" ":"
3962   116                | . ">=" variable
3963   117                | . ">=" functionCall
3964   118                | . ">=" ":"
3965   119                | . "<=" variable
3966   120                | . "<=" functionCall
3967   121                | . "<=" ":"
3968   123 operation: functionCall . rightOperand
3969   130          | functionCall . "** or ^" variable
3970   131          | functionCall . "** or ^" functionCall
3971   134          | functionCall . ".^" variable
3972   135          | functionCall . ".^" functionCall
3973   138          | functionCall . "'"
3974   139          | functionCall . ".'"
3975   140 rightOperand: . "+" variable
3976   141             | . "+" functionCall
3977   142             | . "-" variable
3978   143             | . "-" functionCall
3979   144             | . "*" variable
3980   145             | . "*" functionCall
3981   146             | . ".*" variable
3982   147             | . ".*" functionCall
3983   148             | . ".*." variable
3984   149             | . ".*." functionCall
3985   150             | . "*." variable
3986   151             | . "*." functionCall
3987   152             | . "/" variable
3988   153             | . "/" functionCall
3989   154             | . "./" variable
3990   155             | . "./" functionCall
3991   156             | . "./." variable
3992   157             | . "./." functionCall
3993   158             | . "/." variable
3994   159             | . "/." functionCall
3995   160             | . "\\" variable
3996   161             | . "\\" functionCall
3997   162             | . ".\\" variable
3998   163             | . ".\\" functionCall
3999   164             | . ".\\." variable
4000   165             | . ".\\." functionCall
4001   166             | . "\\." variable
4002   167             | . "\\." functionCall
4003   168 listableBegin: . ":" variable
4004   169              | . ":" functionCall
4005   170 listableEnd: . listableBegin ":" variable
4006   171            | . listableBegin ":" functionCall
4007   172            | . listableBegin
4008   178 variable: functionCall . "." "identifier"
4009   179         | functionCall . "." keywords
4010   181         | functionCall . listableEnd
4011   197         | functionCall . "(" functionArgs ")"
4012   234 matrixOrCellColumns: functionCall .  ["end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ";", "[", "]", "{", "}", "string", "identifier", "integer", "float", "number", "line comment"]
4013
4014     "'"         shift, and go to state 114
4015     ":"         shift, and go to state 115
4016     "("         shift, and go to state 164
4017     "."         shift, and go to state 165
4018     ".'"        shift, and go to state 118
4019     "+"         shift, and go to state 119
4020     "-"         shift, and go to state 120
4021     "*"         shift, and go to state 121
4022     ".*"        shift, and go to state 122
4023     ".*."       shift, and go to state 123
4024     "*."        shift, and go to state 124
4025     "/"         shift, and go to state 125
4026     "./"        shift, and go to state 126
4027     "/."        shift, and go to state 127
4028     "./."       shift, and go to state 128
4029     "\\"        shift, and go to state 129
4030     ".\\"       shift, and go to state 130
4031     "\\."       shift, and go to state 131
4032     ".\\."      shift, and go to state 132
4033     "** or ^"   shift, and go to state 133
4034     ".^"        shift, and go to state 134
4035     "=="        shift, and go to state 135
4036     "<> or ~="  shift, and go to state 136
4037     "<"         shift, and go to state 137
4038     "<="        shift, and go to state 138
4039     ">"         shift, and go to state 139
4040     ">="        shift, and go to state 140
4041     "&"         shift, and go to state 141
4042     "&&"        shift, and go to state 142
4043     "|"         shift, and go to state 143
4044     "||"        shift, and go to state 144
4045
4046     $default  reduce using rule 234 (matrixOrCellColumns)
4047
4048     rightComparable  go to state 146
4049     rightOperand     go to state 147
4050     listableBegin    go to state 148
4051     listableEnd      go to state 149
4052
4053     Conflict between rule 234 and token "(" resolved as shift (HIGHLEVEL < "(").
4054     Conflict between rule 234 and token "+" resolved as shift (HIGHLEVEL < "+").
4055     Conflict between rule 234 and token "-" resolved as shift (HIGHLEVEL < "-").
4056
4057
4058 State 66
4059
4060    90 comparison: variable . rightComparable
4061    92 rightComparable: . "&" variable
4062    93                | . "&" functionCall
4063    94                | . "&" ":"
4064    95                | . "&&" variable
4065    96                | . "&&" functionCall
4066    97                | . "&&" ":"
4067    98                | . "|" variable
4068    99                | . "|" functionCall
4069   100                | . "|" ":"
4070   101                | . "||" variable
4071   102                | . "||" functionCall
4072   103                | . "||" ":"
4073   104                | . "==" variable
4074   105                | . "==" functionCall
4075   106                | . "==" ":"
4076   107                | . "<> or ~=" variable
4077   108                | . "<> or ~=" functionCall
4078   109                | . "<> or ~=" ":"
4079   110                | . ">" variable
4080   111                | . ">" functionCall
4081   112                | . ">" ":"
4082   113                | . "<" variable
4083   114                | . "<" functionCall
4084   115                | . "<" ":"
4085   116                | . ">=" variable
4086   117                | . ">=" functionCall
4087   118                | . ">=" ":"
4088   119                | . "<=" variable
4089   120                | . "<=" functionCall
4090   121                | . "<=" ":"
4091   122 operation: variable . rightOperand
4092   128          | variable . "** or ^" variable
4093   129          | variable . "** or ^" functionCall
4094   132          | variable . ".^" variable
4095   133          | variable . ".^" functionCall
4096   136          | variable . "'"
4097   137          | variable . ".'"
4098   140 rightOperand: . "+" variable
4099   141             | . "+" functionCall
4100   142             | . "-" variable
4101   143             | . "-" functionCall
4102   144             | . "*" variable
4103   145             | . "*" functionCall
4104   146             | . ".*" variable
4105   147             | . ".*" functionCall
4106   148             | . ".*." variable
4107   149             | . ".*." functionCall
4108   150             | . "*." variable
4109   151             | . "*." functionCall
4110   152             | . "/" variable
4111   153             | . "/" functionCall
4112   154             | . "./" variable
4113   155             | . "./" functionCall
4114   156             | . "./." variable
4115   157             | . "./." functionCall
4116   158             | . "/." variable
4117   159             | . "/." functionCall
4118   160             | . "\\" variable
4119   161             | . "\\" functionCall
4120   162             | . ".\\" variable
4121   163             | . ".\\" functionCall
4122   164             | . ".\\." variable
4123   165             | . ".\\." functionCall
4124   166             | . "\\." variable
4125   167             | . "\\." functionCall
4126   168 listableBegin: . ":" variable
4127   169              | . ":" functionCall
4128   170 listableEnd: . listableBegin ":" variable
4129   171            | . listableBegin ":" functionCall
4130   172            | . listableBegin
4131   175 variable: variable . "." "identifier"
4132   176         | variable . "." keywords
4133   177         | variable . "." functionCall
4134   180         | variable . listableEnd
4135   196         | variable . "(" functionArgs ")"
4136   233 matrixOrCellColumns: variable .  ["end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ";", "[", "]", "{", "}", "string", "identifier", "integer", "float", "number", "line comment"]
4137
4138     "'"         shift, and go to state 150
4139     ":"         shift, and go to state 115
4140     "("         shift, and go to state 166
4141     "."         shift, and go to state 167
4142     ".'"        shift, and go to state 153
4143     "+"         shift, and go to state 119
4144     "-"         shift, and go to state 120
4145     "*"         shift, and go to state 121
4146     ".*"        shift, and go to state 122
4147     ".*."       shift, and go to state 123
4148     "*."        shift, and go to state 124
4149     "/"         shift, and go to state 125
4150     "./"        shift, and go to state 126
4151     "/."        shift, and go to state 127
4152     "./."       shift, and go to state 128
4153     "\\"        shift, and go to state 129
4154     ".\\"       shift, and go to state 130
4155     "\\."       shift, and go to state 131
4156     ".\\."      shift, and go to state 132
4157     "** or ^"   shift, and go to state 154
4158     ".^"        shift, and go to state 155
4159     "=="        shift, and go to state 135
4160     "<> or ~="  shift, and go to state 136
4161     "<"         shift, and go to state 137
4162     "<="        shift, and go to state 138
4163     ">"         shift, and go to state 139
4164     ">="        shift, and go to state 140
4165     "&"         shift, and go to state 141
4166     "&&"        shift, and go to state 142
4167     "|"         shift, and go to state 143
4168     "||"        shift, and go to state 144
4169
4170     $default  reduce using rule 233 (matrixOrCellColumns)
4171
4172     rightComparable  go to state 156
4173     rightOperand     go to state 157
4174     listableBegin    go to state 148
4175     listableEnd      go to state 158
4176
4177     Conflict between rule 233 and token "(" resolved as shift (HIGHLEVEL < "(").
4178     Conflict between rule 233 and token "+" resolved as shift (HIGHLEVEL < "+").
4179     Conflict between rule 233 and token "-" resolved as shift (HIGHLEVEL < "-").
4180
4181
4182 State 67
4183
4184    47 functionCall: . simpleFunctionCall
4185    48             | . "(" functionCall ")"
4186    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
4187    50                   | . "identifier" "{" functionArgs "}"
4188    51                   | . "identifier" "(" ")"
4189    52                   | . "identifier" "{" "}"
4190    90 comparison: . variable rightComparable
4191    91           | . functionCall rightComparable
4192   122 operation: . variable rightOperand
4193   123          | . functionCall rightOperand
4194   124          | . "-" variable
4195   125          | . "-" functionCall
4196   126          | . "+" variable
4197   127          | . "+" functionCall
4198   128          | . variable "** or ^" variable
4199   129          | . variable "** or ^" functionCall
4200   130          | . functionCall "** or ^" variable
4201   131          | . functionCall "** or ^" functionCall
4202   132          | . variable ".^" variable
4203   133          | . variable ".^" functionCall
4204   134          | . functionCall ".^" variable
4205   135          | . functionCall ".^" functionCall
4206   136          | . variable "'"
4207   137          | . variable ".'"
4208   138          | . functionCall "'"
4209   139          | . functionCall ".'"
4210   173 variable: . "~ or @" variable
4211   174         | . "~ or @" functionCall
4212   175         | . variable "." "identifier"
4213   176         | . variable "." keywords
4214   177         | . variable "." functionCall
4215   178         | . functionCall "." "identifier"
4216   179         | . functionCall "." keywords
4217   180         | . variable listableEnd
4218   181         | . functionCall listableEnd
4219   182         | . matrix
4220   183         | . cell
4221   184         | . operation
4222   185         | . "identifier"
4223   186         | . "integer"
4224   187         | . "number"
4225   188         | . "float"
4226   189         | . "string"
4227   190         | . "$"
4228   191         | . "%t or %T"
4229   192         | . "%f or %F"
4230   193         | . "(" variable ")"
4231   194         | . "(" variableFields ")"
4232   195         | . comparison
4233   196         | . variable "(" functionArgs ")"
4234   197         | . functionCall "(" functionArgs ")"
4235   204 cell: . "{" matrixOrCellLines "}"
4236   205     | . "{" "end of line" matrixOrCellLines "}"
4237   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
4238   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
4239   208     | . "{" matrixOrCellColumns "}"
4240   209     | . "{" "end of line" matrixOrCellColumns "}"
4241   210     | . "{" "end of line" "}"
4242   211     | . "{" "}"
4243   212 matrix: . "[" matrixOrCellLines "]"
4244   212       | "[" matrixOrCellLines . "]"
4245   213       | . "[" "end of line" matrixOrCellLines "]"
4246   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
4247   214       | "[" matrixOrCellLines . matrixOrCellColumns "]"
4248   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
4249   216       | . "[" matrixOrCellColumns "]"
4250   217       | . "[" "end of line" matrixOrCellColumns "]"
4251   218       | . "[" "end of line" "]"
4252   219       | . "[" "]"
4253   220 matrixOrCellLines: matrixOrCellLines . matrixOrCellLine
4254   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
4255   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
4256   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
4257   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
4258   230                    | . matrixOrCellColumns variable
4259   231                    | . matrixOrCellColumns functionCall
4260   232                    | . matrixOrCellColumns "line comment"
4261   233                    | . variable
4262   234                    | . functionCall
4263   235                    | . "line comment"
4264
4265     "%t or %T"      shift, and go to state 3
4266     "%f or %F"      shift, and go to state 4
4267     "~ or @"        shift, and go to state 5
4268     "$"             shift, and go to state 6
4269     "("             shift, and go to state 9
4270     "["             shift, and go to state 55
4271     "]"             shift, and go to state 177
4272     "{"             shift, and go to state 11
4273     "+"             shift, and go to state 12
4274     "-"             shift, and go to state 13
4275     "string"        shift, and go to state 24
4276     "identifier"    shift, and go to state 56
4277     "integer"       shift, and go to state 26
4278     "float"         shift, and go to state 27
4279     "number"        shift, and go to state 28
4280     "line comment"  shift, and go to state 64
4281
4282     functionCall         go to state 65
4283     simpleFunctionCall   go to state 37
4284     comparison           go to state 39
4285     operation            go to state 40
4286     variable             go to state 66
4287     cell                 go to state 42
4288     matrix               go to state 43
4289     matrixOrCellLine     go to state 178
4290     matrixOrCellColumns  go to state 179
4291
4292
4293 State 68
4294
4295   221 matrixOrCellLines: matrixOrCellLine .
4296
4297     $default  reduce using rule 221 (matrixOrCellLines)
4298
4299
4300 State 69
4301
4302    47 functionCall: . simpleFunctionCall
4303    48             | . "(" functionCall ")"
4304    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
4305    50                   | . "identifier" "{" functionArgs "}"
4306    51                   | . "identifier" "(" ")"
4307    52                   | . "identifier" "{" "}"
4308    90 comparison: . variable rightComparable
4309    91           | . functionCall rightComparable
4310   122 operation: . variable rightOperand
4311   123          | . functionCall rightOperand
4312   124          | . "-" variable
4313   125          | . "-" functionCall
4314   126          | . "+" variable
4315   127          | . "+" functionCall
4316   128          | . variable "** or ^" variable
4317   129          | . variable "** or ^" functionCall
4318   130          | . functionCall "** or ^" variable
4319   131          | . functionCall "** or ^" functionCall
4320   132          | . variable ".^" variable
4321   133          | . variable ".^" functionCall
4322   134          | . functionCall ".^" variable
4323   135          | . functionCall ".^" functionCall
4324   136          | . variable "'"
4325   137          | . variable ".'"
4326   138          | . functionCall "'"
4327   139          | . functionCall ".'"
4328   173 variable: . "~ or @" variable
4329   174         | . "~ or @" functionCall
4330   175         | . variable "." "identifier"
4331   176         | . variable "." keywords
4332   177         | . variable "." functionCall
4333   178         | . functionCall "." "identifier"
4334   179         | . functionCall "." keywords
4335   180         | . variable listableEnd
4336   181         | . functionCall listableEnd
4337   182         | . matrix
4338   183         | . cell
4339   184         | . operation
4340   185         | . "identifier"
4341   186         | . "integer"
4342   187         | . "number"
4343   188         | . "float"
4344   189         | . "string"
4345   190         | . "$"
4346   191         | . "%t or %T"
4347   192         | . "%f or %F"
4348   193         | . "(" variable ")"
4349   194         | . "(" variableFields ")"
4350   195         | . comparison
4351   196         | . variable "(" functionArgs ")"
4352   197         | . functionCall "(" functionArgs ")"
4353   204 cell: . "{" matrixOrCellLines "}"
4354   205     | . "{" "end of line" matrixOrCellLines "}"
4355   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
4356   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
4357   208     | . "{" matrixOrCellColumns "}"
4358   209     | . "{" "end of line" matrixOrCellColumns "}"
4359   210     | . "{" "end of line" "}"
4360   211     | . "{" "}"
4361   212 matrix: . "[" matrixOrCellLines "]"
4362   213       | . "[" "end of line" matrixOrCellLines "]"
4363   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
4364   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
4365   216       | . "[" matrixOrCellColumns "]"
4366   216       | "[" matrixOrCellColumns . "]"
4367   217       | . "[" "end of line" matrixOrCellColumns "]"
4368   218       | . "[" "end of line" "]"
4369   219       | . "[" "]"
4370   222 matrixOrCellLineBreak: . ";"
4371   223                      | . "end of line"
4372   224                      | . matrixOrCellLineBreak "end of line"
4373   225                      | . matrixOrCellLineBreak ";"
4374   226 matrixOrCellLine: matrixOrCellColumns . matrixOrCellLineBreak
4375   227                 | matrixOrCellColumns . matrixOrCellColumnsBreak matrixOrCellLineBreak
4376   228 matrixOrCellColumns: matrixOrCellColumns . matrixOrCellColumnsBreak variable
4377   229                    | matrixOrCellColumns . matrixOrCellColumnsBreak functionCall
4378   230                    | matrixOrCellColumns . variable
4379   231                    | matrixOrCellColumns . functionCall
4380   232                    | matrixOrCellColumns . "line comment"
4381   236 matrixOrCellColumnsBreak: . matrixOrCellColumnsBreak ","
4382   237                         | . ","
4383   255 multipleResults: "[" matrixOrCellColumns . "]"
4384
4385     "end of line"   shift, and go to state 180
4386     "%t or %T"      shift, and go to state 3
4387     "%f or %F"      shift, and go to state 4
4388     "~ or @"        shift, and go to state 5
4389     "$"             shift, and go to state 6
4390     ","             shift, and go to state 181
4391     ";"             shift, and go to state 182
4392     "("             shift, and go to state 9
4393     "["             shift, and go to state 55
4394     "]"             shift, and go to state 183
4395     "{"             shift, and go to state 11
4396     "+"             shift, and go to state 12
4397     "-"             shift, and go to state 13
4398     "string"        shift, and go to state 24
4399     "identifier"    shift, and go to state 56
4400     "integer"       shift, and go to state 26
4401     "float"         shift, and go to state 27
4402     "number"        shift, and go to state 28
4403     "line comment"  shift, and go to state 184
4404
4405     functionCall              go to state 185
4406     simpleFunctionCall        go to state 37
4407     comparison                go to state 39
4408     operation                 go to state 40
4409     variable                  go to state 186
4410     cell                      go to state 42
4411     matrix                    go to state 43
4412     matrixOrCellLineBreak     go to state 187
4413     matrixOrCellColumnsBreak  go to state 188
4414
4415
4416 State 70
4417
4418    47 functionCall: . simpleFunctionCall
4419    48             | . "(" functionCall ")"
4420    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
4421    50                   | . "identifier" "{" functionArgs "}"
4422    51                   | . "identifier" "(" ")"
4423    52                   | . "identifier" "{" "}"
4424    90 comparison: . variable rightComparable
4425    91           | . functionCall rightComparable
4426   122 operation: . variable rightOperand
4427   123          | . functionCall rightOperand
4428   124          | . "-" variable
4429   125          | . "-" functionCall
4430   126          | . "+" variable
4431   127          | . "+" functionCall
4432   128          | . variable "** or ^" variable
4433   129          | . variable "** or ^" functionCall
4434   130          | . functionCall "** or ^" variable
4435   131          | . functionCall "** or ^" functionCall
4436   132          | . variable ".^" variable
4437   133          | . variable ".^" functionCall
4438   134          | . functionCall ".^" variable
4439   135          | . functionCall ".^" functionCall
4440   136          | . variable "'"
4441   137          | . variable ".'"
4442   138          | . functionCall "'"
4443   139          | . functionCall ".'"
4444   173 variable: . "~ or @" variable
4445   174         | . "~ or @" functionCall
4446   175         | . variable "." "identifier"
4447   176         | . variable "." keywords
4448   177         | . variable "." functionCall
4449   178         | . functionCall "." "identifier"
4450   179         | . functionCall "." keywords
4451   180         | . variable listableEnd
4452   181         | . functionCall listableEnd
4453   182         | . matrix
4454   183         | . cell
4455   184         | . operation
4456   185         | . "identifier"
4457   186         | . "integer"
4458   187         | . "number"
4459   188         | . "float"
4460   189         | . "string"
4461   190         | . "$"
4462   191         | . "%t or %T"
4463   192         | . "%f or %F"
4464   193         | . "(" variable ")"
4465   194         | . "(" variableFields ")"
4466   195         | . comparison
4467   196         | . variable "(" functionArgs ")"
4468   197         | . functionCall "(" functionArgs ")"
4469   204 cell: . "{" matrixOrCellLines "}"
4470   205     | . "{" "end of line" matrixOrCellLines "}"
4471   205     | "{" "end of line" . matrixOrCellLines "}"
4472   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
4473   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
4474   207     | "{" "end of line" . matrixOrCellLines matrixOrCellColumns "}"
4475   208     | . "{" matrixOrCellColumns "}"
4476   209     | . "{" "end of line" matrixOrCellColumns "}"
4477   209     | "{" "end of line" . matrixOrCellColumns "}"
4478   210     | . "{" "end of line" "}"
4479   210     | "{" "end of line" . "}"
4480   211     | . "{" "}"
4481   212 matrix: . "[" matrixOrCellLines "]"
4482   213       | . "[" "end of line" matrixOrCellLines "]"
4483   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
4484   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
4485   216       | . "[" matrixOrCellColumns "]"
4486   217       | . "[" "end of line" matrixOrCellColumns "]"
4487   218       | . "[" "end of line" "]"
4488   219       | . "[" "]"
4489   220 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
4490   221                  | . matrixOrCellLine
4491   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
4492   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
4493   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
4494   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
4495   230                    | . matrixOrCellColumns variable
4496   231                    | . matrixOrCellColumns functionCall
4497   232                    | . matrixOrCellColumns "line comment"
4498   233                    | . variable
4499   234                    | . functionCall
4500   235                    | . "line comment"
4501
4502     "%t or %T"      shift, and go to state 3
4503     "%f or %F"      shift, and go to state 4
4504     "~ or @"        shift, and go to state 5
4505     "$"             shift, and go to state 6
4506     "("             shift, and go to state 9
4507     "["             shift, and go to state 55
4508     "{"             shift, and go to state 11
4509     "}"             shift, and go to state 189
4510     "+"             shift, and go to state 12
4511     "-"             shift, and go to state 13
4512     "string"        shift, and go to state 24
4513     "identifier"    shift, and go to state 56
4514     "integer"       shift, and go to state 26
4515     "float"         shift, and go to state 27
4516     "number"        shift, and go to state 28
4517     "line comment"  shift, and go to state 64
4518
4519     functionCall         go to state 65
4520     simpleFunctionCall   go to state 37
4521     comparison           go to state 39
4522     operation            go to state 40
4523     variable             go to state 66
4524     cell                 go to state 42
4525     matrix               go to state 43
4526     matrixOrCellLines    go to state 190
4527     matrixOrCellLine     go to state 68
4528     matrixOrCellColumns  go to state 191
4529
4530
4531 State 71
4532
4533   211 cell: "{" "}" .
4534
4535     $default  reduce using rule 211 (cell)
4536
4537
4538 State 72
4539
4540    47 functionCall: . simpleFunctionCall
4541    48             | . "(" functionCall ")"
4542    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
4543    50                   | . "identifier" "{" functionArgs "}"
4544    51                   | . "identifier" "(" ")"
4545    52                   | . "identifier" "{" "}"
4546    90 comparison: . variable rightComparable
4547    91           | . functionCall rightComparable
4548   122 operation: . variable rightOperand
4549   123          | . functionCall rightOperand
4550   124          | . "-" variable
4551   125          | . "-" functionCall
4552   126          | . "+" variable
4553   127          | . "+" functionCall
4554   128          | . variable "** or ^" variable
4555   129          | . variable "** or ^" functionCall
4556   130          | . functionCall "** or ^" variable
4557   131          | . functionCall "** or ^" functionCall
4558   132          | . variable ".^" variable
4559   133          | . variable ".^" functionCall
4560   134          | . functionCall ".^" variable
4561   135          | . functionCall ".^" functionCall
4562   136          | . variable "'"
4563   137          | . variable ".'"
4564   138          | . functionCall "'"
4565   139          | . functionCall ".'"
4566   173 variable: . "~ or @" variable
4567   174         | . "~ or @" functionCall
4568   175         | . variable "." "identifier"
4569   176         | . variable "." keywords
4570   177         | . variable "." functionCall
4571   178         | . functionCall "." "identifier"
4572   179         | . functionCall "." keywords
4573   180         | . variable listableEnd
4574   181         | . functionCall listableEnd
4575   182         | . matrix
4576   183         | . cell
4577   184         | . operation
4578   185         | . "identifier"
4579   186         | . "integer"
4580   187         | . "number"
4581   188         | . "float"
4582   189         | . "string"
4583   190         | . "$"
4584   191         | . "%t or %T"
4585   192         | . "%f or %F"
4586   193         | . "(" variable ")"
4587   194         | . "(" variableFields ")"
4588   195         | . comparison
4589   196         | . variable "(" functionArgs ")"
4590   197         | . functionCall "(" functionArgs ")"
4591   204 cell: . "{" matrixOrCellLines "}"
4592   204     | "{" matrixOrCellLines . "}"
4593   205     | . "{" "end of line" matrixOrCellLines "}"
4594   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
4595   206     | "{" matrixOrCellLines . matrixOrCellColumns "}"
4596   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
4597   208     | . "{" matrixOrCellColumns "}"
4598   209     | . "{" "end of line" matrixOrCellColumns "}"
4599   210     | . "{" "end of line" "}"
4600   211     | . "{" "}"
4601   212 matrix: . "[" matrixOrCellLines "]"
4602   213       | . "[" "end of line" matrixOrCellLines "]"
4603   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
4604   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
4605   216       | . "[" matrixOrCellColumns "]"
4606   217       | . "[" "end of line" matrixOrCellColumns "]"
4607   218       | . "[" "end of line" "]"
4608   219       | . "[" "]"
4609   220 matrixOrCellLines: matrixOrCellLines . matrixOrCellLine
4610   226 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
4611   227                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
4612   228 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
4613   229                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
4614   230                    | . matrixOrCellColumns variable
4615   231                    | . matrixOrCellColumns functionCall
4616   232                    | . matrixOrCellColumns "line comment"
4617   233                    | . variable
4618   234                    | . functionCall
4619   235                    | . "line comment"
4620
4621     "%t or %T"      shift, and go to state 3
4622     "%f or %F"      shift, and go to state 4
4623     "~ or @"        shift, and go to state 5
4624     "$"             shift, and go to state 6
4625     "("             shift, and go to state 9
4626     "["             shift, and go to state 55
4627     "{"             shift, and go to state 11
4628     "}"             shift, and go to state 192
4629     "+"             shift, and go to state 12
4630     "-"             shift, and go to state 13
4631     "string"        shift, and go to state 24
4632     "identifier"    shift, and go to state 56
4633     "integer"       shift, and go to state 26
4634     "float"         shift, and go to state 27
4635     "number"        shift, and go to state 28
4636     "line comment"  shift, and go to state 64
4637
4638     functionCall         go to state 65
4639     simpleFunctionCall   go to state 37
4640     comparison           go to state 39
4641     operation            go to state 40
4642     variable             go to state 66
4643     cell                 go to state 42
4644     matrix               go to state 43
4645     matrixOrCellLine     go to state 178
4646     matrixOrCellColumns  go to state 193
4647
4648
4649 State 73
4650
4651    47 functionCall: . simpleFunctionCall
4652    48             | . "(" functionCall ")"
4653    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
4654    50                   | . "identifier" "{" functionArgs "}"
4655    51                   | . "identifier" "(" ")"
4656    52                   | . "identifier" "{" "}"
4657    90 comparison: . variable rightComparable
4658    91           | . functionCall rightComparable
4659   122 operation: . variable rightOperand
4660   123          | . functionCall rightOperand
4661   124          | . "-" variable
4662   125          | . "-" functionCall
4663   126          | . "+" variable
4664   127          | . "+" functionCall
4665   128          | . variable "** or ^" variable
4666   129          | . variable "** or ^" functionCall
4667   130          | . functionCall "** or ^" variable
4668   131          | . functionCall "** or ^" functionCall
4669   132          | . variable ".^" variable
4670   133          | . variable ".^" functionCall
4671   134          | . functionCall ".^" variable
4672   135          | . functionCall ".^" functionCall
4673   136          | . variable "'"
4674   137          | . variable ".'"
4675   138          | . functionCall "'"
4676   139          | . functionCall ".'"
4677   173 variable: . "~ or @" variable
4678   174         | . "~ or @" functionCall
4679   175         | . variable "." "identifier"
4680   176         | . variable "." keywords
4681   177         | . variable "." functionCall
4682   178         | . functionCall "." "identifier"
4683   179         | . functionCall "." keywords
4684   180         | . variable listableEnd
4685   181         | . functionCall listableEnd
4686   182         | . matrix
4687   183         | . cell
4688   184         | . operation
4689   185         | . "identifier"
4690   186         | . "integer"
4691   187         | . "number"
4692   188         | . "float"
4693   189         | . "string"
4694   190         | . "$"
4695   191         | . "%t or %T"
4696   192         | . "%f or %F"
4697   193         | . "(" variable ")"
4698   194         | . "(" variableFields ")"
4699   195         | . comparison
4700   196         | . variable "(" functionArgs ")"
4701   197         | . functionCall "(" functionArgs ")"
4702   204 cell: . "{" matrixOrCellLines "}"
4703   205     | . "{" "end of line" matrixOrCellLines "}"
4704   206     | . "{" matrixOrCellLines matrixOrCellColumns "}"
4705   207     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
4706   208     | . "{" matrixOrCellColumns "}"
4707   208     | "{" matrixOrCellColumns . "}"
4708   209     | . "{" "end of line" matrixOrCellColumns "}"
4709   210     | . "{" "end of line" "}"
4710   211     | . "{" "}"
4711   212 matrix: . "[" matrixOrCellLines "]"
4712   213       | . "[" "end of line" matrixOrCellLines "]"
4713   214       | . "[" matrixOrCellLines matrixOrCellColumns "]"
4714   215       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
4715   216       | . "[" matrixOrCellColumns "]"
4716   217       | . "[" "end of line" matrixOrCellColumns "]"
4717   218       | . "[" "end of line" "]"
4718   219       | . "[" "]"
4719   222 matrixOrCellLineBreak: . ";"
4720   223                      | . "end of line"
4721   224                      | . matrixOrCellLineBreak "end of line"
4722   225                      | . matrixOrCellLineBreak ";"
4723   226 matrixOrCellLine: matrixOrCellColumns . matrixOrCellLineBreak
4724   227                 | matrixOrCellColumns . matrixOrCellColumnsBreak matrixOrCellLineBreak
4725   228 matrixOrCellColumns: matrixOrCellColumns . matrixOrCellColumnsBreak variable
4726   229                    | matrixOrCellColumns . matrixOrCellColumnsBreak functionCall
4727   230                    | matrixOrCellColumns . variable
4728   231                    | matrixOrCellColumns . functionCall
4729   232                    | matrixOrCellColumns . "line comment"
4730   236 matrixOrCellColumnsBreak: . matrixOrCellColumnsBreak ","
4731   237                         | . ","
4732
4733     "end of line"   shift, and go to state 180
4734     "%t or %T"      shift, and go to state 3
4735     "%f or %F"      shift, and go to state 4
4736     "~ or @"        shift, and go to state 5
4737     "$"             shift, and go to state 6
4738     ","             shift, and go to state 181
4739     ";"             shift, and go to state 182
4740     "("             shift, and go to state 9
4741     "["             shift, and go to state 55
4742     "{"             shift, and go to state 11
4743     "}"             shift, and go to state 194
4744     "+"             shift, and go to state 12
4745     "-"             shift, and go to state 13
4746     "string"        shift, and go to state 24
4747     "identifier"    shift, and go to state 56
4748     "integer"       shift, and go to state 26
4749     "float"         shift, and go to state 27
4750     "number"        shift, and go to state 28
4751     "line comment"  shift, and go to state 184
4752
4753     functionCall              go to state 185
4754     simpleFunctionCall        go to state 37
4755     comparison                go to state 39
4756     operation                 go to state 40
4757     variable                  go to state 186
4758     cell                      go to state 42
4759     matrix                    go to state 43
4760     matrixOrCellLineBreak     go to state 187
4761     matrixOrCellColumnsBreak  go to state 188
4762
4763
4764 State 74
4765
4766    91 comparison: functionCall . rightComparable
4767    92 rightComparable: . "&" variable
4768    93                | . "&" functionCall
4769    94                | . "&" ":"
4770    95                | . "&&" variable
4771    96                | . "&&" functionCall
4772    97                | . "&&" ":"
4773    98                | . "|" variable
4774    99                | . "|" functionCall
4775   100                | . "|" ":"
4776   101                | . "||" variable
4777   102                | . "||" functionCall
4778   103                | . "||" ":"
4779   104                | . "==" variable
4780   105                | . "==" functionCall
4781   106                | . "==" ":"
4782   107                | . "<> or ~=" variable
4783   108                | . "<> or ~=" functionCall
4784   109                | . "<> or ~=" ":"
4785   110                | . ">" variable
4786   111                | . ">" functionCall
4787   112                | . ">" ":"
4788   113                | . "<" variable
4789   114                | . "<" functionCall
4790   115                | . "<" ":"
4791   116                | . ">=" variable
4792   117                | . ">=" functionCall
4793   118                | . ">=" ":"
4794   119                | . "<=" variable
4795   120                | . "<=" functionCall
4796   121                | . "<=" ":"
4797   123 operation: functionCall . rightOperand
4798   127          | "+" functionCall .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", "+", "-", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
4799   130          | functionCall . "** or ^" variable
4800   131          | functionCall . "** or ^" functionCall
4801   134          | functionCall . ".^" variable
4802   135          | functionCall . ".^" functionCall
4803   138          | functionCall . "'"
4804   139          | functionCall . ".'"
4805   140 rightOperand: . "+" variable
4806   141             | . "+" functionCall
4807   142             | . "-" variable
4808   143             | . "-" functionCall
4809   144             | . "*" variable
4810   145             | . "*" functionCall
4811   146             | . ".*" variable
4812   147             | . ".*" functionCall
4813   148             | . ".*." variable
4814   149             | . ".*." functionCall
4815   150             | . "*." variable
4816   151             | . "*." functionCall
4817   152             | . "/" variable
4818   153             | . "/" functionCall
4819   154             | . "./" variable
4820   155             | . "./" functionCall
4821   156             | . "./." variable
4822   157             | . "./." functionCall
4823   158             | . "/." variable
4824   159             | . "/." functionCall
4825   160             | . "\\" variable
4826   161             | . "\\" functionCall
4827   162             | . ".\\" variable
4828   163             | . ".\\" functionCall
4829   164             | . ".\\." variable
4830   165             | . ".\\." functionCall
4831   166             | . "\\." variable
4832   167             | . "\\." functionCall
4833   168 listableBegin: . ":" variable
4834   169              | . ":" functionCall
4835   170 listableEnd: . listableBegin ":" variable
4836   171            | . listableBegin ":" functionCall
4837   172            | . listableBegin
4838   178 variable: functionCall . "." "identifier"
4839   179         | functionCall . "." keywords
4840   181         | functionCall . listableEnd
4841   197         | functionCall . "(" functionArgs ")"
4842
4843     "'"        shift, and go to state 114
4844     "("        shift, and go to state 164
4845     "."        shift, and go to state 165
4846     ".'"       shift, and go to state 118
4847     "*"        shift, and go to state 121
4848     ".*"       shift, and go to state 122
4849     ".*."      shift, and go to state 123
4850     "*."       shift, and go to state 124
4851     "/"        shift, and go to state 125
4852     "./"       shift, and go to state 126
4853     "/."       shift, and go to state 127
4854     "./."      shift, and go to state 128
4855     "\\"       shift, and go to state 129
4856     ".\\"      shift, and go to state 130
4857     "\\."      shift, and go to state 131
4858     ".\\."     shift, and go to state 132
4859     "** or ^"  shift, and go to state 133
4860     ".^"       shift, and go to state 134
4861
4862     $default  reduce using rule 127 (operation)
4863
4864     rightComparable  go to state 146
4865     rightOperand     go to state 147
4866     listableBegin    go to state 148
4867     listableEnd      go to state 149
4868
4869     Conflict between rule 127 and token "'" resolved as shift (PLUS < "'").
4870     Conflict between rule 127 and token ":" resolved as reduce (":" < PLUS).
4871     Conflict between rule 127 and token "(" resolved as shift (PLUS < "(").
4872     Conflict between rule 127 and token "." resolved as shift (PLUS < ".").
4873     Conflict between rule 127 and token ".'" resolved as shift (PLUS < ".'").
4874     Conflict between rule 127 and token "+" resolved as reduce (%left "+").
4875     Conflict between rule 127 and token "-" resolved as reduce (%left "-").
4876     Conflict between rule 127 and token "*" resolved as shift (PLUS < "*").
4877     Conflict between rule 127 and token ".*" resolved as shift (PLUS < ".*").
4878     Conflict between rule 127 and token ".*." resolved as shift (PLUS < ".*.").
4879     Conflict between rule 127 and token "*." resolved as shift (PLUS < "*.").
4880     Conflict between rule 127 and token "/" resolved as shift (PLUS < "/").
4881     Conflict between rule 127 and token "./" resolved as shift (PLUS < "./").
4882     Conflict between rule 127 and token "/." resolved as shift (PLUS < "/.").
4883     Conflict between rule 127 and token "./." resolved as shift (PLUS < "./.").
4884     Conflict between rule 127 and token "\\" resolved as shift (PLUS < "\\").
4885     Conflict between rule 127 and token ".\\" resolved as shift (PLUS < ".\\").
4886     Conflict between rule 127 and token "\\." resolved as shift (PLUS < "\\.").
4887     Conflict between rule 127 and token ".\\." resolved as shift (PLUS < ".\\.").
4888     Conflict between rule 127 and token "** or ^" resolved as shift (PLUS < "** or ^").
4889     Conflict between rule 127 and token ".^" resolved as shift (PLUS < ".^").
4890     Conflict between rule 127 and token "==" resolved as reduce ("==" < PLUS).
4891     Conflict between rule 127 and token "<> or ~=" resolved as reduce ("<> or ~=" < PLUS).
4892     Conflict between rule 127 and token "<" resolved as reduce ("<" < PLUS).
4893     Conflict between rule 127 and token "<=" resolved as reduce ("<=" < PLUS).
4894     Conflict between rule 127 and token ">" resolved as reduce (">" < PLUS).
4895     Conflict between rule 127 and token ">=" resolved as reduce (">=" < PLUS).
4896     Conflict between rule 127 and token "&" resolved as reduce ("&" < PLUS).
4897     Conflict between rule 127 and token "&&" resolved as reduce ("&&" < PLUS).
4898     Conflict between rule 127 and token "|" resolved as reduce ("|" < PLUS).
4899     Conflict between rule 127 and token "||" resolved as reduce ("||" < PLUS).
4900
4901
4902 State 75
4903
4904    90 comparison: variable . rightComparable
4905    92 rightComparable: . "&" variable
4906    93                | . "&" functionCall
4907    94                | . "&" ":"
4908    95                | . "&&" variable
4909    96                | . "&&" functionCall
4910    97                | . "&&" ":"
4911    98                | . "|" variable
4912    99                | . "|" functionCall
4913   100                | . "|" ":"
4914   101                | . "||" variable
4915   102                | . "||" functionCall
4916   103                | . "||" ":"
4917   104                | . "==" variable
4918   105                | . "==" functionCall
4919   106                | . "==" ":"
4920   107                | . "<> or ~=" variable
4921   108                | . "<> or ~=" functionCall
4922   109                | . "<> or ~=" ":"
4923   110                | . ">" variable
4924   111                | . ">" functionCall
4925   112                | . ">" ":"
4926   113                | . "<" variable
4927   114                | . "<" functionCall
4928   115                | . "<" ":"
4929   116                | . ">=" variable
4930   117                | . ">=" functionCall
4931   118                | . ">=" ":"
4932   119                | . "<=" variable
4933   120                | . "<=" functionCall
4934   121                | . "<=" ":"
4935   122 operation: variable . rightOperand
4936   126          | "+" variable .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", "+", "-", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
4937   128          | variable . "** or ^" variable
4938   129          | variable . "** or ^" functionCall
4939   132          | variable . ".^" variable
4940   133          | variable . ".^" functionCall
4941   136          | variable . "'"
4942   137          | variable . ".'"
4943   140 rightOperand: . "+" variable
4944   141             | . "+" functionCall
4945   142             | . "-" variable
4946   143             | . "-" functionCall
4947   144             | . "*" variable
4948   145             | . "*" functionCall
4949   146             | . ".*" variable
4950   147             | . ".*" functionCall
4951   148             | . ".*." variable
4952   149             | . ".*." functionCall
4953   150             | . "*." variable
4954   151             | . "*." functionCall
4955   152             | . "/" variable
4956   153             | . "/" functionCall
4957   154             | . "./" variable
4958   155             | . "./" functionCall
4959   156             | . "./." variable
4960   157             | . "./." functionCall
4961   158             | . "/." variable
4962   159             | . "/." functionCall
4963   160             | . "\\" variable
4964   161             | . "\\" functionCall
4965   162             | . ".\\" variable
4966   163             | . ".\\" functionCall
4967   164             | . ".\\." variable
4968   165             | . ".\\." functionCall
4969   166             | . "\\." variable
4970   167             | . "\\." functionCall
4971   168 listableBegin: . ":" variable
4972   169              | . ":" functionCall
4973   170 listableEnd: . listableBegin ":" variable
4974   171            | . listableBegin ":" functionCall
4975   172            | . listableBegin
4976   175 variable: variable . "." "identifier"
4977   176         | variable . "." keywords
4978   177         | variable . "." functionCall
4979   180         | variable . listableEnd
4980   196         | variable . "(" functionArgs ")"
4981
4982     "'"        shift, and go to state 150
4983     "("        shift, and go to state 166
4984     "."        shift, and go to state 167
4985     ".'"       shift, and go to state 153
4986     "*"        shift, and go to state 121
4987     ".*"       shift, and go to state 122
4988     ".*."      shift, and go to state 123
4989     "*."       shift, and go to state 124
4990     "/"        shift, and go to state 125
4991     "./"       shift, and go to state 126
4992     "/."       shift, and go to state 127
4993     "./."      shift, and go to state 128
4994     "\\"       shift, and go to state 129
4995     ".\\"      shift, and go to state 130
4996     "\\."      shift, and go to state 131
4997     ".\\."     shift, and go to state 132
4998     "** or ^"  shift, and go to state 154
4999     ".^"       shift, and go to state 155
5000
5001     $default  reduce using rule 126 (operation)
5002
5003     rightComparable  go to state 156
5004     rightOperand     go to state 157
5005     listableBegin    go to state 148
5006     listableEnd      go to state 158
5007
5008     Conflict between rule 126 and token "'" resolved as shift (PLUS < "'").
5009     Conflict between rule 126 and token ":" resolved as reduce (":" < PLUS).
5010     Conflict between rule 126 and token "(" resolved as shift (PLUS < "(").
5011     Conflict between rule 126 and token "." resolved as shift (PLUS < ".").
5012     Conflict between rule 126 and token ".'" resolved as shift (PLUS < ".'").
5013     Conflict between rule 126 and token "+" resolved as reduce (%left "+").
5014     Conflict between rule 126 and token "-" resolved as reduce (%left "-").
5015     Conflict between rule 126 and token "*" resolved as shift (PLUS < "*").
5016     Conflict between rule 126 and token ".*" resolved as shift (PLUS < ".*").
5017     Conflict between rule 126 and token ".*." resolved as shift (PLUS < ".*.").
5018     Conflict between rule 126 and token "*." resolved as shift (PLUS < "*.").
5019     Conflict between rule 126 and token "/" resolved as shift (PLUS < "/").
5020     Conflict between rule 126 and token "./" resolved as shift (PLUS < "./").
5021     Conflict between rule 126 and token "/." resolved as shift (PLUS < "/.").
5022     Conflict between rule 126 and token "./." resolved as shift (PLUS < "./.").
5023     Conflict between rule 126 and token "\\" resolved as shift (PLUS < "\\").
5024     Conflict between rule 126 and token ".\\" resolved as shift (PLUS < ".\\").
5025     Conflict between rule 126 and token "\\." resolved as shift (PLUS < "\\.").
5026     Conflict between rule 126 and token ".\\." resolved as shift (PLUS < ".\\.").
5027     Conflict between rule 126 and token "** or ^" resolved as shift (PLUS < "** or ^").
5028     Conflict between rule 126 and token ".^" resolved as shift (PLUS < ".^").
5029     Conflict between rule 126 and token "==" resolved as reduce ("==" < PLUS).
5030     Conflict between rule 126 and token "<> or ~=" resolved as reduce ("<> or ~=" < PLUS).
5031     Conflict between rule 126 and token "<" resolved as reduce ("<" < PLUS).
5032     Conflict between rule 126 and token "<=" resolved as reduce ("<=" < PLUS).
5033     Conflict between rule 126 and token ">" resolved as reduce (">" < PLUS).
5034     Conflict between rule 126 and token ">=" resolved as reduce (">=" < PLUS).
5035     Conflict between rule 126 and token "&" resolved as reduce ("&" < PLUS).
5036     Conflict between rule 126 and token "&&" resolved as reduce ("&&" < PLUS).
5037     Conflict between rule 126 and token "|" resolved as reduce ("|" < PLUS).
5038     Conflict between rule 126 and token "||" resolved as reduce ("||" < PLUS).
5039
5040
5041 State 76
5042
5043    91 comparison: functionCall . rightComparable
5044    92 rightComparable: . "&" variable
5045    93                | . "&" functionCall
5046    94                | . "&" ":"
5047    95                | . "&&" variable
5048    96                | . "&&" functionCall
5049    97                | . "&&" ":"
5050    98                | . "|" variable
5051    99                | . "|" functionCall
5052   100                | . "|" ":"
5053   101                | . "||" variable
5054   102                | . "||" functionCall
5055   103                | . "||" ":"
5056   104                | . "==" variable
5057   105                | . "==" functionCall
5058   106                | . "==" ":"
5059   107                | . "<> or ~=" variable
5060   108                | . "<> or ~=" functionCall
5061   109                | . "<> or ~=" ":"
5062   110                | . ">" variable
5063   111                | . ">" functionCall
5064   112                | . ">" ":"
5065   113                | . "<" variable
5066   114                | . "<" functionCall
5067   115                | . "<" ":"
5068   116                | . ">=" variable
5069   117                | . ">=" functionCall
5070   118                | . ">=" ":"
5071   119                | . "<=" variable
5072   120                | . "<=" functionCall
5073   121                | . "<=" ":"
5074   123 operation: functionCall . rightOperand
5075   125          | "-" functionCall .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
5076   130          | functionCall . "** or ^" variable
5077   131          | functionCall . "** or ^" functionCall
5078   134          | functionCall . ".^" variable
5079   135          | functionCall . ".^" functionCall
5080   138          | functionCall . "'"
5081   139          | functionCall . ".'"
5082   140 rightOperand: . "+" variable
5083   141             | . "+" functionCall
5084   142             | . "-" variable
5085   143             | . "-" functionCall
5086   144             | . "*" variable
5087   145             | . "*" functionCall
5088   146             | . ".*" variable
5089   147             | . ".*" functionCall
5090   148             | . ".*." variable
5091   149             | . ".*." functionCall
5092   150             | . "*." variable
5093   151             | . "*." functionCall
5094   152             | . "/" variable
5095   153             | . "/" functionCall
5096   154             | . "./" variable
5097   155             | . "./" functionCall
5098   156             | . "./." variable
5099   157             | . "./." functionCall
5100   158             | . "/." variable
5101   159             | . "/." functionCall
5102   160             | . "\\" variable
5103   161             | . "\\" functionCall
5104   162             | . ".\\" variable
5105   163             | . ".\\" functionCall
5106   164             | . ".\\." variable
5107   165             | . ".\\." functionCall
5108   166             | . "\\." variable
5109   167             | . "\\." functionCall
5110   168 listableBegin: . ":" variable
5111   169              | . ":" functionCall
5112   170 listableEnd: . listableBegin ":" variable
5113   171            | . listableBegin ":" functionCall
5114   172            | . listableBegin
5115   178 variable: functionCall . "." "identifier"
5116   179         | functionCall . "." keywords
5117   181         | functionCall . listableEnd
5118   197         | functionCall . "(" functionArgs ")"
5119
5120     "'"        shift, and go to state 114
5121     "("        shift, and go to state 164
5122     "."        shift, and go to state 165
5123     ".'"       shift, and go to state 118
5124     "** or ^"  shift, and go to state 133
5125     ".^"       shift, and go to state 134
5126
5127     $default  reduce using rule 125 (operation)
5128
5129     rightComparable  go to state 146
5130     rightOperand     go to state 147
5131     listableBegin    go to state 148
5132     listableEnd      go to state 149
5133
5134     Conflict between rule 125 and token "'" resolved as shift (UMINUS < "'").
5135     Conflict between rule 125 and token ":" resolved as reduce (":" < UMINUS).
5136     Conflict between rule 125 and token "(" resolved as shift (UMINUS < "(").
5137     Conflict between rule 125 and token "." resolved as shift (UMINUS < ".").
5138     Conflict between rule 125 and token ".'" resolved as shift (UMINUS < ".'").
5139     Conflict between rule 125 and token "+" resolved as reduce ("+" < UMINUS).
5140     Conflict between rule 125 and token "-" resolved as reduce ("-" < UMINUS).
5141     Conflict between rule 125 and token "*" resolved as reduce ("*" < UMINUS).
5142     Conflict between rule 125 and token ".*" resolved as reduce (".*" < UMINUS).
5143     Conflict between rule 125 and token ".*." resolved as reduce (".*." < UMINUS).
5144     Conflict between rule 125 and token "*." resolved as reduce ("*." < UMINUS).
5145     Conflict between rule 125 and token "/" resolved as reduce ("/" < UMINUS).
5146     Conflict between rule 125 and token "./" resolved as reduce ("./" < UMINUS).
5147     Conflict between rule 125 and token "/." resolved as reduce ("/." < UMINUS).
5148     Conflict between rule 125 and token "./." resolved as reduce ("./." < UMINUS).
5149     Conflict between rule 125 and token "\\" resolved as reduce ("\\" < UMINUS).
5150     Conflict between rule 125 and token ".\\" resolved as reduce (".\\" < UMINUS).
5151     Conflict between rule 125 and token "\\." resolved as reduce ("\\." < UMINUS).
5152     Conflict between rule 125 and token ".\\." resolved as reduce (".\\." < UMINUS).
5153     Conflict between rule 125 and token "** or ^" resolved as shift (UMINUS < "** or ^").
5154     Conflict between rule 125 and token ".^" resolved as shift (UMINUS < ".^").
5155     Conflict between rule 125 and token "==" resolved as reduce ("==" < UMINUS).
5156     Conflict between rule 125 and token "<> or ~=" resolved as reduce ("<> or ~=" < UMINUS).
5157     Conflict between rule 125 and token "<" resolved as reduce ("<" < UMINUS).
5158     Conflict between rule 125 and token "<=" resolved as reduce ("<=" < UMINUS).
5159     Conflict between rule 125 and token ">" resolved as reduce (">" < UMINUS).
5160     Conflict between rule 125 and token ">=" resolved as reduce (">=" < UMINUS).
5161     Conflict between rule 125 and token "&" resolved as reduce ("&" < UMINUS).
5162     Conflict between rule 125 and token "&&" resolved as reduce ("&&" < UMINUS).
5163     Conflict between rule 125 and token "|" resolved as reduce ("|" < UMINUS).
5164     Conflict between rule 125 and token "||" resolved as reduce ("||" < UMINUS).
5165
5166
5167 State 77
5168
5169    90 comparison: variable . rightComparable
5170    92 rightComparable: . "&" variable
5171    93                | . "&" functionCall
5172    94                | . "&" ":"
5173    95                | . "&&" variable
5174    96                | . "&&" functionCall
5175    97                | . "&&" ":"
5176    98                | . "|" variable
5177    99                | . "|" functionCall
5178   100                | . "|" ":"
5179   101                | . "||" variable
5180   102                | . "||" functionCall
5181   103                | . "||" ":"
5182   104                | . "==" variable
5183   105                | . "==" functionCall
5184   106                | . "==" ":"
5185   107                | . "<> or ~=" variable
5186   108                | . "<> or ~=" functionCall
5187   109                | . "<> or ~=" ":"
5188   110                | . ">" variable
5189   111                | . ">" functionCall
5190   112                | . ">" ":"
5191   113                | . "<" variable
5192   114                | . "<" functionCall
5193   115                | . "<" ":"
5194   116                | . ">=" variable
5195   117                | . ">=" functionCall
5196   118                | . ">=" ":"
5197   119                | . "<=" variable
5198   120                | . "<=" functionCall
5199   121                | . "<=" ":"
5200   122 operation: variable . rightOperand
5201   124          | "-" variable .  ["end of file", error, "end of line", "%t or %T", "%f or %F", "~ or @", "$", ",", ":", ";", ")", "[", "]", "{", "}", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "if", "then", "else", "elseif", "end", "select", "switch", "case", "otherwise", "function", "endfunction", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
5202   128          | variable . "** or ^" variable
5203   129          | variable . "** or ^" functionCall
5204   132          | variable . ".^" variable
5205   133          | variable . ".^" functionCall
5206   136          | variable . "'"
5207   137          | variable . ".'"
5208   140 rightOperand: . "+" variable
5209   141             | . "+" functionCall
5210   142             | . "-" variable
5211   143             | . "-" functionCall
5212   144             | . "*" variable
5213   145             | . "*" functionCall
5214   146             | . ".*" variable
5215   147             | . ".*" functionCall
5216   148             | . ".*." variable
5217   149             | . ".*." functionCall
5218   150             | . "*." variable
5219   151             | . "*." functionCall
5220   152             | . "/" variable
5221   153             | . "/" functionCall