anchor.diff:      ;
   
   var_
  -    : (NAME | '(' exp ')' var_Suffix) var_Suffix*
  +    : (modulepath | '(' exp ')' var_Suffix) var_Suffix*
  +    ;
  +
  +modulepath
  +    : NAME ('.' NAME)*
       ;
   
   var_Suffix
  
positive.code:     ;
  
  exp
      : 'nil' | 'false' | 'true'
      | number
      | string_
      | '...'
      | functiondef
      | prefixexp
      | tableconstructor
      | <assoc=right> exp operatorPower exp
      | operatorUnary exp
      | exp operatorMulDivMod exp
  
negative.code:     : NAME | prefixexp '[' exp ']' | prefixexp '.' NAME
      ;
  prefixexp
      : var_ | funcall | '(' exp ')'
      ;
  funcall
      : prefixexp args | prefixexp ':' NAME args
      ;
  */
  
  args
      : '(' explist? ')'
      ;
  
  list
      : '[' eltlist? ']'
      ;
  
  tuple
      : '(' eltlist? ')'
      ;
  
  eltlist
      : exp (',' exp)* ','?
      ;
  
  tableconstructor
  