Este projeto implementa um lexer e um parser preditivo para processar expressões aritméticas básicas de uma calculadora. O lexer converte o código fonte em tokens, enquanto o parser interpreta os tokens e avalia as expressões.
- t3.py: Implementa o analisador léxico (lexer) para converter o código de entrada em tokens.
- t4.py: Implementa o parser preditivo que processa os tokens e calcula o resultado da expressão.
- t3-input.txt: Contém a expressão que o lexer irá processar.
- t4-input.txt: Contém a expressão que o parser irá processar.
Siga os passos abaixo para rodar o projeto em sua máquina:
- Python 3.x deve estar instalado em sua máquina.
-
Clone o repositório ou faça download dos arquivos do projeto.
-
Navegue até o diretório onde os arquivos estão salvos:
cd /Compiladores-2024-2
-
Abra o arquivo
input.txt
e insira a expressão aritmética que deseja avaliar. Exemplo de conteúdo:1 + 2 - 9
-
Execute o arquivo
parser.py
no terminal:python t4.py
-
O resultado da expressão será exibido no terminal. Por exemplo:
Resultado: -6
- Lexer: O lexer em
t3.py
utiliza expressões regulares para identificar e classificar diferentes partes da expressão como tokens, como números, operadores e identificadores. - Parser: O parser preditivo em
t4.py
implementa uma análise sintática recursiva para interpretar a expressão e calcular o resultado final.
Os tokens gerados pelo lexer têm o seguinte formato:
- NUMBER: Representa números inteiros.
- OP: Operadores como
+
e-
. - ASSIGN: Operadores de atribuição, como
=
. - ID: Identificadores que representam variáveis.
- REL_OP: Operadores de comparação como
==
. - PAREN: Parênteses para agrupar expressões.