Skip to content

[DONE] Compilador de Mini-Pascal implementado em Python 3 para disciplina de Compiladores I

License

Notifications You must be signed in to change notification settings

HugoJF/compilador-mini-pascal-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compilador de Mini-Pascal implementado em Python 3 com linguagem-alvo MEPA

Compilador de Mini-Pascal implementado em Python 3 para disciplina de Compiladores I com linguagem-alvo MEPA

Sobre

Em geral o compilador não faz consistentemente verificação de tipos, não suporta funções ou procedimentos, e diversas funcionalidades do Pascal.

Mais facilmente listando o que esse compilador suporta: análise léxica de um 'sub-set' do Pascal de algum livro que eu não sei dizer, geração de código: operações com números inteiros: SOMA, SUBTRAÇÃO, MULTIPLICAÇÃO, DIVISÃO, <, <=, >, >=, !=, =, AND, OR, estrutura if-else (sem else if), estrutura while.

Devido ao timing da disciplina e de outras provas que tive no período (e pouco conhecimento de Python), o código está repleto de inconsistências, código "burro" e ineficiente e código não "Pythonico".

Porque Python?

Inicialmente achei uma boa ideia, até porque queria uma desculpa para aprender Python, inicialmente ajudou e acelerou muito o desenvolvimento, mas ao adicionar geração de código, tudo ficou muito bagunçado e desnecessariamente difícil de entender.

Utilidade

Não tenho planos de continuar o desenvolvimento desse projeto já que não tenho nenhum utilidade imediata (e se tivesse implementaria em outra linguagem)

Tenho hospedado no GitHub para eternizar essa gambiarra (e futuramente utilizar como referência)

Saída

Como parte da disciplina foi baseada em testes no Run.Codes, poucas saídas úteis existem no código, dificultando MUITO entendimento do que está acontecendo.

Como usar

Procure outro compilador no Google, não utilize isso hehe.

About

[DONE] Compilador de Mini-Pascal implementado em Python 3 para disciplina de Compiladores I

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published