Skip to content

Pequeno Analisador Lexico para o Modelo de Compilador na unha

Notifications You must be signed in to change notification settings

professorisidro/AnalisadorLexico

Repository files navigation

Compilador Java

Exemplo de um pequeno compilador feito em Java para analisar expressões aritméticas. Feito de forma manual para apresentar os conceitos de autômatos e parsers visto na disciplina de Compiladores

Analisador Léxico

Tokens Reconhecidos: Identificadores := LETRA (LETRA | DIGITO)* Numeros := DIGITO+ (. DIGITO*)? Operadores := > | < | = | ! | + | - | * | /

Autômato de reconhecimento

Automato de reconhecimento dos Tokens

Analisador Sintático

Dada a gramática

G = (Vn, Vt, P, S)

Vn = E, T, OP

Vt = id, num, + , - , * , /

P = dado pelas regras abaixo

	1. E ->   E OP T | T
	2. T ->  id | num
	3. OP ->  + | - | * | /

precisamos reescrever a regra 1, transformando-a nas seguintes regras

1a.  E  ->  T E'
1b.  E' -> OP T E' | &
2.   T  -> id | num
3.   OP -> + | - | * | /

Tranformamos a gramática em LL(1). A partir daí temos o nosso grafo de análise Sintática, dado pela figura abaixo.

Automato de reconhecimento dos Tokens

O Código está disponível no restante do repo.

About

Pequeno Analisador Lexico para o Modelo de Compilador na unha

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages