Portugol-Studio
Portugol-Studio copied to clipboard
Erro gerado quando um vetor é incrementado com "++" seguido de um escreva
Descrição do Problema: Uma imagem vale mais que mil palavras
programa
{
funcao inicio()
{
inteiro cod[] = {1}
inteiro a = 1
cod[0]++
func()
a++
escreva(0)
cod[0]++
escreva(0)
}
funcao func()
{
}
}
O erro é causado pelo PortugolParser, ele separa os nodes de forma incorreta:
ele está tentando executar "++escreva(0)"
A falha ocorre dentro do método adaptivePredict pertencente a classe ParserATNSimulator pertencente ao pacote org.antlr.v4.runtime.atn, não consegui encontrar uma correção, espero que a análise ajude no processo de correção.