anchor.diff:  nomeFuncao:
   	Nome {TabelaDeSimbolos.adicionarSimbolo($Nome.text, Tipo.FUNCAO);};
   
  -Format: ('\n' | '\t' | '\r' | ' ') -> skip;
  +Format: ('\n' | '\t' | '\r' | ' ') -> skip; //Ignora whitespaces e indentações
  
positive.code: 	| 'and'
  	| 'or';
  
  opunaria: '-' | 'not' | '#';
  
  Comentario: '--' .*? '\n' -> skip;
  
  Decimal: Numero+ ('.' Numero+)?;
  Num: Decimal;
  
negative.code: args:
  	'(' (listaexp)? ')'
  	| construtortabela
  	| Cadeia; //Passa argumentos para funções por listas, tabelas ou cadeias
  
  funcao: 'function' corpodafuncao; //declarar uma função
  
  Cadeia:
  	'\'' (~('\'' | '\n'))* '\''; //cadeia de caracteres envoltas por aspas simples
  
  corpodafuncao: '(' (listapar)? ')' bloco 'end'; //Determina lista de parametros passados à função e seu fim (end)
  
  listapar: listadenomes (',' '...')? | '...'; //Lista de parâmetros
  
  construtortabela: '{' (listadecampos)? '}'; //Lista de campos que será passada como argumento. Exemplo: f{campos} = f({campos})
  
  listadecampos: //Lista de campos
  	campo (separadordecampos campo)* (separadordecampos)?;
  
  campo: '[' exp ']' '=' exp | nomeVar '=' exp | exp; //Definição de campo (espaço que é preenchido por pelo menos uma exp)
  
  separadordecampos: ',' | ';'; //Delimitador de campos
  
  opbin: //Operadores binários
  	'+'
  	| '-'
  	| '*'
  