Este projeto implementa um analisador léxico e sintático simples para um subconjunto da linguagem C. Ele permite ler um arquivo .c ou .txt, identificar e classificar tokens, além de validar a estrutura sintática básica de programas escritos em C.
- Leitura de código-fonte via interface gráfica para seleção de arquivo (Tkinter).
- Análise léxica, identificando:
- Palavras-chave (
int,if,else,while,for, etc.) - Identificadores e nomes de variáveis
- Operadores aritméticos e relacionais (
+,-,*,/,==,<,>, etc.) - Números (inteiros)
- Strings (delimitadas por aspas duplas)
- Símbolos especiais (
{},(),;,,, etc.)
- Palavras-chave (
- Análise sintática para:
- Função principal
main - Declarações de variáveis e vetores
- Atribuições e expressões aritméticas
- Estruturas de controle (
if,else,while,do while,for) - Comandos
scanf,printfereturn
- Função principal
- Geração de mensagens de erro léxico e sintático com indicação da linha.
- Python 3
- Biblioteca Tkinter para seleção de arquivos
- Clone o repositório:
https://github.com/Kaua19/compiler.git