Para compilar tem de se referir o nome de um fichero de texto que contenha o codigo YAL.
Por exemplo: java YalToJvm Test.txt
###Criar AST (Abstract Syntax Tree) ✓
###Criar hashtables
- Ver se a função existe no scope quando invocada
- Ver se a variável está inicializada no scope quando chamada
- Array index out of bounds. Ex: a[2]; b = a[2];
- Inicializar array com tamanho errado. Ex: a = -1; b[a];(b[0]???)
- Aceder a elemento do array sem estar inicializado. Ex: a[5]; b = a[3];
- Ver se a variável existe. Ex: a = b
- Número e tipo errados de argumentos numa função
- Nas comparações verificar se os operandos são do mesmo tipo.
- Ver se a função é única para cada module ✓
- Ver se os parâmetros da função não têm o mesmo nome assim como a variavel de retorno ✓
- Pode haver mais ...