Loading repository data…
Loading repository data…
LeonardoPradoO / repository
Compilador e Interpretador de um subconjunto de C escrito em Python.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
========================================================================
DEFINIÇÃO TÉCNICA:
O sistema foi desenvolvido em Python utilizando o ANTLR4 para a análise sintática. Ele lê o código fonte em C, valida sua estrutura gramatical e lógica (tipagem, escopo e integridade de variáveis) e, caso não haja erros, percorre a Árvore Sintática Abstrata (AST) para executar o programa diretamente no terminal.
FUNCIONALIDADES IMPLEMENTADAS: [x] Tipos de dados: int, float, char. [x] Declaração e atribuição de variáveis. [x] Estruturas de controle: if / else. [x] Estruturas de repetição: while e do...while. [x] Entrada e Saída: printf e scanf (com validação semântica). [x] Verificação de variáveis não declaradas ou duplicadas.
======================================================================== 2. # ESTRUTURA DOS ARQUIVOS O pacote de entrega contém:
======================================================================== 3. # COMO RODAR O PROJETO (MODO FÁCIL - EXECUTÁVEL)
Requisito: Apenas sistema operacional Windows.
Abra o terminal (CMD ou PowerShell) na pasta onde está o executável.
Certifique-se de que o arquivo de teste (ex: teste_final.c) está na mesma pasta.
Execute o comando:
CompiladorX.exe teste_final.c
======================================================================== 4. # COMO RODAR O PROJETO (MODO DESENVOLVEDOR - CÓDIGO FONTE)
Requisito: Python 3 instalado.
Instale a biblioteca runtime do ANTLR4:
pip install antlr4-python3-runtime
Abra o terminal na pasta dos arquivos fonte.
Execute o main.py passando o arquivo de teste:
python main.py teste_final.c
======================================================================== 5. # OBSERVAÇÕES SOBRE A EXECUÇÃO
O compilador foi configurado para rodar em dois estágios: