|
Micro C Compiler - MCC
|
definições do analisador léxico para a linguagem Micro c. More...
Functions | |
| int | inicializar_scanner (const char *nome_arquivo) |
| inicializa o analisador léxico com o arquivo de entrada. | |
| Token | proximo_token () |
| gera o próximo token do arquivo fonte. | |
Variables | |
| FILE * | arquivo_fonte |
| arquivo de entrada do arquivo fonte. | |
| int | linha_atual |
| contador da linha atual no arquivo fonte. | |
definições do analisador léxico para a linguagem Micro c.
este arquivo declara as funções e variáveis globais usadas pelo analisador léxico, responsável por ler o arquivo fonte e gerar tokens para o compilador.
| int inicializar_scanner | ( | const char * | nome_arquivo | ) |
inicializa o analisador léxico com o arquivo de entrada.
abre o arquivo especificado e prepara o analisador para leitura.
| nome_arquivo | nome do arquivo a ser analisado. |
*
| nome_arquivo | O caminho para o arquivo fonte a ser aberto. |
| Token proximo_token | ( | ) |
gera o próximo token do arquivo fonte.
lê caracteres do arquivo, ignora espaços e comentários, e identifica o próximo token (ex.: identificadores, operadores, palavras reservadas).
*
Esta é a funcao principal do analisador lexico. Ela utiliza a logica do automato finito deterministico (DFA) para reconhecer identificadores, numeros, literais (string/char) e operadores, lidando com lookahead.
Processa ASSIGN (=) ou EQ (==).
Processa NEQ (!=) ou NOT (!).
Processa LT (<) ou LEQ (<=).
Processa GT (>) ou GEQ (>=).
Processa MINUS (-) ou um número negativo (INTEGERCONST).
Processa operadores aritméticos simples (+, *, /, %).
Processa pontuações e delimitadores.
Caso default: Caractere inválido ou não reconhecido.
|
extern |
arquivo de entrada do arquivo fonte.
ponteiro para o arquivo aberto que contém o código Micro c a ser analisado.
arquivo de entrada do arquivo fonte.
ponteiro para o arquivo aberto que contém o código Micro C a ser analisado.
|
extern |
contador da linha atual no arquivo fonte.
rastreia a linha atual para relatar erros com precisão.
rastreia a linha atual para relatar erros com precisão, inicializado em 1.