Há detecção de erro ao tentar declarar variável dentro da função. Parece ser um problema no corpo da função que espera um RETURN ou CLOSE_BRACKET. Isto é, não considera se há um corpo dentro da função
Exemplo teste
int a, b, c;
function soma(int x, int y) : int {
int t; // [corpo_funcao] Analisando corpo da funcao
[comandos] Analisando comandos
*Aviso: Funcao sem comando RETURN*
Syntax error: Erro na linha 4: Esperado token CLOSE_BRACKET, mas foi encontrado (token: "INT"; lexema: "int" - Linha 4),
t = 20;
return z + y;
}
procedure imprimeSoma(int a, int b) {
int d;
d = 10; // compila com sucesso
print(soma(a, b));
}
Há detecção de erro ao tentar declarar variável dentro da função. Parece ser um problema no corpo da função que espera um RETURN ou CLOSE_BRACKET. Isto é, não considera se há um corpo dentro da função
Exemplo teste