2.0.0 • Published 6 years ago

analisadorlexicosintatico v2.0.0

Weekly downloads
3
License
ISC
Repository
github
Last release
6 years ago

Analisador Léxico e Sintático

Veja funcionando 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:

ChromeFirefoxOperaSafariIE
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

ArgumentoTipoOpções
sentencastring'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

Veja também a lista de colaboradores who participated in this project.

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

2.0.0

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago