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