Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 corrigindo erros sintatico do senao (fix #810) #851

Closed
wants to merge 3 commits into from

Conversation

AdsonEsteves
Copy link
Member

@AdsonEsteves AdsonEsteves commented Sep 3, 2020

O seguinte gera o erro da issue #810
image

Ao tentar localizar o erro, foi percebido que o problema não é identificado pelo PortugolParser como um erro sintatico. Portanto ele tenta executar normalmente gerando um erro no gerador de ASA que não consegue encontrar os blocos do senao.
Ao mesmo tempo, foi percebido que o TerminalNode do SENAO vem instanciado na classe ErrorNodeImpl, quando analisado pelo geradorASA. Foi então suposto que ele identifica sim o problema, mas no Parser passa despercebido.
Por isso, foi feito uma captura dessa instancia no gerador e retornado como um RecognitionException, pois é o unico tipo que o gerador retorna. Porém o construtor dessa exceção não permite setar os tokens esperados, gerando um erro no tradutor de erros em tokens.
Como ele permite setar uma mensagem, foi utilizado uma para identificar no tradutor o novo tipo de erro e de lá conseguir enviar um erro padrão do sistema.

Essa solução resolve a exceção que é jogada para o usuário, entretanto não resolve o problema do PortugolParser ignorar o erro sintático. Esse erro pode também estar relacionado com as issues #834 e #759 em que o Portugol também ignora sintaticamente a utilização do senao de forma errada.

@AdsonEsteves AdsonEsteves changed the title [WIP] Corrigindo erros com senao :bug corrigindo erros sintatico do senao (fix #810) Sep 7, 2020
@AdsonEsteves AdsonEsteves changed the title :bug corrigindo erros sintatico do senao (fix #810) 🐛 corrigindo erros sintatico do senao (fix #810) Sep 7, 2020
Copy link
Member

@AlissonSteffens AlissonSteffens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eu atualizei um errinho de digitação, mas ainda falta adicionar o caso aos testes.

@AdsonEsteves
Copy link
Member Author

Pull request invalido com o pull #871

@AdsonEsteves AdsonEsteves deleted the corrigindo_erros_senao branch November 14, 2020 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants