anchor.diff:  
   listavar: var (',' var)*; // lista de variaveis
   
  -var: Nome | expprefixo '[' exp ']' | expprefixo '.' Nome; // Declaração de variavel locais, globais e campos de tabelas
  +var:
  +	Nome
  +	| expprefixo '[' exp ']'
  +	| expprefixo '.' Nome; // Declaração de variavel locais, globais e campos de tabelas
   
   listadenomes: Nome (',' Nome)*; //lista de nomes
   
  -listaexp: (exp ',')* exp;  //lista de expressões
  +listaexp: (exp ',')* exp; //lista de expressões
   
   exp: //expressões básicas
   	'nil'
  
positive.code: 	| 'true'
  	| Cadeia
  	| '...'
          | Num
          | Decimal
  	| funcao
  	| expprefixo
  	| construtortabela
  
negative.code: 
  expprefixo: var | chamadadefuncao | '(' exp ')';
  
  chamadadefuncao: expprefixo args | expprefixo ':' Nome args;
  
  args:
  	'(' (listaexp)? ')'
  	| construtortabela
  	| Cadeia; //argumentos para funções, tabelas e cadeias
  
  funcao: 'function' corpodafuncao; //declarar uma função
  
  Cadeia:
  	'\''* ~('\'') '\''; //cadeia de caracteres envoltas por aspas simples
  
  corpodafuncao: '(' (listapar)? ')' bloco 'end';
  
  listapar: listadenomes (',' '...')? | '...';
  
  construtortabela: '{' (listadecampos)? '}';
  
  listadecampos:
  	campo (separadordecampos campo)* (separadordecampos)?;
  
  campo: '[' exp ']' '=' exp | Nome '=' exp | exp;
  
  separadordecampos: ',' | ';';
  
  opbin:
  	'+'
  	| '-'
  	| '*'
  	| '/'
  	| '^'
  	| '%'
  	| '..'
  	| '<'
  	| '<='
  	| '>'
  	| '>='
  	| '=='
  	| '~='
  	| 'and'
  	| 'or';
  
  opunaria: '-' | 'not' | '#';
  
  Comentario: '--' .*? '\n' -> skip;
  
  