Fix grammar conflict : remove duplicate rule / manage empty function call arguments 72/14872/3
Bruno JOFRET [Wed, 16 Jul 2014 13:16:53 +0000 (15:16 +0200)]
Change-Id: Ib8ee898c512ccf61c0b7d80bcd1466558d492f7d

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/parsescilab.cpp

index 4026c46..a6634d6 100644 (file)
@@ -43,8 +43,8 @@ extern int yydebug;
 /* Token type.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
-enum yytokentype
-{
+  enum yytokentype
+  {
     YYEOF = 0,
     DOTS = 258,
     EOL = 259,
@@ -127,7 +127,7 @@ enum yytokentype
     LISTABLE = 336,
     CONTROLBREAK = 337,
     FUNCTIONCALL = 338
-};
+  };
 #endif
 /* Tokens.  */
 #define YYEOF 0
@@ -220,7 +220,7 @@ union YYSTYPE
 {
 
 
-    /* Tokens. */
+  /* Tokens. */
     double                      number;
     std::wstring*               str;
     std::wstring*               path;
@@ -260,7 +260,7 @@ union YYSTYPE
     ast::MatrixExp*             t_matrix_exp;
     ast::MatrixLineExp*         t_matrixline_exp;
     std::list<ast::MatrixLineExp *>*            \
-    t_list_mline;
+                                t_list_mline;
 
     ast::CellExp*               t_cell_exp;
 
@@ -285,10 +285,10 @@ union YYSTYPE
 typedef struct YYLTYPE YYLTYPE;
 struct YYLTYPE
 {
-    int first_line;
-    int first_column;
-    int last_line;
-    int last_column;
+  int first_line;
+  int first_column;
+  int last_line;
+  int last_column;
 };
 # define YYLTYPE_IS_DECLARED 1
 # define YYLTYPE_IS_TRIVIAL 1
index ad8500d..e6c97e1 100644 (file)
@@ -1,4 +1,4 @@
-Terminaux inutilisés dans la grammaire
+Terminals unused in grammar
 
    "line break"
    "spaces"
@@ -6,17 +6,7 @@ Terminaux inutilisés dans la grammaire
    FUNCTIONCALL
 
 
-La règle est inutile dans l'analyseur à cause de conflits
-
-  203 variable: variable listableEnd
-
-
-État 166 conflits: 74 réduction/réduction
-État 171 conflits: 1 décalage/réduction
-État 367 conflits: 1 décalage/réduction
-
-
-Grammaire
+Grammar
 
     0 $accept: program "end of file"
 
@@ -95,503 +85,505 @@ Grammaire
    63             | ":"
    64             | variableDeclaration
    65             | ","
-   66             | functionArgs "," variable
-   67             | functionArgs "," functionCall
-   68             | functionArgs "," ":"
-   69             | functionArgs "," variableDeclaration
+   66             | "," variable
+   67             | "," functionCall
+   68             | "," ":"
+   69             | "," variableDeclaration
    70             | functionArgs ","
-   71             | "," functionArgs
-
-   72 functionDeclaration: "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-   96 functionDeclarationReturns: idList
-
-   97 functionDeclarationArguments: "(" idList ")"
-   98                             | "(" ")"
-   99                             | %empty
-
-  100 idList: idList "," "identifier"
-  101       | "identifier"
-
-  102 functionDeclarationBreak: lineEnd
-  103                         | ";"
-  104                         | ";" "end of line"
-  105                         | ","
-  106                         | "," "end of line"
-
-  107 functionBody: expressions
-  108             | %empty
-
-  109 condition: functionCall
-  110          | variable
-
-  111 comparison: variable rightComparable
-  112           | functionCall rightComparable
-
-  113 rightComparable: "&" variable
-  114                | "&" functionCall
-  115                | "&" ":"
-  116                | "&&" variable
-  117                | "&&" functionCall
-  118                | "&&" ":"
-  119                | "|" variable
-  120                | "|" functionCall
-  121                | "|" ":"
-  122                | "||" variable
-  123                | "||" functionCall
-  124                | "||" ":"
-  125                | "==" variable
-  126                | "==" functionCall
-  127                | "==" ":"
-  128                | "<> or ~=" variable
-  129                | "<> or ~=" functionCall
-  130                | "<> or ~=" ":"
-  131                | ">" variable
-  132                | ">" functionCall
-  133                | ">" ":"
-  134                | "<" variable
-  135                | "<" functionCall
-  136                | "<" ":"
-  137                | ">=" variable
-  138                | ">=" functionCall
-  139                | ">=" ":"
-  140                | "<=" variable
-  141                | "<=" functionCall
-  142                | "<=" ":"
-
-  143 operation: variable rightOperand
-  144          | functionCall rightOperand
-  145          | "-" variable
-  146          | "-" functionCall
-  147          | "+" variable
-  148          | "+" functionCall
-  149          | variable "** or ^" variable
-  150          | variable "** or ^" functionCall
-  151          | functionCall "** or ^" variable
-  152          | functionCall "** or ^" functionCall
-  153          | variable ".^" variable
-  154          | variable ".^" functionCall
-  155          | functionCall ".^" variable
-  156          | functionCall ".^" functionCall
-  157          | variable "'"
-  158          | variable ".'"
-  159          | functionCall "'"
-  160          | functionCall ".'"
-
-  161 rightOperand: "+" variable
-  162             | "+" functionCall
-  163             | "-" variable
-  164             | "-" functionCall
-  165             | "*" variable
-  166             | "*" functionCall
-  167             | ".*" variable
-  168             | ".*" functionCall
-  169             | ".*." variable
-  170             | ".*." functionCall
-  171             | "*." variable
-  172             | "*." functionCall
-  173             | "/" variable
-  174             | "/" functionCall
-  175             | "./" variable
-  176             | "./" functionCall
-  177             | "./." variable
-  178             | "./." functionCall
-  179             | "/." variable
-  180             | "/." functionCall
-  181             | "\\" variable
-  182             | "\\" functionCall
-  183             | ".\\" variable
-  184             | ".\\" functionCall
-  185             | ".\\." variable
-  186             | ".\\." functionCall
-  187             | "\\." variable
-  188             | "\\." functionCall
-
-  189 listableBegin: ":" variable
-  190              | ":" functionCall
-
-  191 listableEnd: listableBegin ":" variable
-  192            | listableBegin ":" functionCall
-  193            | listableBegin
-
-  194 variable: "~ or @" variable
-  195         | "~ or @" functionCall
-  196         | variable "." "identifier"
-  197         | variable "." keywords
-  198         | variable "." functionCall
-  199         | functionCall "." variable
-  200         | functionCall "." keywords
-  201         | functionCall "." functionCall
-  202         | variable listableEnd
-  203         | variable listableEnd
-  204         | functionCall listableEnd
-  205         | matrix
-  206         | cell
-  207         | operation
-  208         | "identifier"
-  209         | "integer"
-  210         | "number"
-  211         | "float"
-  212         | "string"
-  213         | "$"
-  214         | "%t or %T"
-  215         | "%f or %F"
-  216         | "(" variable ")"
-  217         | "(" variableFields ")"
-  218         | comparison
-  219         | variable "(" functionArgs ")"
-  220         | functionCall "(" functionArgs ")"
-
-  221 variableFields: variableFields "," variable
-  222               | variableFields "," functionCall
-  223               | variable "," variable
-  224               | functionCall "," functionCall
-  225               | functionCall "," variable
-  226               | variable "," functionCall
-
-  227 cell: "{" matrixOrCellLines "}"
-  228     | "{" "end of line" matrixOrCellLines "}"
-  229     | "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | "{" matrixOrCellColumns "}"
-  232     | "{" "end of line" matrixOrCellColumns "}"
-  233     | "{" "end of line" "}"
-  234     | "{" "}"
-
-  235 matrix: "[" matrixOrCellLines "]"
-  236       | "[" "end of line" matrixOrCellLines "]"
-  237       | "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | "[" matrixOrCellColumns "]"
-  240       | "[" "end of line" matrixOrCellColumns "]"
-  241       | "[" "end of line" "]"
-  242       | "[" "]"
-
-  243 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
-  244                  | matrixOrCellLine
-
-  245 matrixOrCellLineBreak: ";"
-  246                      | "end of line"
-  247                      | matrixOrCellLineBreak "end of line"
-  248                      | matrixOrCellLineBreak ";"
-
-  249 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
-  250                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-
-  251 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
-  252                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  253                    | matrixOrCellColumns variable
-  254                    | matrixOrCellColumns functionCall
-  255                    | matrixOrCellColumns "line comment"
-  256                    | variable
-  257                    | functionCall
-  258                    | "line comment"
-
-  259 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
-  260                         | ","
-
-  261 variableDeclaration: assignable "=" variable
-  262                    | assignable "=" functionCall
-  263                    | functionCall "=" variable
-  264                    | functionCall "=" functionCall
-  265                    | assignable "=" ":"
-  266                    | functionCall "=" ":"
-  267                    | assignable "=" returnControl
-  268                    | functionCall "=" returnControl
-
-  269 assignable: variable "." "identifier"
-  270           | variable "." keywords
-  271           | variable "." functionCall
-  272           | functionCall "." variable
-  273           | functionCall "." keywords
-  274           | functionCall "." functionCall
-  275           | "identifier"
-  276           | multipleResults
-  277           | variable "(" functionArgs ")"
-  278           | functionCall "(" functionArgs ")"
-
-  279 multipleResults: "[" matrixOrCellColumns "]"
-
-  280 ifControl: "if" condition then thenBody "end"
-  281          | "if" condition then thenBody else elseBody "end"
-  282          | "if" condition then thenBody elseIfControl "end"
-
-  283 thenBody: expressions
-  284         | %empty
-
-  285 elseBody: expressions
+   71             | functionArgs "," variable
+   72             | functionArgs "," functionCall
+   73             | functionArgs "," ":"
+   74             | functionArgs "," variableDeclaration
+
+   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"
+   83                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+
+   99 functionDeclarationReturns: idList
+
+  100 functionDeclarationArguments: "(" idList ")"
+  101                             | "(" ")"
+  102                             | %empty
+
+  103 idList: idList "," "identifier"
+  104       | "identifier"
+
+  105 functionDeclarationBreak: lineEnd
+  106                         | ";"
+  107                         | ";" "end of line"
+  108                         | ","
+  109                         | "," "end of line"
+
+  110 functionBody: expressions
+  111             | %empty
+
+  112 condition: functionCall
+  113          | variable
+
+  114 comparison: variable rightComparable
+  115           | functionCall rightComparable
+
+  116 rightComparable: "&" variable
+  117                | "&" functionCall
+  118                | "&" ":"
+  119                | "&&" variable
+  120                | "&&" functionCall
+  121                | "&&" ":"
+  122                | "|" variable
+  123                | "|" functionCall
+  124                | "|" ":"
+  125                | "||" variable
+  126                | "||" functionCall
+  127                | "||" ":"
+  128                | "==" variable
+  129                | "==" functionCall
+  130                | "==" ":"
+  131                | "<> or ~=" variable
+  132                | "<> or ~=" functionCall
+  133                | "<> or ~=" ":"
+  134                | ">" variable
+  135                | ">" functionCall
+  136                | ">" ":"
+  137                | "<" variable
+  138                | "<" functionCall
+  139                | "<" ":"
+  140                | ">=" variable
+  141                | ">=" functionCall
+  142                | ">=" ":"
+  143                | "<=" variable
+  144                | "<=" functionCall
+  145                | "<=" ":"
+
+  146 operation: variable rightOperand
+  147          | functionCall rightOperand
+  148          | "-" variable
+  149          | "-" functionCall
+  150          | "+" variable
+  151          | "+" functionCall
+  152          | variable "** or ^" variable
+  153          | variable "** or ^" functionCall
+  154          | functionCall "** or ^" variable
+  155          | functionCall "** or ^" functionCall
+  156          | variable ".^" variable
+  157          | variable ".^" functionCall
+  158          | functionCall ".^" variable
+  159          | functionCall ".^" functionCall
+  160          | variable "'"
+  161          | variable ".'"
+  162          | functionCall "'"
+  163          | functionCall ".'"
+
+  164 rightOperand: "+" 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             | "\\" variable
+  185             | "\\" functionCall
+  186             | ".\\" variable
+  187             | ".\\" functionCall
+  188             | ".\\." variable
+  189             | ".\\." functionCall
+  190             | "\\." variable
+  191             | "\\." functionCall
+
+  192 listableBegin: ":" variable
+  193              | ":" functionCall
+
+  194 listableEnd: listableBegin ":" variable
+  195            | listableBegin ":" functionCall
+  196            | listableBegin
+
+  197 variable: "~ or @" variable
+  198         | "~ or @" functionCall
+  199         | variable "." "identifier"
+  200         | variable "." keywords
+  201         | variable "." functionCall
+  202         | functionCall "." variable
+  203         | functionCall "." keywords
+  204         | functionCall "." functionCall
+  205         | variable listableEnd
+  206         | functionCall listableEnd
+  207         | matrix
+  208         | cell
+  209         | operation
+  210         | "identifier"
+  211         | "integer"
+  212         | "number"
+  213         | "float"
+  214         | "string"
+  215         | "$"
+  216         | "%t or %T"
+  217         | "%f or %F"
+  218         | "(" variable ")"
+  219         | "(" variableFields ")"
+  220         | comparison
+  221         | variable "(" functionArgs ")"
+  222         | functionCall "(" functionArgs ")"
+
+  223 variableFields: variableFields "," variable
+  224               | variableFields "," functionCall
+  225               | variable "," variable
+  226               | functionCall "," functionCall
+  227               | functionCall "," variable
+  228               | variable "," functionCall
+
+  229 cell: "{" 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 matrix: "[" matrixOrCellLines "]"
+  238       | "[" "end of line" matrixOrCellLines "]"
+  239       | "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | "[" matrixOrCellColumns "]"
+  242       | "[" "end of line" matrixOrCellColumns "]"
+  243       | "[" "end of line" "]"
+  244       | "[" "]"
+
+  245 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
+  246                  | matrixOrCellLine
+
+  247 matrixOrCellLineBreak: ";"
+  248                      | "end of line"
+  249                      | matrixOrCellLineBreak "end of line"
+  250                      | matrixOrCellLineBreak ";"
+
+  251 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
+  252                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+
+  253 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
+  254                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  255                    | matrixOrCellColumns variable
+  256                    | matrixOrCellColumns functionCall
+  257                    | matrixOrCellColumns "line comment"
+  258                    | variable
+  259                    | functionCall
+  260                    | "line comment"
+
+  261 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
+  262                         | ","
+
+  263 variableDeclaration: assignable "=" variable
+  264                    | assignable "=" functionCall
+  265                    | functionCall "=" variable
+  266                    | functionCall "=" functionCall
+  267                    | assignable "=" ":"
+  268                    | functionCall "=" ":"
+  269                    | assignable "=" returnControl
+  270                    | functionCall "=" returnControl
+
+  271 assignable: variable "." "identifier"
+  272           | variable "." keywords
+  273           | variable "." functionCall
+  274           | functionCall "." variable
+  275           | functionCall "." keywords
+  276           | functionCall "." functionCall
+  277           | "identifier"
+  278           | multipleResults
+  279           | variable "(" functionArgs ")"
+  280           | functionCall "(" functionArgs ")"
+
+  281 multipleResults: "[" matrixOrCellColumns "]"
+
+  282 ifControl: "if" condition then thenBody "end"
+  283          | "if" condition then thenBody else elseBody "end"
+  284          | "if" condition then thenBody elseIfControl "end"
+
+  285 thenBody: expressions
   286         | %empty
 
-  287 ifConditionBreak: ";"
-  288                 | ";" "end of line"
-  289                 | ","
-  290                 | "," "end of line"
-  291                 | "end of line"
-
-  292 then: "then"
-  293     | ifConditionBreak "then"
-  294     | ifConditionBreak "then" "end of line"
-  295     | "then" ifConditionBreak
-  296     | ifConditionBreak
-  297     | %empty
-
-  298 else: "else"
-  299     | "else" ","
-  300     | "else" ";"
-  301     | "else" "end of line"
-  302     | "else" "," "end of line"
-  303     | "else" ";" "end of line"
-
-  304 elseIfControl: "elseif" condition then thenBody
-  305              | "elseif" condition then thenBody else elseBody
-  306              | "elseif" condition then thenBody elseIfControl
-
-  307 selectControl: select selectable selectConditionBreak casesControl "end"
-  308              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | select selectable "line comment" selectConditionBreak casesControl "end"
-  310              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-
-  311 select: "select"
-  312       | "switch"
-
-  313 defaultCase: else
-  314            | "otherwise"
-  315            | "otherwise" ","
-  316            | "otherwise" ";"
-  317            | "otherwise" "end of line"
-  318            | "otherwise" "," "end of line"
-  319            | "otherwise" ";" "end of line"
-
-  320 selectable: variable
-  321           | functionCall
-
-  322 selectConditionBreak: "end of line"
-  323                     | "," "end of line"
-  324                     | ";" "end of line"
-  325                     | ","
-  326                     | ";"
-
-  327 casesControl: "case" variable caseControlBreak caseBody
-  328             | "case" functionCall caseControlBreak caseBody
-  329             | comments "case" variable caseControlBreak caseBody
-  330             | comments "case" functionCall caseControlBreak caseBody
-  331             | casesControl "case" variable caseControlBreak caseBody
-  332             | casesControl "case" functionCall caseControlBreak caseBody
-
-  333 caseBody: expressions
-  334         | %empty
-
-  335 caseControlBreak: "then"
-  336                 | ","
-  337                 | ";"
-  338                 | "end of line"
-  339                 | "then" "end of line"
-  340                 | "," "end of line"
-  341                 | ";" "end of line"
-  342                 | "then" ","
-  343                 | "then" "," "end of line"
-  344                 | "then" ";"
-  345                 | "then" ";" "end of line"
-  346                 | %empty
-
-  347 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-
-  349 forIterator: functionCall
-  350            | variable
-
-  351 forConditionBreak: "end of line"
-  352                  | ";"
-  353                  | ";" "end of line"
-  354                  | ","
-  355                  | "," "end of line"
-  356                  | "do"
-  357                  | "do" "end of line"
-  358                  | %empty
-
-  359 forBody: expressions
-  360        | %empty
-
-  361 whileControl: "while" condition whileConditionBreak whileBody "end"
-
-  362 whileBody: expressions
-  363          | %empty
-
-  364 whileConditionBreak: ","
-  365                    | ";"
-  366                    | "do"
-  367                    | "do" ","
-  368                    | "do" ";"
-  369                    | "then"
-  370                    | "then" ","
-  371                    | "then" ";"
-  372                    | "line comment" "end of line"
-  373                    | "end of line"
-  374                    | "," "end of line"
-  375                    | ";" "end of line"
-  376                    | "do" "end of line"
-  377                    | "do" "," "end of line"
-  378                    | "do" ";" "end of line"
-  379                    | "then" "end of line"
-  380                    | "then" "," "end of line"
-  381                    | "then" ";" "end of line"
-
-  382 tryControl: "try" catchBody "catch" catchBody "end"
-  383           | "try" catchBody "end"
-
-  384 catchBody: expressions
-  385          | "end of line" expressions
-  386          | "," expressions
-  387          | "end of line"
-  388          | %empty
-
-  389 returnControl: "return"
-  390              | "return" variable
-  391              | "return" functionCall
-
-  392 comments: "line comment" "end of line"
-  393         | comments "line comment" "end of line"
-
-  394 lineEnd: "end of line"
-  395        | "line comment" "end of line"
-
-  396 keywords: "if"
-  397         | "then"
-  398         | "else"
-  399         | "elseif"
-  400         | "end"
-  401         | "select"
-  402         | "switch"
-  403         | "otherwise"
-  404         | "case"
-  405         | "function"
-  406         | "endfunction"
-  407         | "#function"
-  408         | "hidden"
-  409         | "for"
-  410         | "while"
-  411         | "do"
-  412         | "break"
-  413         | "try"
-  414         | "catch"
-  415         | "return"
-
-
-Terminaux, suivis des règles où ils apparaissent
+  287 elseBody: expressions
+  288         | %empty
+
+  289 ifConditionBreak: ";"
+  290                 | ";" "end of line"
+  291                 | ","
+  292                 | "," "end of line"
+  293                 | "end of line"
+
+  294 then: "then"
+  295     | ifConditionBreak "then"
+  296     | ifConditionBreak "then" "end of line"
+  297     | "then" ifConditionBreak
+  298     | ifConditionBreak
+  299     | %empty
+
+  300 else: "else"
+  301     | "else" ","
+  302     | "else" ";"
+  303     | "else" "end of line"
+  304     | "else" "," "end of line"
+  305     | "else" ";" "end of line"
+
+  306 elseIfControl: "elseif" condition then thenBody
+  307              | "elseif" condition then thenBody else elseBody
+  308              | "elseif" condition then thenBody elseIfControl
+
+  309 selectControl: select selectable selectConditionBreak casesControl "end"
+  310              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | select selectable "line comment" selectConditionBreak casesControl "end"
+  312              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+
+  313 select: "select"
+  314       | "switch"
+
+  315 defaultCase: else
+  316            | "otherwise"
+  317            | "otherwise" ","
+  318            | "otherwise" ";"
+  319            | "otherwise" "end of line"
+  320            | "otherwise" "," "end of line"
+  321            | "otherwise" ";" "end of line"
+
+  322 selectable: variable
+  323           | functionCall
+
+  324 selectConditionBreak: "end of line"
+  325                     | "," "end of line"
+  326                     | ";" "end of line"
+  327                     | ","
+  328                     | ";"
+
+  329 casesControl: "case" variable caseControlBreak caseBody
+  330             | "case" functionCall caseControlBreak caseBody
+  331             | comments "case" variable caseControlBreak caseBody
+  332             | comments "case" functionCall caseControlBreak caseBody
+  333             | casesControl "case" variable caseControlBreak caseBody
+  334             | casesControl "case" functionCall caseControlBreak caseBody
+
+  335 caseBody: expressions
+  336         | %empty
+
+  337 caseControlBreak: "then"
+  338                 | ","
+  339                 | ";"
+  340                 | "end of line"
+  341                 | "then" "end of line"
+  342                 | "," "end of line"
+  343                 | ";" "end of line"
+  344                 | "then" ","
+  345                 | "then" "," "end of line"
+  346                 | "then" ";"
+  347                 | "then" ";" "end of line"
+  348                 | %empty
+
+  349 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+
+  351 forIterator: functionCall
+  352            | variable
+
+  353 forConditionBreak: "end of line"
+  354                  | ";"
+  355                  | ";" "end of line"
+  356                  | ","
+  357                  | "," "end of line"
+  358                  | "do"
+  359                  | "do" "end of line"
+  360                  | %empty
+
+  361 forBody: expressions
+  362        | %empty
+
+  363 whileControl: "while" condition whileConditionBreak whileBody "end"
+
+  364 whileBody: expressions
+  365          | %empty
+
+  366 whileConditionBreak: ","
+  367                    | ";"
+  368                    | "do"
+  369                    | "do" ","
+  370                    | "do" ";"
+  371                    | "then"
+  372                    | "then" ","
+  373                    | "then" ";"
+  374                    | "line comment" "end of line"
+  375                    | "end of line"
+  376                    | "," "end of line"
+  377                    | ";" "end of line"
+  378                    | "do" "end of line"
+  379                    | "do" "," "end of line"
+  380                    | "do" ";" "end of line"
+  381                    | "then" "end of line"
+  382                    | "then" "," "end of line"
+  383                    | "then" ";" "end of line"
+
+  384 tryControl: "try" catchBody "catch" catchBody "end"
+  385           | "try" catchBody "end"
+
+  386 catchBody: expressions
+  387          | "end of line" expressions
+  388          | "," expressions
+  389          | "end of line"
+  390          | %empty
+
+  391 returnControl: "return"
+  392              | "return" variable
+  393              | "return" functionCall
+
+  394 comments: "line comment" "end of line"
+  395         | comments "line comment" "end of line"
+
+  396 lineEnd: "end of line"
+  397        | "line comment" "end of line"
+
+  398 keywords: "if"
+  399         | "then"
+  400         | "else"
+  401         | "elseif"
+  402         | "end"
+  403         | "select"
+  404         | "switch"
+  405         | "otherwise"
+  406         | "case"
+  407         | "function"
+  408         | "endfunction"
+  409         | "#function"
+  410         | "hidden"
+  411         | "for"
+  412         | "while"
+  413         | "do"
+  414         | "break"
+  415         | "try"
+  416         | "catch"
+  417         | "return"
+
+
+Terminals, with rules where they appear
 
 "end of file" (0) 0
 error (256) 34
 "line break" (258)
-"end of line" (259) 2 16 19 104 106 228 230 232 233 236 238 240 241
-    246 247 288 290 291 294 301 302 303 317 318 319 322 323 324 338
-    339 340 341 343 345 351 353 355 357 372 373 374 375 376 377 378
-    379 380 381 385 387 392 393 394 395
+"end of line" (259) 2 16 19 107 109 230 232 234 235 238 240 242 243
+    248 249 290 292 293 296 303 304 305 319 320 321 324 325 326 340
+    341 342 343 345 347 353 355 357 359 374 375 376 377 378 379 380
+    381 382 383 387 389 394 395 396 397
 "spaces" (260)
-"%t or %T" (261) 43 53 56 214
-"%f or %F" (262) 44 54 55 215
-"'" (263) 157 159
-"~ or @" (264) 194 195
-"$" (265) 42 213
-"," (266) 15 18 65 66 67 68 69 70 71 100 105 106 221 222 223 224 225
-    226 259 260 289 290 299 302 315 318 323 325 336 340 342 343 354
-    355 364 367 370 374 377 380 386
-":" (267) 63 68 115 118 121 124 127 130 133 136 139 142 189 190 191
-    192 265 266
-";" (268) 14 17 103 104 245 248 287 288 300 303 316 319 324 326 337
-    341 344 345 352 353 365 368 371 375 378 381
-"(" (269) 52 53 54 55 56 57 59 97 98 216 217 219 220 277 278 348
-")" (270) 52 53 54 55 56 57 59 97 98 216 217 219 220 277 278 348
-"[" (271) 73 74 77 78 81 82 85 86 89 90 93 94 235 236 237 238 239 240
-    241 242 279
-"]" (272) 73 74 77 78 81 82 85 86 89 90 93 94 235 236 237 238 239 240
-    241 242 279
-"{" (273) 58 60 227 228 229 230 231 232 233 234
-"}" (274) 58 60 227 228 229 230 231 232 233 234
-"." (275) 45 46 196 197 198 199 200 201 269 270 271 272 273 274
-".'" (276) 158 160
-"+" (277) 147 148 161 162
-"-" (278) 145 146 163 164
-"*" (279) 165 166
-".*" (280) 167 168
-".*." (281) 169 170
-"*." (282) 171 172
-"/" (283) 173 174
-"./" (284) 175 176
-"/." (285) 179 180
-"./." (286) 177 178
-"\\" (287) 181 182
-".\\" (288) 183 184
-"\\." (289) 187 188
-".\\." (290) 185 186
-"** or ^" (291) 149 150 151 152
-".^" (292) 153 154 155 156
-"==" (293) 125 126 127
-"<> or ~=" (294) 128 129 130
-"<" (295) 134 135 136
-"<=" (296) 140 141 142
-">" (297) 131 132 133
-">=" (298) 137 138 139
-"&" (299) 113 114 115
-"&&" (300) 116 117 118
-"|" (301) 119 120 121
-"||" (302) 122 123 124
-"=" (303) 72 73 74 76 77 78 80 81 82 84 85 86 88 89 90 92 93 94 261
-    262 263 264 265 266 267 268 347 348
-"if" (304) 280 281 282 396
-"then" (305) 292 293 294 295 335 339 342 343 344 345 369 370 371 379
-    380 381 397
-"else" (306) 298 299 300 301 302 303 398
-"elseif" (307) 304 305 306 399
-"end" (308) 76 77 78 79 84 85 86 87 92 93 94 95 280 281 282 307 308
-    309 310 347 348 361 382 383 400
-"select" (309) 311 401
-"switch" (310) 312 402
-"case" (311) 327 328 329 330 331 332 404
-"otherwise" (312) 314 315 316 317 318 319 403
-"function" (313) 72 73 74 75 76 77 78 79 88 89 90 91 92 93 94 95 405
-"endfunction" (314) 72 73 74 75 80 81 82 83 88 89 90 91 406
-"#function" (315) 80 81 82 83 84 85 86 87 407
-"hidden" (316) 88 89 90 91 92 93 94 95 408
-"for" (317) 347 348 409
-"while" (318) 361 410
-"do" (319) 356 357 366 367 368 376 377 378 411
-"break" (320) 30 412
+"%t or %T" (261) 43 53 56 216
+"%f or %F" (262) 44 54 55 217
+"'" (263) 160 162
+"~ or @" (264) 197 198
+"$" (265) 42 215
+"," (266) 15 18 65 66 67 68 69 70 71 72 73 74 103 108 109 223 224 225
+    226 227 228 261 262 291 292 301 304 317 320 325 327 338 342 344
+    345 356 357 366 369 372 376 379 382 388
+":" (267) 63 68 73 118 121 124 127 130 133 136 139 142 145 192 193
+    194 195 267 268
+";" (268) 14 17 106 107 247 250 289 290 302 305 318 321 326 328 339
+    343 346 347 354 355 367 370 373 377 380 383
+"(" (269) 52 53 54 55 56 57 59 100 101 218 219 221 222 279 280 350
+")" (270) 52 53 54 55 56 57 59 100 101 218 219 221 222 279 280 350
+"[" (271) 76 77 80 81 84 85 88 89 92 93 96 97 237 238 239 240 241 242
+    243 244 281
+"]" (272) 76 77 80 81 84 85 88 89 92 93 96 97 237 238 239 240 241 242
+    243 244 281
+"{" (273) 58 60 229 230 231 232 233 234 235 236
+"}" (274) 58 60 229 230 231 232 233 234 235 236
+"." (275) 45 46 199 200 201 202 203 204 271 272 273 274 275 276
+".'" (276) 161 163
+"+" (277) 150 151 164 165
+"-" (278) 148 149 166 167
+"*" (279) 168 169
+".*" (280) 170 171
+".*." (281) 172 173
+"*." (282) 174 175
+"/" (283) 176 177
+"./" (284) 178 179
+"/." (285) 182 183
+"./." (286) 180 181
+"\\" (287) 184 185
+".\\" (288) 186 187
+"\\." (289) 190 191
+".\\." (290) 188 189
+"** or ^" (291) 152 153 154 155
+".^" (292) 156 157 158 159
+"==" (293) 128 129 130
+"<> or ~=" (294) 131 132 133
+"<" (295) 137 138 139
+"<=" (296) 143 144 145
+">" (297) 134 135 136
+">=" (298) 140 141 142
+"&" (299) 116 117 118
+"&&" (300) 119 120 121
+"|" (301) 122 123 124
+"||" (302) 125 126 127
+"=" (303) 75 76 77 79 80 81 83 84 85 87 88 89 91 92 93 95 96 97 263
+    264 265 266 267 268 269 270 349 350
+"if" (304) 282 283 284 398
+"then" (305) 294 295 296 297 337 341 344 345 346 347 371 372 373 381
+    382 383 399
+"else" (306) 300 301 302 303 304 305 400
+"elseif" (307) 306 307 308 401
+"end" (308) 79 80 81 82 87 88 89 90 95 96 97 98 282 283 284 309 310
+    311 312 349 350 363 384 385 402
+"select" (309) 313 403
+"switch" (310) 314 404
+"case" (311) 329 330 331 332 333 334 406
+"otherwise" (312) 316 317 318 319 320 321 405
+"function" (313) 75 76 77 78 79 80 81 82 91 92 93 94 95 96 97 98 407
+"endfunction" (314) 75 76 77 78 83 84 85 86 91 92 93 94 408
+"#function" (315) 83 84 85 86 87 88 89 90 409
+"hidden" (316) 91 92 93 94 95 96 97 98 410
+"for" (317) 349 350 411
+"while" (318) 363 412
+"do" (319) 358 359 368 369 370 378 379 380 413
+"break" (320) 30 414
 "continue" (321) 31
-"try" (322) 382 383 413
-"catch" (323) 382 414
-"return" (324) 389 390 391 415
-"string" (325) 41 212
-"identifier" (326) 36 37 45 57 58 59 60 72 73 74 75 76 77 78 79 80
-    81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 100 101 196 208 269
-    275 347 348
-"integer" (327) 38 209
-"float" (328) 40 211
-"number" (329) 39 210
+"try" (322) 384 385 415
+"catch" (323) 384 416
+"return" (324) 391 392 393 417
+"string" (325) 41 214
+"identifier" (326) 36 37 45 57 58 59 60 75 76 77 78 79 80 81 82 83
+    84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 103 104 199 210 271
+    277 349 350
+"integer" (327) 38 211
+"float" (328) 40 213
+"number" (329) 39 212
 "path" (330) 49
-"line comment" (331) 7 9 11 12 33 255 258 309 310 372 392 393 395
+"line comment" (331) 7 9 11 12 33 257 260 311 312 374 394 395 397
 "block comment" (332)
 TOPLEVEL (333)
 HIGHLEVEL (334)
@@ -601,173 +593,172 @@ CONTROLBREAK (337)
 FUNCTIONCALL (338)
 
 
-Non-terminaux, suivis des règles où ils apparaissent
+Nonterminals, with rules where they appear
 
 $accept (84)
-    à gauche: 0
+    on left: 0
 program (85)
-    à gauche: 1 2 3 4, à droite: 0
+    on left: 1 2 3 4, on right: 0
 expressions (86)
-    à gauche: 5 6 7 8 9, à droite: 1 2 107 283 285 333 359 362 384
-    385 386
+    on left: 5 6 7 8 9, on right: 1 2 110 285 287 335 361 364 386 387
+    388
 recursiveExpression (87)
-    à gauche: 10 11 12 13, à droite: 5 6 7 10 11
+    on left: 10 11 12 13, on right: 5 6 7 10 11
 expressionLineBreak (88)
-    à gauche: 14 15 16 17 18 19, à droite: 3 10 11 12 13 17 18 19
+    on left: 14 15 16 17 18 19, on right: 3 10 11 12 13 17 18 19
 expression (89)
-    à gauche: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, à droite:
+    on left: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, on right:
     6 7 8 9 10 11 12 13
 implicitFunctionCall (90)
-    à gauche: 35 36, à droite: 29 35
+    on left: 35 36, on right: 29 35
 implicitCallable (91)
-    à gauche: 37 38 39 40 41 42 43 44 45 46 47 48 49, à droite: 35
-    36 45 46 48
+    on left: 37 38 39 40 41 42 43 44 45 46 47 48 49, on right: 35 36
+    45 46 48
 functionCall (92)
-    à gauche: 50 51 52, à droite: 21 46 52 62 67 109 112 114 117
-    120 123 126 129 132 135 138 141 144 146 148 150 151 152 154 155
-    156 159 160 162 164 166 168 170 172 174 176 178 180 182 184 186
-    188 190 192 195 198 199 200 201 204 220 222 224 225 226 252 254
-    257 262 263 264 266 268 271 272 273 274 278 321 328 330 332 349
-    391
+    on left: 50 51 52, on right: 21 46 52 62 67 72 112 115 117 120
+    123 126 129 132 135 138 141 144 147 149 151 153 154 155 157 158
+    159 162 163 165 167 169 171 173 175 177 179 181 183 185 187 189
+    191 193 195 198 201 202 203 204 206 222 224 226 227 228 254 256
+    259 264 265 266 268 270 273 274 275 276 280 323 330 332 334 351
+    393
 specificFunctionCall (93)
-    à gauche: 53 54 55 56, à droite: 51
+    on left: 53 54 55 56, on right: 51
 simpleFunctionCall (94)
-    à gauche: 57 58 59 60, à droite: 47 50
+    on left: 57 58 59 60, on right: 47 50
 functionArgs (95)
-    à gauche: 61 62 63 64 65 66 67 68 69 70 71, à droite: 53 54 57
-    58 66 67 68 69 70 71 219 220 277 278
+    on left: 61 62 63 64 65 66 67 68 69 70 71 72 73 74, on right: 53
+    54 57 58 70 71 72 73 74 221 222 279 280
 functionDeclaration (96)
-    à gauche: 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
-    90 91 92 93 94 95, à droite: 20
+    on left: 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
+    93 94 95 96 97 98, on right: 20
 functionDeclarationReturns (97)
-    à gauche: 96, à droite: 73 77 81 85 89 93
+    on left: 99, on right: 76 80 84 88 92 96
 functionDeclarationArguments (98)
-    à gauche: 97 98 99, à droite: 72 73 74 75 76 77 78 79 80 81 82
-    83 84 85 86 87 88 89 90 91 92 93 94 95
+    on left: 100 101 102, on right: 75 76 77 78 79 80 81 82 83 84 85
+    86 87 88 89 90 91 92 93 94 95 96 97 98
 idList (99)
-    à gauche: 100 101, à droite: 96 97 100
+    on left: 103 104, on right: 99 100 103
 functionDeclarationBreak (100)
-    à gauche: 102 103 104 105 106, à droite: 72 73 74 75 76 77 78
-    79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
+    on left: 105 106 107 108 109, on right: 75 76 77 78 79 80 81 82
+    83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
 functionBody (101)
-    à gauche: 107 108, à droite: 72 73 74 75 76 77 78 79 80 81 82
-    83 84 85 86 87 88 89 90 91 92 93 94 95
+    on left: 110 111, on right: 75 76 77 78 79 80 81 82 83 84 85 86
+    87 88 89 90 91 92 93 94 95 96 97 98
 condition (102)
-    à gauche: 109 110, à droite: 280 281 282 304 305 306 361
+    on left: 112 113, on right: 282 283 284 306 307 308 363
 comparison (103)
-    à gauche: 111 112, à droite: 218
+    on left: 114 115, on right: 220
 rightComparable (104)
-    à gauche: 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 138 139 140 141
-    142, à droite: 111 112
+    on left: 116 117 118 119 120 121 122 123 124 125 126 127 128 129
+    130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145,
+    on right: 114 115
 operation (105)
-    à gauche: 143 144 145 146 147 148 149 150 151 152 153 154 155
-    156 157 158 159 160, à droite: 207
+    on left: 146 147 148 149 150 151 152 153 154 155 156 157 158 159
+    160 161 162 163, on right: 209
 rightOperand (106)
-    à gauche: 161 162 163 164 165 166 167 168 169 170 171 172 173
-    174 175 176 177 178 179 180 181 182 183 184 185 186 187 188, à droite:
-    48 143 144
+    on left: 164 165 166 167 168 169 170 171 172 173 174 175 176 177
+    178 179 180 181 182 183 184 185 186 187 188 189 190 191, on right:
+    48 146 147
 listableBegin (107)
-    à gauche: 189 190, à droite: 191 192 193
+    on left: 192 193, on right: 194 195 196
 listableEnd (108)
-    à gauche: 191 192 193, à droite: 202 203 204
+    on left: 194 195 196, on right: 205 206
 variable (109)
-    à gauche: 194 195 196 197 198 199 200 201 202 203 204 205 206
-    207 208 209 210 211 212 213 214 215 216 217 218 219 220, à droite:
-    28 61 66 110 111 113 116 119 122 125 128 131 134 137 140 143 145
-    147 149 150 151 153 154 155 157 158 161 163 165 167 169 171 173
-    175 177 179 181 183 185 187 189 191 194 196 197 198 199 202 203
-    216 219 221 223 225 226 251 253 256 261 263 269 270 271 272 277
-    320 327 329 331 350 390
+    on left: 197 198 199 200 201 202 203 204 205 206 207 208 209 210
+    211 212 213 214 215 216 217 218 219 220 221 222, on right: 28 61
+    66 71 113 114 116 119 122 125 128 131 134 137 140 143 146 148 150
+    152 153 154 156 157 158 160 161 164 166 168 170 172 174 176 178
+    180 182 184 186 188 190 192 194 197 199 200 201 202 205 218 221
+    223 225 227 228 253 255 258 263 265 271 272 273 274 279 322 329
+    331 333 352 392
 variableFields (110)
-    à gauche: 221 222 223 224 225 226, à droite: 217 221 222
+    on left: 223 224 225 226 227 228, on right: 219 223 224
 cell (111)
-    à gauche: 227 228 229 230 231 232 233 234, à droite: 206
+    on left: 229 230 231 232 233 234 235 236, on right: 208
 matrix (112)
-    à gauche: 235 236 237 238 239 240 241 242, à droite: 205
+    on left: 237 238 239 240 241 242 243 244, on right: 207
 matrixOrCellLines (113)
-    à gauche: 243 244, à droite: 227 228 229 230 235 236 237 238
-    243
+    on left: 245 246, on right: 229 230 231 232 237 238 239 240 245
 matrixOrCellLineBreak (114)
-    à gauche: 245 246 247 248, à droite: 247 248 249 250
+    on left: 247 248 249 250, on right: 249 250 251 252
 matrixOrCellLine (115)
-    à gauche: 249 250, à droite: 243 244
+    on left: 251 252, on right: 245 246
 matrixOrCellColumns (116)
-    à gauche: 251 252 253 254 255 256 257 258, à droite: 229 230
-    231 232 237 238 239 240 249 250 251 252 253 254 255 279
+    on left: 253 254 255 256 257 258 259 260, on right: 231 232 233
+    234 239 240 241 242 251 252 253 254 255 256 257 281
 matrixOrCellColumnsBreak (117)
-    à gauche: 259 260, à droite: 250 251 252 259
+    on left: 261 262, on right: 252 253 254 261
 variableDeclaration (118)
-    à gauche: 261 262 263 264 265 266 267 268, à droite: 22 64 69
+    on left: 263 264 265 266 267 268 269 270, on right: 22 64 69 74
 assignable (119)
-    à gauche: 269 270 271 272 273 274 275 276 277 278, à droite:
-    261 262 265 267
+    on left: 271 272 273 274 275 276 277 278 279 280, on right: 263
+    264 267 269
 multipleResults (120)
-    à gauche: 279, à droite: 276
+    on left: 281, on right: 278
 ifControl (121)
-    à gauche: 280 281 282, à droite: 23
+    on left: 282 283 284, on right: 23
 thenBody (122)
-    à gauche: 283 284, à droite: 280 281 282 304 305 306
+    on left: 285 286, on right: 282 283 284 306 307 308
 elseBody (123)
-    à gauche: 285 286, à droite: 281 305 308 310
+    on left: 287 288, on right: 283 307 310 312
 ifConditionBreak (124)
-    à gauche: 287 288 289 290 291, à droite: 293 294 295 296
+    on left: 289 290 291 292 293, on right: 295 296 297 298
 then (125)
-    à gauche: 292 293 294 295 296 297, à droite: 280 281 282 304
-    305 306
+    on left: 294 295 296 297 298 299, on right: 282 283 284 306 307
+    308
 else (126)
-    à gauche: 298 299 300 301 302 303, à droite: 281 305 313
+    on left: 300 301 302 303 304 305, on right: 283 307 315
 elseIfControl (127)
-    à gauche: 304 305 306, à droite: 282 306
+    on left: 306 307 308, on right: 284 308
 selectControl (128)
-    à gauche: 307 308 309 310, à droite: 24
+    on left: 309 310 311 312, on right: 24
 select (129)
-    à gauche: 311 312, à droite: 307 308 309 310
+    on left: 313 314, on right: 309 310 311 312
 defaultCase (130)
-    à gauche: 313 314 315 316 317 318 319, à droite: 308 310
+    on left: 315 316 317 318 319 320 321, on right: 310 312
 selectable (131)
-    à gauche: 320 321, à droite: 307 308 309 310
+    on left: 322 323, on right: 309 310 311 312
 selectConditionBreak (132)
-    à gauche: 322 323 324 325 326, à droite: 307 308 309 310
+    on left: 324 325 326 327 328, on right: 309 310 311 312
 casesControl (133)
-    à gauche: 327 328 329 330 331 332, à droite: 307 308 309 310
-    331 332
+    on left: 329 330 331 332 333 334, on right: 309 310 311 312 333
+    334
 caseBody (134)
-    à gauche: 333 334, à droite: 327 328 329 330 331 332
+    on left: 335 336, on right: 329 330 331 332 333 334
 caseControlBreak (135)
-    à gauche: 335 336 337 338 339 340 341 342 343 344 345 346, à droite:
-    327 328 329 330 331 332
+    on left: 337 338 339 340 341 342 343 344 345 346 347 348, on right:
+    329 330 331 332 333 334
 forControl (136)
-    à gauche: 347 348, à droite: 25
+    on left: 349 350, on right: 25
 forIterator (137)
-    à gauche: 349 350, à droite: 347 348
+    on left: 351 352, on right: 349 350
 forConditionBreak (138)
-    à gauche: 351 352 353 354 355 356 357 358, à droite: 347 348
+    on left: 353 354 355 356 357 358 359 360, on right: 349 350
 forBody (139)
-    à gauche: 359 360, à droite: 347 348
+    on left: 361 362, on right: 349 350
 whileControl (140)
-    à gauche: 361, à droite: 26
+    on left: 363, on right: 26
 whileBody (141)
-    à gauche: 362 363, à droite: 361
+    on left: 364 365, on right: 363
 whileConditionBreak (142)
-    à gauche: 364 365 366 367 368 369 370 371 372 373 374 375 376
-    377 378 379 380 381, à droite: 361
+    on left: 366 367 368 369 370 371 372 373 374 375 376 377 378 379
+    380 381 382 383, on right: 363
 tryControl (143)
-    à gauche: 382 383, à droite: 27
+    on left: 384 385, on right: 27
 catchBody (144)
-    à gauche: 384 385 386 387 388, à droite: 382 383
+    on left: 386 387 388 389 390, on right: 384 385
 returnControl (145)
-    à gauche: 389 390 391, à droite: 32 267 268
+    on left: 391 392 393, on right: 32 269 270
 comments (146)
-    à gauche: 392 393, à droite: 329 330 393
+    on left: 394 395, on right: 331 332 395
 lineEnd (147)
-    à gauche: 394 395, à droite: 102
+    on left: 396 397, on right: 105
 keywords (148)
-    à gauche: 396 397 398 399 400 401 402 403 404 405 406 407 408
-    409 410 411 412 413 414 415, à droite: 197 200 270 273
+    on left: 398 399 400 401 402 403 404 405 406 407 408 409 410 411
+    412 413 414 415 416 417, on right: 200 203 272 275
 
 
-État 0
+State 0
 
     0 $accept: . program "end of file"
     1 program: . expressions
@@ -817,199 +808,198 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-   72 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-  280 ifControl: . "if" condition then thenBody "end"
-  281          | . "if" condition then thenBody else elseBody "end"
-  282          | . "if" condition then thenBody elseIfControl "end"
-  307 selectControl: . select selectable selectConditionBreak casesControl "end"
-  308              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  310              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  311 select: . "select"
-  312       | . "switch"
-  347 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  361 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  382 tryControl: . "try" catchBody "catch" catchBody "end"
-  383           | . "try" catchBody "end"
-  389 returnControl: . "return"
-  390              | . "return" variable
-  391              | . "return" functionCall
-
-    error           décalage et aller à l'état 1
-    "end of line"   décalage et aller à l'état 2
-    "%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 7
-    ";"             décalage et aller à l'état 8
-    "("             décalage et aller à l'état 9
-    "["             décalage et aller à l'état 10
-    "{"             décalage et aller à l'état 11
-    "+"             décalage et aller à l'état 12
-    "-"             décalage et aller à l'état 13
-    "if"            décalage et aller à l'état 14
-    "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 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
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionDeclaration   aller à l'état 41
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 44
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 47
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-    ifControl             aller à l'état 50
-    selectControl         aller à l'état 51
-    select                aller à l'état 52
-    forControl            aller à l'état 53
-    whileControl          aller à l'état 54
-    tryControl            aller à l'état 55
-    returnControl         aller à l'état 56
-
-
-État 1
+   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"
+   83                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+  282 ifControl: . "if" condition then thenBody "end"
+  283          | . "if" condition then thenBody else elseBody "end"
+  284          | . "if" condition then thenBody elseIfControl "end"
+  309 selectControl: . select selectable selectConditionBreak casesControl "end"
+  310              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  312              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  313 select: . "select"
+  314       | . "switch"
+  349 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  363 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  384 tryControl: . "try" catchBody "catch" catchBody "end"
+  385           | . "try" catchBody "end"
+  391 returnControl: . "return"
+  392              | . "return" variable
+  393              | . "return" functionCall
+
+    error           shift, and go to state 1
+    "end of line"   shift, and go to state 2
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    ","             shift, and go to state 7
+    ";"             shift, and go to state 8
+    "("             shift, and go to state 9
+    "["             shift, and go to state 10
+    "{"             shift, and go to state 11
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "if"            shift, and go to state 14
+    "select"        shift, and go to state 15
+    "switch"        shift, and go to state 16
+    "function"      shift, and go to state 17
+    "#function"     shift, and go to state 18
+    "hidden"        shift, and go to state 19
+    "for"           shift, and go to state 20
+    "while"         shift, and go to state 21
+    "break"         shift, and go to state 22
+    "continue"      shift, and go to state 23
+    "try"           shift, and go to state 24
+    "return"        shift, and go to state 25
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 27
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 31
+
+    "end of file"  reduce using rule 4 (program)
+
+    program               go to state 32
+    expressions           go to state 33
+    recursiveExpression   go to state 34
+    expressionLineBreak   go to state 35
+    expression            go to state 36
+    implicitFunctionCall  go to state 37
+    functionCall          go to state 38
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionDeclaration   go to state 41
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 44
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 47
+    assignable            go to state 48
+    multipleResults       go to state 49
+    ifControl             go to state 50
+    selectControl         go to state 51
+    select                go to state 52
+    forControl            go to state 53
+    whileControl          go to state 54
+    tryControl            go to state 55
+    returnControl         go to state 56
+
+
+State 1
 
    34 expression: error .
 
-    $défaut  réduction par utilisation de la règle 34 (expression)
+    $default  reduce using rule 34 (expression)
 
 
-État 2
+State 2
 
     2 program: "end of line" . expressions
     5 expressions: . recursiveExpression
@@ -1050,216 +1040,215 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-   72 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-  280 ifControl: . "if" condition then thenBody "end"
-  281          | . "if" condition then thenBody else elseBody "end"
-  282          | . "if" condition then thenBody elseIfControl "end"
-  307 selectControl: . select selectable selectConditionBreak casesControl "end"
-  308              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  310              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  311 select: . "select"
-  312       | . "switch"
-  347 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  361 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  382 tryControl: . "try" catchBody "catch" catchBody "end"
-  383           | . "try" catchBody "end"
-  389 returnControl: . "return"
-  390              | . "return" variable
-  391              | . "return" functionCall
-
-    error           décalage et aller à l'état 1
-    "%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 10
-    "{"             décalage et aller à l'état 11
-    "+"             décalage et aller à l'état 12
-    "-"             décalage et aller à l'état 13
-    "if"            décalage et aller à l'état 14
-    "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 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 57
-    recursiveExpression   aller à l'état 34
-    expression            aller à l'état 36
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionDeclaration   aller à l'état 41
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 44
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 47
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-    ifControl             aller à l'état 50
-    selectControl         aller à l'état 51
-    select                aller à l'état 52
-    forControl            aller à l'état 53
-    whileControl          aller à l'état 54
-    tryControl            aller à l'état 55
-    returnControl         aller à l'état 56
-
-
-État 3
+   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"
+   83                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+  282 ifControl: . "if" condition then thenBody "end"
+  283          | . "if" condition then thenBody else elseBody "end"
+  284          | . "if" condition then thenBody elseIfControl "end"
+  309 selectControl: . select selectable selectConditionBreak casesControl "end"
+  310              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  312              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  313 select: . "select"
+  314       | . "switch"
+  349 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  363 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  384 tryControl: . "try" catchBody "catch" catchBody "end"
+  385           | . "try" catchBody "end"
+  391 returnControl: . "return"
+  392              | . "return" variable
+  393              | . "return" functionCall
+
+    error           shift, and go to state 1
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    "("             shift, and go to state 9
+    "["             shift, and go to state 10
+    "{"             shift, and go to state 11
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "if"            shift, and go to state 14
+    "select"        shift, and go to state 15
+    "switch"        shift, and go to state 16
+    "function"      shift, and go to state 17
+    "#function"     shift, and go to state 18
+    "hidden"        shift, and go to state 19
+    "for"           shift, and go to state 20
+    "while"         shift, and go to state 21
+    "break"         shift, and go to state 22
+    "continue"      shift, and go to state 23
+    "try"           shift, and go to state 24
+    "return"        shift, and go to state 25
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 27
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 31
+
+    "end of file"  reduce using rule 16 (expressionLineBreak)
+    "end of line"  reduce using rule 16 (expressionLineBreak)
+    ","            reduce using rule 16 (expressionLineBreak)
+    ";"            reduce using rule 16 (expressionLineBreak)
+
+    expressions           go to state 57
+    recursiveExpression   go to state 34
+    expression            go to state 36
+    implicitFunctionCall  go to state 37
+    functionCall          go to state 38
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionDeclaration   go to state 41
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 44
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 47
+    assignable            go to state 48
+    multipleResults       go to state 49
+    ifControl             go to state 50
+    selectControl         go to state 51
+    select                go to state 52
+    forControl            go to state 53
+    whileControl          go to state 54
+    tryControl            go to state 55
+    returnControl         go to state 56
+
+
+State 3
 
    53 specificFunctionCall: "%t or %T" . "(" functionArgs ")"
    56                     | "%t or %T" . "(" ")"
-  214 variable: "%t or %T" .  ["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", "path", "line comment"]
+  216 variable: "%t or %T" .  ["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", "path", "line comment"]
 
-    "("  décalage et aller à l'état 58
+    "("  shift, and go to state 58
 
-    $défaut  réduction par utilisation de la règle 214 (variable)
+    $default  reduce using rule 216 (variable)
 
-    Conflit entre la règle 214 et le jeton "(" résolu par décalage (BOOLTRUE < "(").
+    Conflict between rule 216 and token "(" resolved as shift (BOOLTRUE < "(").
 
 
-État 4
+State 4
 
    54 specificFunctionCall: "%f or %F" . "(" functionArgs ")"
    55                     | "%f or %F" . "(" ")"
-  215 variable: "%f or %F" .  ["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", "path", "line comment"]
+  217 variable: "%f or %F" .  ["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", "path", "line comment"]
 
-    "("  décalage et aller à l'état 59
+    "("  shift, and go to state 59
 
-    $défaut  réduction par utilisation de la règle 215 (variable)
+    $default  reduce using rule 217 (variable)
 
-    Conflit entre la règle 215 et le jeton "(" résolu par décalage (BOOLFALSE < "(").
+    Conflict between rule 217 and token "(" resolved as shift (BOOLFALSE < "(").
 
 
-État 5
+State 5
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1272,119 +1261,118 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  194         | "~ or @" . variable
-  195         | . "~ or @" functionCall
-  195         | "~ or @" . functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-
-    "%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 60
-    "{"           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 61
-    "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 62
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 63
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 6
-
-  213 variable: "$" .
-
-    $défaut  réduction par utilisation de la règle 213 (variable)
-
-
-État 7
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  197         | "~ or @" . variable
+  198         | . "~ or @" functionCall
+  198         | "~ or @" . functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 62
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 63
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 6
+
+  215 variable: "$" .
+
+    $default  reduce using rule 215 (variable)
+
+
+State 7
 
    15 expressionLineBreak: "," .
 
-    $défaut  réduction par utilisation de la règle 15 (expressionLineBreak)
+    $default  reduce using rule 15 (expressionLineBreak)
 
 
-État 8
+State 8
 
    14 expressionLineBreak: ";" .
 
-    $défaut  réduction par utilisation de la règle 14 (expressionLineBreak)
+    $default  reduce using rule 14 (expressionLineBreak)
 
 
-État 9
+State 9
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1398,105 +1386,104 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  216         | "(" . variable ")"
-  217         | . "(" variableFields ")"
-  217         | "(" . variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  221 variableFields: . variableFields "," variable
-  222               | . variableFields "," functionCall
-  223               | . variable "," variable
-  224               | . functionCall "," functionCall
-  225               | . functionCall "," variable
-  226               | . variable "," functionCall
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-
-    "%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 60
-    "{"           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 61
-    "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 64
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 65
-    variableFields        aller à l'état 66
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 10
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  218         | "(" . variable ")"
+  219         | . "(" variableFields ")"
+  219         | "(" . variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  223 variableFields: . variableFields "," variable
+  224               | . variableFields "," functionCall
+  225               | . variable "," variable
+  226               | . functionCall "," functionCall
+  227               | . functionCall "," variable
+  228               | . variable "," functionCall
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 64
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 65
+    variableFields        go to state 66
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 10
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1509,123 +1496,122 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  235       | "[" . matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  236       | "[" . "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  237       | "[" . matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  238       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  239       | "[" . matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  240       | "[" . "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  241       | "[" . "end of line" "]"
-  242       | . "[" "]"
-  242       | "[" . "]"
-  243 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  244                  | . matrixOrCellLine
-  249 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  250                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  251 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  252                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  253                    | . matrixOrCellColumns variable
-  254                    | . matrixOrCellColumns functionCall
-  255                    | . matrixOrCellColumns "line comment"
-  256                    | . variable
-  257                    | . functionCall
-  258                    | . "line comment"
-  279 multipleResults: "[" . matrixOrCellColumns "]"
-
-    "end of line"   décalage et aller à l'état 67
-    "%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 60
-    "]"             décalage et aller à l'état 68
-    "{"             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 61
-    "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 69
-
-    functionCall          aller à l'état 70
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 71
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    matrixOrCellLines     aller à l'état 72
-    matrixOrCellLine      aller à l'état 73
-    matrixOrCellColumns   aller à l'état 74
-
-
-État 11
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  237       | "[" . matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  238       | "[" . "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  239       | "[" . matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  240       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  241       | "[" . matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  242       | "[" . "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  243       | "[" . "end of line" "]"
+  244       | . "[" "]"
+  244       | "[" . "]"
+  245 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  246                  | . matrixOrCellLine
+  251 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  252                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  253 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  254                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  255                    | . matrixOrCellColumns variable
+  256                    | . matrixOrCellColumns functionCall
+  257                    | . matrixOrCellColumns "line comment"
+  258                    | . variable
+  259                    | . functionCall
+  260                    | . "line comment"
+  281 multipleResults: "[" . matrixOrCellColumns "]"
+
+    "end of line"   shift, and go to state 67
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    "("             shift, and go to state 9
+    "["             shift, and go to state 60
+    "]"             shift, and go to state 68
+    "{"             shift, and go to state 11
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 61
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 69
+
+    functionCall          go to state 70
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 71
+    cell                  go to state 45
+    matrix                go to state 46
+    matrixOrCellLines     go to state 72
+    matrixOrCellLine      go to state 73
+    matrixOrCellColumns   go to state 74
+
+
+State 11
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1638,122 +1624,121 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  227     | "{" . matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  228     | "{" . "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  229     | "{" . matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  230     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  231     | "{" . matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  232     | "{" . "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  233     | "{" . "end of line" "}"
-  234     | . "{" "}"
-  234     | "{" . "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  243 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  244                  | . matrixOrCellLine
-  249 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  250                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  251 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  252                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  253                    | . matrixOrCellColumns variable
-  254                    | . matrixOrCellColumns functionCall
-  255                    | . matrixOrCellColumns "line comment"
-  256                    | . variable
-  257                    | . functionCall
-  258                    | . "line comment"
-
-    "end of line"   décalage et aller à l'état 75
-    "%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 60
-    "{"             décalage et aller à l'état 11
-    "}"             décalage et aller à l'état 76
-    "+"             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 61
-    "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 69
-
-    functionCall          aller à l'état 70
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 71
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    matrixOrCellLines     aller à l'état 77
-    matrixOrCellLine      aller à l'état 73
-    matrixOrCellColumns   aller à l'état 78
-
-
-État 12
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  245 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  246                  | . matrixOrCellLine
+  251 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  252                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  253 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  254                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  255                    | . matrixOrCellColumns variable
+  256                    | . matrixOrCellColumns functionCall
+  257                    | . matrixOrCellColumns "line comment"
+  258                    | . variable
+  259                    | . functionCall
+  260                    | . "line comment"
+
+    "end of line"   shift, and go to state 75
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    "("             shift, and go to state 9
+    "["             shift, and go to state 60
+    "{"             shift, and go to state 11
+    "}"             shift, and go to state 76
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 61
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 69
+
+    functionCall          go to state 70
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 71
+    cell                  go to state 45
+    matrix                go to state 46
+    matrixOrCellLines     go to state 77
+    matrixOrCellLine      go to state 73
+    matrixOrCellColumns   go to state 78
+
+
+State 12
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1766,98 +1751,97 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  147          | "+" . variable
-  148          | . "+" functionCall
-  148          | "+" . functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-
-    "%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 60
-    "{"           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 61
-    "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 79
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 80
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 13
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  150          | "+" . variable
+  151          | . "+" functionCall
+  151          | "+" . functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 79
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 80
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 13
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1870,98 +1854,97 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  145          | "-" . variable
-  146          | . "-" functionCall
-  146          | "-" . functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-
-    "%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 60
-    "{"           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 61
-    "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 81
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 82
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 14
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  148          | "-" . variable
+  149          | . "-" functionCall
+  149          | "-" . functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 81
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 82
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 14
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1974,169 +1957,168 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  109 condition: . functionCall
-  110          | . variable
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  280 ifControl: "if" . condition then thenBody "end"
-  281          | "if" . condition then thenBody else elseBody "end"
-  282          | "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 60
-    "{"           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 61
-    "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 83
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    condition             aller à l'état 84
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 85
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 15
-
-  311 select: "select" .
-
-    $défaut  réduction par utilisation de la règle 311 (select)
-
-
-État 16
-
-  312 select: "switch" .
-
-    $défaut  réduction par utilisation de la règle 312 (select)
-
-
-État 17
-
-   72 functionDeclaration: "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-    "["           décalage et aller à l'état 86
-    "identifier"  décalage et aller à l'état 87
-
-
-État 18
-
-   80 functionDeclaration: "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-    "["           décalage et aller à l'état 88
-    "identifier"  décalage et aller à l'état 89
-
-
-État 19
-
-   88 functionDeclaration: "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  112 condition: . functionCall
+  113          | . variable
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  282 ifControl: "if" . condition then thenBody "end"
+  283          | "if" . condition then thenBody else elseBody "end"
+  284          | "if" . condition then thenBody elseIfControl "end"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 83
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    condition             go to state 84
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 85
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 15
+
+  313 select: "select" .
+
+    $default  reduce using rule 313 (select)
+
+
+State 16
+
+  314 select: "switch" .
+
+    $default  reduce using rule 314 (select)
+
+
+State 17
+
+   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"
+
+    "["           shift, and go to state 86
+    "identifier"  shift, and go to state 87
+
+
+State 18
+
+   83 functionDeclaration: "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+
+    "["           shift, and go to state 88
+    "identifier"  shift, and go to state 89
+
+
+State 19
+
+   91 functionDeclaration: "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
 
-    "function"  décalage et aller à l'état 90
+    "function"  shift, and go to state 90
 
 
-État 20
+State 20
 
-  347 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  349 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
 
-    "("           décalage et aller à l'état 91
-    "identifier"  décalage et aller à l'état 92
+    "("           shift, and go to state 91
+    "identifier"  shift, and go to state 92
 
 
-État 21
+State 21
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -2149,114 +2131,113 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  109 condition: . functionCall
-  110          | . variable
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  361 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 60
-    "{"           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 61
-    "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 83
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    condition             aller à l'état 93
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 85
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 22
+  112 condition: . functionCall
+  113          | . variable
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  363 whileControl: "while" . condition whileConditionBreak whileBody "end"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 83
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    condition             go to state 93
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 85
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 22
 
    30 expression: "break" .
 
-    $défaut  réduction par utilisation de la règle 30 (expression)
+    $default  reduce using rule 30 (expression)
 
 
-État 23
+State 23
 
    31 expression: "continue" .
 
-    $défaut  réduction par utilisation de la règle 31 (expression)
+    $default  reduce using rule 31 (expression)
 
 
-État 24
+State 24
 
     5 expressions: . recursiveExpression
     6            | . recursiveExpression expression
@@ -2295,198 +2276,197 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-   72 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-  280 ifControl: . "if" condition then thenBody "end"
-  281          | . "if" condition then thenBody else elseBody "end"
-  282          | . "if" condition then thenBody elseIfControl "end"
-  307 selectControl: . select selectable selectConditionBreak casesControl "end"
-  308              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  310              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  311 select: . "select"
-  312       | . "switch"
-  347 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  361 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  382 tryControl: . "try" catchBody "catch" catchBody "end"
-  382           | "try" . catchBody "catch" catchBody "end"
-  383           | . "try" catchBody "end"
-  383           | "try" . catchBody "end"
-  384 catchBody: . expressions
-  385          | . "end of line" expressions
-  386          | . "," expressions
-  387          | . "end of line"
-  388          | . %empty  ["end", "catch"]
-  389 returnControl: . "return"
-  390              | . "return" variable
-  391              | . "return" functionCall
-
-    error           décalage et aller à l'état 1
-    "end of line"   décalage et aller à l'état 94
-    "%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 95
-    "("             décalage et aller à l'état 9
-    "["             décalage et aller à l'état 10
-    "{"             décalage et aller à l'état 11
-    "+"             décalage et aller à l'état 12
-    "-"             décalage et aller à l'état 13
-    "if"            décalage et aller à l'état 14
-    "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 388 (catchBody)
-    "catch"  réduction par utilisation de la règle 388 (catchBody)
-
-    expressions           aller à l'état 96
-    recursiveExpression   aller à l'état 34
-    expression            aller à l'état 36
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionDeclaration   aller à l'état 41
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 44
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 47
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-    ifControl             aller à l'état 50
-    selectControl         aller à l'état 51
-    select                aller à l'état 52
-    forControl            aller à l'état 53
-    whileControl          aller à l'état 54
-    tryControl            aller à l'état 55
-    catchBody             aller à l'état 97
-    returnControl         aller à l'état 56
-
-
-État 25
+   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"
+   83                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+  282 ifControl: . "if" condition then thenBody "end"
+  283          | . "if" condition then thenBody else elseBody "end"
+  284          | . "if" condition then thenBody elseIfControl "end"
+  309 selectControl: . select selectable selectConditionBreak casesControl "end"
+  310              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  312              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  313 select: . "select"
+  314       | . "switch"
+  349 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  363 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  384 tryControl: . "try" catchBody "catch" catchBody "end"
+  384           | "try" . catchBody "catch" catchBody "end"
+  385           | . "try" catchBody "end"
+  385           | "try" . catchBody "end"
+  386 catchBody: . expressions
+  387          | . "end of line" expressions
+  388          | . "," expressions
+  389          | . "end of line"
+  390          | . %empty  ["end", "catch"]
+  391 returnControl: . "return"
+  392              | . "return" variable
+  393              | . "return" functionCall
+
+    error           shift, and go to state 1
+    "end of line"   shift, and go to state 94
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    ","             shift, and go to state 95
+    "("             shift, and go to state 9
+    "["             shift, and go to state 10
+    "{"             shift, and go to state 11
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "if"            shift, and go to state 14
+    "select"        shift, and go to state 15
+    "switch"        shift, and go to state 16
+    "function"      shift, and go to state 17
+    "#function"     shift, and go to state 18
+    "hidden"        shift, and go to state 19
+    "for"           shift, and go to state 20
+    "while"         shift, and go to state 21
+    "break"         shift, and go to state 22
+    "continue"      shift, and go to state 23
+    "try"           shift, and go to state 24
+    "return"        shift, and go to state 25
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 27
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 31
+
+    "end"    reduce using rule 390 (catchBody)
+    "catch"  reduce using rule 390 (catchBody)
+
+    expressions           go to state 96
+    recursiveExpression   go to state 34
+    expression            go to state 36
+    implicitFunctionCall  go to state 37
+    functionCall          go to state 38
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionDeclaration   go to state 41
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 44
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 47
+    assignable            go to state 48
+    multipleResults       go to state 49
+    ifControl             go to state 50
+    selectControl         go to state 51
+    select                go to state 52
+    forControl            go to state 53
+    whileControl          go to state 54
+    tryControl            go to state 55
+    catchBody             go to state 97
+    returnControl         go to state 56
+
+
+State 25
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -2499,108 +2479,107 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  389 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  390              | "return" . variable
-  391              | "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 60
-    "{"           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 61
-    "integer"     décalage et aller à l'état 28
-    "float"       décalage et aller à l'état 29
-    "number"      décalage et aller à l'état 30
-
-    $défaut  réduction par utilisation de la règle 389 (returnControl)
-
-    functionCall          aller à l'état 98
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 99
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-
-
-État 26
-
-  212 variable: "string" .
-
-    $défaut  réduction par utilisation de la règle 212 (variable)
-
-
-État 27
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  391 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  392              | "return" . variable
+  393              | "return" . functionCall
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    $default  reduce using rule 391 (returnControl)
+
+    functionCall          go to state 98
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 99
+    cell                  go to state 45
+    matrix                go to state 46
+
+
+State 26
+
+  214 variable: "string" .
+
+    $default  reduce using rule 214 (variable)
+
+
+State 27
 
    36 implicitFunctionCall: "identifier" . implicitCallable
    37 implicitCallable: . "identifier"
@@ -2624,73 +2603,73 @@ keywords (148)
    59                   | "identifier" . "(" ")"
    60                   | . "identifier" "{" "}"
    60                   | "identifier" . "{" "}"
-  208 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  275 assignable: "identifier" .  ["="]
+  210 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  277 assignable: "identifier" .  ["="]
 
-    "%t or %T"    décalage et aller à l'état 100
-    "%f or %F"    décalage et aller à l'état 101
-    "$"           décalage et aller à l'état 102
-    "("           décalage et aller à l'état 103
-    "{"           décalage et aller à l'état 104
-    "string"      décalage et aller à l'état 105
-    "identifier"  décalage et aller à l'état 106
-    "integer"     décalage et aller à l'état 107
-    "float"       décalage et aller à l'état 108
-    "number"      décalage et aller à l'état 109
-    "path"        décalage et aller à l'état 110
+    "%t or %T"    shift, and go to state 100
+    "%f or %F"    shift, and go to state 101
+    "$"           shift, and go to state 102
+    "("           shift, and go to state 103
+    "{"           shift, and go to state 104
+    "string"      shift, and go to state 105
+    "identifier"  shift, and go to state 106
+    "integer"     shift, and go to state 107
+    "float"       shift, and go to state 108
+    "number"      shift, and go to state 109
+    "path"        shift, and go to state 110
 
-    "="       réduction par utilisation de la règle 275 (assignable)
-    $défaut  réduction par utilisation de la règle 208 (variable)
+    "="       reduce using rule 277 (assignable)
+    $default  reduce using rule 210 (variable)
 
-    implicitCallable    aller à l'état 111
-    simpleFunctionCall  aller à l'état 112
+    implicitCallable    go to state 111
+    simpleFunctionCall  go to state 112
 
-    Conflit entre la règle 208 et le jeton "(" résolu par décalage (LISTABLE < "(").
+    Conflict between rule 210 and token "(" resolved as shift (LISTABLE < "(").
 
 
-État 28
+State 28
 
-  209 variable: "integer" .
+  211 variable: "integer" .
 
-    $défaut  réduction par utilisation de la règle 209 (variable)
+    $default  reduce using rule 211 (variable)
 
 
-État 29
+State 29
 
-  211 variable: "float" .
+  213 variable: "float" .
 
-    $défaut  réduction par utilisation de la règle 211 (variable)
+    $default  reduce using rule 213 (variable)
 
 
-État 30
+State 30
 
-  210 variable: "number" .
+  212 variable: "number" .
 
-    $défaut  réduction par utilisation de la règle 210 (variable)
+    $default  reduce using rule 212 (variable)
 
 
-État 31
+State 31
 
    33 expression: "line comment" .
 
-    $défaut  réduction par utilisation de la règle 33 (expression)
+    $default  reduce using rule 33 (expression)
 
 
-État 32
+State 32
 
     0 $accept: program . "end of file"
 
-    "end of file"  décalage et aller à l'état 113
+    "end of file"  shift, and go to state 113
 
 
-État 33
+State 33
 
     1 program: expressions .
 
-    $défaut  réduction par utilisation de la règle 1 (program)
+    $default  reduce using rule 1 (program)
 
 
-État 34
+State 34
 
     5 expressions: recursiveExpression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     6            | recursiveExpression . expression
@@ -2725,206 +2704,205 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-   72 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   73                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   74                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   75                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   77                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   78                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   79                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   81                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   82                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   83                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   85                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   86                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   87                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   89                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   90                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   91                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   92                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   93                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   94                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   95                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-  280 ifControl: . "if" condition then thenBody "end"
-  281          | . "if" condition then thenBody else elseBody "end"
-  282          | . "if" condition then thenBody elseIfControl "end"
-  307 selectControl: . select selectable selectConditionBreak casesControl "end"
-  308              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  310              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  311 select: . "select"
-  312       | . "switch"
-  347 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  348           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  361 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  382 tryControl: . "try" catchBody "catch" catchBody "end"
-  383           | . "try" catchBody "end"
-  389 returnControl: . "return"
-  390              | . "return" variable
-  391              | . "return" functionCall
-
-    error           décalage et aller à l'état 1
-    "%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 10
-    "{"             décalage et aller à l'état 11
-    "+"             décalage et aller à l'état 12
-    "-"             décalage et aller à l'état 13
-    "if"            décalage et aller à l'état 14
-    "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 of file"  réduction par utilisation de la règle 5 (expressions)
-    "else"         réduction par utilisation de la règle 5 (expressions)
-    "elseif"       réduction par utilisation de la règle 5 (expressions)
-    "end"          réduction par utilisation de la règle 5 (expressions)
-    "case"         réduction par utilisation de la règle 5 (expressions)
-    "otherwise"    réduction par utilisation de la règle 5 (expressions)
-    "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 114
-    implicitFunctionCall  aller à l'état 37
-    functionCall          aller à l'état 38
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionDeclaration   aller à l'état 41
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 44
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 47
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-    ifControl             aller à l'état 50
-    selectControl         aller à l'état 51
-    select                aller à l'état 52
-    forControl            aller à l'état 53
-    whileControl          aller à l'état 54
-    tryControl            aller à l'état 55
-    returnControl         aller à l'état 56
-
-
-État 35
+   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"
+   83                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   84                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   85                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   88                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   89                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   92                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   93                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   94                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   95                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   96                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   97                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   98                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+  282 ifControl: . "if" condition then thenBody "end"
+  283          | . "if" condition then thenBody else elseBody "end"
+  284          | . "if" condition then thenBody elseIfControl "end"
+  309 selectControl: . select selectable selectConditionBreak casesControl "end"
+  310              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  312              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  313 select: . "select"
+  314       | . "switch"
+  349 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  350           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  363 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  384 tryControl: . "try" catchBody "catch" catchBody "end"
+  385           | . "try" catchBody "end"
+  391 returnControl: . "return"
+  392              | . "return" variable
+  393              | . "return" functionCall
+
+    error           shift, and go to state 1
+    "%t or %T"      shift, and go to state 3
+    "%f or %F"      shift, and go to state 4
+    "~ or @"        shift, and go to state 5
+    "$"             shift, and go to state 6
+    "("             shift, and go to state 9
+    "["             shift, and go to state 10
+    "{"             shift, and go to state 11
+    "+"             shift, and go to state 12
+    "-"             shift, and go to state 13
+    "if"            shift, and go to state 14
+    "select"        shift, and go to state 15
+    "switch"        shift, and go to state 16
+    "function"      shift, and go to state 17
+    "#function"     shift, and go to state 18
+    "hidden"        shift, and go to state 19
+    "for"           shift, and go to state 20
+    "while"         shift, and go to state 21
+    "break"         shift, and go to state 22
+    "continue"      shift, and go to state 23
+    "try"           shift, and go to state 24
+    "return"        shift, and go to state 25
+    "string"        shift, and go to state 26
+    "identifier"    shift, and go to state 27
+    "integer"       shift, and go to state 28
+    "float"         shift, and go to state 29
+    "number"        shift, and go to state 30
+    "line comment"  shift, and go to state 31
+
+    "end of file"  reduce using rule 5 (expressions)
+    "else"         reduce using rule 5 (expressions)
+    "elseif"       reduce using rule 5 (expressions)
+    "end"          reduce using rule 5 (expressions)
+    "case"         reduce using rule 5 (expressions)
+    "otherwise"    reduce using rule 5 (expressions)
+    "endfunction"  reduce using rule 5 (expressions)
+    "catch"        reduce using rule 5 (expressions)
+
+    expression            go to state 114
+    implicitFunctionCall  go to state 37
+    functionCall          go to state 38
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionDeclaration   go to state 41
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 44
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 47
+    assignable            go to state 48
+    multipleResults       go to state 49
+    ifControl             go to state 50
+    selectControl         go to state 51
+    select                go to state 52
+    forControl            go to state 53
+    whileControl          go to state 54
+    tryControl            go to state 55
+    returnControl         go to state 56
+
+
+State 35
 
     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 115
-    ","            décalage et aller à l'état 116
-    ";"            décalage et aller à l'état 117
+    "end of line"  shift, and go to state 115
+    ","            shift, and go to state 116
+    ";"            shift, and go to state 117
 
-    $défaut  réduction par utilisation de la règle 3 (program)
+    $default  reduce using rule 3 (program)
 
 
-État 36
+State 36
 
     8 expressions: expression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     9            | expression . "line comment"
@@ -2937,17 +2915,17 @@ keywords (148)
    18                    | . expressionLineBreak ","
    19                    | . expressionLineBreak "end of line"
 
-    "end of line"   décalage et aller à l'état 118
-    ","             décalage et aller à l'état 7
-    ";"             décalage et aller à l'état 8
-    "line comment"  décalage et aller à l'état 119
+    "end of line"   shift, and go to state 118
+    ","             shift, and go to state 7
+    ";"             shift, and go to state 8
+    "line comment"  shift, and go to state 119
 
-    $défaut  réduction par utilisation de la règle 8 (expressions)
+    $default  reduce using rule 8 (expressions)
 
-    expressionLineBreak  aller à l'état 120
+    expressionLineBreak  go to state 120
 
 
-État 37
+State 37
 
    29 expression: implicitFunctionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
    35 implicitFunctionCall: implicitFunctionCall . implicitCallable
@@ -2969,364 +2947,363 @@ keywords (148)
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
 
-    "%t or %T"    décalage et aller à l'état 100
-    "%f or %F"    décalage et aller à l'état 101
-    "$"           décalage et aller à l'état 102
-    "string"      décalage et aller à l'état 105
-    "identifier"  décalage et aller à l'état 106
-    "integer"     décalage et aller à l'état 107
-    "float"       décalage et aller à l'état 108
-    "number"      décalage et aller à l'état 109
-    "path"        décalage et aller à l'état 110
+    "%t or %T"    shift, and go to state 100
+    "%f or %F"    shift, and go to state 101
+    "$"           shift, and go to state 102
+    "string"      shift, and go to state 105
+    "identifier"  shift, and go to state 106
+    "integer"     shift, and go to state 107
+    "float"       shift, and go to state 108
+    "number"      shift, and go to state 109
+    "path"        shift, and go to state 110
 
-    $défaut  réduction par utilisation de la règle 29 (expression)
+    $default  reduce using rule 29 (expression)
 
-    implicitCallable    aller à l'état 121
-    simpleFunctionCall  aller à l'état 112
+    implicitCallable    go to state 121
+    simpleFunctionCall  go to state 112
 
 
-État 38
+State 38
 
    21 expression: functionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  112 comparison: functionCall . rightComparable
-  113 rightComparable: . "&" variable
-  114                | . "&" functionCall
-  115                | . "&" ":"
-  116                | . "&&" variable
-  117                | . "&&" functionCall
-  118                | . "&&" ":"
-  119                | . "|" variable
-  120                | . "|" functionCall
-  121                | . "|" ":"
-  122                | . "||" variable
-  123                | . "||" functionCall
-  124                | . "||" ":"
-  125                | . "==" variable
-  126                | . "==" functionCall
-  127                | . "==" ":"
-  128                | . "<> or ~=" variable
-  129                | . "<> or ~=" functionCall
-  130                | . "<> or ~=" ":"
-  131                | . ">" variable
-  132                | . ">" functionCall
-  133                | . ">" ":"
-  134                | . "<" variable
-  135                | . "<" functionCall
-  136                | . "<" ":"
-  137                | . ">=" variable
-  138                | . ">=" functionCall
-  139                | . ">=" ":"
-  140                | . "<=" variable
-  141                | . "<=" functionCall
-  142                | . "<=" ":"
-  144 operation: functionCall . rightOperand
-  151          | functionCall . "** or ^" variable
-  152          | functionCall . "** or ^" functionCall
-  155          | functionCall . ".^" variable
-  156          | functionCall . ".^" functionCall
-  159          | functionCall . "'"
-  160          | functionCall . ".'"
-  161 rightOperand: . "+" variable
-  162             | . "+" functionCall
-  163             | . "-" variable
-  164             | . "-" functionCall
-  165             | . "*" variable
-  166             | . "*" functionCall
-  167             | . ".*" variable
-  168             | . ".*" functionCall
-  169             | . ".*." variable
-  170             | . ".*." functionCall
-  171             | . "*." variable
-  172             | . "*." functionCall
-  173             | . "/" variable
-  174             | . "/" functionCall
-  175             | . "./" variable
-  176             | . "./" functionCall
-  177             | . "./." variable
-  178             | . "./." functionCall
-  179             | . "/." variable
-  180             | . "/." functionCall
-  181             | . "\\" variable
-  182             | . "\\" functionCall
-  183             | . ".\\" variable
-  184             | . ".\\" functionCall
-  185             | . ".\\." variable
-  186             | . ".\\." functionCall
-  187             | . "\\." variable
-  188             | . "\\." functionCall
-  189 listableBegin: . ":" variable
-  190              | . ":" functionCall
-  191 listableEnd: . listableBegin ":" variable
-  192            | . listableBegin ":" functionCall
-  193            | . listableBegin
-  199 variable: functionCall . "." variable
-  200         | functionCall . "." keywords
-  201         | functionCall . "." functionCall
-  204         | functionCall . listableEnd
-  220         | functionCall . "(" functionArgs ")"
-  263 variableDeclaration: functionCall . "=" variable
-  264                    | functionCall . "=" functionCall
-  266                    | functionCall . "=" ":"
-  268                    | functionCall . "=" returnControl
-  272 assignable: functionCall . "." variable
-  273           | functionCall . "." keywords
-  274           | functionCall . "." functionCall
-  278           | functionCall . "(" functionArgs ")"
-
-    "'"         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
-    ".\\"       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
-    "<> or ~="  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
-    "|"         décalage et aller à l'état 151
-    "||"        décalage et aller à l'état 152
-    "="         décalage et aller à l'état 153
-
-    $défaut  réduction par utilisation de la règle 21 (expression)
-
-    rightComparable  aller à l'état 154
-    rightOperand     aller à l'état 155
-    listableBegin    aller à l'état 156
-    listableEnd      aller à l'état 157
-
-
-État 39
+  115 comparison: functionCall . rightComparable
+  116 rightComparable: . "&" variable
+  117                | . "&" functionCall
+  118                | . "&" ":"
+  119                | . "&&" variable
+  120                | . "&&" functionCall
+  121                | . "&&" ":"
+  122                | . "|" variable
+  123                | . "|" functionCall
+  124                | . "|" ":"
+  125                | . "||" variable
+  126                | . "||" functionCall
+  127                | . "||" ":"
+  128                | . "==" variable
+  129                | . "==" functionCall
+  130                | . "==" ":"
+  131                | . "<> or ~=" variable
+  132                | . "<> or ~=" functionCall
+  133                | . "<> or ~=" ":"
+  134                | . ">" variable
+  135                | . ">" functionCall
+  136                | . ">" ":"
+  137                | . "<" variable
+  138                | . "<" functionCall
+  139                | . "<" ":"
+  140                | . ">=" variable
+  141                | . ">=" functionCall
+  142                | . ">=" ":"
+  143                | . "<=" variable
+  144                | . "<=" functionCall
+  145                | . "<=" ":"
+  147 operation: functionCall . rightOperand
+  154          | functionCall . "** or ^" variable
+  155          | functionCall . "** or ^" functionCall
+  158          | functionCall . ".^" variable
+  159          | functionCall . ".^" functionCall
+  162          | functionCall . "'"
+  163          | functionCall . ".'"
+  164 rightOperand: . "+" 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             | . "\\" variable
+  185             | . "\\" functionCall
+  186             | . ".\\" variable
+  187             | . ".\\" functionCall
+  188             | . ".\\." variable
+  189             | . ".\\." functionCall
+  190             | . "\\." variable
+  191             | . "\\." functionCall
+  192 listableBegin: . ":" variable
+  193              | . ":" functionCall
+  194 listableEnd: . listableBegin ":" variable
+  195            | . listableBegin ":" functionCall
+  196            | . listableBegin
+  202 variable: functionCall . "." variable
+  203         | functionCall . "." keywords
+  204         | functionCall . "." functionCall
+  206         | functionCall . listableEnd
+  222         | functionCall . "(" functionArgs ")"
+  265 variableDeclaration: functionCall . "=" variable
+  266                    | functionCall . "=" functionCall
+  268                    | functionCall . "=" ":"
+  270                    | functionCall . "=" returnControl
+  274 assignable: functionCall . "." variable
+  275           | functionCall . "." keywords
+  276           | functionCall . "." functionCall
+  280           | functionCall . "(" functionArgs ")"
+
+    "'"         shift, and go to state 122
+    ":"         shift, and go to state 123
+    "("         shift, and go to state 124
+    "."         shift, and go to state 125
+    ".'"        shift, and go to state 126
+    "+"         shift, and go to state 127
+    "-"         shift, and go to state 128
+    "*"         shift, and go to state 129
+    ".*"        shift, and go to state 130
+    ".*."       shift, and go to state 131
+    "*."        shift, and go to state 132
+    "/"         shift, and go to state 133
+    "./"        shift, and go to state 134
+    "/."        shift, and go to state 135
+    "./."       shift, and go to state 136
+    "\\"        shift, and go to state 137
+    ".\\"       shift, and go to state 138
+    "\\."       shift, and go to state 139
+    ".\\."      shift, and go to state 140
+    "** or ^"   shift, and go to state 141
+    ".^"        shift, and go to state 142
+    "=="        shift, and go to state 143
+    "<> or ~="  shift, and go to state 144
+    "<"         shift, and go to state 145
+    "<="        shift, and go to state 146
+    ">"         shift, and go to state 147
+    ">="        shift, and go to state 148
+    "&"         shift, and go to state 149
+    "&&"        shift, and go to state 150
+    "|"         shift, and go to state 151
+    "||"        shift, and go to state 152
+    "="         shift, and go to state 153
+
+    $default  reduce using rule 21 (expression)
+
+    rightComparable  go to state 154
+    rightOperand     go to state 155
+    listableBegin    go to state 156
+    listableEnd      go to state 157
+
+
+State 39
 
    51 functionCall: specificFunctionCall .
 
-    $défaut  réduction par utilisation de la règle 51 (functionCall)
+    $default  reduce using rule 51 (functionCall)
 
 
-État 40
+State 40
 
    50 functionCall: simpleFunctionCall .
 
-    $défaut  réduction par utilisation de la règle 50 (functionCall)
+    $default  reduce using rule 50 (functionCall)
 
 
-État 41
+State 41
 
    20 expression: functionDeclaration .
 
-    $défaut  réduction par utilisation de la règle 20 (expression)
+    $default  reduce using rule 20 (expression)
 
 
-État 42
+State 42
 
-  218 variable: comparison .
+  220 variable: comparison .
 
-    $défaut  réduction par utilisation de la règle 218 (variable)
+    $default  reduce using rule 220 (variable)
 
 
-État 43
+State 43
 
-  207 variable: operation .
+  209 variable: operation .
 
-    $défaut  réduction par utilisation de la règle 207 (variable)
+    $default  reduce using rule 209 (variable)
 
 
-État 44
+State 44
 
    28 expression: variable .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  111 comparison: variable . rightComparable
-  113 rightComparable: . "&" variable
-  114                | . "&" functionCall
-  115                | . "&" ":"
-  116                | . "&&" variable
-  117                | . "&&" functionCall
-  118                | . "&&" ":"
-  119                | . "|" variable
-  120                | . "|" functionCall
-  121                | . "|" ":"
-  122                | . "||" variable
-  123                | . "||" functionCall
-  124                | . "||" ":"
-  125                | . "==" variable
-  126                | . "==" functionCall
-  127                | . "==" ":"
-  128                | . "<> or ~=" variable
-  129                | . "<> or ~=" functionCall
-  130                | . "<> or ~=" ":"
-  131                | . ">" variable
-  132                | . ">" functionCall
-  133                | . ">" ":"
-  134                | . "<" variable
-  135                | . "<" functionCall
-  136                | . "<" ":"
-  137                | . ">=" variable
-  138                | . ">=" functionCall
-  139                | . ">=" ":"
-  140                | . "<=" variable
-  141                | . "<=" functionCall
-  142                | . "<=" ":"
-  143 operation: variable . rightOperand
-  149          | variable . "** or ^" variable
-  150          | variable . "** or ^" functionCall
-  153          | variable . ".^" variable
-  154          | variable . ".^" functionCall
-  157          | variable . "'"
-  158          | variable . ".'"
-  161 rightOperand: . "+" variable
-  162             | . "+" functionCall
-  163             | . "-" variable
-  164             | . "-" functionCall
-  165             | . "*" variable
-  166             | . "*" functionCall
-  167             | . ".*" variable
-  168             | . ".*" functionCall
-  169             | . ".*." variable
-  170             | . ".*." functionCall
-  171             | . "*." variable
-  172             | . "*." functionCall
-  173             | . "/" variable
-  174             | . "/" functionCall
-  175             | . "./" variable
-  176             | . "./" functionCall
-  177             | . "./." variable
-  178             | . "./." functionCall
-  179             | . "/." variable
-  180             | . "/." functionCall
-  181             | . "\\" variable
-  182             | . "\\" functionCall
-  183             | . ".\\" variable
-  184             | . ".\\" functionCall
-  185             | . ".\\." variable
-  186             | . ".\\." functionCall
-  187             | . "\\." variable
-  188             | . "\\." functionCall
-  189 listableBegin: . ":" variable
-  190              | . ":" functionCall
-  191 listableEnd: . listableBegin ":" variable
-  192            | . listableBegin ":" functionCall
-  193            | . listableBegin
-  196 variable: variable . "." "identifier"
-  197         | variable . "." keywords
-  198         | variable . "." functionCall
-  202         | variable . listableEnd
-  203         | variable . listableEnd
-  219         | variable . "(" functionArgs ")"
-  269 assignable: variable . "." "identifier"
-  270           | variable . "." keywords
-  271           | variable . "." functionCall
-  277           | variable . "(" functionArgs ")"
-
-    "'"         décalage et aller à l'état 158
-    ":"         décalage et aller à l'état 123
-    "("         décalage et aller à l'état 159
-    "."         décalage et aller à l'état 160
-    ".'"        décalage et aller à l'état 161
-    "+"         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
-    ".\\"       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 162
-    ".^"        décalage et aller à l'état 163
-    "=="        décalage et aller à l'état 143
-    "<> or ~="  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
-    "|"         décalage et aller à l'état 151
-    "||"        décalage et aller à l'état 152
-
-    $défaut  réduction par utilisation de la règle 28 (expression)
-
-    rightComparable  aller à l'état 164
-    rightOperand     aller à l'état 165
-    listableBegin    aller à l'état 156
-    listableEnd      aller à l'état 166
-
-
-État 45
-
-  206 variable: cell .
-
-    $défaut  réduction par utilisation de la règle 206 (variable)
-
-
-État 46
-
-  205 variable: matrix .
-
-    $défaut  réduction par utilisation de la règle 205 (variable)
-
-
-État 47
+  114 comparison: variable . rightComparable
+  116 rightComparable: . "&" variable
+  117                | . "&" functionCall
+  118                | . "&" ":"
+  119                | . "&&" variable
+  120                | . "&&" functionCall
+  121                | . "&&" ":"
+  122                | . "|" variable
+  123                | . "|" functionCall
+  124                | . "|" ":"
+  125                | . "||" variable
+  126                | . "||" functionCall
+  127                | . "||" ":"
+  128                | . "==" variable
+  129                | . "==" functionCall
+  130                | . "==" ":"
+  131                | . "<> or ~=" variable
+  132                | . "<> or ~=" functionCall
+  133                | . "<> or ~=" ":"
+  134                | . ">" variable
+  135                | . ">" functionCall
+  136                | . ">" ":"
+  137                | . "<" variable
+  138                | . "<" functionCall
+  139                | . "<" ":"
+  140                | . ">=" variable
+  141                | . ">=" functionCall
+  142                | . ">=" ":"
+  143                | . "<=" variable
+  144                | . "<=" functionCall
+  145                | . "<=" ":"
+  146 operation: variable . rightOperand
+  152          | variable . "** or ^" variable
+  153          | variable . "** or ^" functionCall
+  156          | variable . ".^" variable
+  157          | variable . ".^" functionCall
+  160          | variable . "'"
+  161          | variable . ".'"
+  164 rightOperand: . "+" 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             | . "\\" variable
+  185             | . "\\" functionCall
+  186             | . ".\\" variable
+  187             | . ".\\" functionCall
+  188             | . ".\\." variable
+  189             | . ".\\." functionCall
+  190             | . "\\." variable
+  191             | . "\\." functionCall
+  192 listableBegin: . ":" variable
+  193              | . ":" functionCall
+  194 listableEnd: . listableBegin ":" variable
+  195            | . listableBegin ":" functionCall
+  196            | . listableBegin
+  199 variable: variable . "." "identifier"
+  200         | variable . "." keywords
+  201         | variable . "." functionCall
+  205         | variable . listableEnd
+  221         | variable . "(" functionArgs ")"
+  271 assignable: variable . "." "identifier"
+  272           | variable . "." keywords
+  273           | variable . "." functionCall
+  279           | variable . "(" functionArgs ")"
+
+    "'"         shift, and go to state 158
+    ":"         shift, and go to state 123
+    "("         shift, and go to state 159
+    "."         shift, and go to state 160
+    ".'"        shift, and go to state 161
+    "+"         shift, and go to state 127
+    "-"         shift, and go to state 128
+    "*"         shift, and go to state 129
+    ".*"        shift, and go to state 130
+    ".*."       shift, and go to state 131
+    "*."        shift, and go to state 132
+    "/"         shift, and go to state 133
+    "./"        shift, and go to state 134
+    "/."        shift, and go to state 135
+    "./."       shift, and go to state 136
+    "\\"        shift, and go to state 137
+    ".\\"       shift, and go to state 138
+    "\\."       shift, and go to state 139
+    ".\\."      shift, and go to state 140
+    "** or ^"   shift, and go to state 162
+    ".^"        shift, and go to state 163
+    "=="        shift, and go to state 143
+    "<> or ~="  shift, and go to state 144
+    "<"         shift, and go to state 145
+    "<="        shift, and go to state 146
+    ">"         shift, and go to state 147
+    ">="        shift, and go to state 148
+    "&"         shift, and go to state 149
+    "&&"        shift, and go to state 150
+    "|"         shift, and go to state 151
+    "||"        shift, and go to state 152
+
+    $default  reduce using rule 28 (expression)
+
+    rightComparable  go to state 164
+    rightOperand     go to state 165
+    listableBegin    go to state 156
+    listableEnd      go to state 166
+
+
+State 45
+
+  208 variable: cell .
+
+    $default  reduce using rule 208 (variable)
+
+
+State 46
+
+  207 variable: matrix .
+
+    $default  reduce using rule 207 (variable)
+
+
+State 47
 
    22 expression: variableDeclaration .
 
-    $défaut  réduction par utilisation de la règle 22 (expression)
+    $default  reduce using rule 22 (expression)
 
 
-État 48
+State 48
 
-  261 variableDeclaration: assignable . "=" variable
-  262                    | assignable . "=" functionCall
-  265                    | assignable . "=" ":"
-  267                    | assignable . "=" returnControl
+  263 variableDeclaration: assignable . "=" variable
+  264                    | assignable . "=" functionCall
+  267                    | assignable . "=" ":"
+  269                    | assignable . "=" returnControl
 
-    "="  décalage et aller à l'état 167
+    "="  shift, and go to state 167
 
 
-État 49
+State 49
 
-  276 assignable: multipleResults .
+  278 assignable: multipleResults .
 
-    $défaut  réduction par utilisation de la règle 276 (assignable)
+    $default  reduce using rule 278 (assignable)
 
 
-État 50
+State 50
 
    23 expression: ifControl .
 
-    $défaut  réduction par utilisation de la règle 23 (expression)
+    $default  reduce using rule 23 (expression)
 
 
-État 51
+State 51
 
    24 expression: selectControl .
 
-    $défaut  réduction par utilisation de la règle 24 (expression)
+    $default  reduce using rule 24 (expression)
 
 
-État 52
+State 52
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3339,138 +3316,137 @@ keywords (148)
    58                   | . "identifier" "{" functionArgs "}"
    59                   | . "identifier" "(" ")"
    60                   | . "identifier" "{" "}"
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  307 selectControl: select . selectable selectConditionBreak casesControl "end"
-  308              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  309              | select . selectable "line comment" selectConditionBreak casesControl "end"
-  310              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  320 selectable: . variable
-  321           | . 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 60
-    "{"           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 61
-    "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 168
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 169
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    selectable            aller à l'état 170
-
-
-État 53
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  309 selectControl: select . selectable selectConditionBreak casesControl "end"
+  310              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  311              | select . selectable "line comment" selectConditionBreak casesControl "end"
+  312              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  322 selectable: . variable
+  323           | . functionCall
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    "("           shift, and go to state 9
+    "["           shift, and go to state 60
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 61
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 168
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 169
+    cell                  go to state 45
+    matrix                go to state 46
+    selectable            go to state 170
+
+
+State 53
 
    25 expression: forControl .
 
-    $défaut  réduction par utilisation de la règle 25 (expression)
+    $default  reduce using rule 25 (expression)
 
 
-État 54
+State 54
 
    26 expression: whileControl .
 
-    $défaut  réduction par utilisation de la règle 26 (expression)
+    $default  reduce using rule 26 (expression)
 
 
-État 55
+State 55
 
    27 expression: tryControl .
 
-    $défaut  réduction par utilisation de la règle 27 (expression)
+    $default  reduce using rule 27 (expression)
 
 
-État 56
+State 56
 
    32 expression: returnControl .
 
-    $défaut  réduction par utilisation de la règle 32 (expression)
+    $default  reduce using rule 32 (expression)
 
 
-État 57
+State 57
 
     2 program: "end of line" expressions .
 
-    $défaut  réduction par utilisation de la règle 2 (program)
+    $default  reduce using rule 2 (program)
 
 
-État 58
+State 58
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3490,128 +3466,130 @@ keywords (148)
    63             | . ":"
    64             | . variableDeclaration
    65             | . ","
-   66             | . functionArgs "," variable
-   67             | . functionArgs "," functionCall
-   68             | . functionArgs "," ":"
-   69             | . functionArgs "," variableDeclaration
+   66             | . "," variable
+   67             | . "," functionCall
+   68             | . "," ":"
+   69             | . "," variableDeclaration
    70             | . functionArgs ","
-   71             | . "," functionArgs
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-
-    "%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 171
-    ":"           décalage et aller à l'état 172
-    "("           décalage et aller à l'état 9
-    ")"           décalage et aller à l'état 173
-    "["           décalage et aller à l'état 10
-    "{"           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 174
-    "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 175
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionArgs          aller à l'état 176
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 177
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 178
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-
-
-État 59
+   71             | . functionArgs "," variable
+   72             | . functionArgs "," functionCall
+   73             | . functionArgs "," ":"
+   74             | . functionArgs "," variableDeclaration
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    ","           shift, and go to state 171
+    ":"           shift, and go to state 172
+    "("           shift, and go to state 9
+    ")"           shift, and go to state 173
+    "["           shift, and go to state 10
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 174
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 175
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionArgs          go to state 176
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 177
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 178
+    assignable            go to state 48
+    multipleResults       go to state 49
+
+
+State 59
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3631,128 +3609,130 @@ keywords (148)
    63             | . ":"
    64             | . variableDeclaration
    65             | . ","
-   66             | . functionArgs "," variable
-   67             | . functionArgs "," functionCall
-   68             | . functionArgs "," ":"
-   69             | . functionArgs "," variableDeclaration
+   66             | . "," variable
+   67             | . "," functionCall
+   68             | . "," ":"
+   69             | . "," variableDeclaration
    70             | . functionArgs ","
-   71             | . "," functionArgs
-  111 comparison: . variable rightComparable
-  112           | . functionCall rightComparable
-  143 operation: . variable rightOperand
-  144          | . functionCall rightOperand
-  145          | . "-" variable
-  146          | . "-" functionCall
-  147          | . "+" variable
-  148          | . "+" functionCall
-  149          | . variable "** or ^" variable
-  150          | . variable "** or ^" functionCall
-  151          | . functionCall "** or ^" variable
-  152          | . functionCall "** or ^" functionCall
-  153          | . variable ".^" variable
-  154          | . variable ".^" functionCall
-  155          | . functionCall ".^" variable
-  156          | . functionCall ".^" functionCall
-  157          | . variable "'"
-  158          | . variable ".'"
-  159          | . functionCall "'"
-  160          | . functionCall ".'"
-  194 variable: . "~ or @" variable
-  195         | . "~ or @" functionCall
-  196         | . variable "." "identifier"
-  197         | . variable "." keywords
-  198         | . variable "." functionCall
-  199         | . functionCall "." variable
-  200         | . functionCall "." keywords
-  201         | . functionCall "." functionCall
-  202         | . variable listableEnd
-  203         | . variable listableEnd
-  204         | . functionCall listableEnd
-  205         | . matrix
-  206         | . cell
-  207         | . operation
-  208         | . "identifier"
-  209         | . "integer"
-  210         | . "number"
-  211         | . "float"
-  212         | . "string"
-  213         | . "$"
-  214         | . "%t or %T"
-  215         | . "%f or %F"
-  216         | . "(" variable ")"
-  217         | . "(" variableFields ")"
-  218         | . comparison
-  219         | . variable "(" functionArgs ")"
-  220         | . functionCall "(" functionArgs ")"
-  227 cell: . "{" matrixOrCellLines "}"
-  228     | . "{" "end of line" matrixOrCellLines "}"
-  229     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  230     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  231     | . "{" matrixOrCellColumns "}"
-  232     | . "{" "end of line" matrixOrCellColumns "}"
-  233     | . "{" "end of line" "}"
-  234     | . "{" "}"
-  235 matrix: . "[" matrixOrCellLines "]"
-  236       | . "[" "end of line" matrixOrCellLines "]"
-  237       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  238       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  239       | . "[" matrixOrCellColumns "]"
-  240       | . "[" "end of line" matrixOrCellColumns "]"
-  241       | . "[" "end of line" "]"
-  242       | . "[" "]"
-  261 variableDeclaration: . assignable "=" variable
-  262                    | . assignable "=" functionCall
-  263                    | . functionCall "=" variable
-  264                    | . functionCall "=" functionCall
-  265                    | . assignable "=" ":"
-  266                    | . functionCall "=" ":"
-  267                    | . assignable "=" returnControl
-  268                    | . functionCall "=" returnControl
-  269 assignable: . variable "." "identifier"
-  270           | . variable "." keywords
-  271           | . variable "." functionCall
-  272           | . functionCall "." variable
-  273           | . functionCall "." keywords
-  274           | . functionCall "." functionCall
-  275           | . "identifier"
-  276           | . multipleResults
-  277           | . variable "(" functionArgs ")"
-  278           | . functionCall "(" functionArgs ")"
-  279 multipleResults: . "[" matrixOrCellColumns "]"
-
-    "%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 171
-    ":"           décalage et aller à l'état 172
-    "("           décalage et aller à l'état 9
-    ")"           décalage et aller à l'état 179
-    "["           décalage et aller à l'état 10
-    "{"           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 174
-    "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 175
-    specificFunctionCall  aller à l'état 39
-    simpleFunctionCall    aller à l'état 40
-    functionArgs          aller à l'état 180
-    comparison            aller à l'état 42
-    operation             aller à l'état 43
-    variable              aller à l'état 177
-    cell                  aller à l'état 45
-    matrix                aller à l'état 46
-    variableDeclaration   aller à l'état 178
-    assignable            aller à l'état 48
-    multipleResults       aller à l'état 49
-
-
-État 60
+   71             | . functionArgs "," variable
+   72             | . functionArgs "," functionCall
+   73             | . functionArgs "," ":"
+   74             | . functionArgs "," variableDeclaration
+  114 comparison: . variable rightComparable
+  115           | . functionCall rightComparable
+  146 operation: . variable rightOperand
+  147          | . functionCall rightOperand
+  148          | . "-" variable
+  149          | . "-" functionCall
+  150          | . "+" variable
+  151          | . "+" functionCall
+  152          | . variable "** or ^" variable
+  153          | . variable "** or ^" functionCall
+  154          | . functionCall "** or ^" variable
+  155          | . functionCall "** or ^" functionCall
+  156          | . variable ".^" variable
+  157          | . variable ".^" functionCall
+  158          | . functionCall ".^" variable
+  159          | . functionCall ".^" functionCall
+  160          | . variable "'"
+  161          | . variable ".'"
+  162          | . functionCall "'"
+  163          | . functionCall ".'"
+  197 variable: . "~ or @" variable
+  198         | . "~ or @" functionCall
+  199         | . variable "." "identifier"
+  200         | . variable "." keywords
+  201         | . variable "." functionCall
+  202         | . functionCall "." variable
+  203         | . functionCall "." keywords
+  204         | . functionCall "." functionCall
+  205         | . variable listableEnd
+  206         | . functionCall listableEnd
+  207         | . matrix
+  208         | . cell
+  209         | . operation
+  210         | . "identifier"
+  211         | . "integer"
+  212         | . "number"
+  213         | . "float"
+  214         | . "string"
+  215         | . "$"
+  216         | . "%t or %T"
+  217         | . "%f or %F"
+  218         | . "(" variable ")"
+  219         | . "(" variableFields ")"
+  220         | . comparison
+  221         | . variable "(" functionArgs ")"
+  222         | . functionCall "(" functionArgs ")"
+  229 cell: . "{" 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 matrix: . "[" matrixOrCellLines "]"
+  238       | . "[" "end of line" matrixOrCellLines "]"
+  239       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  240       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  241       | . "[" matrixOrCellColumns "]"
+  242       | . "[" "end of line" matrixOrCellColumns "]"
+  243       | . "[" "end of line" "]"
+  244       | . "[" "]"
+  263 variableDeclaration: . assignable "=" variable
+  264                    | . assignable "=" functionCall
+  265                    | . functionCall "=" variable
+  266                    | . functionCall "=" functionCall
+  267                    | . assignable "=" ":"
+  268                    | . functionCall "=" ":"
+  269                    | . assignable "=" returnControl
+  270                    | . functionCall "=" returnControl
+  271 assignable: . variable "." "identifier"
+  272           | . variable "." keywords
+  273           | . variable "." functionCall
+  274           | . functionCall "." variable
+  275           | . functionCall "." keywords
+  276           | . functionCall "." functionCall
+  277           | . "identifier"
+  278           | . multipleResults
+  279           | . variable "(" functionArgs ")"
+  280           | . functionCall "(" functionArgs ")"
+  281 multipleResults: . "[" matrixOrCellColumns "]"
+
+    "%t or %T"    shift, and go to state 3
+    "%f or %F"    shift, and go to state 4
+    "~ or @"      shift, and go to state 5
+    "$"           shift, and go to state 6
+    ","           shift, and go to state 171
+    ":"           shift, and go to state 172
+    "("           shift, and go to state 9
+    ")"           shift, and go to state 179
+    "["           shift, and go to state 10
+    "{"           shift, and go to state 11
+    "+"           shift, and go to state 12
+    "-"           shift, and go to state 13
+    "string"      shift, and go to state 26
+    "identifier"  shift, and go to state 174
+    "integer"     shift, and go to state 28
+    "float"       shift, and go to state 29
+    "number"      shift, and go to state 30
+
+    functionCall          go to state 175
+    specificFunctionCall  go to state 39
+    simpleFunctionCall    go to state 40
+    functionArgs          go to state 180
+    comparison            go to state 42
+    operation             go to state 43
+    variable              go to state 177
+    cell                  go to state 45
+    matrix                go to state 46
+    variableDeclaration   go to state 178
+    assignable            go to state 48
+    multipleResults       go to state 49
+
+
+State 60
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3765,641 +3745,638 @@ keywords (148)
&n