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).
Esta lib funciona nos seguintes navegadores:
39+ ✔ | 42+ ✔ | 29+ ✔ | 10.1+ ✔ | 11.3+ ✔ |
Esta biblioteca não possui dependências.
$ npm install analisadorlexicosintatico --save
<!-- 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 que a biblioteca provê:
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)
Alexandre Kavalerski |
Jhemeson Mota |
Ian Maiwald |
Kennedy Santos |
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]+
Este projeto está licenciado sob a MIT License - Veja o arquivo LICENSE.md para detalhes