Skip to content

Implementação de um analisador léxico e sintático para uma gramática de expressões aritméticas. A saída do programa deve ser uma indicação de que a sentença de entrada está correta ou incorreta (léxica ou sintaticamente).

License

Notifications You must be signed in to change notification settings

jhemesonmotta/analisadorLexicoSintatico

Repository files navigation

Analisador Léxico e Sintático

Veja um exemplo de uso aqui!

Implementação de um analisador léxico e sintático para a gramática de expressões aritméticas. A lib realiza as análises léxica e sintática e provê uma indicação de que a sentença de entrada está correta ou incorreta (léxica ou sintaticamente).

Suporte de Navegadores

Esta lib funciona nos seguintes navegadores:

Chrome Firefox Opera Safari IE
39+ ✔ 42+ ✔ 29+ ✔ 10.1+ ✔ 11.3+ ✔

Dependências

Esta biblioteca não possui dependências.

Instalação

$ npm install analisadorlexicosintatico --save

Como Usar

UMD no Navegador

<!-- para importar a versão não-minificada -->
<script src="analisador-lex-sin.umd.js"></script>

<!-- para importar a versão minificada -->
<script src="analisador-lex-sin.umd.min.js"></script>

Depois disso, a lib estará disponível globalmente como analisador. Veja um exemplo:

const sentenca = "( x )" //tokens separados por " "

console.log(analisador.verificaSentenca(sentenca))

Métodos

Métodos que a biblioteca provê:

verificaSentenca(sentenca)

Realiza as análises léxica e sintática e retorna um JSON contendo uma indicação de que a sentença de entrada está correta ou incorreta (léxica ou sintaticamente).

Argumentos

Argumento Tipo Opções
sentenca string 'Entrada com tokens separados por " "'

Exemplo

const entrada = "( x + y )";

const result = analisador.verificaSentenca(entrada);
console.log(result)

Autores

Alexandre Kavalerski
Alexandre Kavalerski
Jhemeson Mota
Jhemeson Mota
Ian Maiwald
Ian Maiwald
Kennedy Santos
Kennedy Santos

Obs:

O analisador referente a este trabalho foi construído sobre uma gramática previamente definida. A mesma pode ser conferida a seguir:

E        ::= E OPERADOR E | E | '(' E ')' | INCOGNITA | NUMERO
OPERADOR ::= '+' | '-' | '*' | '/'
INCOGNITA ::= 'x' | 'y'
NUMERO   ::= [0-9]+

Licença

Este projeto está licenciado sob a MIT License - Veja o arquivo LICENSE.md para detalhes

About

Implementação de um analisador léxico e sintático para uma gramática de expressões aritméticas. A saída do programa deve ser uma indicação de que a sentença de entrada está correta ou incorreta (léxica ou sintaticamente).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published