anchor.diff:          assignmentOperator =  (ASSIGN | PLUS_ASSIGN | MINUS_ASSIGN | STAR_ASSIGN | DIV_ASSIGN | MOD_ASSIGN | DOT_ASSIGN)
           WS* expr WS* inline_comment? statementSeparator
       #LetCommand|
  +
  +    ws_cols range? ws_cols LET ~(BAR | NEW_LINE)*? statementSeparator
  +    #UnknowLetCase|
   
       ws_cols range? ws_cols DELF (replace = EXCLAMATION)? WS+ (functionScope COLON)? functionName inline_comment? statementSeparator
       #DelfunctionCommand|
  
positive.code: 
  lambda:                 L_CURLY WS* functionArguments WS* ARROW WS* expr WS* R_CURLY;
  
  register:               AT (DIGIT | alphabeticChar | MINUS | COLON | DOT | MOD | NUM | ASSIGN | STAR | PLUS | TILDE | UNDERSCORE | DIV);
  
  variable:               (variableScope COLON)? variableName;
  variableName:           anyCaseNameWithDigitsAndUnderscores | unsignedInt;
  
negative.code:                         ws_cols ENDFUNCTION WS* statementSeparator
  ;
  dictFunctionDefinition:
                          ws_cols FUNCTION ~(BAR | NEW_LINE)*? statementSeparator
                              blockMember*
                          ws_cols ENDFUNCTION WS* statementSeparator
  ;
  argumentsDeclaration:   (variableName (WS* COMMA WS* variableName)* (WS* COMMA WS* ETC WS*)? WS*)?;
  
  augroup:                ws_cols AUGROUP ~(NEW_LINE | BAR)* statementSeparator
                              blockMember*
                          ws_cols AUGROUP WS+ END WS* statementSeparator
  ;
  
  autocmd:                ws_cols AUTOCMD ~(NEW_LINE)* NEW_LINE
  