* Bug #13919 fixed - Scilab parsed "hidden" as a reserved keyword but it is not used. 06/17306/2
Clément DAVID [Mon, 12 Oct 2015 08:02:28 +0000 (10:02 +0200)]
Change-Id: I9a1f753eae3b46190e11275821198cd72d16673b

scilab/CHANGES_6.0.X
scilab/modules/ast/includes/parse/parsescilab.hxx
scilab/modules/ast/src/cpp/parse/bison/parsescilab.output
scilab/modules/ast/src/cpp/parse/bison/parsescilab.yy
scilab/modules/ast/src/cpp/parse/flex/scanscilab.ll
scilab/modules/ast/src/cpp/parse/parsescilab.cpp
scilab/modules/ast/src/cpp/parse/scanscilab.cpp
scilab/modules/ast/tests/nonreg_tests/bug_13919.dia.ref [new file with mode: 0644]
scilab/modules/ast/tests/nonreg_tests/bug_13919.tst [new file with mode: 0644]

index dc0ca63..08b50f5 100644 (file)
@@ -47,6 +47,8 @@ Scilab Bug Fixes
 
 * Bug #13907 fixed - Avoids the gray background on the right panel of the palette Browser.
 
+* Bug #13919 fixed - Scilab parsed "hidden" as a reserved keyword but it is not used.
+
 * Bug #13944 fixed - The menu "Toolboxes" was missing.
 
 * Bug #13983 fixed - who_user returned wrong values.
index ed5df3d..8eb46e4 100644 (file)
@@ -103,32 +103,30 @@ enum yytokentype
     OTHERWISE = 312,
     FUNCTION = 313,
     ENDFUNCTION = 314,
-    HIDDENFUNCTION = 315,
-    HIDDEN = 316,
-    FOR = 317,
-    WHILE = 318,
-    DO = 319,
-    BREAK = 320,
-    CONTINUE = 321,
-    TRY = 322,
-    CATCH = 323,
-    RETURN = 324,
-    FLEX_ERROR = 325,
-    STR = 326,
-    ID = 327,
-    VARINT = 328,
-    VARFLOAT = 329,
-    NUM = 330,
-    PATH = 331,
-    COMMENT = 332,
-    BLOCKCOMMENT = 333,
-    TOPLEVEL = 334,
-    HIGHLEVEL = 335,
-    UPLEVEL = 336,
-    LISTABLE = 337,
-    CONTROLBREAK = 338,
-    UMINUS = 339,
-    FUNCTIONCALL = 340
+    FOR = 315,
+    WHILE = 316,
+    DO = 317,
+    BREAK = 318,
+    CONTINUE = 319,
+    TRY = 320,
+    CATCH = 321,
+    RETURN = 322,
+    FLEX_ERROR = 323,
+    STR = 324,
+    ID = 325,
+    VARINT = 326,
+    VARFLOAT = 327,
+    NUM = 328,
+    PATH = 329,
+    COMMENT = 330,
+    BLOCKCOMMENT = 331,
+    TOPLEVEL = 332,
+    HIGHLEVEL = 333,
+    UPLEVEL = 334,
+    LISTABLE = 335,
+    CONTROLBREAK = 336,
+    UMINUS = 337,
+    FUNCTIONCALL = 338
 };
 #endif
 /* Tokens.  */
@@ -190,32 +188,30 @@ enum yytokentype
 #define OTHERWISE 312
 #define FUNCTION 313
 #define ENDFUNCTION 314
-#define HIDDENFUNCTION 315
-#define HIDDEN 316
-#define FOR 317
-#define WHILE 318
-#define DO 319
-#define BREAK 320
-#define CONTINUE 321
-#define TRY 322
-#define CATCH 323
-#define RETURN 324
-#define FLEX_ERROR 325
-#define STR 326
-#define ID 327
-#define VARINT 328
-#define VARFLOAT 329
-#define NUM 330
-#define PATH 331
-#define COMMENT 332
-#define BLOCKCOMMENT 333
-#define TOPLEVEL 334
-#define HIGHLEVEL 335
-#define UPLEVEL 336
-#define LISTABLE 337
-#define CONTROLBREAK 338
-#define UMINUS 339
-#define FUNCTIONCALL 340
+#define FOR 315
+#define WHILE 316
+#define DO 317
+#define BREAK 318
+#define CONTINUE 319
+#define TRY 320
+#define CATCH 321
+#define RETURN 322
+#define FLEX_ERROR 323
+#define STR 324
+#define ID 325
+#define VARINT 326
+#define VARFLOAT 327
+#define NUM 328
+#define PATH 329
+#define COMMENT 330
+#define BLOCKCOMMENT 331
+#define TOPLEVEL 332
+#define HIGHLEVEL 333
+#define UPLEVEL 334
+#define LISTABLE 335
+#define CONTROLBREAK 336
+#define UMINUS 337
+#define FUNCTIONCALL 338
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
index db3aafd..cf7bedf 100644 (file)
@@ -95,394 +95,376 @@ Grammaire
    72                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    73                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-   91 functionDeclarationReturns: idList
-
-   92 functionDeclarationArguments: "(" idList ")"
-   93                             | "(" ")"
-   94                             | %empty
-
-   95 idList: idList "," "identifier"
-   96       | "identifier"
-
-   97 functionDeclarationBreak: lineEnd
-   98                         | ";"
-   99                         | ";" "end of line"
-  100                         | ","
-  101                         | "," "end of line"
-
-  102 functionBody: expressions
-  103             | %empty
-
-  104 condition: functionCall
-  105          | variable
-
-  106 comparison: variable rightComparable
-  107           | functionCall rightComparable
-
-  108 rightComparable: "&" variable
-  109                | "&" functionCall
-  110                | "&" ":"
-  111                | "&&" variable
-  112                | "&&" functionCall
-  113                | "&&" ":"
-  114                | "|" variable
-  115                | "|" functionCall
-  116                | "|" ":"
-  117                | "||" variable
-  118                | "||" functionCall
-  119                | "||" ":"
-  120                | "==" variable
-  121                | "==" functionCall
-  122                | "==" ":"
-  123                | "<> or ~=" variable
-  124                | "<> or ~=" functionCall
-  125                | "<> or ~=" ":"
-  126                | ">" variable
-  127                | ">" functionCall
-  128                | ">" ":"
-  129                | "<" variable
-  130                | "<" functionCall
-  131                | "<" ":"
-  132                | ">=" variable
-  133                | ">=" functionCall
-  134                | ">=" ":"
-  135                | "<=" variable
-  136                | "<=" functionCall
-  137                | "<=" ":"
-
-  138 operation: variable rightOperand
-  139          | functionCall rightOperand
-  140          | "-" variable
-  141          | "-" functionCall
-  142          | "+" variable
-  143          | "+" functionCall
-  144          | variable "** or ^" variable
-  145          | variable "** or ^" functionCall
-  146          | functionCall "** or ^" variable
-  147          | functionCall "** or ^" functionCall
-  148          | variable ".^" variable
-  149          | variable ".^" functionCall
-  150          | functionCall ".^" variable
-  151          | functionCall ".^" functionCall
-  152          | variable "'"
-  153          | variable ".'"
-  154          | functionCall "'"
-  155          | functionCall ".'"
-
-  156 rightOperand: "+" variable
-  157             | "+" functionCall
-  158             | "-" variable
-  159             | "-" functionCall
-  160             | "*" variable
-  161             | "*" functionCall
-  162             | ".*" variable
-  163             | ".*" functionCall
-  164             | ".*." variable
-  165             | ".*." functionCall
-  166             | "*." variable
-  167             | "*." functionCall
-  168             | "/" variable
-  169             | "/" functionCall
-  170             | "./" variable
-  171             | "./" functionCall
-  172             | "./." variable
-  173             | "./." functionCall
-  174             | "/." variable
-  175             | "/." functionCall
-  176             | "\\" variable
-  177             | "\\" functionCall
-  178             | ".\\" variable
-  179             | ".\\" functionCall
-  180             | ".\\." variable
-  181             | ".\\." functionCall
-  182             | "\\." variable
-  183             | "\\." functionCall
-
-  184 listableBegin: ":" variable
-  185              | ":" functionCall
-
-  186 listableEnd: listableBegin ":" variable
-  187            | listableBegin ":" functionCall
-  188            | listableBegin
-
-  189 variable: "~ or @" variable
-  190         | "~ or @" functionCall
-  191         | variable "." "identifier"
-  192         | variable "." keywords
-  193         | variable "." functionCall
-  194         | functionCall "." variable
-  195         | functionCall "." keywords
-  196         | functionCall "." functionCall
-  197         | variable listableEnd
-  198         | functionCall listableEnd
-  199         | matrix
-  200         | cell
-  201         | operation
-  202         | "identifier"
-  203         | "integer"
-  204         | "number"
-  205         | "float"
-  206         | "string"
-  207         | "$"
-  208         | "%t or %T"
-  209         | "%f or %F"
-  210         | "(" variable ")"
-  211         | "(" variableFields ")"
-  212         | comparison
-  213         | variable "(" functionArgs ")"
-  214         | functionCall "(" functionArgs ")"
-
-  215 variableFields: variableFields "," variable
-  216               | variableFields "," functionCall
-  217               | variable "," variable
-  218               | functionCall "," functionCall
-  219               | functionCall "," variable
-  220               | variable "," functionCall
-
-  221 cell: "{" matrixOrCellLines "}"
-  222     | "{" "end of line" matrixOrCellLines "}"
-  223     | "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | "{" matrixOrCellColumns "}"
-  226     | "{" "end of line" matrixOrCellColumns "}"
-  227     | "{" "end of line" "}"
-  228     | "{" "}"
-
-  229 matrix: "[" matrixOrCellLines "]"
-  230       | "[" "end of line" matrixOrCellLines "]"
-  231       | "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | "[" matrixOrCellColumns "]"
-  234       | "[" "end of line" matrixOrCellColumns "]"
-  235       | "[" "end of line" "]"
-  236       | "[" "]"
-
-  237 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
-  238                  | matrixOrCellLine
-
-  239 matrixOrCellLineBreak: ";"
-  240                      | "end of line"
-  241                      | matrixOrCellLineBreak "end of line"
-  242                      | matrixOrCellLineBreak ";"
-
-  243 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
-  244                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-
-  245 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | matrixOrCellColumns variable
-  248                    | matrixOrCellColumns functionCall
-  249                    | matrixOrCellColumns "line comment"
-  250                    | variable
-  251                    | functionCall
-  252                    | "line comment"
-
-  253 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
-  254                         | ","
-
-  255 variableDeclaration: assignable "=" variable
-  256                    | assignable "=" functionCall
-  257                    | functionCall "=" variable
-  258                    | functionCall "=" functionCall
-  259                    | assignable "=" ":"
-  260                    | functionCall "=" ":"
-  261                    | assignable "=" returnControl
-  262                    | functionCall "=" returnControl
-
-  263 assignable: variable "." "identifier"
-  264           | variable "." keywords
-  265           | variable "." functionCall
-  266           | functionCall "." variable
-  267           | functionCall "." keywords
-  268           | functionCall "." functionCall
-  269           | "identifier"
-  270           | multipleResults
-  271           | variable "(" functionArgs ")"
-  272           | functionCall "(" functionArgs ")"
-
-  273 multipleResults: "[" matrixOrCellColumns "]"
-
-  274 ifControl: "if" condition then thenBody "end"
-  275          | "if" condition then thenBody else elseBody "end"
-  276          | "if" condition then thenBody elseIfControl "end"
-
-  277 thenBody: expressions
-  278         | %empty
-
-  279 elseBody: expressions
-  280         | %empty
-
-  281 ifConditionBreak: ";"
-  282                 | ";" "end of line"
-  283                 | ","
-  284                 | "," "end of line"
-  285                 | "end of line"
-
-  286 then: "then"
-  287     | ifConditionBreak "then"
-  288     | ifConditionBreak "then" "end of line"
-  289     | "then" ifConditionBreak
-  290     | ifConditionBreak
-  291     | %empty
-
-  292 else: "else"
-  293     | "else" ","
-  294     | "else" ";"
-  295     | "else" "end of line"
-  296     | "else" "," "end of line"
-  297     | "else" ";" "end of line"
-
-  298 elseIfControl: "elseif" condition then thenBody
-  299              | "elseif" condition then thenBody else elseBody
-  300              | "elseif" condition then thenBody elseIfControl
-
-  301 selectControl: select selectable selectConditionBreak casesControl "end"
-  302              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-
-  305 select: "select"
-  306       | "switch"
-
-  307 defaultCase: else
-  308            | "otherwise"
-  309            | "otherwise" ","
-  310            | "otherwise" ";"
-  311            | "otherwise" "end of line"
-  312            | "otherwise" "," "end of line"
-  313            | "otherwise" ";" "end of line"
-
-  314 selectable: variable
-  315           | functionCall
-
-  316 selectConditionBreak: "end of line"
-  317                     | "," "end of line"
-  318                     | ";" "end of line"
-  319                     | ","
-  320                     | ";"
-
-  321 casesControl: "case" variable caseControlBreak caseBody
-  322             | "case" functionCall caseControlBreak caseBody
-  323             | comments "case" variable caseControlBreak caseBody
-  324             | comments "case" functionCall caseControlBreak caseBody
-  325             | casesControl "case" variable caseControlBreak caseBody
-  326             | casesControl "case" functionCall caseControlBreak caseBody
-
-  327 caseBody: expressions
-  328         | %empty
-
-  329 caseControlBreak: "then"
-  330                 | ","
-  331                 | ";"
-  332                 | "end of line"
-  333                 | "then" "end of line"
-  334                 | "," "end of line"
-  335                 | ";" "end of line"
-  336                 | "then" ","
-  337                 | "then" "," "end of line"
-  338                 | "then" ";"
-  339                 | "then" ";" "end of line"
-  340                 | %empty
-
-  341 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-
-  343 forIterator: functionCall
-  344            | variable
-
-  345 forConditionBreak: "end of line"
-  346                  | ";"
-  347                  | ";" "end of line"
-  348                  | ","
-  349                  | "," "end of line"
-  350                  | "do"
-  351                  | "do" "end of line"
-  352                  | %empty
-
-  353 forBody: expressions
-  354        | %empty
-
-  355 whileControl: "while" condition whileConditionBreak whileBody "end"
-
-  356 whileBody: expressions
-  357          | %empty
-
-  358 whileConditionBreak: ","
-  359                    | ";"
-  360                    | "do"
-  361                    | "do" ","
-  362                    | "do" ";"
-  363                    | "then"
-  364                    | "then" ","
-  365                    | "then" ";"
-  366                    | "line comment" "end of line"
-  367                    | "end of line"
-  368                    | "," "end of line"
-  369                    | ";" "end of line"
-  370                    | "do" "end of line"
-  371                    | "do" "," "end of line"
-  372                    | "do" ";" "end of line"
-  373                    | "then" "end of line"
-  374                    | "then" "," "end of line"
-  375                    | "then" ";" "end of line"
-
-  376 tryControl: "try" catchBody "catch" catchBody "end"
-  377           | "try" catchBody "end"
-
-  378 catchBody: expressions
-  379          | "end of line" expressions
-  380          | ";" expressions
-  381          | "," expressions
-  382          | "end of line"
-  383          | %empty
-
-  384 returnControl: "return"
-  385              | "return" variable
-  386              | "return" functionCall
-
-  387 comments: "line comment" "end of line"
-  388         | comments "line comment" "end of line"
-
-  389 lineEnd: "end of line"
-  390        | "line comment" "end of line"
-
-  391 keywords: "if"
-  392         | "then"
-  393         | "else"
-  394         | "elseif"
-  395         | "end"
-  396         | "select"
-  397         | "switch"
-  398         | "otherwise"
-  399         | "case"
-  400         | "function"
-  401         | "endfunction"
-  402         | "#function"
-  403         | "hidden"
-  404         | "for"
-  405         | "while"
-  406         | "do"
-  407         | "break"
-  408         | "try"
-  409         | "catch"
-  410         | "return"
+
+   75 functionDeclarationReturns: idList
+
+   76 functionDeclarationArguments: "(" idList ")"
+   77                             | "(" ")"
+   78                             | %empty
+
+   79 idList: idList "," "identifier"
+   80       | "identifier"
+
+   81 functionDeclarationBreak: lineEnd
+   82                         | ";"
+   83                         | ";" "end of line"
+   84                         | ","
+   85                         | "," "end of line"
+
+   86 functionBody: expressions
+   87             | %empty
+
+   88 condition: functionCall
+   89          | variable
+
+   90 comparison: variable rightComparable
+   91           | functionCall rightComparable
+
+   92 rightComparable: "&" variable
+   93                | "&" functionCall
+   94                | "&" ":"
+   95                | "&&" variable
+   96                | "&&" functionCall
+   97                | "&&" ":"
+   98                | "|" variable
+   99                | "|" functionCall
+  100                | "|" ":"
+  101                | "||" variable
+  102                | "||" functionCall
+  103                | "||" ":"
+  104                | "==" variable
+  105                | "==" functionCall
+  106                | "==" ":"
+  107                | "<> or ~=" variable
+  108                | "<> or ~=" functionCall
+  109                | "<> or ~=" ":"
+  110                | ">" variable
+  111                | ">" functionCall
+  112                | ">" ":"
+  113                | "<" variable
+  114                | "<" functionCall
+  115                | "<" ":"
+  116                | ">=" variable
+  117                | ">=" functionCall
+  118                | ">=" ":"
+  119                | "<=" variable
+  120                | "<=" functionCall
+  121                | "<=" ":"
+
+  122 operation: variable rightOperand
+  123          | functionCall rightOperand
+  124          | "-" variable
+  125          | "-" functionCall
+  126          | "+" variable
+  127          | "+" functionCall
+  128          | variable "** or ^" variable
+  129          | variable "** or ^" functionCall
+  130          | functionCall "** or ^" variable
+  131          | functionCall "** or ^" functionCall
+  132          | variable ".^" variable
+  133          | variable ".^" functionCall
+  134          | functionCall ".^" variable
+  135          | functionCall ".^" functionCall
+  136          | variable "'"
+  137          | variable ".'"
+  138          | functionCall "'"
+  139          | functionCall ".'"
+
+  140 rightOperand: "+" variable
+  141             | "+" functionCall
+  142             | "-" variable
+  143             | "-" functionCall
+  144             | "*" variable
+  145             | "*" functionCall
+  146             | ".*" variable
+  147             | ".*" functionCall
+  148             | ".*." variable
+  149             | ".*." functionCall
+  150             | "*." variable
+  151             | "*." functionCall
+  152             | "/" variable
+  153             | "/" functionCall
+  154             | "./" variable
+  155             | "./" functionCall
+  156             | "./." variable
+  157             | "./." functionCall
+  158             | "/." variable
+  159             | "/." functionCall
+  160             | "\\" variable
+  161             | "\\" functionCall
+  162             | ".\\" variable
+  163             | ".\\" functionCall
+  164             | ".\\." variable
+  165             | ".\\." functionCall
+  166             | "\\." variable
+  167             | "\\." functionCall
+
+  168 listableBegin: ":" variable
+  169              | ":" functionCall
+
+  170 listableEnd: listableBegin ":" variable
+  171            | listableBegin ":" functionCall
+  172            | listableBegin
+
+  173 variable: "~ or @" variable
+  174         | "~ or @" functionCall
+  175         | variable "." "identifier"
+  176         | variable "." keywords
+  177         | variable "." functionCall
+  178         | functionCall "." variable
+  179         | functionCall "." keywords
+  180         | functionCall "." functionCall
+  181         | variable listableEnd
+  182         | functionCall listableEnd
+  183         | matrix
+  184         | cell
+  185         | operation
+  186         | "identifier"
+  187         | "integer"
+  188         | "number"
+  189         | "float"
+  190         | "string"
+  191         | "$"
+  192         | "%t or %T"
+  193         | "%f or %F"
+  194         | "(" variable ")"
+  195         | "(" variableFields ")"
+  196         | comparison
+  197         | variable "(" functionArgs ")"
+  198         | functionCall "(" functionArgs ")"
+
+  199 variableFields: variableFields "," variable
+  200               | variableFields "," functionCall
+  201               | variable "," variable
+  202               | functionCall "," functionCall
+  203               | functionCall "," variable
+  204               | variable "," functionCall
+
+  205 cell: "{" matrixOrCellLines "}"
+  206     | "{" "end of line" matrixOrCellLines "}"
+  207     | "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | "{" matrixOrCellColumns "}"
+  210     | "{" "end of line" matrixOrCellColumns "}"
+  211     | "{" "end of line" "}"
+  212     | "{" "}"
+
+  213 matrix: "[" matrixOrCellLines "]"
+  214       | "[" "end of line" matrixOrCellLines "]"
+  215       | "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | "[" matrixOrCellColumns "]"
+  218       | "[" "end of line" matrixOrCellColumns "]"
+  219       | "[" "end of line" "]"
+  220       | "[" "]"
+
+  221 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
+  222                  | matrixOrCellLine
+
+  223 matrixOrCellLineBreak: ";"
+  224                      | "end of line"
+  225                      | matrixOrCellLineBreak "end of line"
+  226                      | matrixOrCellLineBreak ";"
+
+  227 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
+  228                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+
+  229 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
+  230                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  231                    | matrixOrCellColumns variable
+  232                    | matrixOrCellColumns functionCall
+  233                    | matrixOrCellColumns "line comment"
+  234                    | variable
+  235                    | functionCall
+  236                    | "line comment"
+
+  237 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
+  238                         | ","
+
+  239 variableDeclaration: assignable "=" variable
+  240                    | assignable "=" functionCall
+  241                    | functionCall "=" variable
+  242                    | functionCall "=" functionCall
+  243                    | assignable "=" ":"
+  244                    | functionCall "=" ":"
+  245                    | assignable "=" returnControl
+  246                    | functionCall "=" returnControl
+
+  247 assignable: variable "." "identifier"
+  248           | variable "." keywords
+  249           | variable "." functionCall
+  250           | functionCall "." variable
+  251           | functionCall "." keywords
+  252           | functionCall "." functionCall
+  253           | "identifier"
+  254           | multipleResults
+  255           | variable "(" functionArgs ")"
+  256           | functionCall "(" functionArgs ")"
+
+  257 multipleResults: "[" matrixOrCellColumns "]"
+
+  258 ifControl: "if" condition then thenBody "end"
+  259          | "if" condition then thenBody else elseBody "end"
+  260          | "if" condition then thenBody elseIfControl "end"
+
+  261 thenBody: expressions
+  262         | %empty
+
+  263 elseBody: expressions
+  264         | %empty
+
+  265 ifConditionBreak: ";"
+  266                 | ";" "end of line"
+  267                 | ","
+  268                 | "," "end of line"
+  269                 | "end of line"
+
+  270 then: "then"
+  271     | ifConditionBreak "then"
+  272     | ifConditionBreak "then" "end of line"
+  273     | "then" ifConditionBreak
+  274     | ifConditionBreak
+  275     | %empty
+
+  276 else: "else"
+  277     | "else" ","
+  278     | "else" ";"
+  279     | "else" "end of line"
+  280     | "else" "," "end of line"
+  281     | "else" ";" "end of line"
+
+  282 elseIfControl: "elseif" condition then thenBody
+  283              | "elseif" condition then thenBody else elseBody
+  284              | "elseif" condition then thenBody elseIfControl
+
+  285 selectControl: select selectable selectConditionBreak casesControl "end"
+  286              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | select selectable "line comment" selectConditionBreak casesControl "end"
+  288              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+
+  289 select: "select"
+  290       | "switch"
+
+  291 defaultCase: else
+  292            | "otherwise"
+  293            | "otherwise" ","
+  294            | "otherwise" ";"
+  295            | "otherwise" "end of line"
+  296            | "otherwise" "," "end of line"
+  297            | "otherwise" ";" "end of line"
+
+  298 selectable: variable
+  299           | functionCall
+
+  300 selectConditionBreak: "end of line"
+  301                     | "," "end of line"
+  302                     | ";" "end of line"
+  303                     | ","
+  304                     | ";"
+
+  305 casesControl: "case" variable caseControlBreak caseBody
+  306             | "case" functionCall caseControlBreak caseBody
+  307             | comments "case" variable caseControlBreak caseBody
+  308             | comments "case" functionCall caseControlBreak caseBody
+  309             | casesControl "case" variable caseControlBreak caseBody
+  310             | casesControl "case" functionCall caseControlBreak caseBody
+
+  311 caseBody: expressions
+  312         | %empty
+
+  313 caseControlBreak: "then"
+  314                 | ","
+  315                 | ";"
+  316                 | "end of line"
+  317                 | "then" "end of line"
+  318                 | "," "end of line"
+  319                 | ";" "end of line"
+  320                 | "then" ","
+  321                 | "then" "," "end of line"
+  322                 | "then" ";"
+  323                 | "then" ";" "end of line"
+  324                 | %empty
+
+  325 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+
+  327 forIterator: functionCall
+  328            | variable
+
+  329 forConditionBreak: "end of line"
+  330                  | ";"
+  331                  | ";" "end of line"
+  332                  | ","
+  333                  | "," "end of line"
+  334                  | "do"
+  335                  | "do" "end of line"
+  336                  | %empty
+
+  337 forBody: expressions
+  338        | %empty
+
+  339 whileControl: "while" condition whileConditionBreak whileBody "end"
+
+  340 whileBody: expressions
+  341          | %empty
+
+  342 whileConditionBreak: ","
+  343                    | ";"
+  344                    | "do"
+  345                    | "do" ","
+  346                    | "do" ";"
+  347                    | "then"
+  348                    | "then" ","
+  349                    | "then" ";"
+  350                    | "line comment" "end of line"
+  351                    | "end of line"
+  352                    | "," "end of line"
+  353                    | ";" "end of line"
+  354                    | "do" "end of line"
+  355                    | "do" "," "end of line"
+  356                    | "do" ";" "end of line"
+  357                    | "then" "end of line"
+  358                    | "then" "," "end of line"
+  359                    | "then" ";" "end of line"
+
+  360 tryControl: "try" catchBody "catch" catchBody "end"
+  361           | "try" catchBody "end"
+
+  362 catchBody: expressions
+  363          | "end of line" expressions
+  364          | ";" expressions
+  365          | "," expressions
+  366          | "end of line"
+  367          | %empty
+
+  368 returnControl: "return"
+  369              | "return" variable
+  370              | "return" functionCall
+
+  371 comments: "line comment" "end of line"
+  372         | comments "line comment" "end of line"
+
+  373 lineEnd: "end of line"
+  374        | "line comment" "end of line"
+
+  375 keywords: "if"
+  376         | "then"
+  377         | "else"
+  378         | "elseif"
+  379         | "end"
+  380         | "select"
+  381         | "switch"
+  382         | "otherwise"
+  383         | "case"
+  384         | "function"
+  385         | "endfunction"
+  386         | "for"
+  387         | "while"
+  388         | "do"
+  389         | "break"
+  390         | "try"
+  391         | "catch"
+  392         | "return"
 
 
 Terminaux, suivis des règles où ils apparaissent
@@ -490,265 +472,255 @@ Terminaux, suivis des règles où ils apparaissent
 "end of file" (0) 0
 error (256) 34
 "line break" (258)
-"end of line" (259) 2 16 19 99 101 222 224 226 227 230 232 234 235
-    240 241 282 284 285 288 295 296 297 311 312 313 316 317 318 332
-    333 334 335 337 339 345 347 349 351 366 367 368 369 370 371 372
-    373 374 375 379 382 387 388 389 390
+"end of line" (259) 2 16 19 83 85 206 208 210 211 214 216 218 219 224
+    225 266 268 269 272 279 280 281 295 296 297 300 301 302 316 317
+    318 319 321 323 329 331 333 335 350 351 352 353 354 355 356 357
+    358 359 363 366 371 372 373 374
 "spaces" (260)
-"%t or %T" (261) 43 208
-"%f or %F" (262) 44 209
-"'" (263) 152 154
-"~ or @" (264) 189 190
-"$" (265) 42 207
-"," (266) 15 18 57 58 59 60 61 62 63 64 65 66 95 100 101 215 216 217
-    218 219 220 253 254 283 284 293 296 309 312 317 319 330 334 336
-    337 348 349 358 361 364 368 371 374 381
-":" (267) 55 60 65 110 113 116 119 122 125 128 131 134 137 184 185
-    186 187 259 260
-";" (268) 14 17 98 99 239 242 281 282 294 297 310 313 318 320 331 335
-    338 339 346 347 359 362 365 369 372 375 380
-"(" (269) 48 49 51 92 93 210 211 213 214 271 272 342
-")" (270) 48 49 51 92 93 210 211 213 214 271 272 342
-"[" (271) 68 69 72 73 76 77 80 81 84 85 88 89 229 230 231 232 233 234
-    235 236 273
-"]" (272) 68 69 72 73 76 77 80 81 84 85 88 89 229 230 231 232 233 234
-    235 236 273
-"{" (273) 50 52 221 222 223 224 225 226 227 228
-"}" (274) 50 52 221 222 223 224 225 226 227 228
-"." (275) 45 191 192 193 194 195 196 263 264 265 266 267 268
-".'" (276) 153 155
-"+" (277) 142 143 156 157
-"-" (278) 140 141 158 159
-"*" (279) 160 161
-".*" (280) 162 163
-".*." (281) 164 165
-"*." (282) 166 167
-"/" (283) 168 169
-"./" (284) 170 171
-"/." (285) 174 175
-"./." (286) 172 173
-"\\" (287) 176 177
-".\\" (288) 178 179
-"\\." (289) 182 183
-".\\." (290) 180 181
-"** or ^" (291) 144 145 146 147
-".^" (292) 148 149 150 151
-"==" (293) 120 121 122
-"<> or ~=" (294) 123 124 125
-"<" (295) 129 130 131
-"<=" (296) 135 136 137
-">" (297) 126 127 128
-">=" (298) 132 133 134
-"&" (299) 108 109 110
-"&&" (300) 111 112 113
-"|" (301) 114 115 116
-"||" (302) 117 118 119
-"=" (303) 67 68 69 71 72 73 75 76 77 79 80 81 83 84 85 87 88 89 255
-    256 257 258 259 260 261 262 341 342
-"if" (304) 274 275 276 391
-"then" (305) 286 287 288 289 329 333 336 337 338 339 363 364 365 373
-    374 375 392
-"else" (306) 292 293 294 295 296 297 393
-"elseif" (307) 298 299 300 394
-"end" (308) 71 72 73 74 79 80 81 82 87 88 89 90 274 275 276 301 302
-    303 304 341 342 355 376 377 395
-"select" (309) 305 396
-"switch" (310) 306 397
-"case" (311) 321 322 323 324 325 326 399
-"otherwise" (312) 308 309 310 311 312 313 398
-"function" (313) 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 400
-"endfunction" (314) 67 68 69 70 75 76 77 78 83 84 85 86 401
-"#function" (315) 75 76 77 78 79 80 81 82 402
-"hidden" (316) 83 84 85 86 87 88 89 90 403
-"for" (317) 341 342 404
-"while" (318) 355 405
-"do" (319) 350 351 360 361 362 370 371 372 406
-"break" (320) 30 407
-"continue" (321) 31
-"try" (322) 376 377 408
-"catch" (323) 376 409
-"return" (324) 384 385 386 410
-FLEX_ERROR (325)
-"string" (326) 41 206
-"identifier" (327) 36 37 45 49 50 51 52 67 68 69 70 71 72 73 74 75
-    76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 95 96 191 202 263
-    269 341 342
-"integer" (328) 38 203
-"float" (329) 40 205
-"number" (330) 39 204
-"path" (331) 46
-"line comment" (332) 7 9 11 12 33 249 252 303 304 366 387 388 390
-"block comment" (333)
-TOPLEVEL (334)
-HIGHLEVEL (335)
-UPLEVEL (336)
-LISTABLE (337)
-CONTROLBREAK (338)
-UMINUS (339)
-FUNCTIONCALL (340)
+"%t or %T" (261) 43 192
+"%f or %F" (262) 44 193
+"'" (263) 136 138
+"~ or @" (264) 173 174
+"$" (265) 42 191
+"," (266) 15 18 57 58 59 60 61 62 63 64 65 66 79 84 85 199 200 201
+    202 203 204 237 238 267 268 277 280 293 296 301 303 314 318 320
+    321 332 333 342 345 348 352 355 358 365
+":" (267) 55 60 65 94 97 100 103 106 109 112 115 118 121 168 169 170
+    171 243 244
+";" (268) 14 17 82 83 223 226 265 266 278 281 294 297 302 304 315 319
+    322 323 330 331 343 346 349 353 356 359 364
+"(" (269) 48 49 51 76 77 194 195 197 198 255 256 326
+")" (270) 48 49 51 76 77 194 195 197 198 255 256 326
+"[" (271) 68 69 72 73 213 214 215 216 217 218 219 220 257
+"]" (272) 68 69 72 73 213 214 215 216 217 218 219 220 257
+"{" (273) 50 52 205 206 207 208 209 210 211 212
+"}" (274) 50 52 205 206 207 208 209 210 211 212
+"." (275) 45 175 176 177 178 179 180 247 248 249 250 251 252
+".'" (276) 137 139
+"+" (277) 126 127 140 141
+"-" (278) 124 125 142 143
+"*" (279) 144 145
+".*" (280) 146 147
+".*." (281) 148 149
+"*." (282) 150 151
+"/" (283) 152 153
+"./" (284) 154 155
+"/." (285) 158 159
+"./." (286) 156 157
+"\\" (287) 160 161
+".\\" (288) 162 163
+"\\." (289) 166 167
+".\\." (290) 164 165
+"** or ^" (291) 128 129 130 131
+".^" (292) 132 133 134 135
+"==" (293) 104 105 106
+"<> or ~=" (294) 107 108 109
+"<" (295) 113 114 115
+"<=" (296) 119 120 121
+">" (297) 110 111 112
+">=" (298) 116 117 118
+"&" (299) 92 93 94
+"&&" (300) 95 96 97
+"|" (301) 98 99 100
+"||" (302) 101 102 103
+"=" (303) 67 68 69 71 72 73 239 240 241 242 243 244 245 246 325 326
+"if" (304) 258 259 260 375
+"then" (305) 270 271 272 273 313 317 320 321 322 323 347 348 349 357
+    358 359 376
+"else" (306) 276 277 278 279 280 281 377
+"elseif" (307) 282 283 284 378
+"end" (308) 71 72 73 74 258 259 260 285 286 287 288 325 326 339 360
+    361 379
+"select" (309) 289 380
+"switch" (310) 290 381
+"case" (311) 305 306 307 308 309 310 383
+"otherwise" (312) 292 293 294 295 296 297 382
+"function" (313) 67 68 69 70 71 72 73 74 384
+"endfunction" (314) 67 68 69 70 385
+"for" (315) 325 326 386
+"while" (316) 339 387
+"do" (317) 334 335 344 345 346 354 355 356 388
+"break" (318) 30 389
+"continue" (319) 31
+"try" (320) 360 361 390
+"catch" (321) 360 391
+"return" (322) 368 369 370 392
+FLEX_ERROR (323)
+"string" (324) 41 190
+"identifier" (325) 36 37 45 49 50 51 52 67 68 69 70 71 72 73 74 79
+    80 175 186 247 253 325 326
+"integer" (326) 38 187
+"float" (327) 40 189
+"number" (328) 39 188
+"path" (329) 46
+"line comment" (330) 7 9 11 12 33 233 236 287 288 350 371 372 374
+"block comment" (331)
+TOPLEVEL (332)
+HIGHLEVEL (333)
+UPLEVEL (334)
+LISTABLE (335)
+CONTROLBREAK (336)
+UMINUS (337)
+FUNCTIONCALL (338)
 
 
 Non-terminaux, suivis des règles où ils apparaissent
 
-$accept (86)
+$accept (84)
     à gauche: 0
-program (87)
+program (85)
     à gauche: 1 2 3 4, à droite: 0
-expressions (88)
-    à gauche: 5 6 7 8 9, à droite: 1 2 102 277 279 327 353 356 378
-    379 380 381
-recursiveExpression (89)
+expressions (86)
+    à gauche: 5 6 7 8 9, à droite: 1 2 86 261 263 311 337 340 362
+    363 364 365
+recursiveExpression (87)
     à gauche: 10 11 12 13, à droite: 5 6 7 10 11
-expressionLineBreak (90)
+expressionLineBreak (88)
     à gauche: 14 15 16 17 18 19, à droite: 3 10 11 12 13 17 18 19
-expression (91)
+expression (89)
     à gauche: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, à droite:
     6 7 8 9 10 11 12 13
-implicitFunctionCall (92)
+implicitFunctionCall (90)
     à gauche: 35 36, à droite: 29 35
-implicitCallable (93)
+implicitCallable (91)
     à gauche: 37 38 39 40 41 42 43 44 45 46, à droite: 35 36 45
-functionCall (94)
-    à gauche: 47 48, à droite: 21 48 54 59 64 104 107 109 112 115
-    118 121 124 127 130 133 136 139 141 143 145 146 147 149 150 151
-    154 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183
-    185 187 190 193 194 195 196 198 214 216 218 219 220 246 248 251
-    256 257 258 260 262 265 266 267 268 272 315 322 324 326 343 386
-simpleFunctionCall (95)
+functionCall (92)
+    à gauche: 47 48, à droite: 21 48 54 59 64 88 91 93 96 99 102
+    105 108 111 114 117 120 123 125 127 129 130 131 133 134 135 138
+    139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169
+    171 174 177 178 179 180 182 198 200 202 203 204 230 232 235 240
+    241 242 244 246 249 250 251 252 256 299 306 308 310 327 370
+simpleFunctionCall (93)
     à gauche: 49 50 51 52, à droite: 47
-functionArgs (96)
+functionArgs (94)
     à gauche: 53 54 55 56 57 58 59 60 61 62 63 64 65 66, à droite:
-    49 50 62 63 64 65 66 213 214 271 272
-functionDeclaration (97)
-    à gauche: 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
-    85 86 87 88 89 90, à droite: 20
-functionDeclarationReturns (98)
-    à gauche: 91, à droite: 68 72 76 80 84 88
-functionDeclarationArguments (99)
-    à gauche: 92 93 94, à droite: 67 68 69 70 71 72 73 74 75 76 77
-    78 79 80 81 82 83 84 85 86 87 88 89 90
-idList (100)
-    à gauche: 95 96, à droite: 91 92 95
-functionDeclarationBreak (101)
-    à gauche: 97 98 99 100 101, à droite: 67 68 69 70 71 72 73 74
-    75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
-functionBody (102)
-    à gauche: 102 103, à droite: 67 68 69 70 71 72 73 74 75 76 77
-    78 79 80 81 82 83 84 85 86 87 88 89 90
-condition (103)
-    à gauche: 104 105, à droite: 274 275 276 298 299 300 355
-comparison (104)
-    à gauche: 106 107, à droite: 212
-rightComparable (105)
-    à gauche: 108 109 110 111 112 113 114 115 116 117 118 119 120
-    121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
-    137, à droite: 106 107
-operation (106)
-    à gauche: 138 139 140 141 142 143 144 145 146 147 148 149 150
-    151 152 153 154 155, à droite: 201
-rightOperand (107)
-    à gauche: 156 157 158 159 160 161 162 163 164 165 166 167 168
-    169 170 171 172 173 174 175 176 177 178 179 180 181 182 183, à droite:
-    138 139
-listableBegin (108)
-    à gauche: 184 185, à droite: 186 187 188
-listableEnd (109)
-    à gauche: 186 187 188, à droite: 197 198
-variable (110)
-    à gauche: 189 190 191 192 193 194 195 196 197 198 199 200 201
-    202 203 204 205 206 207 208 209 210 211 212 213 214, à droite:
-    28 53 58 63 105 106 108 111 114 117 120 123 126 129 132 135 138
-    140 142 144 145 146 148 149 150 152 153 156 158 160 162 164 166
-    168 170 172 174 176 178 180 182 184 186 189 191 192 193 194 197
-    210 213 215 217 219 220 245 247 250 255 257 263 264 265 266 271
-    314 321 323 325 344 385
-variableFields (111)
-    à gauche: 215 216 217 218 219 220, à droite: 211 215 216
-cell (112)
-    à gauche: 221 222 223 224 225 226 227 228, à droite: 200
-matrix (113)
-    à gauche: 229 230 231 232 233 234 235 236, à droite: 199
-matrixOrCellLines (114)
-    à gauche: 237 238, à droite: 221 222 223 224 229 230 231 232
-    237
-matrixOrCellLineBreak (115)
-    à gauche: 239 240 241 242, à droite: 241 242 243 244
-matrixOrCellLine (116)
-    à gauche: 243 244, à droite: 237 238
-matrixOrCellColumns (117)
-    à gauche: 245 246 247 248 249 250 251 252, à droite: 223 224
-    225 226 231 232 233 234 243 244 245 246 247 248 249 273
-matrixOrCellColumnsBreak (118)
-    à gauche: 253 254, à droite: 244 245 246 253
-variableDeclaration (119)
-    à gauche: 255 256 257 258 259 260 261 262, à droite: 22 56 61
+    49 50 62 63 64 65 66 197 198 255 256
+functionDeclaration (95)
+    à gauche: 67 68 69 70 71 72 73 74, à droite: 20
+functionDeclarationReturns (96)
+    à gauche: 75, à droite: 68 72
+functionDeclarationArguments (97)
+    à gauche: 76 77 78, à droite: 67 68 69 70 71 72 73 74
+idList (98)
+    à gauche: 79 80, à droite: 75 76 79
+functionDeclarationBreak (99)
+    à gauche: 81 82 83 84 85, à droite: 67 68 69 70 71 72 73 74
+functionBody (100)
+    à gauche: 86 87, à droite: 67 68 69 70 71 72 73 74
+condition (101)
+    à gauche: 88 89, à droite: 258 259 260 282 283 284 339
+comparison (102)
+    à gauche: 90 91, à droite: 196
+rightComparable (103)
+    à gauche: 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
+    107 108 109 110 111 112 113 114 115 116 117 118 119 120 121, à droite:
+    90 91
+operation (104)
+    à gauche: 122 123 124 125 126 127 128 129 130 131 132 133 134
+    135 136 137 138 139, à droite: 185
+rightOperand (105)
+    à gauche: 140 141 142 143 144 145 146 147 148 149 150 151 152
+    153 154 155 156 157 158 159 160 161 162 163 164 165 166 167, à droite:
+    122 123
+listableBegin (106)
+    à gauche: 168 169, à droite: 170 171 172
+listableEnd (107)
+    à gauche: 170 171 172, à droite: 181 182
+variable (108)
+    à gauche: 173 174 175 176 177 178 179 180 181 182 183 184 185
+    186 187 188 189 190 191 192 193 194 195 196 197 198, à droite:
+    28 53 58 63 89 90 92 95 98 101 104 107 110 113 116 119 122 124
+    126 128 129 130 132 133 134 136 137 140 142 144 146 148 150 152
+    154 156 158 160 162 164 166 168 170 173 175 176 177 178 181 194
+    197 199 201 203 204 229 231 234 239 241 247 248 249 250 255 298
+    305 307 309 328 369
+variableFields (109)
+    à gauche: 199 200 201 202 203 204, à droite: 195 199 200
+cell (110)
+    à gauche: 205 206 207 208 209 210 211 212, à droite: 184
+matrix (111)
+    à gauche: 213 214 215 216 217 218 219 220, à droite: 183
+matrixOrCellLines (112)
+    à gauche: 221 222, à droite: 205 206 207 208 213 214 215 216
+    221
+matrixOrCellLineBreak (113)
+    à gauche: 223 224 225 226, à droite: 225 226 227 228
+matrixOrCellLine (114)
+    à gauche: 227 228, à droite: 221 222
+matrixOrCellColumns (115)
+    à gauche: 229 230 231 232 233 234 235 236, à droite: 207 208
+    209 210 215 216 217 218 227 228 229 230 231 232 233 257
+matrixOrCellColumnsBreak (116)
+    à gauche: 237 238, à droite: 228 229 230 237
+variableDeclaration (117)
+    à gauche: 239 240 241 242 243 244 245 246, à droite: 22 56 61
     66
-assignable (120)
-    à gauche: 263 264 265 266 267 268 269 270 271 272, à droite:
-    255 256 259 261
-multipleResults (121)
-    à gauche: 273, à droite: 270
-ifControl (122)
-    à gauche: 274 275 276, à droite: 23
-thenBody (123)
-    à gauche: 277 278, à droite: 274 275 276 298 299 300
-elseBody (124)
-    à gauche: 279 280, à droite: 275 299 302 304
-ifConditionBreak (125)
-    à gauche: 281 282 283 284 285, à droite: 287 288 289 290
-then (126)
-    à gauche: 286 287 288 289 290 291, à droite: 274 275 276 298
-    299 300
-else (127)
-    à gauche: 292 293 294 295 296 297, à droite: 275 299 307
-elseIfControl (128)
-    à gauche: 298 299 300, à droite: 276 300
-selectControl (129)
-    à gauche: 301 302 303 304, à droite: 24
-select (130)
-    à gauche: 305 306, à droite: 301 302 303 304
-defaultCase (131)
-    à gauche: 307 308 309 310 311 312 313, à droite: 302 304
-selectable (132)
-    à gauche: 314 315, à droite: 301 302 303 304
-selectConditionBreak (133)
-    à gauche: 316 317 318 319 320, à droite: 301 302 303 304
-casesControl (134)
-    à gauche: 321 322 323 324 325 326, à droite: 301 302 303 304
-    325 326
-caseBody (135)
-    à gauche: 327 328, à droite: 321 322 323 324 325 326
-caseControlBreak (136)
-    à gauche: 329 330 331 332 333 334 335 336 337 338 339 340, à droite:
-    321 322 323 324 325 326
-forControl (137)
-    à gauche: 341 342, à droite: 25
-forIterator (138)
-    à gauche: 343 344, à droite: 341 342
-forConditionBreak (139)
-    à gauche: 345 346 347 348 349 350 351 352, à droite: 341 342
-forBody (140)
-    à gauche: 353 354, à droite: 341 342
-whileControl (141)
-    à gauche: 355, à droite: 26
-whileBody (142)
-    à gauche: 356 357, à droite: 355
-whileConditionBreak (143)
-    à gauche: 358 359 360 361 362 363 364 365 366 367 368 369 370
-    371 372 373 374 375, à droite: 355
-tryControl (144)
-    à gauche: 376 377, à droite: 27
-catchBody (145)
-    à gauche: 378 379 380 381 382 383, à droite: 376 377
-returnControl (146)
-    à gauche: 384 385 386, à droite: 32 261 262
-comments (147)
-    à gauche: 387 388, à droite: 323 324 388
-lineEnd (148)
-    à gauche: 389 390, à droite: 97
-keywords (149)
-    à gauche: 391 392 393 394 395 396 397 398 399 400 401 402 403
-    404 405 406 407 408 409 410, à droite: 192 195 264 267
+assignable (118)
+    à gauche: 247 248 249 250 251 252 253 254 255 256, à droite:
+    239 240 243 245
+multipleResults (119)
+    à gauche: 257, à droite: 254
+ifControl (120)
+    à gauche: 258 259 260, à droite: 23
+thenBody (121)
+    à gauche: 261 262, à droite: 258 259 260 282 283 284
+elseBody (122)
+    à gauche: 263 264, à droite: 259 283 286 288
+ifConditionBreak (123)
+    à gauche: 265 266 267 268 269, à droite: 271 272 273 274
+then (124)
+    à gauche: 270 271 272 273 274 275, à droite: 258 259 260 282
+    283 284
+else (125)
+    à gauche: 276 277 278 279 280 281, à droite: 259 283 291
+elseIfControl (126)
+    à gauche: 282 283 284, à droite: 260 284
+selectControl (127)
+    à gauche: 285 286 287 288, à droite: 24
+select (128)
+    à gauche: 289 290, à droite: 285 286 287 288
+defaultCase (129)
+    à gauche: 291 292 293 294 295 296 297, à droite: 286 288
+selectable (130)
+    à gauche: 298 299, à droite: 285 286 287 288
+selectConditionBreak (131)
+    à gauche: 300 301 302 303 304, à droite: 285 286 287 288
+casesControl (132)
+    à gauche: 305 306 307 308 309 310, à droite: 285 286 287 288
+    309 310
+caseBody (133)
+    à gauche: 311 312, à droite: 305 306 307 308 309 310
+caseControlBreak (134)
+    à gauche: 313 314 315 316 317 318 319 320 321 322 323 324, à droite:
+    305 306 307 308 309 310
+forControl (135)
+    à gauche: 325 326, à droite: 25
+forIterator (136)
+    à gauche: 327 328, à droite: 325 326
+forConditionBreak (137)
+    à gauche: 329 330 331 332 333 334 335 336, à droite: 325 326
+forBody (138)
+    à gauche: 337 338, à droite: 325 326
+whileControl (139)
+    à gauche: 339, à droite: 26
+whileBody (140)
+    à gauche: 340 341, à droite: 339
+whileConditionBreak (141)
+    à gauche: 342 343 344 345 346 347 348 349 350 351 352 353 354
+    355 356 357 358 359, à droite: 339
+tryControl (142)
+    à gauche: 360 361, à droite: 27
+catchBody (143)
+    à gauche: 362 363 364 365 366 367, à droite: 360 361
+returnControl (144)
+    à gauche: 368 369 370, à droite: 32 245 246
+comments (145)
+    à gauche: 371 372, à droite: 307 308 372
+lineEnd (146)
+    à gauche: 373 374, à droite: 81
+keywords (147)
+    à gauche: 375 376 377 378 379 380 381 382 383 384 385 386 387
+    388 389 390 391 392, à droite: 176 179 248 251
 
 
 État 0
@@ -804,120 +776,104 @@ keywords (149)
    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  384 returnControl: . "return"
-  385              | . "return" variable
-  386              | . "return" functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  239 variableDeclaration: . assignable "=" variable
+  240                    | . assignable "=" functionCall
+  241                    | . functionCall "=" variable
+  242                    | . functionCall "=" functionCall
+  243                    | . assignable "=" ":"
+  244                    | . functionCall "=" ":"
+  245                    | . assignable "=" returnControl
+  246                    | . functionCall "=" returnControl
+  247 assignable: . variable "." "identifier"
+  248           | . variable "." keywords
+  249           | . variable "." functionCall
+  250           | . functionCall "." variable
+  251           | . functionCall "." keywords
+  252           | . functionCall "." functionCall
+  253           | . "identifier"
+  254           | . multipleResults
+  255           | . variable "(" functionArgs ")"
+  256           | . functionCall "(" functionArgs ")"
+  257 multipleResults: . "[" matrixOrCellColumns "]"
+  258 ifControl: . "if" condition then thenBody "end"
+  259          | . "if" condition then thenBody else elseBody "end"
+  260          | . "if" condition then thenBody elseIfControl "end"
+  285 selectControl: . select selectable selectConditionBreak casesControl "end"
+  286              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  288              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  289 select: . "select"
+  290       | . "switch"
+  325 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  339 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  360 tryControl: . "try" catchBody "catch" catchBody "end"
+  361           | . "try" catchBody "end"
+  368 returnControl: . "return"
+  369              | . "return" variable
+  370              | . "return" functionCall
 
     error           décalage et aller à l'état 1
     "end of line"   décalage et aller à l'état 2
@@ -936,47 +892,45 @@ keywords (149)
     "select"        décalage et aller à l'état 15
     "switch"        décalage et aller à l'état 16
     "function"      décalage et aller à l'état 17
-    "#function"     décalage et aller à l'état 18
-    "hidden"        décalage et aller à l'état 19
-    "for"           décalage et aller à l'état 20
-    "while"         décalage et aller à l'état 21
-    "break"         décalage et aller à l'état 22
-    "continue"      décalage et aller à l'état 23
-    "try"           décalage et aller à l'état 24
-    "return"        décalage et aller à l'état 25
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 27
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 31
+    "for"           décalage et aller à l'état 18
+    "while"         décalage et aller à l'état 19
+    "break"         décalage et aller à l'état 20
+    "continue"      décalage et aller à l'état 21
+    "try"           décalage et aller à l'état 22
+    "return"        décalage et aller à l'état 23
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 25
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 29
 
     "end of file"  réduction par utilisation de la règle 4 (program)
 
-    program               aller à l'état 32
-    expressions           aller à l'état 33
-    recursiveExpression   aller à l'état 34
-    expressionLineBreak   aller à l'état 35
-    expression            aller à l'état 36
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    simpleFunctionCall    aller à l'état 39
-    functionDeclaration   aller à l'état 40
-    comparison            aller à l'état 41
-    operation             aller à l'état 42
-    variable              aller à l'état 43
-    cell                  aller à l'état 44
-    matrix                aller à l'état 45
-    variableDeclaration   aller à l'état 46
-    assignable            aller à l'état 47
-    multipleResults       aller à l'état 48
-    ifControl             aller à l'état 49
-    selectControl         aller à l'état 50
-    select                aller à l'état 51
-    forControl            aller à l'état 52
-    whileControl          aller à l'état 53
-    tryControl            aller à l'état 54
-    returnControl         aller à l'état 55
+    program               aller à l'état 30
+    expressions           aller à l'état 31
+    recursiveExpression   aller à l'état 32
+    expressionLineBreak   aller à l'état 33
+    expression            aller à l'état 34
+    implicitFunctionCall  aller à l'état 35
+    functionCall          aller à l'état 36
+    simpleFunctionCall    aller à l'état 37
+    functionDeclaration   aller à l'état 38
+    comparison            aller à l'état 39
+    operation             aller à l'état 40
+    variable              aller à l'état 41
+    cell                  aller à l'état 42
+    matrix                aller à l'état 43
+    variableDeclaration   aller à l'état 44
+    assignable            aller à l'état 45
+    multipleResults       aller à l'état 46
+    ifControl             aller à l'état 47
+    selectControl         aller à l'état 48
+    select                aller à l'état 49
+    forControl            aller à l'état 50
+    whileControl          aller à l'état 51
+    tryControl            aller à l'état 52
+    returnControl         aller à l'état 53
 
 
 État 1
@@ -1030,120 +984,104 @@ keywords (149)
    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  384 returnControl: . "return"
-  385              | . "return" variable
-  386              | . "return" functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  239 variableDeclaration: . assignable "=" variable
+  240                    | . assignable "=" functionCall
+  241                    | . functionCall "=" variable
+  242                    | . functionCall "=" functionCall
+  243                    | . assignable "=" ":"
+  244                    | . functionCall "=" ":"
+  245                    | . assignable "=" returnControl
+  246                    | . functionCall "=" returnControl
+  247 assignable: . variable "." "identifier"
+  248           | . variable "." keywords
+  249           | . variable "." functionCall
+  250           | . functionCall "." variable
+  251           | . functionCall "." keywords
+  252           | . functionCall "." functionCall
+  253           | . "identifier"
+  254           | . multipleResults
+  255           | . variable "(" functionArgs ")"
+  256           | . functionCall "(" functionArgs ")"
+  257 multipleResults: . "[" matrixOrCellColumns "]"
+  258 ifControl: . "if" condition then thenBody "end"
+  259          | . "if" condition then thenBody else elseBody "end"
+  260          | . "if" condition then thenBody elseIfControl "end"
+  285 selectControl: . select selectable selectConditionBreak casesControl "end"
+  286              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  288              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  289 select: . "select"
+  290       | . "switch"
+  325 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  339 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  360 tryControl: . "try" catchBody "catch" catchBody "end"
+  361           | . "try" catchBody "end"
+  368 returnControl: . "return"
+  369              | . "return" variable
+  370              | . "return" functionCall
 
     error           décalage et aller à l'état 1
     "%t or %T"      décalage et aller à l'état 3
@@ -1159,62 +1097,60 @@ keywords (149)
     "select"        décalage et aller à l'état 15
     "switch"        décalage et aller à l'état 16
     "function"      décalage et aller à l'état 17
-    "#function"     décalage et aller à l'état 18
-    "hidden"        décalage et aller à l'état 19
-    "for"           décalage et aller à l'état 20
-    "while"         décalage et aller à l'état 21
-    "break"         décalage et aller à l'état 22
-    "continue"      décalage et aller à l'état 23
-    "try"           décalage et aller à l'état 24
-    "return"        décalage et aller à l'état 25
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 27
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 31
+    "for"           décalage et aller à l'état 18
+    "while"         décalage et aller à l'état 19
+    "break"         décalage et aller à l'état 20
+    "continue"      décalage et aller à l'état 21
+    "try"           décalage et aller à l'état 22
+    "return"        décalage et aller à l'état 23
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 25
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 29
 
     "end of file"  réduction par utilisation de la règle 16 (expressionLineBreak)
     "end of line"  réduction par utilisation de la règle 16 (expressionLineBreak)
     ","            réduction par utilisation de la règle 16 (expressionLineBreak)
     ";"            réduction par utilisation de la règle 16 (expressionLineBreak)
 
-    expressions           aller à l'état 56
-    recursiveExpression   aller à l'état 34
-    expression            aller à l'état 36
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    simpleFunctionCall    aller à l'état 39
-    functionDeclaration   aller à l'état 40
-    comparison            aller à l'état 41
-    operation             aller à l'état 42
-    variable              aller à l'état 43
-    cell                  aller à l'état 44
-    matrix                aller à l'état 45
-    variableDeclaration   aller à l'état 46
-    assignable            aller à l'état 47
-    multipleResults       aller à l'état 48
-    ifControl             aller à l'état 49
-    selectControl         aller à l'état 50
-    select                aller à l'état 51
-    forControl            aller à l'état 52
-    whileControl          aller à l'état 53
-    tryControl            aller à l'état 54
-    returnControl         aller à l'état 55
+    expressions           aller à l'état 54
+    recursiveExpression   aller à l'état 32
+    expression            aller à l'état 34
+    implicitFunctionCall  aller à l'état 35
+    functionCall          aller à l'état 36
+    simpleFunctionCall    aller à l'état 37
+    functionDeclaration   aller à l'état 38
+    comparison            aller à l'état 39
+    operation             aller à l'état 40
+    variable              aller à l'état 41
+    cell                  aller à l'état 42
+    matrix                aller à l'état 43
+    variableDeclaration   aller à l'état 44
+    assignable            aller à l'état 45
+    multipleResults       aller à l'état 46
+    ifControl             aller à l'état 47
+    selectControl         aller à l'état 48
+    select                aller à l'état 49
+    forControl            aller à l'état 50
+    whileControl          aller à l'état 51
+    tryControl            aller à l'état 52
+    returnControl         aller à l'état 53
 
 
 État 3
 
-  208 variable: "%t or %T" .
+  192 variable: "%t or %T" .
 
-    $défaut  réduction par utilisation de la règle 208 (variable)
+    $défaut  réduction par utilisation de la règle 192 (variable)
 
 
 État 4
 
-  209 variable: "%f or %F" .
+  193 variable: "%f or %F" .
 
-    $défaut  réduction par utilisation de la règle 209 (variable)
+    $défaut  réduction par utilisation de la règle 193 (variable)
 
 
 État 5
@@ -1225,100 +1161,100 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  189         | "~ or @" . variable
-  190         | . "~ or @" functionCall
-  190         | "~ or @" . functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  173         | "~ or @" . variable
+  174         | . "~ or @" functionCall
+  174         | "~ or @" . functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
 
-    functionCall        aller à l'état 59
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 60
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    functionCall        aller à l'état 57
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 58
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
 État 6
 
-  207 variable: "$" .
+  191 variable: "$" .
 
-    $défaut  réduction par utilisation de la règle 207 (variable)
+    $défaut  réduction par utilisation de la règle 191 (variable)
 
 
 État 7
@@ -1344,100 +1280,100 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  210         | "(" . variable ")"
-  211         | . "(" variableFields ")"
-  211         | "(" . variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  215 variableFields: . variableFields "," variable
-  216               | . variableFields "," functionCall
-  217               | . variable "," variable
-  218               | . functionCall "," functionCall
-  219               | . functionCall "," variable
-  220               | . variable "," functionCall
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  194         | "(" . variable ")"
+  195         | . "(" variableFields ")"
+  195         | "(" . variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  199 variableFields: . variableFields "," variable
+  200               | . variableFields "," functionCall
+  201               | . variable "," variable
+  202               | . functionCall "," functionCall
+  203               | . functionCall "," variable
+  204               | . variable "," functionCall
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
-
-    functionCall        aller à l'état 61
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 62
-    variableFields      aller à l'état 63
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
+
+    functionCall        aller à l'état 59
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 60
+    variableFields      aller à l'état 61
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
 État 10
@@ -1448,118 +1384,118 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  229       | "[" . matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  230       | "[" . "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  231       | "[" . matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  232       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  233       | "[" . matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  234       | "[" . "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  235       | "[" . "end of line" "]"
-  236       | . "[" "]"
-  236       | "[" . "]"
-  237 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  238                  | . matrixOrCellLine
-  243 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  244                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  245 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | . matrixOrCellColumns variable
-  248                    | . matrixOrCellColumns functionCall
-  249                    | . matrixOrCellColumns "line comment"
-  250                    | . variable
-  251                    | . functionCall
-  252                    | . "line comment"
-  273 multipleResults: "[" . matrixOrCellColumns "]"
-
-    "end of line"   décalage et aller à l'état 64
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  213       | "[" . matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  214       | "[" . "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  215       | "[" . matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  216       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  217       | "[" . matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  218       | "[" . "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  219       | "[" . "end of line" "]"
+  220       | . "[" "]"
+  220       | "[" . "]"
+  221 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  222                  | . matrixOrCellLine
+  227 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  228                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  229 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  230                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  231                    | . matrixOrCellColumns variable
+  232                    | . matrixOrCellColumns functionCall
+  233                    | . matrixOrCellColumns "line comment"
+  234                    | . variable
+  235                    | . functionCall
+  236                    | . "line comment"
+  257 multipleResults: "[" . matrixOrCellColumns "]"
+
+    "end of line"   décalage et aller à l'état 62
     "%t or %T"      décalage et aller à l'état 3
     "%f or %F"      décalage et aller à l'état 4
     "~ or @"        décalage et aller à l'état 5
     "$"             décalage et aller à l'état 6
     "("             décalage et aller à l'état 9
-    "["             décalage et aller à l'état 57
-    "]"             décalage et aller à l'état 65
+    "["             décalage et aller à l'état 55
+    "]"             décalage et aller à l'état 63
     "{"             décalage et aller à l'état 11
     "+"             décalage et aller à l'état 12
     "-"             décalage et aller à l'état 13
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 58
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 66
-
-    functionCall         aller à l'état 67
-    simpleFunctionCall   aller à l'état 39
-    comparison           aller à l'état 41
-    operation            aller à l'état 42
-    variable             aller à l'état 68
-    cell                 aller à l'état 44
-    matrix               aller à l'état 45
-    matrixOrCellLines    aller à l'état 69
-    matrixOrCellLine     aller à l'état 70
-    matrixOrCellColumns  aller à l'état 71
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 56
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 64
+
+    functionCall         aller à l'état 65
+    simpleFunctionCall   aller à l'état 37
+    comparison           aller à l'état 39
+    operation            aller à l'état 40
+    variable             aller à l'état 66
+    cell                 aller à l'état 42
+    matrix               aller à l'état 43
+    matrixOrCellLines    aller à l'état 67
+    matrixOrCellLine     aller à l'état 68
+    matrixOrCellColumns  aller à l'état 69
 
 
 État 11
@@ -1570,117 +1506,117 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  221     | "{" . matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  222     | "{" . "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  223     | "{" . matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  224     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  225     | "{" . matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  226     | "{" . "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  227     | "{" . "end of line" "}"
-  228     | . "{" "}"
-  228     | "{" . "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  237 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  238                  | . matrixOrCellLine
-  243 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  244                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  245 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | . matrixOrCellColumns variable
-  248                    | . matrixOrCellColumns functionCall
-  249                    | . matrixOrCellColumns "line comment"
-  250                    | . variable
-  251                    | . functionCall
-  252                    | . "line comment"
-
-    "end of line"   décalage et aller à l'état 72
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  205     | "{" . matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  206     | "{" . "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  207     | "{" . matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  208     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  209     | "{" . matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  210     | "{" . "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  211     | "{" . "end of line" "}"
+  212     | . "{" "}"
+  212     | "{" . "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  221 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  222                  | . matrixOrCellLine
+  227 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  228                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  229 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  230                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  231                    | . matrixOrCellColumns variable
+  232                    | . matrixOrCellColumns functionCall
+  233                    | . matrixOrCellColumns "line comment"
+  234                    | . variable
+  235                    | . functionCall
+  236                    | . "line comment"
+
+    "end of line"   décalage et aller à l'état 70
     "%t or %T"      décalage et aller à l'état 3
     "%f or %F"      décalage et aller à l'état 4
     "~ or @"        décalage et aller à l'état 5
     "$"             décalage et aller à l'état 6
     "("             décalage et aller à l'état 9
-    "["             décalage et aller à l'état 57
+    "["             décalage et aller à l'état 55
     "{"             décalage et aller à l'état 11
-    "}"             décalage et aller à l'état 73
+    "}"             décalage et aller à l'état 71
     "+"             décalage et aller à l'état 12
     "-"             décalage et aller à l'état 13
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 58
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 66
-
-    functionCall         aller à l'état 67
-    simpleFunctionCall   aller à l'état 39
-    comparison           aller à l'état 41
-    operation            aller à l'état 42
-    variable             aller à l'état 68
-    cell                 aller à l'état 44
-    matrix               aller à l'état 45
-    matrixOrCellLines    aller à l'état 74
-    matrixOrCellLine     aller à l'état 70
-    matrixOrCellColumns  aller à l'état 75
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 56
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 64
+
+    functionCall         aller à l'état 65
+    simpleFunctionCall   aller à l'état 37
+    comparison           aller à l'état 39
+    operation            aller à l'état 40
+    variable             aller à l'état 66
+    cell                 aller à l'état 42
+    matrix               aller à l'état 43
+    matrixOrCellLines    aller à l'état 72
+    matrixOrCellLine     aller à l'état 68
+    matrixOrCellColumns  aller à l'état 73
 
 
 État 12
@@ -1691,93 +1627,93 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  142          | "+" . variable
-  143          | . "+" functionCall
-  143          | "+" . functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  126          | "+" . variable
+  127          | . "+" functionCall
+  127          | "+" . functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
 
-    functionCall        aller à l'état 76
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 77
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    functionCall        aller à l'état 74
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 75
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
 État 13
@@ -1788,93 +1724,93 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  140          | "-" . variable
-  141          | . "-" functionCall
-  141          | "-" . functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  124          | "-" . variable
+  125          | . "-" functionCall
+  125          | "-" . functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
 
-    functionCall        aller à l'état 78
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 79
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    functionCall        aller à l'état 76
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 77
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
 État 14
@@ -1885,111 +1821,111 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  104 condition: . functionCall
-  105          | . variable
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  274 ifControl: "if" . condition then thenBody "end"
-  275          | "if" . condition then thenBody else elseBody "end"
-  276          | "if" . condition then thenBody elseIfControl "end"
+   88 condition: . functionCall
+   89          | . variable
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  258 ifControl: "if" . condition then thenBody "end"
+  259          | "if" . condition then thenBody else elseBody "end"
+  260          | "if" . condition then thenBody elseIfControl "end"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
-
-    functionCall        aller à l'état 80
-    simpleFunctionCall  aller à l'état 39
-    condition           aller à l'état 81
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 82
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
+
+    functionCall        aller à l'état 78
+    simpleFunctionCall  aller à l'état 37
+    condition           aller à l'état 79
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 80
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
 État 15
 
-  305 select: "select" .
+  289 select: "select" .
 
-    $défaut  réduction par utilisation de la règle 305 (select)
+    $défaut  réduction par utilisation de la règle 289 (select)
 
 
 État 16
 
-  306 select: "switch" .
+  290 select: "switch" .
 
-    $défaut  réduction par utilisation de la règle 306 (select)
+    $défaut  réduction par utilisation de la règle 290 (select)
 
 
 État 17
@@ -2003,162 +1939,133 @@ keywords (149)
    73                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
 
-    "["           décalage et aller à l'état 83
-    "identifier"  décalage et aller à l'état 84
+    "["           décalage et aller à l'état 81
+    "identifier"  décalage et aller à l'état 82
 
 
 État 18
 
-   75 functionDeclaration: "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  325 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
 
-    "["           décalage et aller à l'état 85
-    "identifier"  décalage et aller à l'état 86
+    "("           décalage et aller à l'état 83
+    "identifier"  décalage et aller à l'état 84
 
 
 État 19
 
-   83 functionDeclaration: "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-    "function"  décalage et aller à l'état 87
-
-
-État 20
-
-  341 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-
-    "("           décalage et aller à l'état 88
-    "identifier"  décalage et aller à l'état 89
-
-
-État 21
-
    47 functionCall: . simpleFunctionCall
    48             | . "(" functionCall ")"
    49 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  104 condition: . functionCall
-  105          | . variable
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  355 whileControl: "while" . condition whileConditionBreak whileBody "end"
+   88 condition: . functionCall
+   89          | . variable
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  339 whileControl: "while" . condition whileConditionBreak whileBody "end"
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
-
-    functionCall        aller à l'état 80
-    simpleFunctionCall  aller à l'état 39
-    condition           aller à l'état 90
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 82
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
 
+    functionCall        aller à l'état 78
+    simpleFunctionCall  aller à l'état 37
+    condition           aller à l'état 85
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 80
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
-État 22
+
+État 20
 
    30 expression: "break" .
 
     $défaut  réduction par utilisation de la règle 30 (expression)
 
 
-État 23
+État 21
 
    31 expression: "continue" .
 
     $défaut  réduction par utilisation de la règle 31 (expression)
 
 
-État 24
+État 22
 
     5 expressions: . recursiveExpression
     6            | . recursiveExpression expression
@@ -2200,137 +2107,121 @@ keywords (149)
    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  376           | "try" . catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  377           | "try" . catchBody "end"
-  378 catchBody: . expressions
-  379          | . "end of line" expressions
-  380          | . ";" expressions
-  381          | . "," expressions
-  382          | . "end of line"
-  383          | . %empty  ["end", "catch"]
-  384 returnControl: . "return"
-  385              | . "return" variable
-  386              | . "return" functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  239 variableDeclaration: . assignable "=" variable
+  240                    | . assignable "=" functionCall
+  241                    | . functionCall "=" variable
+  242                    | . functionCall "=" functionCall
+  243                    | . assignable "=" ":"
+  244                    | . functionCall "=" ":"
+  245                    | . assignable "=" returnControl
+  246                    | . functionCall "=" returnControl
+  247 assignable: . variable "." "identifier"
+  248           | . variable "." keywords
+  249           | . variable "." functionCall
+  250           | . functionCall "." variable
+  251           | . functionCall "." keywords
+  252           | . functionCall "." functionCall
+  253           | . "identifier"
+  254           | . multipleResults
+  255           | . variable "(" functionArgs ")"
+  256           | . functionCall "(" functionArgs ")"
+  257 multipleResults: . "[" matrixOrCellColumns "]"
+  258 ifControl: . "if" condition then thenBody "end"
+  259          | . "if" condition then thenBody else elseBody "end"
+  260          | . "if" condition then thenBody elseIfControl "end"
+  285 selectControl: . select selectable selectConditionBreak casesControl "end"
+  286              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  288              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  289 select: . "select"
+  290       | . "switch"
+  325 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  339 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  360 tryControl: . "try" catchBody "catch" catchBody "end"
+  360           | "try" . catchBody "catch" catchBody "end"
+  361           | . "try" catchBody "end"
+  361           | "try" . catchBody "end"
+  362 catchBody: . expressions
+  363          | . "end of line" expressions
+  364          | . ";" expressions
+  365          | . "," expressions
+  366          | . "end of line"
+  367          | . %empty  ["end", "catch"]
+  368 returnControl: . "return"
+  369              | . "return" variable
+  370              | . "return" functionCall
 
     error           décalage et aller à l'état 1
-    "end of line"   décalage et aller à l'état 91
+    "end of line"   décalage et aller à l'état 86
     "%t or %T"      décalage et aller à l'état 3
     "%f or %F"      décalage et aller à l'état 4
     "~ or @"        décalage et aller à l'état 5
     "$"             décalage et aller à l'état 6
-    ","             décalage et aller à l'état 92
-    ";"             décalage et aller à l'état 93
+    ","             décalage et aller à l'état 87
+    ";"             décalage et aller à l'état 88
     "("             décalage et aller à l'état 9
     "["             décalage et aller à l'état 10
     "{"             décalage et aller à l'état 11
@@ -2340,50 +2231,48 @@ keywords (149)
     "select"        décalage et aller à l'état 15
     "switch"        décalage et aller à l'état 16
     "function"      décalage et aller à l'état 17
-    "#function"     décalage et aller à l'état 18
-    "hidden"        décalage et aller à l'état 19
-    "for"           décalage et aller à l'état 20
-    "while"         décalage et aller à l'état 21
-    "break"         décalage et aller à l'état 22
-    "continue"      décalage et aller à l'état 23
-    "try"           décalage et aller à l'état 24
-    "return"        décalage et aller à l'état 25
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 27
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 31
-
-    "end"    réduction par utilisation de la règle 383 (catchBody)
-    "catch"  réduction par utilisation de la règle 383 (catchBody)
-
-    expressions           aller à l'état 94
-    recursiveExpression   aller à l'état 34
-    expression            aller à l'état 36
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    simpleFunctionCall    aller à l'état 39
-    functionDeclaration   aller à l'état 40
-    comparison            aller à l'état 41
-    operation             aller à l'état 42
-    variable              aller à l'état 43
-    cell                  aller à l'état 44
-    matrix                aller à l'état 45
-    variableDeclaration   aller à l'état 46
-    assignable            aller à l'état 47
-    multipleResults       aller à l'état 48
-    ifControl             aller à l'état 49
-    selectControl         aller à l'état 50
-    select                aller à l'état 51
-    forControl            aller à l'état 52
-    whileControl          aller à l'état 53
-    tryControl            aller à l'état 54
-    catchBody             aller à l'état 95
-    returnControl         aller à l'état 55
+    "for"           décalage et aller à l'état 18
+    "while"         décalage et aller à l'état 19
+    "break"         décalage et aller à l'état 20
+    "continue"      décalage et aller à l'état 21
+    "try"           décalage et aller à l'état 22
+    "return"        décalage et aller à l'état 23
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 25
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 29
+
+    "end"    réduction par utilisation de la règle 367 (catchBody)
+    "catch"  réduction par utilisation de la règle 367 (catchBody)
+
+    expressions           aller à l'état 89
+    recursiveExpression   aller à l'état 32
+    expression            aller à l'état 34
+    implicitFunctionCall  aller à l'état 35
+    functionCall          aller à l'état 36
+    simpleFunctionCall    aller à l'état 37
+    functionDeclaration   aller à l'état 38
+    comparison            aller à l'état 39
+    operation             aller à l'état 40
+    variable              aller à l'état 41
+    cell                  aller à l'état 42
+    matrix                aller à l'état 43
+    variableDeclaration   aller à l'état 44
+    assignable            aller à l'état 45
+    multipleResults       aller à l'état 46
+    ifControl             aller à l'état 47
+    selectControl         aller à l'état 48
+    select                aller à l'état 49
+    forControl            aller à l'état 50
+    whileControl          aller à l'état 51
+    tryControl            aller à l'état 52
+    catchBody             aller à l'état 90
+    returnControl         aller à l'état 53
 
 
-État 25
+État 23
 
    47 functionCall: . simpleFunctionCall
    48             | . "(" functionCall ")"
@@ -2391,106 +2280,106 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  384 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  385              | "return" . variable
-  386              | "return" . functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  368 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  369              | "return" . variable
+  370              | "return" . functionCall
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
 
-    $défaut  réduction par utilisation de la règle 384 (returnControl)
+    $défaut  réduction par utilisation de la règle 368 (returnControl)
 
-    functionCall        aller à l'état 96
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 97
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
+    functionCall        aller à l'état 91
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 92
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
 
 
-État 26
+État 24
 
-  206 variable: "string" .
+  190 variable: "string" .
 
-    $défaut  réduction par utilisation de la règle 206 (variable)
+    $défaut  réduction par utilisation de la règle 190 (variable)
 
 
-État 27
+État 25
 
    36 implicitFunctionCall: "identifier" . implicitCallable
    37 implicitCallable: . "identifier"
@@ -2507,72 +2396,72 @@ keywords (149)
    50                   | "identifier" . "{" functionArgs "}"
    51                   | "identifier" . "(" ")"
    52                   | "identifier" . "{" "}"
-  202 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  269 assignable: "identifier" .  ["="]
+  186 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  253 assignable: "identifier" .  ["="]
 
-    "%t or %T"    décalage et aller à l'état 98
-    "%f or %F"    décalage et aller à l'état 99
-    "$"           décalage et aller à l'état 100
-    "("           décalage et aller à l'état 101
-    "{"           décalage et aller à l'état 102
-    "string"      décalage et aller à l'état 103
-    "identifier"  décalage et aller à l'état 104
-    "integer"     décalage et aller à l'état 105
-    "float"       décalage et aller à l'état 106
-    "number"      décalage et aller à l'état 107
-    "path"        décalage et aller à l'état 108
+    "%t or %T"    décalage et aller à l'état 93
+    "%f or %F"    décalage et aller à l'état 94
+    "$"           décalage et aller à l'état 95
+    "("           décalage et aller à l'état 96
+    "{"           décalage et aller à l'état 97
+    "string"      décalage et aller à l'état 98
+    "identifier"  décalage et aller à l'état 99
+    "integer"     décalage et aller à l'état 100
+    "float"       décalage et aller à l'état 101
+    "number"      décalage et aller à l'état 102
+    "path"        décalage et aller à l'état 103
 
-    "="       réduction par utilisation de la règle 269 (assignable)
-    $défaut  réduction par utilisation de la règle 202 (variable)
+    "="       réduction par utilisation de la règle 253 (assignable)
+    $défaut  réduction par utilisation de la règle 186 (variable)
 
-    implicitCallable  aller à l'état 109
+    implicitCallable  aller à l'état 104
 
-    Conflit entre la règle 202 et le jeton "(" résolu par décalage (LISTABLE < "(").
+    Conflit entre la règle 186 et le jeton "(" résolu par décalage (LISTABLE < "(").
 
 
-État 28
+État 26
 
-  203 variable: "integer" .
+  187 variable: "integer" .
 
-    $défaut  réduction par utilisation de la règle 203 (variable)
+    $défaut  réduction par utilisation de la règle 187 (variable)
 
 
-État 29
+État 27
 
-  205 variable: "float" .
+  189 variable: "float" .
 
-    $défaut  réduction par utilisation de la règle 205 (variable)
+    $défaut  réduction par utilisation de la règle 189 (variable)
 
 
-État 30
+État 28
 
-  204 variable: "number" .
+  188 variable: "number" .
 
-    $défaut  réduction par utilisation de la règle 204 (variable)
+    $défaut  réduction par utilisation de la règle 188 (variable)
 
 
-État 31
+État 29
 
    33 expression: "line comment" .
 
     $défaut  réduction par utilisation de la règle 33 (expression)
 
 
-État 32
+État 30
 
     0 $accept: program . "end of file"
 
-    "end of file"  décalage et aller à l'état 110
+    "end of file"  décalage et aller à l'état 105
 
 
-État 33
+État 31
 
     1 program: expressions .
 
     $défaut  réduction par utilisation de la règle 1 (program)
 
 
-État 34
+État 32
 
     5 expressions: recursiveExpression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     6            | recursiveExpression . expression
@@ -2610,120 +2499,104 @@ keywords (149)
    72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
    74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  384 returnControl: . "return"
-  385              | . "return" variable
-  386              | . "return" functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  239 variableDeclaration: . assignable "=" variable
+  240                    | . assignable "=" functionCall
+  241                    | . functionCall "=" variable
+  242                    | . functionCall "=" functionCall
+  243                    | . assignable "=" ":"
+  244                    | . functionCall "=" ":"
+  245                    | . assignable "=" returnControl
+  246                    | . functionCall "=" returnControl
+  247 assignable: . variable "." "identifier"
+  248           | . variable "." keywords
+  249           | . variable "." functionCall
+  250           | . functionCall "." variable
+  251           | . functionCall "." keywords
+  252           | . functionCall "." functionCall
+  253           | . "identifier"
+  254           | . multipleResults
+  255           | . variable "(" functionArgs ")"
+  256           | . functionCall "(" functionArgs ")"
+  257 multipleResults: . "[" matrixOrCellColumns "]"
+  258 ifControl: . "if" condition then thenBody "end"
+  259          | . "if" condition then thenBody else elseBody "end"
+  260          | . "if" condition then thenBody elseIfControl "end"
+  285 selectControl: . select selectable selectConditionBreak casesControl "end"
+  286              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  288              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  289 select: . "select"
+  290       | . "switch"
+  325 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  326           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  339 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  360 tryControl: . "try" catchBody "catch" catchBody "end"
+  361           | . "try" catchBody "end"
+  368 returnControl: . "return"
+  369              | . "return" variable
+  370              | . "return" functionCall
 
     error           décalage et aller à l'état 1
     "%t or %T"      décalage et aller à l'état 3
@@ -2739,20 +2612,18 @@ keywords (149)
     "select"        décalage et aller à l'état 15
     "switch"        décalage et aller à l'état 16
     "function"      décalage et aller à l'état 17
-    "#function"     décalage et aller à l'état 18
-    "hidden"        décalage et aller à l'état 19
-    "for"           décalage et aller à l'état 20
-    "while"         décalage et aller à l'état 21
-    "break"         décalage et aller à l'état 22
-    "continue"      décalage et aller à l'état 23
-    "try"           décalage et aller à l'état 24
-    "return"        décalage et aller à l'état 25
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 27
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 31
+    "for"           décalage et aller à l'état 18
+    "while"         décalage et aller à l'état 19
+    "break"         décalage et aller à l'état 20
+    "continue"      décalage et aller à l'état 21
+    "try"           décalage et aller à l'état 22
+    "return"        décalage et aller à l'état 23
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 25
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 29
 
     "end of file"  réduction par utilisation de la règle 5 (expressions)
     "else"         réduction par utilisation de la règle 5 (expressions)
@@ -2763,43 +2634,43 @@ keywords (149)
     "endfunction"  réduction par utilisation de la règle 5 (expressions)
     "catch"        réduction par utilisation de la règle 5 (expressions)
 
-    expression            aller à l'état 111
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    simpleFunctionCall    aller à l'état 39
-    functionDeclaration   aller à l'état 40
-    comparison            aller à l'état 41
-    operation             aller à l'état 42
-    variable              aller à l'état 43
-    cell                  aller à l'état 44
-    matrix                aller à l'état 45
-    variableDeclaration   aller à l'état 46
-    assignable            aller à l'état 47
-    multipleResults       aller à l'état 48
-    ifControl             aller à l'état 49
-    selectControl         aller à l'état 50
-    select                aller à l'état 51
-    forControl            aller à l'état 52
-    whileControl          aller à l'état 53
-    tryControl            aller à l'état 54
-    returnControl         aller à l'état 55
+    expression            aller à l'état 106
+    implicitFunctionCall  aller à l'état 35
+    functionCall          aller à l'état 36
+    simpleFunctionCall    aller à l'état 37
+    functionDeclaration   aller à l'état 38
+    comparison            aller à l'état 39
+    operation             aller à l'état 40
+    variable              aller à l'état 41
+    cell                  aller à l'état 42
+    matrix                aller à l'état 43
+    variableDeclaration   aller à l'état 44
+    assignable            aller à l'état 45
+    multipleResults       aller à l'état 46
+    ifControl             aller à l'état 47
+    selectControl         aller à l'état 48
+    select                aller à l'état 49
+    forControl            aller à l'état 50
+    whileControl          aller à l'état 51
+    tryControl            aller à l'état 52
+    returnControl         aller à l'état 53
 
 
-État 35
+État 33
 
     3 program: expressionLineBreak .  ["end of file"]
    17 expressionLineBreak: expressionLineBreak . ";"
    18                    | expressionLineBreak . ","
    19                    | expressionLineBreak . "end of line"
 
-    "end of line"  décalage et aller à l'état 112
-    ","            décalage et aller à l'état 113
-    ";"            décalage et aller à l'état 114
+    "end of line"  décalage et aller à l'état 107
+    ","            décalage et aller à l'état 108
+    ";"            décalage et aller à l'état 109
 
     $défaut  réduction par utilisation de la règle 3 (program)
 
 
-État 36
+État 34
 
     8 expressions: expression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     9            | expression . "line comment"
@@ -2812,17 +2683,17 @@ keywords (149)
    18                    | . expressionLineBreak ","
    19                    | . expressionLineBreak "end of line"
 
-    "end of line"   décalage et aller à l'état 115
+    "end of line"   décalage et aller à l'état 110
     ","             décalage et aller à l'état 7
     ";"             décalage et aller à l'état 8
-    "line comment"  décalage et aller à l'état 116
+    "line comment"  décalage et aller à l'état 111
 
     $défaut  réduction par utilisation de la règle 8 (expressions)
 
-    expressionLineBreak  aller à l'état 117
+    expressionLineBreak  aller à l'état 112
 
 
-État 37
+État 35
 
    29 expression: implicitFunctionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
    35 implicitFunctionCall: implicitFunctionCall . implicitCallable
@@ -2837,355 +2708,355 @@ keywords (149)
    45                 | . implicitCallable "." "identifier"
    46                 | . "path"
 
-    "%t or %T"    décalage et aller à l'état 98
-    "%f or %F"    décalage et aller à l'état 99
-    "$"           décalage et aller à l'état 100
-    "string"      décalage et aller à l'état 103
-    "identifier"  décalage et aller à l'état 104
-    "integer"     décalage et aller à l'état 105
-    "float"       décalage et aller à l'état 106
-    "number"      décalage et aller à l'état 107
-    "path"        décalage et aller à l'état 108
+    "%t or %T"    décalage et aller à l'état 93
+    "%f or %F"    décalage et aller à l'état 94
+    "$"           décalage et aller à l'état 95
+    "string"      décalage et aller à l'état 98
+    "identifier"  décalage et aller à l'état 99
+    "integer"     décalage et aller à l'état 100
+    "float"       décalage et aller à l'état 101
+    "number"      décalage et aller à l'état 102
+    "path"        décalage et aller à l'état 103
 
     $défaut  réduction par utilisation de la règle 29 (expression)
 
-    implicitCallable  aller à l'état 118
+    implicitCallable  aller à l'état 113
 
 
-État 38
+État 36
 
    21 expression: functionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  107 comparison: functionCall . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  139 operation: functionCall . rightOperand
-  146          | functionCall . "** or ^" variable
-  147          | functionCall . "** or ^" functionCall
-  150          | functionCall . ".^" variable
-  151          | functionCall . ".^" functionCall
-  154          | functionCall . "'"
-  155          | functionCall . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  194 variable: functionCall . "." variable
-  195         | functionCall . "." keywords
-  196         | functionCall . "." functionCall
-  198         | functionCall . listableEnd
-  214         | functionCall . "(" functionArgs ")"
-  257 variableDeclaration: functionCall . "=" variable
-  258                    | functionCall . "=" functionCall
-  260                    | functionCall . "=" ":"
-  262                    | functionCall . "=" returnControl
-  266 assignable: functionCall . "." variable
-  267           | functionCall . "." keywords
-  268           | functionCall . "." functionCall
-  272           | functionCall . "(" functionArgs ")"
-
-    "'"         décalage et aller à l'état 119
-    ":"         décalage et aller à l'état 120
-    "("         décalage et aller à l'état 121
-    "."         décalage et aller à l'état 122
-    ".'"        décalage et aller à l'état 123
-    "+"         décalage et aller à l'état 124
-    "-"         décalage et aller à l'état 125
-    "*"         décalage et aller à l'état 126
-    ".*"        décalage et aller à l'état 127
-    ".*."       décalage et aller à l'état 128
-    "*."        décalage et aller à l'état 129
-    "/"         décalage et aller à l'état 130
-    "./"        décalage et aller à l'état 131
-    "/."        décalage et aller à l'état 132
-    "./."       décalage et aller à l'état 133
-    "\\"        décalage et aller à l'état 134
-    ".\\"       décalage et aller à l'état 135
-    "\\."       décalage et aller à l'état 136
-    ".\\."      décalage et aller à l'état 137
-    "** or ^"   décalage et aller à l'état 138
-    ".^"        décalage et aller à l'état 139
-    "=="        décalage et aller à l'état 140
-    "<> or ~="  décalage et aller à l'état 141
-    "<"         décalage et aller à l'état 142
-    "<="        décalage et aller à l'état 143
-    ">"         décalage et aller à l'état 144
-    ">="        décalage et aller à l'état 145
-    "&"         décalage et aller à l'état 146
-    "&&"        décalage et aller à l'état 147
-    "|"         décalage et aller à l'état 148
-    "||"        décalage et aller à l'état 149
-    "="         décalage et aller à l'état 150
+   91 comparison: functionCall . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  123 operation: functionCall . rightOperand
+  130          | functionCall . "** or ^" variable
+  131          | functionCall . "** or ^" functionCall
+  134          | functionCall . ".^" variable
+  135          | functionCall . ".^" functionCall
+  138          | functionCall . "'"
+  139          | functionCall . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall
+  168 listableBegin: . ":" variable
+  169              | . ":" functionCall
+  170 listableEnd: . listableBegin ":" variable
+  171            | . listableBegin ":" functionCall
+  172            | . listableBegin
+  178 variable: functionCall . "." variable
+  179         | functionCall . "." keywords
+  180         | functionCall . "." functionCall
+  182         | functionCall . listableEnd
+  198         | functionCall . "(" functionArgs ")"
+  241 variableDeclaration: functionCall . "=" variable
+  242                    | functionCall . "=" functionCall
+  244                    | functionCall . "=" ":"
+  246                    | functionCall . "=" returnControl
+  250 assignable: functionCall . "." variable
+  251           | functionCall . "." keywords
+  252           | functionCall . "." functionCall
+  256           | functionCall . "(" functionArgs ")"
+
+    "'"         décalage et aller à l'état 114
+    ":"         décalage et aller à l'état 115
+    "("         décalage et aller à l'état 116
+    "."         décalage et aller à l'état 117
+    ".'"        décalage et aller à l'état 118
+    "+"         décalage et aller à l'état 119
+    "-"         décalage et aller à l'état 120
+    "*"         décalage et aller à l'état 121
+    ".*"        décalage et aller à l'état 122
+    ".*."       décalage et aller à l'état 123
+    "*."        décalage et aller à l'état 124
+    "/"         décalage et aller à l'état 125
+    "./"        décalage et aller à l'état 126
+    "/."        décalage et aller à l'état 127
+    "./."       décalage et aller à l'état 128
+    "\\"        décalage et aller à l'état 129
+    ".\\"       décalage et aller à l'état 130
+    "\\."       décalage et aller à l'état 131
+    ".\\."      décalage et aller à l'état 132
+    "** or ^"   décalage et aller à l'état 133
+    ".^"        décalage et aller à l'état 134
+    "=="        décalage et aller à l'état 135
+    "<> or ~="  décalage et aller à l'état 136
+    "<"         décalage et aller à l'état 137
+    "<="        décalage et aller à l'état 138
+    ">"         décalage et aller à l'état 139
+    ">="        décalage et aller à l'état 140
+    "&"         décalage et aller à l'état 141
+    "&&"        décalage et aller à l'état 142
+    "|"         décalage et aller à l'état 143
+    "||"        décalage et aller à l'état 144
+    "="         décalage et aller à l'état 145
 
     $défaut  réduction par utilisation de la règle 21 (expression)
 
-    rightComparable  aller à l'état 151
-    rightOperand     aller à l'état 152
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 154
+    rightComparable  aller à l'état 146
+    rightOperand     aller à l'état 147
+    listableBegin    aller à l'état 148
+    listableEnd      aller à l'état 149
 
 
-État 39
+État 37
 
    47 functionCall: simpleFunctionCall .
 
     $défaut  réduction par utilisation de la règle 47 (functionCall)
 
 
-État 40
+État 38
 
    20 expression: functionDeclaration .
 
     $défaut  réduction par utilisation de la règle 20 (expression)
 
 
-État 41
+État 39
 
-  212 variable: comparison .
+  196 variable: comparison .
 
-    $défaut  réduction par utilisation de la règle 212 (variable)
+    $défaut  réduction par utilisation de la règle 196 (variable)
 
 
-État 42
+État 40
 
-  201 variable: operation .
+  185 variable: operation .
 
-    $défaut  réduction par utilisation de la règle 201 (variable)
+    $défaut  réduction par utilisation de la règle 185 (variable)
 
 
-État 43
+État 41
 
    28 expression: variable .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  106 comparison: variable . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  138 operation: variable . rightOperand
-  144          | variable . "** or ^" variable
-  145          | variable . "** or ^" functionCall
-  148          | variable . ".^" variable
-  149          | variable . ".^" functionCall
-  152          | variable . "'"
-  153          | variable . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  191 variable: variable . "." "identifier"
-  192         | variable . "." keywords
-  193         | variable . "." functionCall
-  197         | variable . listableEnd
-  213         | variable . "(" functionArgs ")"
-  263 assignable: variable . "." "identifier"
-  264           | variable . "." keywords
-  265           | variable . "." functionCall
-  271           | variable . "(" functionArgs ")"
-
-    "'"         décalage et aller à l'état 155
-    ":"         décalage et aller à l'état 120
-    "("         décalage et aller à l'état 156
-    "."         décalage et aller à l'état 157
-    ".'"        décalage et aller à l'état 158
-    "+"         décalage et aller à l'état 124
-    "-"         décalage et aller à l'état 125
-    "*"         décalage et aller à l'état 126
-    ".*"        décalage et aller à l'état 127
-    ".*."       décalage et aller à l'état 128
-    "*."        décalage et aller à l'état 129
-    "/"         décalage et aller à l'état 130
-    "./"        décalage et aller à l'état 131
-    "/."        décalage et aller à l'état 132
-    "./."       décalage et aller à l'état 133
-    "\\"        décalage et aller à l'état 134
-    ".\\"       décalage et aller à l'état 135
-    "\\."       décalage et aller à l'état 136
-    ".\\."      décalage et aller à l'état 137
-    "** or ^"   décalage et aller à l'état 159
-    ".^"        décalage et aller à l'état 160
-    "=="        décalage et aller à l'état 140
-    "<> or ~="  décalage et aller à l'état 141
-    "<"         décalage et aller à l'état 142
-    "<="        décalage et aller à l'état 143
-    ">"         décalage et aller à l'état 144
-    ">="        décalage et aller à l'état 145
-    "&"         décalage et aller à l'état 146
-    "&&"        décalage et aller à l'état 147
-    "|"         décalage et aller à l'état 148
-    "||"        décalage et aller à l'état 149
+   90 comparison: variable . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  122 operation: variable . rightOperand
+  128          | variable . "** or ^" variable
+  129          | variable . "** or ^" functionCall
+  132          | variable . ".^" variable
+  133          | variable . ".^" functionCall
+  136          | variable . "'"
+  137          | variable . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall
+  168 listableBegin: . ":" variable
+  169              | . ":" functionCall
+  170 listableEnd: . listableBegin ":" variable
+  171            | . listableBegin ":" functionCall
+  172            | . listableBegin
+  175 variable: variable . "." "identifier"
+  176         | variable . "." keywords
+  177         | variable . "." functionCall
+  181         | variable . listableEnd
+  197         | variable . "(" functionArgs ")"
+  247 assignable: variable . "." "identifier"
+  248           | variable . "." keywords
+  249           | variable . "." functionCall
+  255           | variable . "(" functionArgs ")"
+
+    "'"         décalage et aller à l'état 150
+    ":"         décalage et aller à l'état 115
+    "("         décalage et aller à l'état 151
+    "."         décalage et aller à l'état 152
+    ".'"        décalage et aller à l'état 153
+    "+"         décalage et aller à l'état 119
+    "-"         décalage et aller à l'état 120
+    "*"         décalage et aller à l'état 121
+    ".*"        décalage et aller à l'état 122
+    ".*."       décalage et aller à l'état 123
+    "*."        décalage et aller à l'état 124
+    "/"         décalage et aller à l'état 125
+    "./"        décalage et aller à l'état 126
+    "/."        décalage et aller à l'état 127
+    "./."       décalage et aller à l'état 128
+    "\\"        décalage et aller à l'état 129
+    ".\\"       décalage et aller à l'état 130
+    "\\."       décalage et aller à l'état 131
+    ".\\."      décalage et aller à l'état 132
+    "** or ^"   décalage et aller à l'état 154
+    ".^"        décalage et aller à l'état 155
+    "=="        décalage et aller à l'état 135
+    "<> or ~="  décalage et aller à l'état 136
+    "<"         décalage et aller à l'état 137
+    "<="        décalage et aller à l'état 138
+    ">"         décalage et aller à l'état 139
+    ">="        décalage et aller à l'état 140
+    "&"         décalage et aller à l'état 141
+    "&&"        décalage et aller à l'état 142
+    "|"         décalage et aller à l'état 143
+    "||"        décalage et aller à l'état 144
 
     $défaut  réduction par utilisation de la règle 28 (expression)
 
-    rightComparable  aller à l'état 161
-    rightOperand     aller à l'état 162
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 163
+    rightComparable  aller à l'état 156
+    rightOperand     aller à l'état 157
+    listableBegin    aller à l'état 148
+    listableEnd      aller à l'état 158
 
 
-État 44
+État 42
 
-  200 variable: cell .
+  184 variable: cell .
 
-    $défaut  réduction par utilisation de la règle 200 (variable)
+    $défaut  réduction par utilisation de la règle 184 (variable)
 
 
-État 45
+État 43
 
-  199 variable: matrix .
+  183 variable: matrix .
 
-    $défaut  réduction par utilisation de la règle 199 (variable)
+    $défaut  réduction par utilisation de la règle 183 (variable)
 
 
-État 46
+État 44
 
    22 expression: variableDeclaration .
 
     $défaut  réduction par utilisation de la règle 22 (expression)
 
 
-État 47
+État 45
 
-  255 variableDeclaration: assignable . "=" variable
-  256                    | assignable . "=" functionCall
-  259                    | assignable . "=" ":"
-  261                    | assignable . "=" returnControl
+  239 variableDeclaration: assignable . "=" variable
+  240                    | assignable . "=" functionCall
+  243                    | assignable . "=" ":"
+  245                    | assignable . "=" returnControl
 
-    "="  décalage et aller à l'état 164
+    "="  décalage et aller à l'état 159
 
 
-État 48
+État 46
 
-  270 assignable: multipleResults .
+  254 assignable: multipleResults .
 
-    $défaut  réduction par utilisation de la règle 270 (assignable)
+    $défaut  réduction par utilisation de la règle 254 (assignable)
 
 
-État 49
+État 47
 
    23 expression: ifControl .
 
     $défaut  réduction par utilisation de la règle 23 (expression)
 
 
-État 50
+État 48
 
    24 expression: selectControl .
 
     $défaut  réduction par utilisation de la règle 24 (expression)
 
 
-État 51
+État 49
 
    47 functionCall: . simpleFunctionCall
    48             | . "(" functionCall ")"
@@ -3193,136 +3064,136 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  301 selectControl: select . selectable selectConditionBreak casesControl "end"
-  302              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | select . selectable "line comment" selectConditionBreak casesControl "end"
-  304              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  314 selectable: . variable
-  315           | . functionCall
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  220       | . "[" "]"
+  285 selectControl: select . selectable selectConditionBreak casesControl "end"
+  286              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  287              | select . selectable "line comment" selectConditionBreak casesControl "end"
+  288              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  298 selectable: . variable
+  299           | . functionCall
 
     "%t or %T"    décalage et aller à l'état 3
     "%f or %F"    décalage et aller à l'état 4
     "~ or @"      décalage et aller à l'état 5
     "$"           décalage et aller à l'état 6
     "("           décalage et aller à l'état 9
-    "["           décalage et aller à l'état 57
+    "["           décalage et aller à l'état 55
     "{"           décalage et aller à l'état 11
     "+"           décalage et aller à l'état 12
     "-"           décalage et aller à l'état 13
-    "string"      décalage et aller à l'état 26
-    "identifier"  décalage et aller à l'état 58
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
-
-    functionCall        aller à l'état 165
-    simpleFunctionCall  aller à l'état 39
-    comparison          aller à l'état 41
-    operation           aller à l'état 42
-    variable            aller à l'état 166
-    cell                aller à l'état 44
-    matrix              aller à l'état 45
-    selectable          aller à l'état 167
+    "string"      décalage et aller à l'état 24
+    "identifier"  décalage et aller à l'état 56
+    "integer"     décalage et aller à l'état 26
+    "float"       décalage et aller à l'état 27
+    "number"      décalage et aller à l'état 28
+
+    functionCall        aller à l'état 160
+    simpleFunctionCall  aller à l'état 37
+    comparison          aller à l'état 39
+    operation           aller à l'état 40
+    variable            aller à l'état 161
+    cell                aller à l'état 42
+    matrix              aller à l'état 43
+    selectable          aller à l'état 162
 
 
-État 52
+État 50
 
    25 expression: forControl .
 
     $défaut  réduction par utilisation de la règle 25 (expression)
 
 
-État 53
+État 51
 
    26 expression: whileControl .
 
     $défaut  réduction par utilisation de la règle 26 (expression)
 
 
-État 54
+État 52
 
    27 expression: tryControl .
 
     $défaut  réduction par utilisation de la règle 27 (expression)
 
 
-État 55
+État 53
 
    32 expression: returnControl .
 
     $défaut  réduction par utilisation de la règle 32 (expression)
 
 
-État 56
+État 54
 
     2 program: "end of line" expressions .
 
     $défaut  réduction par utilisation de la règle 2 (program)
 
 
-État 57
+État 55
 
    47 functionCall: . simpleFunctionCall
    48             | . "(" functionCall ")"
@@ -3330,637 +3201,637 @@ keywords (149)
    50                   | . "identifier" "{" functionArgs "}"
    51                   | . "identifier" "(" ")"
    52                   | . "identifier" "{" "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  229       | "[" . matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  230       | "[" . "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  231       | "[" . matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  232       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  233       | "[" . matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  234       | "[" . "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  235       | "[" . "end of line" "]"
-  236       | . "[" "]"
-  236       | "[" . "]"
-  237 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  238                  | . matrixOrCellLine
-  243 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  244                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  245 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | . matrixOrCellColumns variable
-  248                    | . matrixOrCellColumns functionCall
-  249                    | . matrixOrCellColumns "line comment"
-  250                    | . variable
-  251                    | . functionCall
-  252                    | . "line comment"
-
-    "end of line"   décalage et aller à l'état 64
+   90 comparison: . variable rightComparable
+   91           | . functionCall rightComparable
+  122 operation: . variable rightOperand
+  123          | . functionCall rightOperand
+  124          | . "-" variable
+  125          | . "-" functionCall
+  126          | . "+" variable
+  127          | . "+" functionCall
+  128          | . variable "** or ^" variable
+  129          | . variable "** or ^" functionCall
+  130          | . functionCall "** or ^" variable
+  131          | . functionCall "** or ^" functionCall
+  132          | . variable ".^" variable
+  133          | . variable ".^" functionCall
+  134          | . functionCall ".^" variable
+  135          | . functionCall ".^" functionCall
+  136          | . variable "'"
+  137          | . variable ".'"
+  138          | . functionCall "'"
+  139          | . functionCall ".'"
+  173 variable: . "~ or @" variable
+  174         | . "~ or @" functionCall
+  175         | . variable "." "identifier"
+  176         | . variable "." keywords
+  177         | . variable "." functionCall
+  178         | . functionCall "." variable
+  179         | . functionCall "." keywords
+  180         | . functionCall "." functionCall
+  181         | . variable listableEnd
+  182         | . functionCall listableEnd
+  183         | . matrix
+  184         | . cell
+  185         | . operation
+  186         | . "identifier"
+  187         | . "integer"
+  188         | . "number"
+  189         | . "float"
+  190         | . "string"
+  191         | . "$"
+  192         | . "%t or %T"
+  193         | . "%f or %F"
+  194         | . "(" variable ")"
+  195         | . "(" variableFields ")"
+  196         | . comparison
+  197         | . variable "(" functionArgs ")"
+  198         | . functionCall "(" functionArgs ")"
+  205 cell: . "{" matrixOrCellLines "}"
+  206     | . "{" "end of line" matrixOrCellLines "}"
+  207     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  208     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  209     | . "{" matrixOrCellColumns "}"
+  210     | . "{" "end of line" matrixOrCellColumns "}"
+  211     | . "{" "end of line" "}"
+  212     | . "{" "}"
+  213 matrix: . "[" matrixOrCellLines "]"
+  213       | "[" . matrixOrCellLines "]"
+  214       | . "[" "end of line" matrixOrCellLines "]"
+  214       | "[" . "end of line" matrixOrCellLines "]"
+  215       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  215       | "[" . matrixOrCellLines matrixOrCellColumns "]"
+  216       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  216       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  217       | . "[" matrixOrCellColumns "]"
+  217       | "[" . matrixOrCellColumns "]"
+  218       | . "[" "end of line" matrixOrCellColumns "]"
+  218       | "[" . "end of line" matrixOrCellColumns "]"
+  219       | . "[" "end of line" "]"
+  219       | "[" . "end of line" "]"
+  220       | . "[" "]"
+  220       | "[" . "]"
+  221 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  222                  | . matrixOrCellLine
+  227 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  228                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  229 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  230                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  231                    | . matrixOrCellColumns variable
+  232                    | . matrixOrCellColumns functionCall
+  233                    | . matrixOrCellColumns "line comment"
+  234                    | . variable
+  235                    | . functionCall
+  236                    | . "line comment"
+
+    "end of line"   décalage et aller à l'état 62
     "%t or %T"      décalage et aller à l'état 3
     "%f or %F"      décalage et aller à l'état 4
     "~ or @"        décalage et aller à l'état 5
     "$"             décalage et aller à l'état 6
     "("             décalage et aller à l'état 9
-    "["             décalage et aller à l'état 57
-    "]"             décalage et aller à l'état 65
+    "["             décalage et aller à l'état 55
+    "]"             décalage et aller à l'état 63
     "{"             décalage et aller à l'état 11
     "+"             décalage et aller à l'état 12
     "-"             décalage et aller à l'état 13
-    "string"        décalage et aller à l'état 26
-    "identifier"    décalage et aller à l'état 58
-    "integer"       décalage et aller à l'état 28
-    "float"         décalage et aller à l'état 29
-    "number"        décalage et aller à l'état 30
-    "line comment"  décalage et aller à l'état 66
-
-    functionCall         aller à l'état 67
-    simpleFunctionCall   aller à l'état 39
-    comparison           aller à l'état 41
-    operation            aller à l'état 42
-    variable             aller à l'état 68
-    cell                 aller à l'état 44
-    matrix               aller à l'état 45
-    matrixOrCellLines    aller à l'état 69
-    matrixOrCellLine     aller à l'état 70
-    matrixOrCellColumns  aller à l'état 168
+    "string"        décalage et aller à l'état 24
+    "identifier"    décalage et aller à l'état 56
+    "integer"       décalage et aller à l'état 26
+    "float"         décalage et aller à l'état 27
+    "number"        décalage et aller à l'état 28
+    "line comment"  décalage et aller à l'état 64
+
+    functionCall         aller à l'état 65
+    simpleFunctionCall   aller à l'état 37
+    comparison           aller à l'état 39
+    operation            aller à l'état 40
+    variable             aller à l'état 66
+    cell                 aller à l'état 42
+    matrix               aller à l'état 43
+    matrixOrCellLines    aller à l'état 67
+    matrixOrCellLine     aller à l'état 68
+    matrixOrCellColumns  aller à l'état 163
 
 
-État 58
+État 56
 
    49 simpleFunctionCall: "identifier" . "(" functionArgs ")"
    50                   | "identifier" . "{" functionArgs "}"
    51                   | "identifier" . "(" ")"
    52                   | "identifier" . "{" "}"
-  202 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", "#function", "hidden", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
-
-    "("  décalage et aller à l'état 101
-    "{"  décalage et aller à l'état 102
+  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"]
 
-    $défaut  réduction par utilisation de la règle 202 (variable)
-
-    Conflit entre la règle 202 et le jeton "(" résolu par décalage (LISTABLE < "(").
-    Conflit entre la règle 202 et le jeton "{" résolu par décalage (LISTABLE < "{").
-
-
-État 59
+    "("  décalage et aller à l'état 96
+    "{"  décalage et aller à l'état 97
 
-  107 comparison: functionCall . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  139 operation: functionCall . rightOperand
-  146          | functionCall . "** or ^" variable
-  147          | functionCall . "** or ^" functionCall
-  150          | functionCall . ".^" variable
-  151          | functionCall . ".^" functionCall
-  154          | functionCall . "'"
-  155          | functionCall . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  190 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", "#function", "hidden", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
-  194         | functionCall . "." variable
-  195         | functionCall . "." keywords
-  196         | functionCall . "." functionCall
-  198         | functionCall . listableEnd
-  214         | functionCall . "(" functionArgs ")"
-
-    "("  décalage et aller à l'état 169
-    "."  décalage et aller à l'état 170
+    $défaut  réduction par utilisation de la règle 186 (variable)
 
-    $défaut  réduction par utilisation de la règle 190 (variable)
+    Conflit entre la règle 186 et le jeton "(" résolu par décalage (LISTABLE < "(").
+    Conflit entre la règle 186 et le jeton "{" résolu par décalage (LISTABLE < "{").
 
-    rightComparable  aller à l'état 151
-    rightOperand     aller à l'état 152
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 154
-
-    Conflit entre la règle 190 et le jeton "'" résolu par réduction ("'" < NOT).
-    Conflit entre la règle 190 et le jeton ":" résolu par réduction (":" < NOT).
-    Conflit entre la règle 190 et le jeton "(" résolu par décalage (NOT < "(").
-    Conflit entre la règle 190 et le jeton "." résolu par décalage (NOT < ".").
-    Conflit entre la règle 190 et le jeton ".'" résolu par réduction (".'" < NOT).
-    Conflit entre la règle 190 et le jeton "+" résolu par réduction ("+" < NOT).
-    Conflit entre la règle 190 et le jeton "-" résolu par réduction ("-" < NOT).
-    Conflit entre la règle 190 et le jeton "*" résolu par réduction ("*" < NOT).
-    Conflit entre la règle 190 et le jeton ".*" résolu par réduction (".*" < NOT).
-    Conflit entre la règle 190 et le jeton ".*." résolu par réduction (".*." < NOT).
-    Conflit entre la règle 190 et le jeton "*." résolu par réduction ("*." < NOT).
-    Conflit entre la règle 190 et le jeton "/" résolu par réduction ("/" < NOT).
-    Conflit entre la règle 190 et le jeton "./" résolu par réduction ("./" < NOT).
-    Conflit entre la règle 190 et le jeton "/." résolu par réduction ("/." < NOT).
-    Conflit entre la règle 190 et le jeton "./." résolu par réduction ("./." < NOT).
-    Conflit entre la règle 190 et le jeton "\\" résolu par réduction ("\\" < NOT).
-    Conflit entre la règle 190 et le jeton ".\\" résolu par réduction (".\\" < NOT).
-    Conflit entre la règle 190 et le jeton "\\." résolu par réduction ("\\." < NOT).
-    Conflit entre la règle 190 et le jeton ".\\." résolu par réduction (".\\." < NOT).
-    Conflit entre la règle 190 et le jeton "** or ^" résolu par réduction ("** or ^" < NOT).
-    Conflit entre la règle 190 et le jeton ".^" résolu par réduction (".^" < NOT).
-    Conflit entre la règle 190 et le jeton "==" résolu par réduction ("==" < NOT).
-    Conflit entre la règle 190 et le jeton "<> or ~=" résolu par réduction ("<> or ~=" < NOT).
-    Conflit entre la règle 190 et le jeton "<" résolu par réduction ("<" < NOT).
-    Conflit entre la règle 190 et le jeton "<=" résolu par réduction ("<=" < NOT).
-    Conflit entre la règle 190 et le jeton ">" résolu par réduction (">" < NOT).
-    Conflit entre la règle 190 et le jeton ">=" résolu par réduction (">=" < NOT).
-    Conflit entre la règle 190 et le jeton "&" résolu par réduction ("&" < NOT).
-    Conflit entre la règle 190 et le jeton "&&" résolu par réduction ("&&" < NOT).
-    Conflit entre la règle 190 et le jeton "|" résolu par réduction ("|" < NOT).
-    Conflit entre la règle 190 et le jeton "||" résolu par réduction ("||" < NOT).
 
+État 57
 
-État 60
+   91 comparison: functionCall . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  123 operation: functionCall . rightOperand
+  130          | functionCall . "** or ^" variable
+  131          | functionCall . "** or ^" functionCall
+  134          | functionCall . ".^" variable
+  135          | functionCall . ".^" functionCall
+  138          | functionCall . "'"
+  139          | functionCall . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall
+  168 listableBegin: . ":" variable
+  169              | . ":" functionCall
+  170 listableEnd: . listableBegin ":" variable
+  171            | . listableBegin ":" functionCall
+  172            | . listableBegin
+  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"]
+  178         | functionCall . "." variable
+  179         | functionCall . "." keywords
+  180         | functionCall . "." functionCall
+  182         | functionCall . listableEnd
+  198         | functionCall . "(" functionArgs ")"
+
+    "("  décalage et aller à l'état 164
+    "."  décalage et aller à l'état 165
+
+    $défaut  réduction par utilisation de la règle 174 (variable)
+
+    rightComparable  aller à l'état 146
+    rightOperand     aller à l'état 147
+    listableBegin    aller à l'état 148
+    listableEnd      aller à l'état 149
+
+    Conflit entre la règle 174 et le jeton "'" résolu par réduction ("'" < NOT).
+    Conflit entre la règle 174 et le jeton ":" résolu par réduction (":" < NOT).
+    Conflit entre la règle 174 et le jeton "(" résolu par décalage (NOT < "(").
+    Conflit entre la règle 174 et le jeton "." résolu par décalage (NOT < ".").
+    Conflit entre la règle 174 et le jeton ".'" résolu par réduction (".'" < NOT).
+    Conflit entre la règle 174 et le jeton "+" résolu par réduction ("+" < NOT).
+    Conflit entre la règle 174 et le jeton "-" résolu par réduction ("-" < NOT).
+    Conflit entre la règle 174 et le jeton "*" résolu par réduction ("*" < NOT).
+    Conflit entre la règle 174 et le jeton ".*" résolu par réduction (".*" < NOT).
+    Conflit entre la règle 174 et le jeton ".*." résolu par réduction (".*." < NOT).
+    Conflit entre la règle 174 et le jeton "*." résolu par réduction ("*." < NOT).
+    Conflit entre la règle 174 et le jeton "/" résolu par réduction ("/" < NOT).
+    Conflit entre la règle 174 et le jeton "./" résolu par réduction ("./" < NOT).
+    Conflit entre la règle 174 et le jeton "/." résolu par réduction ("/." < NOT).
+    Conflit entre la règle 174 et le jeton "./." résolu par réduction ("./." < NOT).
+    Conflit entre la règle 174 et le jeton "\\" résolu par réduction ("\\" < NOT).
+    Conflit entre la règle 174 et le jeton ".\\" résolu par réduction (".\\" < NOT).
+    Conflit entre la règle 174 et le jeton "\\." résolu par réduction ("\\." < NOT).
+    Conflit entre la règle 174 et le jeton ".\\." résolu par réduction (".\\." < NOT).
+    Conflit entre la règle 174 et le jeton "** or ^" résolu par réduction ("** or ^" < NOT).
+    Conflit entre la règle 174 et le jeton ".^" résolu par réduction (".^" < NOT).
+    Conflit entre la règle 174 et le jeton "==" résolu par réduction ("==" < NOT).
+    Conflit entre la règle 174 et le jeton "<> or ~=" résolu par réduction ("<> or ~=" < NOT).
+    Conflit entre la règle 174 et le jeton "<" résolu par réduction ("<" < NOT).
+    Conflit entre la règle 174 et le jeton "<=" résolu par réduction ("<=" < NOT).
+    Conflit entre la règle 174 et le jeton ">" résolu par réduction (">" < NOT).
+    Conflit entre la règle 174 et le jeton ">=" résolu par réduction (">=" < NOT).
+    Conflit entre la règle 174 et le jeton "&" résolu par réduction ("&" < NOT).
+    Conflit entre la règle 174 et le jeton "&&" résolu par réduction ("&&" < NOT).
+    Conflit entre la règle 174 et le jeton "|" résolu par réduction ("|" < NOT).
+    Conflit entre la règle 174 et le jeton "||" résolu par réduction ("||" < NOT).
 
-  106 comparison: variable . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  138 operation: variable . rightOperand
-  144          | variable . "** or ^" variable
-  145          | variable . "** or ^" functionCall
-  148          | variable . ".^" variable
-  149          | variable . ".^" functionCall
-  152          | variable . "'"
-  153          | variable . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  189 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", "#function", "hidden", "for", "while", "do", "break", "continue", "try", "catch", "return", "string", "identifier", "integer", "float", "number", "line comment"]
-  191         | variable . "." "identifier"
-  192         | variable . "." keywords
-  193         | variable . "." functionCall
-  197         | variable . listableEnd
-  213         | variable . "(" functionArgs ")"
-
-    "("  décalage et aller à l'état 171
-    "."  décalage et aller à l'état 172
 
-    $défaut  réduction par utilisation de la règle 189 (variable)
+État 58
 
-    rightComparable  aller à l'état 161
-    rightOperand     aller à l'état 162
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 163
-
-    Conflit entre la règle 189 et le jeton "'" résolu par réduction ("'" < NOT).
-    Conflit entre la règle 189 et le jeton ":" résolu par réduction (":" < NOT).
-    Conflit entre la règle 189 et le jeton "(" résolu par décalage (NOT < "(").
-    Conflit entre la règle 189 et le jeton "." résolu par décalage (NOT < ".").
-    Conflit entre la règle 189 et le jeton ".'" résolu par réduction (".'" < NOT).
-    Conflit entre la règle 189 et le jeton "+" résolu par réduction ("+" < NOT).
-    Conflit entre la règle 189 et le jeton "-" résolu par réduction ("-" < NOT).
-    Conflit entre la règle 189 et le jeton "*" résolu par réduction ("*" < NOT).
-    Conflit entre la règle 189 et le jeton ".*" résolu par réduction (".*" < NOT).
-    Conflit entre la règle 189 et le jeton ".*." résolu par réduction (".*." < NOT).
-    Conflit entre la règle 189 et le jeton "*." résolu par réduction ("*." < NOT).
-    Conflit entre la règle 189 et le jeton "/" résolu par réduction ("/" < NOT).
-    Conflit entre la règle 189 et le jeton "./" résolu par réduction ("./" < NOT).
-    Conflit entre la règle 189 et le jeton "/." résolu par réduction ("/." < NOT).
-    Conflit entre la règle 189 et le jeton "./." résolu par réduction ("./." < NOT).
-    Conflit entre la règle 189 et le jeton "\\" résolu par réduction ("\\" < NOT).
-    Conflit entre la règle 189 et le jeton ".\\" résolu par réduction (".\\" < NOT).
-    Conflit entre la règle 189 et le jeton "\\." résolu par réduction ("\\." < NOT).
-    Conflit entre la règle 189 et le jeton ".\\." résolu par réduction (".\\." < NOT).
-    Conflit entre la règle 189 et le jeton "** or ^" résolu par réduction ("** or ^" < NOT).
-    Conflit entre la règle 189 et le jeton ".^" résolu par réduction (".^" < NOT).
-    Conflit entre la règle 189 et le jeton "==" résolu par réduction ("==" < NOT).
-    Conflit entre la règle 189 et le jeton "<> or ~=" résolu par réduction ("<> or ~=" < NOT).
-    Conflit entre la règle 189 et le jeton "<" résolu par réduction ("<" < NOT).
-    Conflit entre la règle 189 et le jeton "<=" résolu par réduction ("<=" < NOT).
-    Conflit entre la règle 189 et le jeton ">" résolu par réduction (">" < NOT).
-    Conflit entre la règle 189 et le jeton ">=" résolu par réduction (">=" < NOT).
-    Conflit entre la règle 189 et le jeton "&" résolu par réduction ("&" < NOT).
-    Conflit entre la règle 189 et le jeton "&&" résolu par réduction ("&&" < NOT).
-    Conflit entre la règle 189 et le jeton "|" résolu par réduction ("|" < NOT).
-    Conflit entre la règle 189 et le jeton "||" résolu par réduction ("||" < NOT).
+   90 comparison: variable . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  122 operation: variable . rightOperand
+  128          | variable . "** or ^" variable
+  129          | variable . "** or ^" functionCall
+  132          | variable . ".^" variable
+  133          | variable . ".^" functionCall
+  136          | variable . "'"
+  137          | variable . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall
+  168 listableBegin: . ":" variable
+  169              | . ":" functionCall
+  170 listableEnd: . listableBegin ":" variable
+  171            | . listableBegin ":" functionCall
+  172            | . listableBegin
+  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"]
+  175         | variable . "." "identifier"
+  176         | variable . "." keywords
+  177         | variable . "." functionCall
+  181         | variable . listableEnd
+  197         | variable . "(" functionArgs ")"
+
+    "("  décalage et aller à l'état 166
+    "."  décalage et aller à l'état 167
+
+    $défaut  réduction par utilisation de la règle 173 (variable)
+
+    rightComparable  aller à l'état 156
+    rightOperand     aller à l'état 157
+    listableBegin    aller à l'état 148
+    listableEnd      aller à l'état 158
+
+    Conflit entre la règle 173 et le jeton "'" résolu par réduction ("'" < NOT).
+    Conflit entre la règle 173 et le jeton ":" résolu par réduction (":" < NOT).
+    Conflit entre la règle 173 et le jeton "(" résolu par décalage (NOT < "(").
+    Conflit entre la règle 173 et le jeton "." résolu par décalage (NOT < ".").
+    Conflit entre la règle 173 et le jeton ".'" résolu par réduction (".'" < NOT).
+    Conflit entre la règle 173 et le jeton "+" résolu par réduction ("+" < NOT).
+    Conflit entre la règle 173 et le jeton "-" résolu par réduction ("-" < NOT).
+    Conflit entre la règle 173 et le jeton "*" résolu par réduction ("*" < NOT).
+    Conflit entre la règle 173 et le jeton ".*" résolu par réduction (".*" < NOT).
+    Conflit entre la règle 173 et le jeton ".*." résolu par réduction (".*." < NOT).
+    Conflit entre la règle 173 et le jeton "*." résolu par réduction ("*." < NOT).
+    Conflit entre la règle 173 et le jeton "/" résolu par réduction ("/" < NOT).
+    Conflit entre la règle 173 et le jeton "./" résolu par réduction ("./" < NOT).
+    Conflit entre la règle 173 et le jeton "/." résolu par réduction ("/." < NOT).
+    Conflit entre la règle 173 et le jeton "./." résolu par réduction ("./." < NOT).
+    Conflit entre la règle 173 et le jeton "\\" résolu par réduction ("\\" < NOT).
+    Conflit entre la règle 173 et le jeton ".\\" résolu par réduction (".\\" < NOT).
+    Conflit entre la règle 173 et le jeton "\\." résolu par réduction ("\\." < NOT).
+    Conflit entre la règle 173 et le jeton ".\\." résolu par réduction (".\\." < NOT).
+    Conflit entre la règle 173 et le jeton "** or ^" résolu par réduction ("** or ^" < NOT).
+    Conflit entre la règle 173 et le jeton ".^" résolu par réduction (".^" < NOT).
+    Conflit entre la règle 173 et le jeton "==" résolu par réduction ("==" < NOT).
+    Conflit entre la règle 173 et le jeton "<> or ~=" résolu par réduction ("<> or ~=" < NOT).
+    Conflit entre la règle 173 et le jeton "<" résolu par réduction ("<" < NOT).
+    Conflit entre la règle 173 et le jeton "<=" résolu par réduction ("<=" < NOT).
+    Conflit entre la règle 173 et le jeton ">" résolu par réduction (">" < NOT).
+    Conflit entre la règle 173 et le jeton ">=" résolu par réduction (">=" < NOT).
+    Conflit entre la règle 173 et le jeton "&" résolu par réduction ("&" < NOT).
+    Conflit entre la règle 173 et le jeton "&&" résolu par réduction ("&&" < NOT).
+    Conflit entre la règle 173 et le jeton "|" résolu par réduction ("|" < NOT).
+    Conflit entre la règle 173 et le jeton "||" résolu par réduction ("||" < NOT).
 
 
-État 61
+État 59
 
    48 functionCall: "(" functionCall . ")"
-  107 comparison: functionCall . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  139 operation: functionCall . rightOperand
-  146          | functionCall . "** or ^" variable
-  147          | functionCall . "** or ^" functionCall
-  150          | functionCall . ".^" variable
-  151          | functionCall . ".^" functionCall
-  154          | functionCall . "'"
-  155          | functionCall . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  194 variable: functionCall . "." variable
-  195         | functionCall . "." keywords
-  196         | functionCall . "." functionCall
-  198         | functionCall . listableEnd
-  214         | functionCall . "(" functionArgs ")"
-  218 variableFields: functionCall . "," functionCall
-  219               | functionCall . "," variable
-
-    "'"         décalage et aller à l'état 119
-    ","         décalage et aller à l'état 173
-    ":"         décalage et aller à l'état 120
-    "("         décalage et aller à l'état 169
-    ")"         décalage et aller à l'état 174
-    "."         décalage et aller à l'état 170
-    ".'"        décalage et aller à l'état 123
-    "+"         décalage et aller à l'état 124
-    "-"         décalage et aller à l'état 125
-    "*"         décalage et aller à l'état 126
-    ".*"        décalage et aller à l'état 127
-    ".*."       décalage et aller à l'état 128
-    "*."        décalage et aller à l'état 129
-    "/"         décalage et aller à l'état 130
-    "./"        décalage et aller à l'état 131
-    "/."        décalage et aller à l'état 132
-    "./."       décalage et aller à l'état 133
-    "\\"        décalage et aller à l'état 134
-    ".\\"       décalage et aller à l'état 135
-    "\\."       décalage et aller à l'état 136
-    ".\\."      décalage et aller à l'état 137
-    "** or ^"   décalage et aller à l'état 138
-    ".^"        décalage et aller à l'état 139
-    "=="        décalage et aller à l'état 140
-    "<> or ~="  décalage et aller à l'état 141
-    "<"         décalage et aller à l'état 142
-    "<="        décalage et aller à l'état 143
-    ">"         décalage et aller à l'état 144
-    ">="        décalage et aller à l'état 145
-    "&"         décalage et aller à l'état 146
-    "&&"        décalage et aller à l'état 147
-    "|"         décalage et aller à l'état 148
-    "||"        décalage et aller à l'état 149
-
-    rightComparable  aller à l'état 151
-    rightOperand     aller à l'état 152
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 154
+   91 comparison: functionCall . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  123 operation: functionCall . rightOperand
+  130          | functionCall . "** or ^" variable
+  131          | functionCall . "** or ^" functionCall
+  134          | functionCall . ".^" variable
+  135          | functionCall . ".^" functionCall
+  138          | functionCall . "'"
+  139          | functionCall . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall
+  168 listableBegin: . ":" variable
+  169              | . ":" functionCall
+  170 listableEnd: . listableBegin ":" variable
+  171            | . listableBegin ":" functionCall
+  172            | . listableBegin
+  178 variable: functionCall . "." variable
+  179         | functionCall . "." keywords
+  180         | functionCall . "." functionCall
+  182         | functionCall . listableEnd
+  198         | functionCall . "(" functionArgs ")"
+  202 variableFields: functionCall . "," functionCall
+  203               | functionCall . "," variable
+
+    "'"         décalage et aller à l'état 114
+    ","         décalage et aller à l'état 168
+    ":"         décalage et aller à l'état 115
+    "("         décalage et aller à l'état 164
+    ")"         décalage et aller à l'état 169
+    "."         décalage et aller à l'état 165
+    ".'"        décalage et aller à l'état 118
+    "+"         décalage et aller à l'état 119
+    "-"         décalage et aller à l'état 120
+    "*"         décalage et aller à l'état 121
+    ".*"        décalage et aller à l'état 122
+    ".*."       décalage et aller à l'état 123
+    "*."        décalage et aller à l'état 124
+    "/"         décalage et aller à l'état 125
+    "./"        décalage et aller à l'état 126
+    "/."        décalage et aller à l'état 127
+    "./."       décalage et aller à l'état 128
+    "\\"        décalage et aller à l'état 129
+    ".\\"       décalage et aller à l'état 130
+    "\\."       décalage et aller à l'état 131
+    ".\\."      décalage et aller à l'état 132
+    "** or ^"   décalage et aller à l'état 133
+    ".^"        décalage et aller à l'état 134
+    "=="        décalage et aller à l'état 135
+    "<> or ~="  décalage et aller à l'état 136
+    "<"         décalage et aller à l'état 137
+    "<="        décalage et aller à l'état 138
+    ">"         décalage et aller à l'état 139
+    ">="        décalage et aller à l'état 140
+    "&"         décalage et aller à l'état 141
+    "&&"        décalage et aller à l'état 142
+    "|"         décalage et aller à l'état 143
+    "||"        décalage et aller à l'état 144
+
+    rightComparable  aller à l'état 146
+    rightOperand     aller à l'état 147
+    listableBegin    aller à l'état 148
+    listableEnd      aller à l'état 149
 
 
-État 62
+État 60
 
-  106 comparison: variable . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  138 operation: variable . rightOperand
-  144          | variable . "** or ^" variable
-  145          | variable . "** or ^" functionCall
-  148          | variable . ".^" variable
-  149          | variable . ".^" functionCall
-  152          | variable . "'"
-  153          | variable . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  191 variable: variable . "." "identifier"
-  192         | variable . "." keywords
-  193         | variable . "." functionCall
-  197         | variable . listableEnd
-  210         | "(" variable . ")"
-  213         | variable . "(" functionArgs ")"
-  217 variableFields: variable . "," variable
-  220               | variable . "," functionCall
-
-    "'"         décalage et aller à l'état 155
-    ","         décalage et aller à l'état 175
-    ":"         décalage et aller à l'état 120
-    "("         décalage et aller à l'état 171
-    ")"         décalage et aller à l'état 176
-    "."         décalage et aller à l'état 172
-    ".'"        décalage et aller à l'état 158
-    "+"         décalage et aller à l'état 124
-    "-"         décalage et aller à l'état 125
-    "*"         décalage et aller à l'état 126
-    ".*"        décalage et aller à l'état 127
-    ".*."       décalage et aller à l'état 128
-    "*."        décalage et aller à l'état 129
-    "/"         décalage et aller à l'état 130
-    "./"        décalage et aller à l'état 131
-    "/."        décalage et aller à l'état 132
-    "./."       décalage et aller à l'état 133
-    "\\"        décalage et aller à l'état 134
-    ".\\"       décalage et aller à l'état 135
-    "\\."       décalage et aller à l'état 136
-    ".\\."      décalage et aller à l'état 137
-    "** or ^"   décalage et aller à l'état 159
-    ".^"        décalage et aller à l'état 160
-    "=="        décalage et aller à l'état 140
-    "<> or ~="  décalage et aller à l'état 141
-    "<"         décalage et aller à l'état 142
-    "<="        décalage et aller à l'état 143
-    ">"         décalage et aller à l'état 144
-    ">="        décalage et aller à l'état 145
-    "&"         décalage et aller à l'état 146
-    "&&"        décalage et aller à l'état 147
-    "|"         décalage et aller à l'état 148
-    "||"        décalage et aller à l'état 149
-
-    rightComparable  aller à l'état 161
-    rightOperand     aller à l'état 162
-    listableBegin    aller à l'état 153
-    listableEnd      aller à l'état 163
+   90 comparison: variable . rightComparable
+   92 rightComparable: . "&" variable
+   93                | . "&" functionCall
+   94                | . "&" ":"
+   95                | . "&&" variable
+   96                | . "&&" functionCall
+   97                | . "&&" ":"
+   98                | . "|" variable
+   99                | . "|" functionCall
+  100                | . "|" ":"
+  101                | . "||" variable
+  102                | . "||" functionCall
+  103                | . "||" ":"
+  104                | . "==" variable
+  105                | . "==" functionCall
+  106                | . "==" ":"
+  107                | . "<> or ~=" variable
+  108                | . "<> or ~=" functionCall
+  109                | . "<> or ~=" ":"
+  110                | . ">" variable
+  111                | . ">" functionCall
+  112                | . ">" ":"
+  113                | . "<" variable
+  114                | . "<" functionCall
+  115                | . "<" ":"
+  116                | . ">=" variable
+  117                | . ">=" functionCall
+  118                | . ">=" ":"
+  119                | . "<=" variable
+  120                | . "<=" functionCall
+  121                | . "<=" ":"
+  122 operation: variable . rightOperand
+  128          | variable . "** or ^" variable
+  129          | variable . "** or ^" functionCall
+  132          | variable . ".^" variable
+  133          | variable . ".^" functionCall
+  136          | variable . "'"
+  137          | variable . ".'"
+  140 rightOperand: . "+" variable
+  141             | . "+" functionCall
+  142             | . "-" variable
+  143             | . "-" functionCall
+  144             | . "*" variable
+  145             | . "*" functionCall
+  146             | . ".*" variable
+  147             | . ".*" functionCall
+  148             | . ".*." variable
+  149             | . ".*." functionCall
+  150             | . "*." variable
+  151             | . "*." functionCall
+  152             | . "/" variable
+  153             | . "/" functionCall
+  154             | . "./" variable
+  155             | . "./" functionCall
+  156             | . "./." variable
+  157             | . "./." functionCall
+  158             | . "/." variable
+  159             | . "/." functionCall
+  160             | . "\\" variable
+  161             | . "\\" functionCall
+  162             | . ".\\" variable
+  163             | . ".\\" functionCall
+  164             | . ".\\." variable
+  165             | . ".\\." functionCall
+  166             | . "\\." variable
+  167             | . "\\." functionCall