update parser to manage list(,,,,), list(1,,3) 31/11531/4
Antoine ELIAS [Fri, 17 May 2013 11:09:51 +0000 (13:09 +0200)]
test_run("elementary_functions","bug_10306",["no_check_error_output" ]);

Change-Id: I745baa30bb7b894fbd1e44652b45f0fc6856a024

13 files changed:
scilab/modules/ast/includes/run_AssignExp.hxx
scilab/modules/ast/includes/runvisitor.hxx
scilab/modules/parse/src/bison/parsescilab.output
scilab/modules/parse/src/bison/parsescilab.yy
scilab/modules/parse/src/cpp/parsescilab.cpp
scilab/modules/types/Makefile.am
scilab/modules/types/Makefile.in
scilab/modules/types/includes/alltypes.hxx
scilab/modules/types/includes/internal.hxx
scilab/modules/types/includes/void.hxx [new file with mode: 0644]
scilab/modules/types/src/cpp/void.cpp [new file with mode: 0644]
scilab/modules/types/types.vcxproj
scilab/modules/types/types.vcxproj.filters

index d6c162a..edc334f 100644 (file)
@@ -46,6 +46,12 @@ void visitprivate(const AssignExp  &e)
                 result_set(NULL);
             }
 
+            if (pIT->isAssignable() == false)
+            {
+                result_set(NULL);
+                return;
+            }
+
             if (pIT->isImplicitList())
             {
                 if (pIT->getAs<ImplicitList>()->isComputable())
index 1b6e498..bf547fe 100644 (file)
@@ -373,9 +373,7 @@ public :
 
     void visitprivate(const NilExp &e)
     {
-        /*
-        FIXME :
-        */
+        result_set(new types::Void());
     }
 
 
index ed5c192..2f8f4f6 100644 (file)
@@ -1,4 +1,4 @@
-Terminals unused in grammar
+Terminaux inutilisés dans la grammaire
 
    "line break"
    "spaces"
@@ -6,14 +6,26 @@ Terminals unused in grammar
    FUNCTIONCALL
 
 
-Grammar
+État 58 conflits: 1 décalage/réduction
+État 59 conflits: 1 décalage/réduction
+État 103 conflits: 1 décalage/réduction
+État 104 conflits: 1 décalage/réduction
+État 124 conflits: 1 décalage/réduction
+État 159 conflits: 1 décalage/réduction
+État 171 conflits: 1 décalage/réduction, 3 réduction/réduction
+État 180 conflits: 1 décalage/réduction
+État 182 conflits: 1 décalage/réduction
+État 363 conflits: 1 décalage/réduction
+
+
+Grammaire
 
     0 $accept: program "end of file"
 
     1 program: expressions
     2        | "end of line" expressions
     3        | expressionLineBreak
-    4        | /* empty */
+    4        | /* vide */
 
     5 expressions: recursiveExpression
     6            | recursiveExpression expression
@@ -79,502 +91,504 @@ Grammar
    57 functionArgs: variable
    58             | functionCall
    59             | ":"
-   60             | variableDeclaration
-   61             | /* empty */
-   62             | functionArgs "," variable
-   63             | functionArgs "," functionCall
-   64             | functionArgs "," ":"
-   65             | functionArgs "," variableDeclaration
-   66             | functionArgs ","
-
-   67 functionDeclaration: "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-   91 functionDeclarationReturns: idList
-
-   92 functionDeclarationArguments: "(" idList ")"
-   93                             | "(" ")"
-   94                             | /* empty */
-
-   95 idList: idList "," "identifier"
-   96       | "identifier"
-
-   97 functionDeclarationBreak: lineEnd
-   98                         | ";"
-   99                         | ";" "end of line"
-  100                         | ","
-  101                         | "," "end of line"
-
-  102 functionBody: expressions
-  103             | /* empty */
-
-  104 condition: functionCall
-  105          | variable
-
-  106 comparison: variable rightComparable
-  107           | functionCall rightComparable
-
-  108 rightComparable: "&" variable
-  109                | "&" functionCall
-  110                | "&" ":"
-  111                | "&&" variable
-  112                | "&&" functionCall
-  113                | "&&" ":"
-  114                | "|" variable
-  115                | "|" functionCall
-  116                | "|" ":"
-  117                | "||" variable
-  118                | "||" functionCall
-  119                | "||" ":"
-  120                | "==" variable
-  121                | "==" functionCall
-  122                | "==" ":"
-  123                | "<> or ~=" variable
-  124                | "<> or ~=" functionCall
-  125                | "<> or ~=" ":"
-  126                | ">" variable
-  127                | ">" functionCall
-  128                | ">" ":"
-  129                | "<" variable
-  130                | "<" functionCall
-  131                | "<" ":"
-  132                | ">=" variable
-  133                | ">=" functionCall
-  134                | ">=" ":"
-  135                | "<=" variable
-  136                | "<=" functionCall
-  137                | "<=" ":"
-
-  138 operation: variable rightOperand
-  139          | functionCall rightOperand
-  140          | "-" variable
-  141          | "-" functionCall
-  142          | "+" variable
-  143          | "+" functionCall
-  144          | variable "** or ^" variable
-  145          | variable "** or ^" functionCall
-  146          | functionCall "** or ^" variable
-  147          | functionCall "** or ^" functionCall
-  148          | variable ".^" variable
-  149          | variable ".^" functionCall
-  150          | functionCall ".^" variable
-  151          | functionCall ".^" functionCall
-  152          | variable "'"
-  153          | variable ".'"
-  154          | functionCall "'"
-  155          | functionCall ".'"
-
-  156 rightOperand: "+" variable
-  157             | "+" functionCall
-  158             | "-" variable
-  159             | "-" functionCall
-  160             | "*" variable
-  161             | "*" functionCall
-  162             | ".*" variable
-  163             | ".*" functionCall
-  164             | ".*." variable
-  165             | ".*." functionCall
-  166             | "*." variable
-  167             | "*." functionCall
-  168             | "/" variable
-  169             | "/" functionCall
-  170             | "./" variable
-  171             | "./" functionCall
-  172             | "./." variable
-  173             | "./." functionCall
-  174             | "/." variable
-  175             | "/." functionCall
-  176             | "\\" variable
-  177             | "\\" functionCall
-  178             | ".\\" variable
-  179             | ".\\" functionCall
-  180             | ".\\." variable
-  181             | ".\\." functionCall
-  182             | "\\." variable
-  183             | "\\." functionCall
-
-  184 listableBegin: ":" variable
-  185              | ":" functionCall
-
-  186 listableEnd: listableBegin ":" variable
-  187            | listableBegin ":" functionCall
-  188            | listableBegin
-
-  189 variable: "~ or @" variable
-  190         | "~ or @" functionCall
-  191         | variable "." "identifier"
-  192         | variable "." keywords
-  193         | variable "." functionCall
-  194         | functionCall "." variable
-  195         | functionCall "." keywords
-  196         | functionCall "." functionCall
-  197         | variable listableEnd
-  198         | functionCall listableEnd
-  199         | matrix
-  200         | cell
-  201         | operation
-  202         | "identifier"
-  203         | "integer"
-  204         | "number"
-  205         | "float"
-  206         | "string"
-  207         | "$"
-  208         | "%t or %T"
-  209         | "%f or %F"
-  210         | "(" variable ")"
-  211         | "(" variableFields ")"
-  212         | comparison
-  213         | variable "(" functionArgs ")"
-  214         | functionCall "(" functionArgs ")"
-
-  215 variableFields: variableFields "," variable
-  216               | variableFields "," functionCall
-  217               | variable "," variable
-  218               | functionCall "," functionCall
-  219               | functionCall "," variable
-  220               | variable "," functionCall
-
-  221 cell: "{" matrixOrCellLines "}"
-  222     | "{" "end of line" matrixOrCellLines "}"
-  223     | "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | "{" matrixOrCellColumns "}"
-  226     | "{" "end of line" matrixOrCellColumns "}"
-  227     | "{" "end of line" "}"
-  228     | "{" "}"
-
-  229 matrix: "[" matrixOrCellLines "]"
-  230       | "[" "end of line" matrixOrCellLines "]"
-  231       | "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | "[" matrixOrCellColumns "]"
-  234       | "[" "end of line" matrixOrCellColumns "]"
-  235       | "[" "end of line" "]"
-  236       | "[" "]"
-
-  237 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
-  238                  | matrixOrCellLine
-
-  239 matrixOrCellLineBreak: ";"
-  240                      | "end of line"
-  241                      | matrixOrCellLineBreak "end of line"
-  242                      | matrixOrCellLineBreak ";"
-
-  243 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
-  244                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-
-  245 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | matrixOrCellColumns variable
-  248                    | matrixOrCellColumns functionCall
-  249                    | matrixOrCellColumns "line comment"
-  250                    | variable
-  251                    | functionCall
-  252                    | "line comment"
-
-  253 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
-  254                         | ","
-
-  255 variableDeclaration: assignable "=" variable
-  256                    | assignable "=" functionCall
-  257                    | functionCall "=" variable
-  258                    | functionCall "=" functionCall
-  259                    | assignable "=" ":"
-  260                    | functionCall "=" ":"
-  261                    | assignable "=" returnControl
-  262                    | functionCall "=" returnControl
-
-  263 assignable: variable "." "identifier"
-  264           | variable "." keywords
-  265           | variable "." functionCall
-  266           | functionCall "." variable
-  267           | functionCall "." keywords
-  268           | functionCall "." functionCall
-  269           | "identifier"
-  270           | multipleResults
-  271           | variable "(" functionArgs ")"
-  272           | functionCall "(" functionArgs ")"
-
-  273 multipleResults: "[" matrixOrCellColumns "]"
-
-  274 ifControl: "if" condition then thenBody "end"
-  275          | "if" condition then thenBody else elseBody "end"
-  276          | "if" condition then thenBody elseIfControl "end"
-
-  277 thenBody: expressions
-  278         | /* empty */
-
-  279 elseBody: expressions
-  280         | /* empty */
-
-  281 ifConditionBreak: ";"
-  282                 | ";" "end of line"
-  283                 | ","
-  284                 | "," "end of line"
-  285                 | "end of line"
-
-  286 then: "then"
-  287     | ifConditionBreak "then"
-  288     | ifConditionBreak "then" "end of line"
-  289     | "then" ifConditionBreak
-  290     | ifConditionBreak
-  291     | /* empty */
-
-  292 else: "else"
-  293     | "else" ","
-  294     | "else" ";"
-  295     | "else" "end of line"
-  296     | "else" "," "end of line"
-  297     | "else" ";" "end of line"
-
-  298 elseIfControl: "elseif" condition then thenBody
-  299              | "elseif" condition then thenBody else elseBody
-  300              | "elseif" condition then thenBody elseIfControl
-
-  301 selectControl: select selectable selectConditionBreak casesControl "end"
-  302              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-
-  305 select: "select"
-  306       | "switch"
-
-  307 defaultCase: else
-  308            | "otherwise"
-  309            | "otherwise" ","
-  310            | "otherwise" ";"
-  311            | "otherwise" "end of line"
-  312            | "otherwise" "," "end of line"
-  313            | "otherwise" ";" "end of line"
-
-  314 selectable: variable
-  315           | functionCall
-
-  316 selectConditionBreak: "end of line"
-  317                     | "," "end of line"
-  318                     | ";" "end of line"
-  319                     | ","
-  320                     | ";"
-
-  321 casesControl: "case" variable caseControlBreak caseBody
-  322             | "case" functionCall caseControlBreak caseBody
-  323             | comments "case" variable caseControlBreak caseBody
-  324             | comments "case" functionCall caseControlBreak caseBody
-  325             | casesControl "case" variable caseControlBreak caseBody
-  326             | casesControl "case" functionCall caseControlBreak caseBody
-
-  327 caseBody: expressions
-  328         | /* empty */
-
-  329 caseControlBreak: "then"
-  330                 | ","
-  331                 | ";"
-  332                 | "end of line"
-  333                 | "then" "end of line"
-  334                 | "," "end of line"
-  335                 | ";" "end of line"
-  336                 | "then" ","
-  337                 | "then" "," "end of line"
-  338                 | "then" ";"
-  339                 | "then" ";" "end of line"
-  340                 | /* empty */
-
-  341 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-
-  343 forIterator: functionCall
-  344            | variable
-
-  345 forConditionBreak: "end of line"
-  346                  | ";"
-  347                  | ";" "end of line"
-  348                  | ","
-  349                  | "," "end of line"
-  350                  | "do"
-  351                  | "do" "end of line"
-  352                  | /* empty */
-
-  353 forBody: expressions
-  354        | /* empty */
-
-  355 whileControl: "while" condition whileConditionBreak whileBody "end"
-
-  356 whileBody: expressions
-  357          | /* empty */
-
-  358 whileConditionBreak: ","
-  359                    | ";"
-  360                    | "do"
-  361                    | "do" ","
-  362                    | "do" ";"
-  363                    | "then"
-  364                    | "then" ","
-  365                    | "then" ";"
-  366                    | "line comment" "end of line"
-  367                    | "end of line"
-  368                    | "," "end of line"
-  369                    | ";" "end of line"
-  370                    | "do" "end of line"
-  371                    | "do" "," "end of line"
-  372                    | "do" ";" "end of line"
-  373                    | "then" "end of line"
-  374                    | "then" "," "end of line"
-  375                    | "then" ";" "end of line"
-
-  376 tryControl: "try" catchBody "catch" catchBody "end"
-  377           | "try" catchBody "end"
-
-  378 catchBody: expressions
-  379          | "end of line" expressions
-  380          | "," expressions
-  381          | "end of line"
-  382          | /* empty */
-
-  383 returnControl: "return"
-  384              | "return" variable
-
-  385 comments: "line comment" "end of line"
-  386         | comments "line comment" "end of line"
-
-  387 lineEnd: "end of line"
-  388        | "line comment" "end of line"
-
-  389 keywords: "if"
-  390         | "then"
-  391         | "else"
-  392         | "elseif"
-  393         | "end"
-  394         | "select"
-  395         | "switch"
-  396         | "otherwise"
-  397         | "case"
-  398         | "function"
-  399         | "endfunction"
-  400         | "#function"
-  401         | "hidden"
-  402         | "for"
-  403         | "while"
-  404         | "do"
-  405         | "break"
-  406         | "try"
-  407         | "catch"
-  408         | "return"
-
-
-Terminals, with rules where they appear
+   60             | ","
+   61             | variableDeclaration
+   62             | /* vide */
+   63             | functionArgs "," variable
+   64             | functionArgs "," functionCall
+   65             | functionArgs "," ":"
+   66             | functionArgs "," variableDeclaration
+   67             | functionArgs ","
+   68             | "," functionArgs
+
+   69 functionDeclaration: "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   77                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   85                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+
+   93 functionDeclarationReturns: idList
+
+   94 functionDeclarationArguments: "(" idList ")"
+   95                             | "(" ")"
+   96                             | /* vide */
+
+   97 idList: idList "," "identifier"
+   98       | "identifier"
+
+   99 functionDeclarationBreak: lineEnd
+  100                         | ";"
+  101                         | ";" "end of line"
+  102                         | ","
+  103                         | "," "end of line"
+
+  104 functionBody: expressions
+  105             | /* vide */
+
+  106 condition: functionCall
+  107          | variable
+
+  108 comparison: variable rightComparable
+  109           | functionCall rightComparable
+
+  110 rightComparable: "&" variable
+  111                | "&" functionCall
+  112                | "&" ":"
+  113                | "&&" variable
+  114                | "&&" functionCall
+  115                | "&&" ":"
+  116                | "|" variable
+  117                | "|" functionCall
+  118                | "|" ":"
+  119                | "||" variable
+  120                | "||" functionCall
+  121                | "||" ":"
+  122                | "==" variable
+  123                | "==" functionCall
+  124                | "==" ":"
+  125                | "<> or ~=" variable
+  126                | "<> or ~=" functionCall
+  127                | "<> or ~=" ":"
+  128                | ">" variable
+  129                | ">" functionCall
+  130                | ">" ":"
+  131                | "<" variable
+  132                | "<" functionCall
+  133                | "<" ":"
+  134                | ">=" variable
+  135                | ">=" functionCall
+  136                | ">=" ":"
+  137                | "<=" variable
+  138                | "<=" functionCall
+  139                | "<=" ":"
+
+  140 operation: variable rightOperand
+  141          | functionCall rightOperand
+  142          | "-" variable
+  143          | "-" functionCall
+  144          | "+" variable
+  145          | "+" functionCall
+  146          | variable "** or ^" variable
+  147          | variable "** or ^" functionCall
+  148          | functionCall "** or ^" variable
+  149          | functionCall "** or ^" functionCall
+  150          | variable ".^" variable
+  151          | variable ".^" functionCall
+  152          | functionCall ".^" variable
+  153          | functionCall ".^" functionCall
+  154          | variable "'"
+  155          | variable ".'"
+  156          | functionCall "'"
+  157          | functionCall ".'"
+
+  158 rightOperand: "+" variable
+  159             | "+" functionCall
+  160             | "-" variable
+  161             | "-" functionCall
+  162             | "*" variable
+  163             | "*" functionCall
+  164             | ".*" variable
+  165             | ".*" functionCall
+  166             | ".*." variable
+  167             | ".*." functionCall
+  168             | "*." variable
+  169             | "*." functionCall
+  170             | "/" variable
+  171             | "/" functionCall
+  172             | "./" variable
+  173             | "./" functionCall
+  174             | "./." variable
+  175             | "./." functionCall
+  176             | "/." variable
+  177             | "/." functionCall
+  178             | "\\" variable
+  179             | "\\" functionCall
+  180             | ".\\" variable
+  181             | ".\\" functionCall
+  182             | ".\\." variable
+  183             | ".\\." functionCall
+  184             | "\\." variable
+  185             | "\\." functionCall
+
+  186 listableBegin: ":" variable
+  187              | ":" functionCall
+
+  188 listableEnd: listableBegin ":" variable
+  189            | listableBegin ":" functionCall
+  190            | listableBegin
+
+  191 variable: "~ or @" variable
+  192         | "~ or @" functionCall
+  193         | variable "." "identifier"
+  194         | variable "." keywords
+  195         | variable "." functionCall
+  196         | functionCall "." variable
+  197         | functionCall "." keywords
+  198         | functionCall "." functionCall
+  199         | variable listableEnd
+  200         | functionCall listableEnd
+  201         | matrix
+  202         | cell
+  203         | operation
+  204         | "identifier"
+  205         | "integer"
+  206         | "number"
+  207         | "float"
+  208         | "string"
+  209         | "$"
+  210         | "%t or %T"
+  211         | "%f or %F"
+  212         | "(" variable ")"
+  213         | "(" variableFields ")"
+  214         | comparison
+  215         | variable "(" functionArgs ")"
+  216         | functionCall "(" functionArgs ")"
+
+  217 variableFields: variableFields "," variable
+  218               | variableFields "," functionCall
+  219               | variable "," variable
+  220               | functionCall "," functionCall
+  221               | functionCall "," variable
+  222               | variable "," functionCall
+
+  223 cell: "{" matrixOrCellLines "}"
+  224     | "{" "end of line" matrixOrCellLines "}"
+  225     | "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | "{" matrixOrCellColumns "}"
+  228     | "{" "end of line" matrixOrCellColumns "}"
+  229     | "{" "end of line" "}"
+  230     | "{" "}"
+
+  231 matrix: "[" matrixOrCellLines "]"
+  232       | "[" "end of line" matrixOrCellLines "]"
+  233       | "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | "[" matrixOrCellColumns "]"
+  236       | "[" "end of line" matrixOrCellColumns "]"
+  237       | "[" "end of line" "]"
+  238       | "[" "]"
+
+  239 matrixOrCellLines: matrixOrCellLines matrixOrCellLine
+  240                  | matrixOrCellLine
+
+  241 matrixOrCellLineBreak: ";"
+  242                      | "end of line"
+  243                      | matrixOrCellLineBreak "end of line"
+  244                      | matrixOrCellLineBreak ";"
+
+  245 matrixOrCellLine: matrixOrCellColumns matrixOrCellLineBreak
+  246                 | matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+
+  247 matrixOrCellColumns: matrixOrCellColumns matrixOrCellColumnsBreak variable
+  248                    | matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  249                    | matrixOrCellColumns variable
+  250                    | matrixOrCellColumns functionCall
+  251                    | matrixOrCellColumns "line comment"
+  252                    | variable
+  253                    | functionCall
+  254                    | "line comment"
+
+  255 matrixOrCellColumnsBreak: matrixOrCellColumnsBreak ","
+  256                         | ","
+
+  257 variableDeclaration: assignable "=" variable
+  258                    | assignable "=" functionCall
+  259                    | functionCall "=" variable
+  260                    | functionCall "=" functionCall
+  261                    | assignable "=" ":"
+  262                    | functionCall "=" ":"
+  263                    | assignable "=" returnControl
+  264                    | functionCall "=" returnControl
+
+  265 assignable: variable "." "identifier"
+  266           | variable "." keywords
+  267           | variable "." functionCall
+  268           | functionCall "." variable
+  269           | functionCall "." keywords
+  270           | functionCall "." functionCall
+  271           | "identifier"
+  272           | multipleResults
+  273           | variable "(" functionArgs ")"
+  274           | functionCall "(" functionArgs ")"
+
+  275 multipleResults: "[" matrixOrCellColumns "]"
+
+  276 ifControl: "if" condition then thenBody "end"
+  277          | "if" condition then thenBody else elseBody "end"
+  278          | "if" condition then thenBody elseIfControl "end"
+
+  279 thenBody: expressions
+  280         | /* vide */
+
+  281 elseBody: expressions
+  282         | /* vide */
+
+  283 ifConditionBreak: ";"
+  284                 | ";" "end of line"
+  285                 | ","
+  286                 | "," "end of line"
+  287                 | "end of line"
+
+  288 then: "then"
+  289     | ifConditionBreak "then"
+  290     | ifConditionBreak "then" "end of line"
+  291     | "then" ifConditionBreak
+  292     | ifConditionBreak
+  293     | /* vide */
+
+  294 else: "else"
+  295     | "else" ","
+  296     | "else" ";"
+  297     | "else" "end of line"
+  298     | "else" "," "end of line"
+  299     | "else" ";" "end of line"
+
+  300 elseIfControl: "elseif" condition then thenBody
+  301              | "elseif" condition then thenBody else elseBody
+  302              | "elseif" condition then thenBody elseIfControl
+
+  303 selectControl: select selectable selectConditionBreak casesControl "end"
+  304              | select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | select selectable "line comment" selectConditionBreak casesControl "end"
+  306              | select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+
+  307 select: "select"
+  308       | "switch"
+
+  309 defaultCase: else
+  310            | "otherwise"
+  311            | "otherwise" ","
+  312            | "otherwise" ";"
+  313            | "otherwise" "end of line"
+  314            | "otherwise" "," "end of line"
+  315            | "otherwise" ";" "end of line"
+
+  316 selectable: variable
+  317           | functionCall
+
+  318 selectConditionBreak: "end of line"
+  319                     | "," "end of line"
+  320                     | ";" "end of line"
+  321                     | ","
+  322                     | ";"
+
+  323 casesControl: "case" variable caseControlBreak caseBody
+  324             | "case" functionCall caseControlBreak caseBody
+  325             | comments "case" variable caseControlBreak caseBody
+  326             | comments "case" functionCall caseControlBreak caseBody
+  327             | casesControl "case" variable caseControlBreak caseBody
+  328             | casesControl "case" functionCall caseControlBreak caseBody
+
+  329 caseBody: expressions
+  330         | /* vide */
+
+  331 caseControlBreak: "then"
+  332                 | ","
+  333                 | ";"
+  334                 | "end of line"
+  335                 | "then" "end of line"
+  336                 | "," "end of line"
+  337                 | ";" "end of line"
+  338                 | "then" ","
+  339                 | "then" "," "end of line"
+  340                 | "then" ";"
+  341                 | "then" ";" "end of line"
+  342                 | /* vide */
+
+  343 forControl: "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+
+  345 forIterator: functionCall
+  346            | variable
+
+  347 forConditionBreak: "end of line"
+  348                  | ";"
+  349                  | ";" "end of line"
+  350                  | ","
+  351                  | "," "end of line"
+  352                  | "do"
+  353                  | "do" "end of line"
+  354                  | /* vide */
+
+  355 forBody: expressions
+  356        | /* vide */
+
+  357 whileControl: "while" condition whileConditionBreak whileBody "end"
+
+  358 whileBody: expressions
+  359          | /* vide */
+
+  360 whileConditionBreak: ","
+  361                    | ";"
+  362                    | "do"
+  363                    | "do" ","
+  364                    | "do" ";"
+  365                    | "then"
+  366                    | "then" ","
+  367                    | "then" ";"
+  368                    | "line comment" "end of line"
+  369                    | "end of line"
+  370                    | "," "end of line"
+  371                    | ";" "end of line"
+  372                    | "do" "end of line"
+  373                    | "do" "," "end of line"
+  374                    | "do" ";" "end of line"
+  375                    | "then" "end of line"
+  376                    | "then" "," "end of line"
+  377                    | "then" ";" "end of line"
+
+  378 tryControl: "try" catchBody "catch" catchBody "end"
+  379           | "try" catchBody "end"
+
+  380 catchBody: expressions
+  381          | "end of line" expressions
+  382          | "," expressions
+  383          | "end of line"
+  384          | /* vide */
+
+  385 returnControl: "return"
+  386              | "return" variable
+
+  387 comments: "line comment" "end of line"
+  388         | comments "line comment" "end of line"
+
+  389 lineEnd: "end of line"
+  390        | "line comment" "end of line"
+
+  391 keywords: "if"
+  392         | "then"
+  393         | "else"
+  394         | "elseif"
+  395         | "end"
+  396         | "select"
+  397         | "switch"
+  398         | "otherwise"
+  399         | "case"
+  400         | "function"
+  401         | "endfunction"
+  402         | "#function"
+  403         | "hidden"
+  404         | "for"
+  405         | "while"
+  406         | "do"
+  407         | "break"
+  408         | "try"
+  409         | "catch"
+  410         | "return"
+
+
+Terminaux, suivis des règles où ils apparaissent
 
 "end of file" (0) 0
 error (256) 34
 "line break" (258)
-"end of line" (259) 2 16 19 99 101 222 224 226 227 230 232 234 235
-    240 241 282 284 285 288 295 296 297 311 312 313 316 317 318 332
-    333 334 335 337 339 345 347 349 351 366 367 368 369 370 371 372
-    373 374 375 379 381 385 386 387 388
+"end of line" (259) 2 16 19 101 103 224 226 228 229 232 234 236 237
+    242 243 284 286 287 290 297 298 299 313 314 315 318 319 320 334
+    335 336 337 339 341 347 349 351 353 368 369 370 371 372 373 374
+    375 376 377 381 383 387 388 389 390
 "spaces" (260)
-"%t or %T" (261) 43 53 208
-"%f or %F" (262) 44 54 209
-"'" (263) 152 154
-"~ or @" (264) 189 190
-"$" (265) 42 207
-"," (266) 15 18 62 63 64 65 66 95 100 101 215 216 217 218 219 220 253
-    254 283 284 293 296 309 312 317 319 330 334 336 337 348 349 358
-    361 364 368 371 374 380
-":" (267) 59 64 110 113 116 119 122 125 128 131 134 137 184 185 186
-    187 259 260
-";" (268) 14 17 98 99 239 242 281 282 294 297 310 313 318 320 331 335
-    338 339 346 347 359 362 365 369 372 375
-"(" (269) 52 53 54 55 92 93 210 211 213 214 271 272 342
-")" (270) 52 53 54 55 92 93 210 211 213 214 271 272 342
-"[" (271) 68 69 72 73 76 77 80 81 84 85 88 89 229 230 231 232 233 234
-    235 236 273
-"]" (272) 68 69 72 73 76 77 80 81 84 85 88 89 229 230 231 232 233 234
-    235 236 273
-"{" (273) 56 221 222 223 224 225 226 227 228
-"}" (274) 56 221 222 223 224 225 226 227 228
-"." (275) 45 46 191 192 193 194 195 196 263 264 265 266 267 268
-".'" (276) 153 155
-"+" (277) 142 143 156 157
-"-" (278) 140 141 158 159
-"*" (279) 160 161
-".*" (280) 162 163
-".*." (281) 164 165
-"*." (282) 166 167
-"/" (283) 168 169
-"./" (284) 170 171
-"/." (285) 174 175
-"./." (286) 172 173
-"\\" (287) 176 177
-".\\" (288) 178 179
-"\\." (289) 182 183
-".\\." (290) 180 181
-"** or ^" (291) 144 145 146 147
-".^" (292) 148 149 150 151
-"==" (293) 120 121 122
-"<> or ~=" (294) 123 124 125
-"<" (295) 129 130 131
-"<=" (296) 135 136 137
-">" (297) 126 127 128
-">=" (298) 132 133 134
-"&" (299) 108 109 110
-"&&" (300) 111 112 113
-"|" (301) 114 115 116
-"||" (302) 117 118 119
-"=" (303) 67 68 69 71 72 73 75 76 77 79 80 81 83 84 85 87 88 89 255
-    256 257 258 259 260 261 262 341 342
-"if" (304) 274 275 276 389
-"then" (305) 286 287 288 289 329 333 336 337 338 339 363 364 365 373
-    374 375 390
-"else" (306) 292 293 294 295 296 297 391
-"elseif" (307) 298 299 300 392
-"end" (308) 71 72 73 74 79 80 81 82 87 88 89 90 274 275 276 301 302
-    303 304 341 342 355 376 377 393
-"select" (309) 305 394
-"switch" (310) 306 395
-"case" (311) 321 322 323 324 325 326 397
-"otherwise" (312) 308 309 310 311 312 313 396
-"function" (313) 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 398
-"endfunction" (314) 67 68 69 70 75 76 77 78 83 84 85 86 399
-"#function" (315) 75 76 77 78 79 80 81 82 400
-"hidden" (316) 83 84 85 86 87 88 89 90 401
-"for" (317) 341 342 402
-"while" (318) 355 403
-"do" (319) 350 351 360 361 362 370 371 372 404
-"break" (320) 30 405
+"%t or %T" (261) 43 53 210
+"%f or %F" (262) 44 54 211
+"'" (263) 154 156
+"~ or @" (264) 191 192
+"$" (265) 42 209
+"," (266) 15 18 60 63 64 65 66 67 68 97 102 103 217 218 219 220 221
+    222 255 256 285 286 295 298 311 314 319 321 332 336 338 339 350
+    351 360 363 366 370 373 376 382
+":" (267) 59 65 112 115 118 121 124 127 130 133 136 139 186 187 188
+    189 261 262
+";" (268) 14 17 100 101 241 244 283 284 296 299 312 315 320 322 333
+    337 340 341 348 349 361 364 367 371 374 377
+"(" (269) 52 53 54 55 94 95 212 213 215 216 273 274 344
+")" (270) 52 53 54 55 94 95 212 213 215 216 273 274 344
+"[" (271) 70 71 74 75 78 79 82 83 86 87 90 91 231 232 233 234 235 236
+    237 238 275
+"]" (272) 70 71 74 75 78 79 82 83 86 87 90 91 231 232 233 234 235 236
+    237 238 275
+"{" (273) 56 223 224 225 226 227 228 229 230
+"}" (274) 56 223 224 225 226 227 228 229 230
+"." (275) 45 46 193 194 195 196 197 198 265 266 267 268 269 270
+".'" (276) 155 157
+"+" (277) 144 145 158 159
+"-" (278) 142 143 160 161
+"*" (279) 162 163
+".*" (280) 164 165
+".*." (281) 166 167
+"*." (282) 168 169
+"/" (283) 170 171
+"./" (284) 172 173
+"/." (285) 176 177
+"./." (286) 174 175
+"\\" (287) 178 179
+".\\" (288) 180 181
+"\\." (289) 184 185
+".\\." (290) 182 183
+"** or ^" (291) 146 147 148 149
+".^" (292) 150 151 152 153
+"==" (293) 122 123 124
+"<> or ~=" (294) 125 126 127
+"<" (295) 131 132 133
+"<=" (296) 137 138 139
+">" (297) 128 129 130
+">=" (298) 134 135 136
+"&" (299) 110 111 112
+"&&" (300) 113 114 115
+"|" (301) 116 117 118
+"||" (302) 119 120 121
+"=" (303) 69 70 71 73 74 75 77 78 79 81 82 83 85 86 87 89 90 91 257
+    258 259 260 261 262 263 264 343 344
+"if" (304) 276 277 278 391
+"then" (305) 288 289 290 291 331 335 338 339 340 341 365 366 367 375
+    376 377 392
+"else" (306) 294 295 296 297 298 299 393
+"elseif" (307) 300 301 302 394
+"end" (308) 73 74 75 76 81 82 83 84 89 90 91 92 276 277 278 303 304
+    305 306 343 344 357 378 379 395
+"select" (309) 307 396
+"switch" (310) 308 397
+"case" (311) 323 324 325 326 327 328 399
+"otherwise" (312) 310 311 312 313 314 315 398
+"function" (313) 69 70 71 72 73 74 75 76 85 86 87 88 89 90 91 92 400
+"endfunction" (314) 69 70 71 72 77 78 79 80 85 86 87 88 401
+"#function" (315) 77 78 79 80 81 82 83 84 402
+"hidden" (316) 85 86 87 88 89 90 91 92 403
+"for" (317) 343 344 404
+"while" (318) 357 405
+"do" (319) 352 353 362 363 364 372 373 374 406
+"break" (320) 30 407
 "continue" (321) 31
-"try" (322) 376 377 406
-"catch" (323) 376 407
-"return" (324) 383 384 408
-"string" (325) 41 206
-"identifier" (326) 36 37 45 55 56 67 68 69 70 71 72 73 74 75 76 77
-    78 79 80 81 82 83 84 85 86 87 88 89 90 95 96 191 202 263 269 341
-    342
-"integer" (327) 38 203
-"float" (328) 40 205
-"number" (329) 39 204
+"try" (322) 378 379 408
+"catch" (323) 378 409
+"return" (324) 385 386 410
+"string" (325) 41 208
+"identifier" (326) 36 37 45 55 56 69 70 71 72 73 74 75 76 77 78 79
+    80 81 82 83 84 85 86 87 88 89 90 91 92 97 98 193 204 265 271 343
+    344
+"integer" (327) 38 205
+"float" (328) 40 207
+"number" (329) 39 206
 "path" (330) 49
-"line comment" (331) 7 9 11 12 33 249 252 303 304 366 385 386 388
+"line comment" (331) 7 9 11 12 33 251 254 305 306 368 387 388 390
 "block comment" (332)
 TOPLEVEL (333)
 HIGHLEVEL (334)
@@ -584,171 +598,172 @@ CONTROLBREAK (337)
 FUNCTIONCALL (338)
 
 
-Nonterminals, with rules where they appear
+Non-terminaux, suivis des règles où ils apparaissent
 
 $accept (84)
-    on left: 0
+    à gauche: 0
 program (85)
-    on left: 1 2 3 4, on right: 0
+    à gauche: 1 2 3 4, à droite: 0
 expressions (86)
-    on left: 5 6 7 8 9, on right: 1 2 102 277 279 327 353 356 378 379
-    380
+    à gauche: 5 6 7 8 9, à droite: 1 2 104 279 281 329 355 358 380
+    381 382
 recursiveExpression (87)
-    on left: 10 11 12 13, on right: 5 6 7 10 11
+    à gauche: 10 11 12 13, à droite: 5 6 7 10 11
 expressionLineBreak (88)
-    on left: 14 15 16 17 18 19, on right: 3 10 11 12 13 17 18 19
+    à gauche: 14 15 16 17 18 19, à droite: 3 10 11 12 13 17 18 19
 expression (89)
-    on left: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, on right:
+    à gauche: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34, à droite:
     6 7 8 9 10 11 12 13
 implicitFunctionCall (90)
-    on left: 35 36, on right: 29 35
+    à gauche: 35 36, à droite: 29 35
 implicitCallable (91)
-    on left: 37 38 39 40 41 42 43 44 45 46 47 48 49, on right: 35 36
-    45 46 48
+    à gauche: 37 38 39 40 41 42 43 44 45 46 47 48 49, à droite: 35
+    36 45 46 48
 functionCall (92)
-    on left: 50 51 52, on right: 21 46 52 58 63 104 107 109 112 115
-    118 121 124 127 130 133 136 139 141 143 145 146 147 149 150 151
-    154 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183
-    185 187 190 193 194 195 196 198 214 216 218 219 220 246 248 251
-    256 257 258 260 262 265 266 267 268 272 315 322 324 326 343
+    à gauche: 50 51 52, à droite: 21 46 52 58 64 106 109 111 114
+    117 120 123 126 129 132 135 138 141 143 145 147 148 149 151 152
+    153 156 157 159 161 163 165 167 169 171 173 175 177 179 181 183
+    185 187 189 192 195 196 197 198 200 216 218 220 221 222 248 250
+    253 258 259 260 262 264 267 268 269 270 274 317 324 326 328 345
 specificFunctionCall (93)
-    on left: 53 54, on right: 51
+    à gauche: 53 54, à droite: 51
 simpleFunctionCall (94)
-    on left: 55 56, on right: 47 50
+    à gauche: 55 56, à droite: 47 50
 functionArgs (95)
-    on left: 57 58 59 60 61 62 63 64 65 66, on right: 53 54 55 56 62
-    63 64 65 66 213 214 271 272
+    à gauche: 57 58 59 60 61 62 63 64 65 66 67 68, à droite: 53 54
+    55 56 63 64 65 66 67 68 215 216 273 274
 functionDeclaration (96)
-    on left: 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
-    85 86 87 88 89 90, on right: 20
+    à gauche: 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
+    87 88 89 90 91 92, à droite: 20
 functionDeclarationReturns (97)
-    on left: 91, on right: 68 72 76 80 84 88
+    à gauche: 93, à droite: 70 74 78 82 86 90
 functionDeclarationArguments (98)
-    on left: 92 93 94, on right: 67 68 69 70 71 72 73 74 75 76 77 78
-    79 80 81 82 83 84 85 86 87 88 89 90
+    à gauche: 94 95 96, à droite: 69 70 71 72 73 74 75 76 77 78 79
+    80 81 82 83 84 85 86 87 88 89 90 91 92
 idList (99)
-    on left: 95 96, on right: 91 92 95
+    à gauche: 97 98, à droite: 93 94 97
 functionDeclarationBreak (100)
-    on left: 97 98 99 100 101, on right: 67 68 69 70 71 72 73 74 75
-    76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
+    à gauche: 99 100 101 102 103, à droite: 69 70 71 72 73 74 75
+    76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
 functionBody (101)
-    on left: 102 103, on right: 67 68 69 70 71 72 73 74 75 76 77 78
-    79 80 81 82 83 84 85 86 87 88 89 90
+    à gauche: 104 105, à droite: 69 70 71 72 73 74 75 76 77 78 79
+    80 81 82 83 84 85 86 87 88 89 90 91 92
 condition (102)
-    on left: 104 105, on right: 274 275 276 298 299 300 355
+    à gauche: 106 107, à droite: 276 277 278 300 301 302 357
 comparison (103)
-    on left: 106 107, on right: 212
+    à gauche: 108 109, à droite: 214
 rightComparable (104)
-    on left: 108 109 110 111 112 113 114 115 116 117 118 119 120 121
-    122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137,
-    on right: 106 107
+    à gauche: 110 111 112 113 114 115 116 117 118 119 120 121 122
+    123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
+    139, à droite: 108 109
 operation (105)
-    on left: 138 139 140 141 142 143 144 145 146 147 148 149 150 151
-    152 153 154 155, on right: 201
+    à gauche: 140 141 142 143 144 145 146 147 148 149 150 151 152
+    153 154 155 156 157, à droite: 203
 rightOperand (106)
-    on left: 156 157 158 159 160 161 162 163 164 165 166 167 168 169
-    170 171 172 173 174 175 176 177 178 179 180 181 182 183, on right:
-    48 138 139
+    à gauche: 158 159 160 161 162 163 164 165 166 167 168 169 170
+    171 172 173 174 175 176 177 178 179 180 181 182 183 184 185, à droite:
+    48 140 141
 listableBegin (107)
-    on left: 184 185, on right: 186 187 188
+    à gauche: 186 187, à droite: 188 189 190
 listableEnd (108)
-    on left: 186 187 188, on right: 197 198
+    à gauche: 188 189 190, à droite: 199 200
 variable (109)
-    on left: 189 190 191 192 193 194 195 196 197 198 199 200 201 202
-    203 204 205 206 207 208 209 210 211 212 213 214, on right: 28 57
-    62 105 106 108 111 114 117 120 123 126 129 132 135 138 140 142
-    144 145 146 148 149 150 152 153 156 158 160 162 164 166 168 170
-    172 174 176 178 180 182 184 186 189 191 192 193 194 197 210 213
-    215 217 219 220 245 247 250 255 257 263 264 265 266 271 314 321
-    323 325 344 384
+    à gauche: 191 192 193 194 195 196 197 198 199 200 201 202 203
+    204 205 206 207 208 209 210 211 212 213 214 215 216, à droite:
+    28 57 63 107 108 110 113 116 119 122 125 128 131 134 137 140 142
+    144 146 147 148 150 151 152 154 155 158 160 162 164 166 168 170
+    172 174 176 178 180 182 184 186 188 191 193 194 195 196 199 212
+    215 217 219 221 222 247 249 252 257 259 265 266 267 268 273 316
+    323 325 327 346 386
 variableFields (110)
-    on left: 215 216 217 218 219 220, on right: 211 215 216
+    à gauche: 217 218 219 220 221 222, à droite: 213 217 218
 cell (111)
-    on left: 221 222 223 224 225 226 227 228, on right: 200
+    à gauche: 223 224 225 226 227 228 229 230, à droite: 202
 matrix (112)
-    on left: 229 230 231 232 233 234 235 236, on right: 199
+    à gauche: 231 232 233 234 235 236 237 238, à droite: 201
 matrixOrCellLines (113)
-    on left: 237 238, on right: 221 222 223 224 229 230 231 232 237
+    à gauche: 239 240, à droite: 223 224 225 226 231 232 233 234
+    239
 matrixOrCellLineBreak (114)
-    on left: 239 240 241 242, on right: 241 242 243 244
+    à gauche: 241 242 243 244, à droite: 243 244 245 246
 matrixOrCellLine (115)
-    on left: 243 244, on right: 237 238
+    à gauche: 245 246, à droite: 239 240
 matrixOrCellColumns (116)
-    on left: 245 246 247 248 249 250 251 252, on right: 223 224 225
-    226 231 232 233 234 243 244 245 246 247 248 249 273
+    à gauche: 247 248 249 250 251 252 253 254, à droite: 225 226
+    227 228 233 234 235 236 245 246 247 248 249 250 251 275
 matrixOrCellColumnsBreak (117)
-    on left: 253 254, on right: 244 245 246 253
+    à gauche: 255 256, à droite: 246 247 248 255
 variableDeclaration (118)
-    on left: 255 256 257 258 259 260 261 262, on right: 22 60 65
+    à gauche: 257 258 259 260 261 262 263 264, à droite: 22 61 66
 assignable (119)
-    on left: 263 264 265 266 267 268 269 270 271 272, on right: 255
-    256 259 261
+    à gauche: 265 266 267 268 269 270 271 272 273 274, à droite:
+    257 258 261 263
 multipleResults (120)
-    on left: 273, on right: 270
+    à gauche: 275, à droite: 272
 ifControl (121)
-    on left: 274 275 276, on right: 23
+    à gauche: 276 277 278, à droite: 23
 thenBody (122)
-    on left: 277 278, on right: 274 275 276 298 299 300
+    à gauche: 279 280, à droite: 276 277 278 300 301 302
 elseBody (123)
-    on left: 279 280, on right: 275 299 302 304
+    à gauche: 281 282, à droite: 277 301 304 306
 ifConditionBreak (124)
-    on left: 281 282 283 284 285, on right: 287 288 289 290
+    à gauche: 283 284 285 286 287, à droite: 289 290 291 292
 then (125)
-    on left: 286 287 288 289 290 291, on right: 274 275 276 298 299
-    300
+    à gauche: 288 289 290 291 292 293, à droite: 276 277 278 300
+    301 302
 else (126)
-    on left: 292 293 294 295 296 297, on right: 275 299 307
+    à gauche: 294 295 296 297 298 299, à droite: 277 301 309
 elseIfControl (127)
-    on left: 298 299 300, on right: 276 300
+    à gauche: 300 301 302, à droite: 278 302
 selectControl (128)
-    on left: 301 302 303 304, on right: 24
+    à gauche: 303 304 305 306, à droite: 24
 select (129)
-    on left: 305 306, on right: 301 302 303 304
+    à gauche: 307 308, à droite: 303 304 305 306
 defaultCase (130)
-    on left: 307 308 309 310 311 312 313, on right: 302 304
+    à gauche: 309 310 311 312 313 314 315, à droite: 304 306
 selectable (131)
-    on left: 314 315, on right: 301 302 303 304
+    à gauche: 316 317, à droite: 303 304 305 306
 selectConditionBreak (132)
-    on left: 316 317 318 319 320, on right: 301 302 303 304
+    à gauche: 318 319 320 321 322, à droite: 303 304 305 306
 casesControl (133)
-    on left: 321 322 323 324 325 326, on right: 301 302 303 304 325
-    326
+    à gauche: 323 324 325 326 327 328, à droite: 303 304 305 306
+    327 328
 caseBody (134)
-    on left: 327 328, on right: 321 322 323 324 325 326
+    à gauche: 329 330, à droite: 323 324 325 326 327 328
 caseControlBreak (135)
-    on left: 329 330 331 332 333 334 335 336 337 338 339 340, on right:
-    321 322 323 324 325 326
+    à gauche: 331 332 333 334 335 336 337 338 339 340 341 342, à droite:
+    323 324 325 326 327 328
 forControl (136)
-    on left: 341 342, on right: 25
+    à gauche: 343 344, à droite: 25
 forIterator (137)
-    on left: 343 344, on right: 341 342
+    à gauche: 345 346, à droite: 343 344
 forConditionBreak (138)
-    on left: 345 346 347 348 349 350 351 352, on right: 341 342
+    à gauche: 347 348 349 350 351 352 353 354, à droite: 343 344
 forBody (139)
-    on left: 353 354, on right: 341 342
+    à gauche: 355 356, à droite: 343 344
 whileControl (140)
-    on left: 355, on right: 26
+    à gauche: 357, à droite: 26
 whileBody (141)
-    on left: 356 357, on right: 355
+    à gauche: 358 359, à droite: 357
 whileConditionBreak (142)
-    on left: 358 359 360 361 362 363 364 365 366 367 368 369 370 371
-    372 373 374 375, on right: 355
+    à gauche: 360 361 362 363 364 365 366 367 368 369 370 371 372
+    373 374 375 376 377, à droite: 357
 tryControl (143)
-    on left: 376 377, on right: 27
+    à gauche: 378 379, à droite: 27
 catchBody (144)
-    on left: 378 379 380 381 382, on right: 376 377
+    à gauche: 380 381 382 383 384, à droite: 378 379
 returnControl (145)
-    on left: 383 384, on right: 32 261 262
+    à gauche: 385 386, à droite: 32 263 264
 comments (146)
-    on left: 385 386, on right: 323 324 386
+    à gauche: 387 388, à droite: 325 326 388
 lineEnd (147)
-    on left: 387 388, on right: 97
+    à gauche: 389 390, à droite: 99
 keywords (148)
-    on left: 389 390 391 392 393 394 395 396 397 398 399 400 401 402
-    403 404 405 406 407 408, on right: 192 195 264 267
+    à gauche: 391 392 393 394 395 396 397 398 399 400 401 402 403
+    404 405 406 407 408 409 410, à droite: 194 197 266 269
 
 
-state 0
+état 0
 
     0 $accept: . program "end of file"
     1 program: . expressions
@@ -794,197 +809,197 @@ state 0
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-   67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  383 returnControl: . "return"
-  384              | . "return" variable
-
-    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
+   69 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   77                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   85                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 multipleResults: . "[" matrixOrCellColumns "]"
+  276 ifControl: . "if" condition then thenBody "end"
+  277          | . "if" condition then thenBody else elseBody "end"
+  278          | . "if" condition then thenBody elseIfControl "end"
+  303 selectControl: . select selectable selectConditionBreak casesControl "end"
+  304              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  306              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  307 select: . "select"
+  308       | . "switch"
+  343 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  357 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  378 tryControl: . "try" catchBody "catch" catchBody "end"
+  379           | . "try" catchBody "end"
+  385 returnControl: . "return"
+  386              | . "return" variable
+
+    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
 
    34 expression: error .
 
-    $default  reduce using rule 34 (expression)
+    $défaut  réduction par utilisation de la règle 34 (expression)
 
 
-state 2
+état 2
 
     2 program: "end of line" . expressions
     5 expressions: . recursiveExpression
@@ -1021,212 +1036,212 @@ state 2
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-   67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  383 returnControl: . "return"
-  384              | . "return" variable
-
-    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
+   69 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   77                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   85                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 multipleResults: . "[" matrixOrCellColumns "]"
+  276 ifControl: . "if" condition then thenBody "end"
+  277          | . "if" condition then thenBody else elseBody "end"
+  278          | . "if" condition then thenBody elseIfControl "end"
+  303 selectControl: . select selectable selectConditionBreak casesControl "end"
+  304              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  306              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  307 select: . "select"
+  308       | . "switch"
+  343 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  357 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  378 tryControl: . "try" catchBody "catch" catchBody "end"
+  379           | . "try" catchBody "end"
+  385 returnControl: . "return"
+  386              | . "return" variable
+
+    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
 
    53 specificFunctionCall: "%t or %T" . "(" functionArgs ")"
-  208 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"]
+  210 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"]
 
-    "("  shift, and go to state 58
+    "("  décalage et aller à l'état 58
 
-    $default  reduce using rule 208 (variable)
+    $défaut  réduction par utilisation de la règle 210 (variable)
 
-    Conflict between rule 208 and token "(" resolved as shift (BOOLTRUE < "(").
+    Conflit entre la règle 210 et le jeton "(" résolu par décalage (BOOLTRUE < "(").
 
 
-state 4
+état 4
 
    54 specificFunctionCall: "%f or %F" . "(" functionArgs ")"
-  209 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"]
+  211 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"]
 
-    "("  shift, and go to state 59
+    "("  décalage et aller à l'état 59
 
-    $default  reduce using rule 209 (variable)
+    $défaut  réduction par utilisation de la règle 211 (variable)
 
-    Conflict between rule 209 and token "(" resolved as shift (BOOLFALSE < "(").
+    Conflit entre la règle 211 et le jeton "(" résolu par décalage (BOOLFALSE < "(").
 
 
-state 5
+état 5
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1235,118 +1250,118 @@ state 5
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  189         | "~ or @" . variable
-  190         | . "~ or @" functionCall
-  190         | "~ or @" . functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-
-    "%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
-
-  207 variable: "$" .
-
-    $default  reduce using rule 207 (variable)
-
-
-state 7
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  191         | "~ or @" . variable
+  192         | . "~ or @" functionCall
+  192         | "~ or @" . functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+
+    "%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
+
+  209 variable: "$" .
+
+    $défaut  réduction par utilisation de la règle 209 (variable)
+
+
+état 7
 
    15 expressionLineBreak: "," .
 
-    $default  reduce using rule 15 (expressionLineBreak)
+    $défaut  réduction par utilisation de la règle 15 (expressionLineBreak)
 
 
-state 8
+état 8
 
    14 expressionLineBreak: ";" .
 
-    $default  reduce using rule 14 (expressionLineBreak)
+    $défaut  réduction par utilisation de la règle 14 (expressionLineBreak)
 
 
-state 9
+état 9
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1356,104 +1371,104 @@ state 9
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  210         | "(" . variable ")"
-  211         | . "(" variableFields ")"
-  211         | "(" . variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  215 variableFields: . variableFields "," variable
-  216               | . variableFields "," functionCall
-  217               | . variable "," variable
-  218               | . functionCall "," functionCall
-  219               | . functionCall "," variable
-  220               | . variable "," functionCall
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-
-    "%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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  212         | "(" . variable ")"
+  213         | . "(" variableFields ")"
+  213         | "(" . variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  217 variableFields: . variableFields "," variable
+  218               | . variableFields "," functionCall
+  219               | . variable "," variable
+  220               | . functionCall "," functionCall
+  221               | . functionCall "," variable
+  222               | . variable "," functionCall
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+
+    "%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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1462,122 +1477,122 @@ state 10
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  229       | "[" . matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  230       | "[" . "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  231       | "[" . matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  232       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  233       | "[" . matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  234       | "[" . "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  235       | "[" . "end of line" "]"
-  236       | . "[" "]"
-  236       | "[" . "]"
-  237 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  238                  | . matrixOrCellLine
-  243 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  244                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  245 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | . matrixOrCellColumns variable
-  248                    | . matrixOrCellColumns functionCall
-  249                    | . matrixOrCellColumns "line comment"
-  250                    | . variable
-  251                    | . functionCall
-  252                    | . "line comment"
-  273 multipleResults: "[" . matrixOrCellColumns "]"
-
-    "end of line"   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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  231       | "[" . matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  232       | "[" . "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  233       | "[" . matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  234       | "[" . "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  235       | "[" . matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  236       | "[" . "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  237       | "[" . "end of line" "]"
+  238       | . "[" "]"
+  238       | "[" . "]"
+  239 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  240                  | . matrixOrCellLine
+  245 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  246                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  247 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  248                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  249                    | . matrixOrCellColumns variable
+  250                    | . matrixOrCellColumns functionCall
+  251                    | . matrixOrCellColumns "line comment"
+  252                    | . variable
+  253                    | . functionCall
+  254                    | . "line comment"
+  275 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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1586,121 +1601,121 @@ state 11
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  221     | "{" . matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  222     | "{" . "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  223     | "{" . matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  224     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  225     | "{" . matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  226     | "{" . "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  227     | "{" . "end of line" "}"
-  228     | . "{" "}"
-  228     | "{" . "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  237 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
-  238                  | . matrixOrCellLine
-  243 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
-  244                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
-  245 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
-  246                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
-  247                    | . matrixOrCellColumns variable
-  248                    | . matrixOrCellColumns functionCall
-  249                    | . matrixOrCellColumns "line comment"
-  250                    | . variable
-  251                    | . functionCall
-  252                    | . "line comment"
-
-    "end of line"   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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  223     | "{" . matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  224     | "{" . "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  225     | "{" . matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  226     | "{" . "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  227     | "{" . matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  228     | "{" . "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  229     | "{" . "end of line" "}"
+  230     | . "{" "}"
+  230     | "{" . "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  239 matrixOrCellLines: . matrixOrCellLines matrixOrCellLine
+  240                  | . matrixOrCellLine
+  245 matrixOrCellLine: . matrixOrCellColumns matrixOrCellLineBreak
+  246                 | . matrixOrCellColumns matrixOrCellColumnsBreak matrixOrCellLineBreak
+  247 matrixOrCellColumns: . matrixOrCellColumns matrixOrCellColumnsBreak variable
+  248                    | . matrixOrCellColumns matrixOrCellColumnsBreak functionCall
+  249                    | . matrixOrCellColumns variable
+  250                    | . matrixOrCellColumns functionCall
+  251                    | . matrixOrCellColumns "line comment"
+  252                    | . variable
+  253                    | . functionCall
+  254                    | . "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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1709,97 +1724,97 @@ state 12
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  142          | "+" . variable
-  143          | . "+" functionCall
-  143          | "+" . functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-
-    "%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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  144          | "+" . variable
+  145          | . "+" functionCall
+  145          | "+" . functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+
+    "%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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1808,97 +1823,97 @@ state 13
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  140          | "-" . variable
-  141          | . "-" functionCall
-  141          | "-" . functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-
-    "%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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  142          | "-" . variable
+  143          | . "-" functionCall
+  143          | "-" . functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+
+    "%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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -1907,168 +1922,168 @@ state 14
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  104 condition: . functionCall
-  105          | . variable
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  274 ifControl: "if" . condition then thenBody "end"
-  275          | "if" . condition then thenBody else elseBody "end"
-  276          | "if" . condition then thenBody elseIfControl "end"
-
-    "%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
-
-  305 select: "select" .
-
-    $default  reduce using rule 305 (select)
-
-
-state 16
-
-  306 select: "switch" .
-
-    $default  reduce using rule 306 (select)
-
-
-state 17
-
-   67 functionDeclaration: "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-    "["           shift, and go to state 86
-    "identifier"  shift, and go to state 87
-
-
-state 18
-
-   75 functionDeclaration: "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-
-    "["           shift, and go to state 88
-    "identifier"  shift, and go to state 89
-
-
-state 19
-
-   83 functionDeclaration: "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  106 condition: . functionCall
+  107          | . variable
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  276 ifControl: "if" . condition then thenBody "end"
+  277          | "if" . condition then thenBody else elseBody "end"
+  278          | "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
+
+  307 select: "select" .
+
+    $défaut  réduction par utilisation de la règle 307 (select)
+
+
+état 16
+
+  308 select: "switch" .
+
+    $défaut  réduction par utilisation de la règle 308 (select)
+
+
+état 17
+
+   69 functionDeclaration: "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | "function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | "function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | "function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | "function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+
+    "["           décalage et aller à l'état 86
+    "identifier"  décalage et aller à l'état 87
+
+
+état 18
+
+   77 functionDeclaration: "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | "#function" . "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | "#function" . "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | "#function" . "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | "#function" . "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+
+    "["           décalage et aller à l'état 88
+    "identifier"  décalage et aller à l'état 89
+
+
+état 19
+
+   85 functionDeclaration: "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | "hidden" . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | "hidden" . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | "hidden" . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | "hidden" . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
 
-    "function"  shift, and go to state 90
+    "function"  décalage et aller à l'état 90
 
 
-state 20
+état 20
 
-  341 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  343 forControl: "for" . "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | "for" . "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
 
-    "("           shift, and go to state 91
-    "identifier"  shift, and go to state 92
+    "("           décalage et aller à l'état 91
+    "identifier"  décalage et aller à l'état 92
 
 
-state 21
+état 21
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -2077,113 +2092,113 @@ state 21
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  104 condition: . functionCall
-  105          | . variable
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  355 whileControl: "while" . condition whileConditionBreak whileBody "end"
-
-    "%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
+  106 condition: . functionCall
+  107          | . variable
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  357 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
 
    30 expression: "break" .
 
-    $default  reduce using rule 30 (expression)
+    $défaut  réduction par utilisation de la règle 30 (expression)
 
 
-state 23
+état 23
 
    31 expression: "continue" .
 
-    $default  reduce using rule 31 (expression)
+    $défaut  réduction par utilisation de la règle 31 (expression)
 
 
-state 24
+état 24
 
     5 expressions: . recursiveExpression
     6            | . recursiveExpression expression
@@ -2218,196 +2233,196 @@ state 24
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-   67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  376           | "try" . catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  377           | "try" . catchBody "end"
-  378 catchBody: . expressions
-  379          | . "end of line" expressions
-  380          | . "," expressions
-  381          | . "end of line"
-  382          | .  ["end", "catch"]
-  383 returnControl: . "return"
-  384              | . "return" variable
-
-    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 382 (catchBody)
-    "catch"  reduce using rule 382 (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
+   69 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   77                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   85                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 multipleResults: . "[" matrixOrCellColumns "]"
+  276 ifControl: . "if" condition then thenBody "end"
+  277          | . "if" condition then thenBody else elseBody "end"
+  278          | . "if" condition then thenBody elseIfControl "end"
+  303 selectControl: . select selectable selectConditionBreak casesControl "end"
+  304              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  306              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  307 select: . "select"
+  308       | . "switch"
+  343 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  357 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  378 tryControl: . "try" catchBody "catch" catchBody "end"
+  378           | "try" . catchBody "catch" catchBody "end"
+  379           | . "try" catchBody "end"
+  379           | "try" . catchBody "end"
+  380 catchBody: . expressions
+  381          | . "end of line" expressions
+  382          | . "," expressions
+  383          | . "end of line"
+  384          | .  ["end", "catch"]
+  385 returnControl: . "return"
+  386              | . "return" variable
+
+    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 384 (catchBody)
+    "catch"  réduction par utilisation de la règle 384 (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
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -2416,106 +2431,106 @@ state 25
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  383 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  384              | "return" . variable
-
-    "%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 383 (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
-
-  206 variable: "string" .
-
-    $default  reduce using rule 206 (variable)
-
-
-state 27
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  385 returnControl: "return" .  ["end of file", "end of line", ",", ";", ")", "}", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  386              | "return" . variable
+
+    "%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 385 (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
+
+  208 variable: "string" .
+
+    $défaut  réduction par utilisation de la règle 208 (variable)
+
+
+état 27
 
    36 implicitFunctionCall: "identifier" . implicitCallable
    37 implicitCallable: . "identifier"
@@ -2535,73 +2550,73 @@ state 27
    55                   | "identifier" . "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
    56                   | "identifier" . "{" functionArgs "}"
-  202 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  269 assignable: "identifier" .  ["="]
+  204 variable: "identifier" .  ["end of file", "end of line", "'", ",", ":", ";", ".", ".'", "+", "-", "*", ".*", ".*.", "*.", "/", "./", "/.", "./.", "\\", ".\\", "\\.", ".\\.", "** or ^", ".^", "==", "<> or ~=", "<", "<=", ">", ">=", "&", "&&", "|", "||", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
+  271 assignable: "identifier" .  ["="]
 
-    "%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
+    "%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
 
-    "="       reduce using rule 269 (assignable)
-    $default  reduce using rule 202 (variable)
+    "="       réduction par utilisation de la règle 271 (assignable)
+    $défaut  réduction par utilisation de la règle 204 (variable)
 
-    implicitCallable    go to state 111
-    simpleFunctionCall  go to state 112
+    implicitCallable    aller à l'état 111
+    simpleFunctionCall  aller à l'état 112
 
-    Conflict between rule 202 and token "(" resolved as shift (LISTABLE < "(").
+    Conflit entre la règle 204 et le jeton "(" résolu par décalage (LISTABLE < "(").
 
 
-state 28
+état 28
 
-  203 variable: "integer" .
+  205 variable: "integer" .
 
-    $default  reduce using rule 203 (variable)
+    $défaut  réduction par utilisation de la règle 205 (variable)
 
 
-state 29
+état 29
 
-  205 variable: "float" .
+  207 variable: "float" .
 
-    $default  reduce using rule 205 (variable)
+    $défaut  réduction par utilisation de la règle 207 (variable)
 
 
-state 30
+état 30
 
-  204 variable: "number" .
+  206 variable: "number" .
 
-    $default  reduce using rule 204 (variable)
+    $défaut  réduction par utilisation de la règle 206 (variable)
 
 
-state 31
+état 31
 
    33 expression: "line comment" .
 
-    $default  reduce using rule 33 (expression)
+    $défaut  réduction par utilisation de la règle 33 (expression)
 
 
-state 32
+état 32
 
     0 $accept: program . "end of file"
 
-    "end of file"  shift, and go to state 113
+    "end of file"  décalage et aller à l'état 113
 
 
-state 33
+état 33
 
     1 program: expressions .
 
-    $default  reduce using rule 1 (program)
+    $défaut  réduction par utilisation de la règle 1 (program)
 
 
-state 34
+état 34
 
     5 expressions: recursiveExpression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     6            | recursiveExpression . expression
@@ -2632,204 +2647,204 @@ state 34
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-   67 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   68                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   69                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   70                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   71                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   72                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   73                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   74                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   75                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   76                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   77                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   78                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   79                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   80                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   81                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   82                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   83                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   84                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   85                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   86                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
-   87                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   88                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   89                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-   90                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-  274 ifControl: . "if" condition then thenBody "end"
-  275          | . "if" condition then thenBody else elseBody "end"
-  276          | . "if" condition then thenBody elseIfControl "end"
-  301 selectControl: . select selectable selectConditionBreak casesControl "end"
-  302              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | . select selectable "line comment" selectConditionBreak casesControl "end"
-  304              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  305 select: . "select"
-  306       | . "switch"
-  341 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
-  342           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
-  355 whileControl: . "while" condition whileConditionBreak whileBody "end"
-  376 tryControl: . "try" catchBody "catch" catchBody "end"
-  377           | . "try" catchBody "end"
-  383 returnControl: . "return"
-  384              | . "return" variable
-
-    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
+   69 functionDeclaration: . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   70                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   71                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   72                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   73                    | . "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   74                    | . "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   75                    | . "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   76                    | . "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   77                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   78                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   79                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   80                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   81                    | . "#function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   82                    | . "#function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   83                    | . "#function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   84                    | . "#function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   85                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   86                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   87                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   88                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "endfunction"
+   89                    | . "hidden" "function" "identifier" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   90                    | . "hidden" "function" "[" functionDeclarationReturns "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   91                    | . "hidden" "function" "[" "]" "=" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+   92                    | . "hidden" "function" "identifier" functionDeclarationArguments functionDeclarationBreak functionBody "end"
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 multipleResults: . "[" matrixOrCellColumns "]"
+  276 ifControl: . "if" condition then thenBody "end"
+  277          | . "if" condition then thenBody else elseBody "end"
+  278          | . "if" condition then thenBody elseIfControl "end"
+  303 selectControl: . select selectable selectConditionBreak casesControl "end"
+  304              | . select selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | . select selectable "line comment" selectConditionBreak casesControl "end"
+  306              | . select selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  307 select: . "select"
+  308       | . "switch"
+  343 forControl: . "for" "identifier" "=" forIterator forConditionBreak forBody "end"
+  344           | . "for" "(" "identifier" "=" forIterator ")" forConditionBreak forBody "end"
+  357 whileControl: . "while" condition whileConditionBreak whileBody "end"
+  378 tryControl: . "try" catchBody "catch" catchBody "end"
+  379           | . "try" catchBody "end"
+  385 returnControl: . "return"
+  386              | . "return" variable
+
+    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
 
     3 program: expressionLineBreak .  ["end of file"]
    17 expressionLineBreak: expressionLineBreak . ";"
    18                    | expressionLineBreak . ","
    19                    | expressionLineBreak . "end of line"
 
-    "end of line"  shift, and go to state 115
-    ","            shift, and go to state 116
-    ";"            shift, and go to state 117
+    "end of line"  décalage et aller à l'état 115
+    ","            décalage et aller à l'état 116
+    ";"            décalage et aller à l'état 117
 
-    $default  reduce using rule 3 (program)
+    $défaut  réduction par utilisation de la règle 3 (program)
 
 
-state 36
+état 36
 
     8 expressions: expression .  ["end of file", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch"]
     9            | expression . "line comment"
@@ -2842,17 +2857,17 @@ state 36
    18                    | . expressionLineBreak ","
    19                    | . expressionLineBreak "end of line"
 
-    "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
+    "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
 
-    $default  reduce using rule 8 (expressions)
+    $défaut  réduction par utilisation de la règle 8 (expressions)
 
-    expressionLineBreak  go to state 120
+    expressionLineBreak  aller à l'état 120
 
 
-state 37
+état 37
 
    29 expression: implicitFunctionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
    35 implicitFunctionCall: implicitFunctionCall . implicitCallable
@@ -2872,363 +2887,363 @@ state 37
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
 
-    "%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
+    "%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
 
-    $default  reduce using rule 29 (expression)
+    $défaut  réduction par utilisation de la règle 29 (expression)
 
-    implicitCallable    go to state 121
-    simpleFunctionCall  go to state 112
+    implicitCallable    aller à l'état 121
+    simpleFunctionCall  aller à l'état 112
 
 
-state 38
+état 38
 
    21 expression: functionCall .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  107 comparison: functionCall . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  139 operation: functionCall . rightOperand
-  146          | functionCall . "** or ^" variable
-  147          | functionCall . "** or ^" functionCall
-  150          | functionCall . ".^" variable
-  151          | functionCall . ".^" functionCall
-  154          | functionCall . "'"
-  155          | functionCall . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  194 variable: functionCall . "." variable
-  195         | functionCall . "." keywords
-  196         | functionCall . "." functionCall
-  198         | functionCall . listableEnd
-  214         | functionCall . "(" functionArgs ")"
-  257 variableDeclaration: functionCall . "=" variable
-  258                    | functionCall . "=" functionCall
-  260                    | functionCall . "=" ":"
-  262                    | functionCall . "=" returnControl
-  266 assignable: functionCall . "." variable
-  267           | functionCall . "." keywords
-  268           | functionCall . "." functionCall
-  272           | functionCall . "(" functionArgs ")"
-
-    "'"         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
+  109 comparison: functionCall . rightComparable
+  110 rightComparable: . "&" variable
+  111                | . "&" functionCall
+  112                | . "&" ":"
+  113                | . "&&" variable
+  114                | . "&&" functionCall
+  115                | . "&&" ":"
+  116                | . "|" variable
+  117                | . "|" functionCall
+  118                | . "|" ":"
+  119                | . "||" variable
+  120                | . "||" functionCall
+  121                | . "||" ":"
+  122                | . "==" variable
+  123                | . "==" functionCall
+  124                | . "==" ":"
+  125                | . "<> or ~=" variable
+  126                | . "<> or ~=" functionCall
+  127                | . "<> or ~=" ":"
+  128                | . ">" variable
+  129                | . ">" functionCall
+  130                | . ">" ":"
+  131                | . "<" variable
+  132                | . "<" functionCall
+  133                | . "<" ":"
+  134                | . ">=" variable
+  135                | . ">=" functionCall
+  136                | . ">=" ":"
+  137                | . "<=" variable
+  138                | . "<=" functionCall
+  139                | . "<=" ":"
+  141 operation: functionCall . rightOperand
+  148          | functionCall . "** or ^" variable
+  149          | functionCall . "** or ^" functionCall
+  152          | functionCall . ".^" variable
+  153          | functionCall . ".^" functionCall
+  156          | functionCall . "'"
+  157          | functionCall . ".'"
+  158 rightOperand: . "+" variable
+  159             | . "+" functionCall
+  160             | . "-" variable
+  161             | . "-" functionCall
+  162             | . "*" variable
+  163             | . "*" functionCall
+  164             | . ".*" variable
+  165             | . ".*" functionCall
+  166             | . ".*." variable
+  167             | . ".*." functionCall
+  168             | . "*." variable
+  169             | . "*." functionCall
+  170             | . "/" variable
+  171             | . "/" functionCall
+  172             | . "./" variable
+  173             | . "./" functionCall
+  174             | . "./." variable
+  175             | . "./." functionCall
+  176             | . "/." variable
+  177             | . "/." functionCall
+  178             | . "\\" variable
+  179             | . "\\" functionCall
+  180             | . ".\\" variable
+  181             | . ".\\" functionCall
+  182             | . ".\\." variable
+  183             | . ".\\." functionCall
+  184             | . "\\." variable
+  185             | . "\\." functionCall
+  186 listableBegin: . ":" variable
+  187              | . ":" functionCall
+  188 listableEnd: . listableBegin ":" variable
+  189            | . listableBegin ":" functionCall
+  190            | . listableBegin
+  196 variable: functionCall . "." variable
+  197         | functionCall . "." keywords
+  198         | functionCall . "." functionCall
+  200         | functionCall . listableEnd
+  216         | functionCall . "(" functionArgs ")"
+  259 variableDeclaration: functionCall . "=" variable
+  260                    | functionCall . "=" functionCall
+  262                    | functionCall . "=" ":"
+  264                    | functionCall . "=" returnControl
+  268 assignable: functionCall . "." variable
+  269           | functionCall . "." keywords
+  270           | functionCall . "." functionCall
+  274           | 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
 
    51 functionCall: specificFunctionCall .
 
-    $default  reduce using rule 51 (functionCall)
+    $défaut  réduction par utilisation de la règle 51 (functionCall)
 
 
-state 40
+état 40
 
    50 functionCall: simpleFunctionCall .
 
-    $default  reduce using rule 50 (functionCall)
+    $défaut  réduction par utilisation de la règle 50 (functionCall)
 
 
-state 41
+état 41
 
    20 expression: functionDeclaration .
 
-    $default  reduce using rule 20 (expression)
+    $défaut  réduction par utilisation de la règle 20 (expression)
 
 
-state 42
+état 42
 
-  212 variable: comparison .
+  214 variable: comparison .
 
-    $default  reduce using rule 212 (variable)
+    $défaut  réduction par utilisation de la règle 214 (variable)
 
 
-state 43
+état 43
 
-  201 variable: operation .
+  203 variable: operation .
 
-    $default  reduce using rule 201 (variable)
+    $défaut  réduction par utilisation de la règle 203 (variable)
 
 
-state 44
+état 44
 
    28 expression: variable .  ["end of file", "end of line", ",", ";", "else", "elseif", "end", "case", "otherwise", "endfunction", "catch", "line comment"]
-  106 comparison: variable . rightComparable
-  108 rightComparable: . "&" variable
-  109                | . "&" functionCall
-  110                | . "&" ":"
-  111                | . "&&" variable
-  112                | . "&&" functionCall
-  113                | . "&&" ":"
-  114                | . "|" variable
-  115                | . "|" functionCall
-  116                | . "|" ":"
-  117                | . "||" variable
-  118                | . "||" functionCall
-  119                | . "||" ":"
-  120                | . "==" variable
-  121                | . "==" functionCall
-  122                | . "==" ":"
-  123                | . "<> or ~=" variable
-  124                | . "<> or ~=" functionCall
-  125                | . "<> or ~=" ":"
-  126                | . ">" variable
-  127                | . ">" functionCall
-  128                | . ">" ":"
-  129                | . "<" variable
-  130                | . "<" functionCall
-  131                | . "<" ":"
-  132                | . ">=" variable
-  133                | . ">=" functionCall
-  134                | . ">=" ":"
-  135                | . "<=" variable
-  136                | . "<=" functionCall
-  137                | . "<=" ":"
-  138 operation: variable . rightOperand
-  144          | variable . "** or ^" variable
-  145          | variable . "** or ^" functionCall
-  148          | variable . ".^" variable
-  149          | variable . ".^" functionCall
-  152          | variable . "'"
-  153          | variable . ".'"
-  156 rightOperand: . "+" variable
-  157             | . "+" functionCall
-  158             | . "-" variable
-  159             | . "-" functionCall
-  160             | . "*" variable
-  161             | . "*" functionCall
-  162             | . ".*" variable
-  163             | . ".*" functionCall
-  164             | . ".*." variable
-  165             | . ".*." functionCall
-  166             | . "*." variable
-  167             | . "*." functionCall
-  168             | . "/" variable
-  169             | . "/" functionCall
-  170             | . "./" variable
-  171             | . "./" functionCall
-  172             | . "./." variable
-  173             | . "./." functionCall
-  174             | . "/." variable
-  175             | . "/." functionCall
-  176             | . "\\" variable
-  177             | . "\\" functionCall
-  178             | . ".\\" variable
-  179             | . ".\\" functionCall
-  180             | . ".\\." variable
-  181             | . ".\\." functionCall
-  182             | . "\\." variable
-  183             | . "\\." functionCall
-  184 listableBegin: . ":" variable
-  185              | . ":" functionCall
-  186 listableEnd: . listableBegin ":" variable
-  187            | . listableBegin ":" functionCall
-  188            | . listableBegin
-  191 variable: variable . "." "identifier"
-  192         | variable . "." keywords
-  193         | variable . "." functionCall
-  197         | variable . listableEnd
-  213         | variable . "(" functionArgs ")"
-  263 assignable: variable . "." "identifier"
-  264           | variable . "." keywords
-  265           | variable . "." functionCall
-  271           | variable . "(" functionArgs ")"
-
-    "'"         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
-
-  200 variable: cell .
-
-    $default  reduce using rule 200 (variable)
-
-
-state 46
-
-  199 variable: matrix .
-
-    $default  reduce using rule 199 (variable)
-
-
-state 47
+  108 comparison: variable . rightComparable
+  110 rightComparable: . "&" variable
+  111                | . "&" functionCall
+  112                | . "&" ":"
+  113                | . "&&" variable
+  114                | . "&&" functionCall
+  115                | . "&&" ":"
+  116                | . "|" variable
+  117                | . "|" functionCall
+  118                | . "|" ":"
+  119                | . "||" variable
+  120                | . "||" functionCall
+  121                | . "||" ":"
+  122                | . "==" variable
+  123                | . "==" functionCall
+  124                | . "==" ":"
+  125                | . "<> or ~=" variable
+  126                | . "<> or ~=" functionCall
+  127                | . "<> or ~=" ":"
+  128                | . ">" variable
+  129                | . ">" functionCall
+  130                | . ">" ":"
+  131                | . "<" variable
+  132                | . "<" functionCall
+  133                | . "<" ":"
+  134                | . ">=" variable
+  135                | . ">=" functionCall
+  136                | . ">=" ":"
+  137                | . "<=" variable
+  138                | . "<=" functionCall
+  139                | . "<=" ":"
+  140 operation: variable . rightOperand
+  146          | variable . "** or ^" variable
+  147          | variable . "** or ^" functionCall
+  150          | variable . ".^" variable
+  151          | variable . ".^" functionCall
+  154          | variable . "'"
+  155          | variable . ".'"
+  158 rightOperand: . "+" variable
+  159             | . "+" functionCall
+  160             | . "-" variable
+  161             | . "-" functionCall
+  162             | . "*" variable
+  163             | . "*" functionCall
+  164             | . ".*" variable
+  165             | . ".*" functionCall
+  166             | . ".*." variable
+  167             | . ".*." functionCall
+  168             | . "*." variable
+  169             | . "*." functionCall
+  170             | . "/" variable
+  171             | . "/" functionCall
+  172             | . "./" variable
+  173             | . "./" functionCall
+  174             | . "./." variable
+  175             | . "./." functionCall
+  176             | . "/." variable
+  177             | . "/." functionCall
+  178             | . "\\" variable
+  179             | . "\\" functionCall
+  180             | . ".\\" variable
+  181             | . ".\\" functionCall
+  182             | . ".\\." variable
+  183             | . ".\\." functionCall
+  184             | . "\\." variable
+  185             | . "\\." functionCall
+  186 listableBegin: . ":" variable
+  187              | . ":" functionCall
+  188 listableEnd: . listableBegin ":" variable
+  189            | . listableBegin ":" functionCall
+  190            | . listableBegin
+  193 variable: variable . "." "identifier"
+  194         | variable . "." keywords
+  195         | variable . "." functionCall
+  199         | variable . listableEnd
+  215         | variable . "(" functionArgs ")"
+  265 assignable: variable . "." "identifier"
+  266           | variable . "." keywords
+  267           | variable . "." functionCall
+  273           | 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
+
+  202 variable: cell .
+
+    $défaut  réduction par utilisation de la règle 202 (variable)
+
+
+état 46
+
+  201 variable: matrix .
+
+    $défaut  réduction par utilisation de la règle 201 (variable)
+
+
+état 47
 
    22 expression: variableDeclaration .
 
-    $default  reduce using rule 22 (expression)
+    $défaut  réduction par utilisation de la règle 22 (expression)
 
 
-state 48
+état 48
 
-  255 variableDeclaration: assignable . "=" variable
-  256                    | assignable . "=" functionCall
-  259                    | assignable . "=" ":"
-  261                    | assignable . "=" returnControl
+  257 variableDeclaration: assignable . "=" variable
+  258                    | assignable . "=" functionCall
+  261                    | assignable . "=" ":"
+  263                    | assignable . "=" returnControl
 
-    "="  shift, and go to state 167
+    "="  décalage et aller à l'état 167
 
 
-state 49
+état 49
 
-  270 assignable: multipleResults .
+  272 assignable: multipleResults .
 
-    $default  reduce using rule 270 (assignable)
+    $défaut  réduction par utilisation de la règle 272 (assignable)
 
 
-state 50
+état 50
 
    23 expression: ifControl .
 
-    $default  reduce using rule 23 (expression)
+    $défaut  réduction par utilisation de la règle 23 (expression)
 
 
-state 51
+état 51
 
    24 expression: selectControl .
 
-    $default  reduce using rule 24 (expression)
+    $défaut  réduction par utilisation de la règle 24 (expression)
 
 
-state 52
+état 52
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3237,137 +3252,137 @@ state 52
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  301 selectControl: select . selectable selectConditionBreak casesControl "end"
-  302              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
-  303              | select . selectable "line comment" selectConditionBreak casesControl "end"
-  304              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
-  314 selectable: . variable
-  315           | . functionCall
-
-    "%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
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  303 selectControl: select . selectable selectConditionBreak casesControl "end"
+  304              | select . selectable selectConditionBreak casesControl defaultCase elseBody "end"
+  305              | select . selectable "line comment" selectConditionBreak casesControl "end"
+  306              | select . selectable "line comment" selectConditionBreak casesControl defaultCase elseBody "end"
+  316 selectable: . variable
+  317           | . 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
 
    25 expression: forControl .
 
-    $default  reduce using rule 25 (expression)
+    $défaut  réduction par utilisation de la règle 25 (expression)
 
 
-state 54
+état 54
 
    26 expression: whileControl .
 
-    $default  reduce using rule 26 (expression)
+    $défaut  réduction par utilisation de la règle 26 (expression)
 
 
-state 55
+état 55
 
    27 expression: tryControl .
 
-    $default  reduce using rule 27 (expression)
+    $défaut  réduction par utilisation de la règle 27 (expression)
 
 
-state 56
+état 56
 
    32 expression: returnControl .
 
-    $default  reduce using rule 32 (expression)
+    $défaut  réduction par utilisation de la règle 32 (expression)
 
 
-state 57
+état 57
 
     2 program: "end of line" expressions .
 
-    $default  reduce using rule 2 (program)
+    $défaut  réduction par utilisation de la règle 2 (program)
 
 
-state 58
+état 58
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3380,128 +3395,132 @@ state 58
    57 functionArgs: . variable
    58             | . functionCall
    59             | . ":"
-   60             | . variableDeclaration
-   61             | .  [",", ")"]
-   62             | . functionArgs "," variable
-   63             | . functionArgs "," functionCall
-   64             | . functionArgs "," ":"
-   65             | . functionArgs "," variableDeclaration
-   66             | . functionArgs ","
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-
-    "%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 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
-    "string"      shift, and go to state 26
-    "identifier"  shift, and go to state 172
-    "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 61 (functionArgs)
-
-    functionCall          go to state 173
-    specificFunctionCall  go to state 39
-    simpleFunctionCall    go to state 40
-    functionArgs          go to state 174
-    comparison            go to state 42
-    operation             go to state 43
-    variable              go to state 175
-    cell                  go to state 45
-    matrix                go to state 46
-    variableDeclaration   go to state 176
-    assignable            go to state 48
-    multipleResults       go to state 49
-
-
-state 59
+   60             | . ","
+   61             | . variableDeclaration
+   62             | .  [",", ")"]
+   63             | . functionArgs "," variable
+   64             | . functionArgs "," functionCall
+   65             | . functionArgs "," ":"
+   66             | . functionArgs "," variableDeclaration
+   67             | . functionArgs ","
+   68             | . "," functionArgs
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 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 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 173
+    "integer"     décalage et aller à l'état 28
+    "float"       décalage et aller à l'état 29
+    "number"      décalage et aller à l'état 30
+
+    ","       [réduction par utilisation de la règle 62 (functionArgs)]
+    $défaut  réduction par utilisation de la règle 62 (functionArgs)
+
+    functionCall          aller à l'état 174
+    specificFunctionCall  aller à l'état 39
+    simpleFunctionCall    aller à l'état 40
+    functionArgs          aller à l'état 175
+    comparison            aller à l'état 42
+    operation             aller à l'état 43
+    variable              aller à l'état 176
+    cell                  aller à l'état 45
+    matrix                aller à l'état 46
+    variableDeclaration   aller à l'état 177
+    assignable            aller à l'état 48
+    multipleResults       aller à l'état 49
+
+
+état 59
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3514,128 +3533,132 @@ state 59
    57 functionArgs: . variable
    58             | . functionCall
    59             | . ":"
-   60             | . variableDeclaration
-   61             | .  [",", ")"]
-   62             | . functionArgs "," variable
-   63             | . functionArgs "," functionCall
-   64             | . functionArgs "," ":"
-   65             | . functionArgs "," variableDeclaration
-   66             | . functionArgs ","
-  106 comparison: . variable rightComparable
-  107           | . functionCall rightComparable
-  138 operation: . variable rightOperand
-  139          | . functionCall rightOperand
-  140          | . "-" variable
-  141          | . "-" functionCall
-  142          | . "+" variable
-  143          | . "+" functionCall
-  144          | . variable "** or ^" variable
-  145          | . variable "** or ^" functionCall
-  146          | . functionCall "** or ^" variable
-  147          | . functionCall "** or ^" functionCall
-  148          | . variable ".^" variable
-  149          | . variable ".^" functionCall
-  150          | . functionCall ".^" variable
-  151          | . functionCall ".^" functionCall
-  152          | . variable "'"
-  153          | . variable ".'"
-  154          | . functionCall "'"
-  155          | . functionCall ".'"
-  189 variable: . "~ or @" variable
-  190         | . "~ or @" functionCall
-  191         | . variable "." "identifier"
-  192         | . variable "." keywords
-  193         | . variable "." functionCall
-  194         | . functionCall "." variable
-  195         | . functionCall "." keywords
-  196         | . functionCall "." functionCall
-  197         | . variable listableEnd
-  198         | . functionCall listableEnd
-  199         | . matrix
-  200         | . cell
-  201         | . operation
-  202         | . "identifier"
-  203         | . "integer"
-  204         | . "number"
-  205         | . "float"
-  206         | . "string"
-  207         | . "$"
-  208         | . "%t or %T"
-  209         | . "%f or %F"
-  210         | . "(" variable ")"
-  211         | . "(" variableFields ")"
-  212         | . comparison
-  213         | . variable "(" functionArgs ")"
-  214         | . functionCall "(" functionArgs ")"
-  221 cell: . "{" matrixOrCellLines "}"
-  222     | . "{" "end of line" matrixOrCellLines "}"
-  223     | . "{" matrixOrCellLines matrixOrCellColumns "}"
-  224     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
-  225     | . "{" matrixOrCellColumns "}"
-  226     | . "{" "end of line" matrixOrCellColumns "}"
-  227     | . "{" "end of line" "}"
-  228     | . "{" "}"
-  229 matrix: . "[" matrixOrCellLines "]"
-  230       | . "[" "end of line" matrixOrCellLines "]"
-  231       | . "[" matrixOrCellLines matrixOrCellColumns "]"
-  232       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
-  233       | . "[" matrixOrCellColumns "]"
-  234       | . "[" "end of line" matrixOrCellColumns "]"
-  235       | . "[" "end of line" "]"
-  236       | . "[" "]"
-  255 variableDeclaration: . assignable "=" variable
-  256                    | . assignable "=" functionCall
-  257                    | . functionCall "=" variable
-  258                    | . functionCall "=" functionCall
-  259                    | . assignable "=" ":"
-  260                    | . functionCall "=" ":"
-  261                    | . assignable "=" returnControl
-  262                    | . functionCall "=" returnControl
-  263 assignable: . variable "." "identifier"
-  264           | . variable "." keywords
-  265           | . variable "." functionCall
-  266           | . functionCall "." variable
-  267           | . functionCall "." keywords
-  268           | . functionCall "." functionCall
-  269           | . "identifier"
-  270           | . multipleResults
-  271           | . variable "(" functionArgs ")"
-  272           | . functionCall "(" functionArgs ")"
-  273 multipleResults: . "[" matrixOrCellColumns "]"
-
-    "%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 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
-    "string"      shift, and go to state 26
-    "identifier"  shift, and go to state 172
-    "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 61 (functionArgs)
-
-    functionCall          go to state 173
-    specificFunctionCall  go to state 39
-    simpleFunctionCall    go to state 40
-    functionArgs          go to state 177
-    comparison            go to state 42
-    operation             go to state 43
-    variable              go to state 175
-    cell                  go to state 45
-    matrix                go to state 46
-    variableDeclaration   go to state 176
-    assignable            go to state 48
-    multipleResults       go to state 49
-
-
-state 60
+   60             | . ","
+   61             | . variableDeclaration
+   62             | .  [",", ")"]
+   63             | . functionArgs "," variable
+   64             | . functionArgs "," functionCall
+   65             | . functionArgs "," ":"
+   66             | . functionArgs "," variableDeclaration
+   67             | . functionArgs ","
+   68             | . "," functionArgs
+  108 comparison: . variable rightComparable
+  109           | . functionCall rightComparable
+  140 operation: . variable rightOperand
+  141          | . functionCall rightOperand
+  142          | . "-" variable
+  143          | . "-" functionCall
+  144          | . "+" variable
+  145          | . "+" functionCall
+  146          | . variable "** or ^" variable
+  147          | . variable "** or ^" functionCall
+  148          | . functionCall "** or ^" variable
+  149          | . functionCall "** or ^" functionCall
+  150          | . variable ".^" variable
+  151          | . variable ".^" functionCall
+  152          | . functionCall ".^" variable
+  153          | . functionCall ".^" functionCall
+  154          | . variable "'"
+  155          | . variable ".'"
+  156          | . functionCall "'"
+  157          | . functionCall ".'"
+  191 variable: . "~ or @" variable
+  192         | . "~ or @" functionCall
+  193         | . variable "." "identifier"
+  194         | . variable "." keywords
+  195         | . variable "." functionCall
+  196         | . functionCall "." variable
+  197         | . functionCall "." keywords
+  198         | . functionCall "." functionCall
+  199         | . variable listableEnd
+  200         | . functionCall listableEnd
+  201         | . matrix
+  202         | . cell
+  203         | . operation
+  204         | . "identifier"
+  205         | . "integer"
+  206         | . "number"
+  207         | . "float"
+  208         | . "string"
+  209         | . "$"
+  210         | . "%t or %T"
+  211         | . "%f or %F"
+  212         | . "(" variable ")"
+  213         | . "(" variableFields ")"
+  214         | . comparison
+  215         | . variable "(" functionArgs ")"
+  216         | . functionCall "(" functionArgs ")"
+  223 cell: . "{" matrixOrCellLines "}"
+  224     | . "{" "end of line" matrixOrCellLines "}"
+  225     | . "{" matrixOrCellLines matrixOrCellColumns "}"
+  226     | . "{" "end of line" matrixOrCellLines matrixOrCellColumns "}"
+  227     | . "{" matrixOrCellColumns "}"
+  228     | . "{" "end of line" matrixOrCellColumns "}"
+  229     | . "{" "end of line" "}"
+  230     | . "{" "}"
+  231 matrix: . "[" matrixOrCellLines "]"
+  232       | . "[" "end of line" matrixOrCellLines "]"
+  233       | . "[" matrixOrCellLines matrixOrCellColumns "]"
+  234       | . "[" "end of line" matrixOrCellLines matrixOrCellColumns "]"
+  235       | . "[" matrixOrCellColumns "]"
+  236       | . "[" "end of line" matrixOrCellColumns "]"
+  237       | . "[" "end of line" "]"
+  238       | . "[" "]"
+  257 variableDeclaration: . assignable "=" variable
+  258                    | . assignable "=" functionCall
+  259                    | . functionCall "=" variable
+  260                    | . functionCall "=" functionCall
+  261                    | . assignable "=" ":"
+  262                    | . functionCall "=" ":"
+  263                    | . assignable "=" returnControl
+  264                    | . functionCall "=" returnControl
+  265 assignable: . variable "." "identifier"
+  266           | . variable "." keywords
+  267           | . variable "." functionCall
+  268           | . functionCall "." variable
+  269           | . functionCall "." keywords
+  270           | . functionCall "." functionCall
+  271           | . "identifier"
+  272           | . multipleResults
+  273           | . variable "(" functionArgs ")"
+  274           | . functionCall "(" functionArgs ")"
+  275 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 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 173
+    "integer"     décalage et aller à l'état 28
+    "float"       décalage et aller à l'état 29
+    "number"      décalage et aller à l'état 30
+
+    ","       [réduction par utilisation de la règle 62 (functionArgs)]
+    $défaut  réduction par utilisation de la règle 62 (functionArgs)
+
+    functionCall          aller à l'état 174
+    specificFunctionCall  aller à l'état 39
+    simpleFunctionCall    aller à l'état 40
+    functionArgs          aller à l'état 178
+    comparison            aller à l'état 42
+    operation             aller à l'état 43
+    variable              aller à l'état 176
+    cell                  aller à l'état 45
+    matrix                aller à l'état 46
+    variableDeclaration   aller à l'état 177
+    assignable            aller à l'état 48
+    multipleResults       aller à l'état 49
+
+
+état 60
 
    50 functionCall: . simpleFunctionCall
    51             | . specificFunctionCall
@@ -3644,634 +3667,634 @@ state 60
    54                     | . "%f or %F" "(" functionArgs ")"
    55 simpleFunctionCall: . "identifier" "(" functionArgs ")"
    56                   | . "identifier" "{" functionArgs "}"