/Compiladores-2020.4

Projeto de Compiladores - 2020.4

Primary LanguagePythonMIT LicenseMIT

Compiladores-2020.4

Contributors Forks Stargazers Issues AGPL-3.0 License Codacy Badge

Desenvolvido por

Armstrong L. M. G. Q. Antônio A. S. N.
Armstrong L. M. G. Q. Laisy C. F. S.
💻 @lohhans 💻 @laisy

Projeto de Compiladores - 2020.4

Implementação de um compilador para a disciplina de "Compiladores", no curso de Ciência da Computação na Universidade Federal do Agreste de Pernambuco. Estruturas desenvolvidas conforme orientação da Prof. Dra. Maria Aparecida A. Sibaldo.

Sobre o projeto

Características da Gramática BNF

A gramática precisa ser LL(1).

Gramáticas LL(1) podem ser analisadas por um simples parser descentente recursivo e deve estar:

– Sem recursão a esquerda

– Fatorada a esquerda

– 1 símbolo de look-ahead

Além disso, a linguagem deve cobrir os seguintes aspectos:

  • Declaração de variáveis de tipo inteiro e booleano

  • Declaração de procedimentos e funções (sem e com parâmetros)

  • Comandos de atribuição

  • Chamada de procedimentos e funções

  • Comando de desvio condicional (if e else)

  • Comando de laço (while)

  • Comando de retorno de valor

  • Comandos de desvio incondicional (break e continue)

  • Comando de impressão de constante e variável na tela

  • Expressões aritméticas (+, -, * e /)

  • Expressões booleanas (==, !=, >, >=, < e <=)

Gramática BNF desenvolvida para o projeto

Para acessar a gramática, clique aqui