anchor.diff:    ;
   
   element_list :
  -     (element) (element_separator+ element)*
  +     element (element_separator+ element)*
     ;
     
   element :
  
positive.code: 
  element_separator :
       COMMA
    //|  nbf
    ;
    
  //input parameter list for a function
  input_params :
       LPAREN param_list? RPAREN
    ;
  
  //Non-empty, comma-separated list of parameters (note: no trailing comma)
  //shared by input and output parameters
  param_list :
       name (COMMA name)*
    ;
  
negative.code:   ;
  
  pow_expr :
       postfix_expr ((MPOW | EPOW) postfix_expr)*
    ;
  
  postfix_expr :
       primary_expr (ARRAYTRANSPOSE | MTRANSPOSE)*
    ;
  
  primary_expr :
  