@designliquido/delegua 0.14.6 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -85
- package/bin/delegua +2 -2
- package/bin/package.json +88 -88
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +67 -67
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +215 -215
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +92 -92
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +857 -727
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.d.ts +22 -22
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-birl.js +145 -145
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +69 -69
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +640 -640
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.d.ts +84 -84
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js +714 -714
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-eguap.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +20 -20
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.d.ts +49 -32
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js +419 -192
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-studio.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.d.ts +73 -73
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js +534 -534
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-visualg.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.d.ts +5 -5
- package/fontes/avaliador-sintatico/dialetos/index.js +21 -21
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
- package/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
- package/fontes/avaliador-sintatico/index.d.ts +2 -2
- package/fontes/avaliador-sintatico/index.js +18 -18
- package/fontes/avaliador-sintatico/retornos/index.d.ts +3 -3
- package/fontes/avaliador-sintatico/retornos/index.js +19 -19
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
- package/fontes/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
- package/fontes/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
- package/fontes/avaliador-sintatico/retornos/retorno-primario.js +2 -2
- package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
- package/fontes/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
- package/fontes/bibliotecas/biblioteca-global.d.ts +3 -3
- package/fontes/bibliotecas/biblioteca-global.js +315 -315
- package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/biblioteca-global.js +230 -230
- package/fontes/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
- package/fontes/bibliotecas/dialetos/egua-classico/index.js +32 -32
- package/fontes/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/matematica.js +478 -478
- package/fontes/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
- package/fontes/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
- package/fontes/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
- package/fontes/bibliotecas/dialetos/egua-classico/textos.js +201 -201
- package/fontes/bibliotecas/primitivas-texto.d.ts +11 -11
- package/fontes/bibliotecas/primitivas-texto.js +12 -12
- package/fontes/bibliotecas/primitivas-vetor.d.ts +15 -15
- package/fontes/bibliotecas/primitivas-vetor.js +33 -33
- package/fontes/construtos/acesso-indice-variavel.d.ts +15 -15
- package/fontes/construtos/acesso-indice-variavel.js +20 -20
- package/fontes/construtos/acesso-metodo.d.ts +14 -14
- package/fontes/construtos/acesso-metodo.js +19 -19
- package/fontes/construtos/agrupamento.d.ts +14 -14
- package/fontes/construtos/agrupamento.js +19 -19
- package/fontes/construtos/atribuicao-sobrescrita.d.ts +11 -11
- package/fontes/construtos/atribuicao-sobrescrita.js +16 -16
- package/fontes/construtos/atribuir.d.ts +10 -10
- package/fontes/construtos/atribuir.js +15 -15
- package/fontes/construtos/binario.d.ts +22 -22
- package/fontes/construtos/binario.js +27 -27
- package/fontes/construtos/chamada.d.ts +13 -13
- package/fontes/construtos/chamada.js +36 -36
- package/fontes/construtos/construto.d.ts +7 -7
- package/fontes/construtos/construto.js +2 -2
- package/fontes/construtos/definir-valor.d.ts +11 -11
- package/fontes/construtos/definir-valor.js +16 -16
- package/fontes/construtos/dicionario.d.ts +10 -10
- package/fontes/construtos/dicionario.js +15 -15
- package/fontes/construtos/formatacao-escrita.d.ts +16 -16
- package/fontes/construtos/formatacao-escrita.js +21 -21
- package/fontes/construtos/funcao.d.ts +10 -10
- package/fontes/construtos/funcao.js +15 -15
- package/fontes/construtos/index.d.ts +19 -19
- package/fontes/construtos/index.js +35 -35
- package/fontes/construtos/isto.d.ts +9 -9
- package/fontes/construtos/isto.js +14 -14
- package/fontes/construtos/literal.d.ts +10 -10
- package/fontes/construtos/literal.js +14 -14
- package/fontes/construtos/logico.d.ts +11 -11
- package/fontes/construtos/logico.js +16 -16
- package/fontes/construtos/super.d.ts +10 -10
- package/fontes/construtos/super.js +15 -15
- package/fontes/construtos/unario.d.ts +11 -10
- package/fontes/construtos/unario.js +16 -15
- package/fontes/construtos/unario.js.map +1 -1
- package/fontes/construtos/variavel.d.ts +9 -9
- package/fontes/construtos/variavel.js +14 -14
- package/fontes/construtos/vetor.d.ts +9 -9
- package/fontes/construtos/vetor.js +14 -14
- package/fontes/declaracoes/bloco.d.ts +7 -7
- package/fontes/declaracoes/bloco.js +14 -14
- package/fontes/declaracoes/classe.d.ts +9 -9
- package/fontes/declaracoes/classe.js +16 -16
- package/fontes/declaracoes/continua.d.ts +6 -6
- package/fontes/declaracoes/continua.js +13 -13
- package/fontes/declaracoes/declaracao.d.ts +8 -8
- package/fontes/declaracoes/declaracao.js +17 -17
- package/fontes/declaracoes/enquanto.d.ts +9 -9
- package/fontes/declaracoes/enquanto.js +15 -15
- package/fontes/declaracoes/escolha.d.ts +14 -14
- package/fontes/declaracoes/escolha.js +19 -19
- package/fontes/declaracoes/escreva-mesma-linha.d.ts +8 -8
- package/fontes/declaracoes/escreva-mesma-linha.js +14 -14
- package/fontes/declaracoes/escreva.d.ts +8 -8
- package/fontes/declaracoes/escreva.js +14 -14
- package/fontes/declaracoes/expressao.d.ts +8 -8
- package/fontes/declaracoes/expressao.js +14 -14
- package/fontes/declaracoes/fazer.d.ts +8 -8
- package/fontes/declaracoes/fazer.js +15 -15
- package/fontes/declaracoes/funcao.d.ts +9 -9
- package/fontes/declaracoes/funcao.js +15 -15
- package/fontes/declaracoes/importar.d.ts +9 -9
- package/fontes/declaracoes/importar.js +15 -15
- package/fontes/declaracoes/index.d.ts +19 -19
- package/fontes/declaracoes/index.js +35 -35
- package/fontes/declaracoes/leia.d.ts +12 -12
- package/fontes/declaracoes/leia.js +18 -18
- package/fontes/declaracoes/para.d.ts +10 -10
- package/fontes/declaracoes/para.js +17 -17
- package/fontes/declaracoes/retorna.d.ts +8 -8
- package/fontes/declaracoes/retorna.js +15 -15
- package/fontes/declaracoes/se.d.ts +11 -11
- package/fontes/declaracoes/se.js +17 -17
- package/fontes/declaracoes/sustar.d.ts +6 -6
- package/fontes/declaracoes/sustar.js +13 -13
- package/fontes/declaracoes/tente.d.ts +14 -14
- package/fontes/declaracoes/tente.js +20 -20
- package/fontes/declaracoes/var.d.ts +9 -9
- package/fontes/declaracoes/var.js +15 -15
- package/fontes/depuracao/cyrb53.d.ts +9 -9
- package/fontes/depuracao/cyrb53.js +22 -22
- package/fontes/depuracao/index.d.ts +2 -2
- package/fontes/depuracao/index.js +23 -23
- package/fontes/depuracao/ponto-parada.d.ts +4 -4
- package/fontes/depuracao/ponto-parada.js +2 -2
- package/fontes/espaco-variaveis.d.ts +19 -19
- package/fontes/espaco-variaveis.js +19 -19
- package/fontes/estruturas/chamavel.d.ts +5 -5
- package/fontes/estruturas/chamavel.js +12 -12
- package/fontes/estruturas/classe-padrao.d.ts +17 -17
- package/fontes/estruturas/classe-padrao.js +28 -28
- package/fontes/estruturas/delegua-classe.d.ts +16 -16
- package/fontes/estruturas/delegua-classe.js +38 -38
- package/fontes/estruturas/delegua-funcao.d.ts +18 -18
- package/fontes/estruturas/delegua-funcao.js +60 -60
- package/fontes/estruturas/funcao-padrao.d.ts +12 -12
- package/fontes/estruturas/funcao-padrao.js +22 -22
- package/fontes/estruturas/index.d.ts +9 -9
- package/fontes/estruturas/index.js +25 -25
- package/fontes/estruturas/metodo-primitiva.d.ts +17 -17
- package/fontes/estruturas/metodo-primitiva.js +26 -26
- package/fontes/estruturas/modulo.d.ts +9 -9
- package/fontes/estruturas/modulo.js +13 -13
- package/fontes/estruturas/objeto-delegua-classe.d.ts +10 -10
- package/fontes/estruturas/objeto-delegua-classe.js +26 -26
- package/fontes/estruturas/objeto-padrao.d.ts +9 -9
- package/fontes/estruturas/objeto-padrao.js +21 -21
- package/fontes/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
- package/fontes/excecoes/erro-em-tempo-de-execucao.js +13 -13
- package/fontes/excecoes/index.d.ts +1 -1
- package/fontes/excecoes/index.js +17 -17
- package/fontes/formatadores/delegua.d.ts +18 -11
- package/fontes/formatadores/delegua.js +82 -99
- package/fontes/formatadores/delegua.js.map +1 -1
- package/fontes/formatadores/index.d.ts +1 -1
- package/fontes/formatadores/index.js +17 -17
- package/fontes/interfaces/avaliador-sintatico-interface.d.ts +57 -57
- package/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
- package/fontes/interfaces/construtos/index.d.ts +4 -4
- package/fontes/interfaces/construtos/index.js +2 -2
- package/fontes/interfaces/escopo-execucao.d.ts +11 -11
- package/fontes/interfaces/escopo-execucao.js +2 -2
- package/fontes/interfaces/index.d.ts +11 -11
- package/fontes/interfaces/index.js +27 -27
- package/fontes/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
- package/fontes/interfaces/interpretador-com-depuracao-interface.js +2 -2
- package/fontes/interfaces/interpretador-interface.d.ts +55 -55
- package/fontes/interfaces/interpretador-interface.js +2 -2
- package/fontes/interfaces/lexador-interface.d.ts +23 -23
- package/fontes/interfaces/lexador-interface.js +2 -2
- package/fontes/interfaces/parametro-interface.d.ts +6 -6
- package/fontes/interfaces/parametro-interface.js +2 -2
- package/fontes/interfaces/pilha-escopos-execucao-interface.d.ts +25 -25
- package/fontes/interfaces/pilha-escopos-execucao-interface.js +2 -2
- package/fontes/interfaces/pilha-interface.d.ts +7 -7
- package/fontes/interfaces/pilha-interface.js +2 -2
- package/fontes/interfaces/resolvedor-interface.d.ts +41 -41
- package/fontes/interfaces/resolvedor-interface.js +2 -2
- package/fontes/interfaces/retornos/index.d.ts +4 -4
- package/fontes/interfaces/retornos/index.js +20 -20
- package/fontes/interfaces/retornos/retorno-avaliador-sintatico.d.ts +6 -6
- package/fontes/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
- package/fontes/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
- package/fontes/interfaces/retornos/retorno-execucao-interface.js +2 -2
- package/fontes/interfaces/retornos/retorno-interpretador.d.ts +5 -5
- package/fontes/interfaces/retornos/retorno-interpretador.js +2 -2
- package/fontes/interfaces/retornos/retorno-lexador.d.ts +10 -10
- package/fontes/interfaces/retornos/retorno-lexador.js +2 -2
- package/fontes/interfaces/simbolo-interface.d.ts +7 -7
- package/fontes/interfaces/simbolo-interface.js +2 -2
- package/fontes/interfaces/tradutor-interface.d.ts +4 -4
- package/fontes/interfaces/tradutor-interface.js +2 -2
- package/fontes/interfaces/variavel-interface.d.ts +4 -4
- package/fontes/interfaces/variavel-interface.js +2 -2
- package/fontes/interpretador/dialetos/egua-classico/index.d.ts +1 -1
- package/fontes/interpretador/dialetos/egua-classico/index.js +17 -17
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +99 -99
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +743 -743
- package/fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +87 -87
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +387 -387
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
- package/fontes/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
- package/fontes/interpretador/dialetos/index.d.ts +4 -4
- package/fontes/interpretador/dialetos/index.js +20 -20
- package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.d.ts +12 -12
- package/fontes/interpretador/dialetos/portugol-studio/interpretador-portugol-studio.js +26 -26
- package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +40 -40
- package/fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +96 -96
- package/fontes/interpretador/dialetos/visualg/interpretador-visualg.d.ts +46 -46
- package/fontes/interpretador/dialetos/visualg/interpretador-visualg.js +102 -102
- package/fontes/interpretador/erro-interpretador.d.ts +8 -8
- package/fontes/interpretador/erro-interpretador.js +2 -2
- package/fontes/interpretador/index.d.ts +4 -4
- package/fontes/interpretador/index.js +20 -20
- package/fontes/interpretador/inferenciador.d.ts +1 -1
- package/fontes/interpretador/inferenciador.js +31 -31
- package/fontes/interpretador/interpretador-base.d.ts +187 -187
- package/fontes/interpretador/interpretador-base.js +998 -972
- package/fontes/interpretador/interpretador-base.js.map +1 -1
- package/fontes/interpretador/interpretador-com-depuracao.d.ts +199 -199
- package/fontes/interpretador/interpretador-com-depuracao.js +516 -516
- package/fontes/interpretador/pilha-escopos-execucao.d.ts +38 -38
- package/fontes/interpretador/pilha-escopos-execucao.js +158 -158
- package/fontes/lexador/dialetos/index.d.ts +6 -6
- package/fontes/lexador/dialetos/index.js +22 -22
- package/fontes/lexador/dialetos/lexador-birl.d.ts +12 -12
- package/fontes/lexador/dialetos/lexador-birl.js +165 -165
- package/fontes/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
- package/fontes/lexador/dialetos/lexador-egua-classico.js +286 -286
- package/fontes/lexador/dialetos/lexador-eguap.d.ts +51 -51
- package/fontes/lexador/dialetos/lexador-eguap.js +398 -398
- package/fontes/lexador/dialetos/lexador-guarani.d.ts +9 -9
- package/fontes/lexador/dialetos/lexador-guarani.js +113 -113
- package/fontes/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
- package/fontes/lexador/dialetos/lexador-portugol-ipt.js +195 -195
- package/fontes/lexador/dialetos/lexador-portugol-studio.d.ts +21 -15
- package/fontes/lexador/dialetos/lexador-portugol-studio.js +280 -242
- package/fontes/lexador/dialetos/lexador-portugol-studio.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.d.ts +18 -18
- package/fontes/lexador/dialetos/lexador-visualg.js +218 -218
- package/fontes/lexador/dialetos/palavras-reservadas/birl.d.ts +41 -41
- package/fontes/lexador/dialetos/palavras-reservadas/birl.js +58 -58
- package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +36 -36
- package/fontes/lexador/dialetos/palavras-reservadas/egua-classico.js +41 -41
- package/fontes/lexador/dialetos/palavras-reservadas/guarani.d.ts +4 -4
- package/fontes/lexador/dialetos/palavras-reservadas/guarani.js +9 -9
- package/fontes/lexador/dialetos/palavras-reservadas/index.d.ts +3 -3
- package/fontes/lexador/dialetos/palavras-reservadas/index.js +19 -19
- package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +6 -6
- package/fontes/lexador/dialetos/palavras-reservadas/portugol-ipt.js +11 -11
- package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.d.ts +23 -8
- package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js +28 -13
- package/fontes/lexador/dialetos/palavras-reservadas/portugol-studio.js.map +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +2 -2
- package/fontes/lexador/dialetos/palavras-reservadas/rantiaquin.js +3 -3
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.d.ts +60 -60
- package/fontes/lexador/dialetos/palavras-reservadas/visualg.js +65 -65
- package/fontes/lexador/dialetos/pragma.d.ts +8 -8
- package/fontes/lexador/dialetos/pragma.js +2 -2
- package/fontes/lexador/erro-lexador.d.ts +5 -5
- package/fontes/lexador/erro-lexador.js +2 -2
- package/fontes/lexador/index.d.ts +2 -2
- package/fontes/lexador/index.js +18 -18
- package/fontes/lexador/lexador-base-linha-unica.d.ts +28 -28
- package/fontes/lexador/lexador-base-linha-unica.js +82 -82
- package/fontes/lexador/lexador-base.d.ts +41 -41
- package/fontes/lexador/lexador-base.js +112 -112
- package/fontes/lexador/lexador-base.js.map +1 -1
- package/fontes/lexador/lexador.d.ts +43 -43
- package/fontes/lexador/lexador.js +412 -408
- package/fontes/lexador/lexador.js.map +1 -1
- package/fontes/lexador/palavras-reservadas.d.ts +36 -36
- package/fontes/lexador/palavras-reservadas.js +41 -41
- package/fontes/lexador/simbolo.d.ts +10 -10
- package/fontes/lexador/simbolo.js +16 -16
- package/fontes/quebras/index.d.ts +10 -10
- package/fontes/quebras/index.js +19 -19
- package/fontes/tipos-de-simbolos/birl.d.ts +57 -57
- package/fontes/tipos-de-simbolos/birl.js +61 -61
- package/fontes/tipos-de-simbolos/comum.d.ts +22 -22
- package/fontes/tipos-de-simbolos/comum.js +23 -23
- package/fontes/tipos-de-simbolos/delegua.d.ts +80 -80
- package/fontes/tipos-de-simbolos/delegua.js +81 -81
- package/fontes/tipos-de-simbolos/egua-classico.d.ts +77 -77
- package/fontes/tipos-de-simbolos/egua-classico.js +78 -78
- package/fontes/tipos-de-simbolos/eguap.d.ts +73 -73
- package/fontes/tipos-de-simbolos/eguap.js +74 -74
- package/fontes/tipos-de-simbolos/guarani.d.ts +14 -14
- package/fontes/tipos-de-simbolos/guarani.js +15 -15
- package/fontes/tipos-de-simbolos/portugol-ipt.d.ts +28 -28
- package/fontes/tipos-de-simbolos/portugol-ipt.js +29 -29
- package/fontes/tipos-de-simbolos/portugol-studio.d.ts +53 -35
- package/fontes/tipos-de-simbolos/portugol-studio.js +54 -36
- package/fontes/tipos-de-simbolos/portugol-studio.js.map +1 -1
- package/fontes/tipos-de-simbolos/rantiaquin.d.ts +2 -2
- package/fontes/tipos-de-simbolos/rantiaquin.js +3 -3
- package/fontes/tipos-de-simbolos/visualg.d.ts +68 -68
- package/fontes/tipos-de-simbolos/visualg.js +69 -69
- package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
- package/fontes/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
- package/fontes/tradutores/dicionarios/index.d.ts +1 -1
- package/fontes/tradutores/dicionarios/index.js +17 -17
- package/fontes/tradutores/index.d.ts +2 -2
- package/fontes/tradutores/index.js +18 -18
- package/fontes/tradutores/python/python3-lexer.d.ts +152 -152
- package/fontes/tradutores/python/python3-lexer.js +1226 -1226
- package/fontes/tradutores/python/python3-listener.d.ts +953 -953
- package/fontes/tradutores/python/python3-listener.js +2 -2
- package/fontes/tradutores/python/python3-parser.d.ts +1330 -1330
- package/fontes/tradutores/python/python3-parser.js +11156 -11156
- package/fontes/tradutores/python/python3-visitor.d.ts +612 -612
- package/fontes/tradutores/python/python3-visitor.js +2 -2
- package/fontes/tradutores/tradutor-javascript.d.ts +83 -83
- package/fontes/tradutores/tradutor-javascript.js +470 -470
- package/fontes/tradutores/tradutor-javascript.js.map +1 -1
- package/fontes/tradutores/tradutor-python.d.ts +1 -1
- package/fontes/tradutores/tradutor-python.js +34 -34
- package/fontes/tradutores/tradutor-reverso-javascript.d.ts +47 -47
- package/fontes/tradutores/tradutor-reverso-javascript.js +342 -342
- package/index.d.ts +5 -5
- package/index.js +23 -23
- package/package.json +88 -88
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AvaliadorSintaticoBase = void 0;
|
|
7
|
-
const construtos_1 = require("../construtos");
|
|
8
|
-
const declaracoes_1 = require("../declaracoes");
|
|
9
|
-
const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
|
|
10
|
-
const comum_1 = __importDefault(require("../tipos-de-simbolos/comum"));
|
|
11
|
-
/**
|
|
12
|
-
* O Avaliador Sintático Base é uma tentativa de mapear métodos em comum
|
|
13
|
-
* entre todos os outros Avaliadores Sintáticos. Depende de um dicionário
|
|
14
|
-
* de tipos de símbolos comuns entre todos os dialetos.
|
|
15
|
-
*/
|
|
16
|
-
class AvaliadorSintaticoBase {
|
|
17
|
-
consumir(tipo, mensagemDeErro) {
|
|
18
|
-
if (this.verificarTipoSimboloAtual(tipo))
|
|
19
|
-
return this.avancarEDevolverAnterior();
|
|
20
|
-
throw this.erro(this.simbolos[this.atual], mensagemDeErro);
|
|
21
|
-
}
|
|
22
|
-
erro(simbolo, mensagemDeErro) {
|
|
23
|
-
const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
|
|
24
|
-
this.erros.push(excecao);
|
|
25
|
-
return excecao;
|
|
26
|
-
}
|
|
27
|
-
simboloAnterior() {
|
|
28
|
-
return this.simbolos[this.atual - 1];
|
|
29
|
-
}
|
|
30
|
-
verificarTipoSimboloAtual(tipo) {
|
|
31
|
-
if (this.estaNoFinal())
|
|
32
|
-
return false;
|
|
33
|
-
return this.simbolos[this.atual].tipo === tipo;
|
|
34
|
-
}
|
|
35
|
-
verificarTipoProximoSimbolo(tipo) {
|
|
36
|
-
return this.simbolos[this.atual + 1].tipo === tipo;
|
|
37
|
-
}
|
|
38
|
-
estaNoFinal() {
|
|
39
|
-
return this.atual === this.simbolos.length;
|
|
40
|
-
}
|
|
41
|
-
avancarEDevolverAnterior() {
|
|
42
|
-
if (!this.estaNoFinal())
|
|
43
|
-
this.atual += 1;
|
|
44
|
-
return this.simbolos[this.atual - 1];
|
|
45
|
-
}
|
|
46
|
-
verificarSeSimboloAtualEIgualA(...argumentos) {
|
|
47
|
-
for (let i = 0; i < argumentos.length; i++) {
|
|
48
|
-
const tipoAtual = argumentos[i];
|
|
49
|
-
if (this.verificarTipoSimboloAtual(tipoAtual)) {
|
|
50
|
-
this.avancarEDevolverAnterior();
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
declaracaoLeia() {
|
|
57
|
-
throw new Error('Método não implementado.');
|
|
58
|
-
}
|
|
59
|
-
finalizarChamada(entidadeChamada) {
|
|
60
|
-
const argumentos = [];
|
|
61
|
-
if (!this.verificarTipoSimboloAtual(comum_1.default.PARENTESE_DIREITO)) {
|
|
62
|
-
do {
|
|
63
|
-
if (argumentos.length >= 255) {
|
|
64
|
-
throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
|
|
65
|
-
}
|
|
66
|
-
argumentos.push(this.expressao());
|
|
67
|
-
} while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
|
|
68
|
-
}
|
|
69
|
-
const parenteseDireito = this.consumir(comum_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
|
|
70
|
-
return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
|
|
71
|
-
}
|
|
72
|
-
unario() {
|
|
73
|
-
if (this.verificarSeSimboloAtualEIgualA(comum_1.default.NEGACAO, comum_1.default.SUBTRACAO)) {
|
|
74
|
-
const operador = this.simbolos[this.atual - 1];
|
|
75
|
-
const direito = this.unario();
|
|
76
|
-
return new construtos_1.Unario(this.hashArquivo, operador, direito);
|
|
77
|
-
}
|
|
78
|
-
return this.chamar();
|
|
79
|
-
}
|
|
80
|
-
exponenciacao() {
|
|
81
|
-
let expressao = this.unario();
|
|
82
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.EXPONENCIACAO)) {
|
|
83
|
-
const operador = this.simbolos[this.atual - 1];
|
|
84
|
-
const direito = this.unario();
|
|
85
|
-
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
86
|
-
}
|
|
87
|
-
return expressao;
|
|
88
|
-
}
|
|
89
|
-
multiplicar() {
|
|
90
|
-
let expressao = this.exponenciacao();
|
|
91
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIVISAO, comum_1.default.DIVISAO_INTEIRA, comum_1.default.MULTIPLICACAO, comum_1.default.MODULO)) {
|
|
92
|
-
const operador = this.simbolos[this.atual - 1];
|
|
93
|
-
const direito = this.unario();
|
|
94
|
-
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
95
|
-
}
|
|
96
|
-
return expressao;
|
|
97
|
-
}
|
|
98
|
-
adicaoOuSubtracao() {
|
|
99
|
-
let expressao = this.multiplicar();
|
|
100
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.SUBTRACAO, comum_1.default.ADICAO)) {
|
|
101
|
-
const operador = this.simbolos[this.atual - 1];
|
|
102
|
-
const direito = this.multiplicar();
|
|
103
|
-
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
104
|
-
}
|
|
105
|
-
return expressao;
|
|
106
|
-
}
|
|
107
|
-
bitFill() {
|
|
108
|
-
throw new Error('Método não implementado.');
|
|
109
|
-
}
|
|
110
|
-
bitE() {
|
|
111
|
-
throw new Error('Método não implementado.');
|
|
112
|
-
}
|
|
113
|
-
bitOu() {
|
|
114
|
-
throw new Error('Método não implementado.');
|
|
115
|
-
}
|
|
116
|
-
comparar() {
|
|
117
|
-
let expressao = this.adicaoOuSubtracao();
|
|
118
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.MAIOR, comum_1.default.MAIOR_IGUAL, comum_1.default.MENOR, comum_1.default.MENOR_IGUAL)) {
|
|
119
|
-
const operador = this.simbolos[this.atual - 1];
|
|
120
|
-
const direito = this.adicaoOuSubtracao();
|
|
121
|
-
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
122
|
-
}
|
|
123
|
-
return expressao;
|
|
124
|
-
}
|
|
125
|
-
comparacaoIgualdade() {
|
|
126
|
-
let expressao = this.comparar();
|
|
127
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIFERENTE, comum_1.default.IGUAL)) {
|
|
128
|
-
const operador = this.simbolos[this.atual - 1];
|
|
129
|
-
const direito = this.comparar();
|
|
130
|
-
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
131
|
-
}
|
|
132
|
-
return expressao;
|
|
133
|
-
}
|
|
134
|
-
em() {
|
|
135
|
-
throw new Error('Método não implementado.');
|
|
136
|
-
}
|
|
137
|
-
e() {
|
|
138
|
-
let expressao = this.comparacaoIgualdade();
|
|
139
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.E)) {
|
|
140
|
-
const operador = this.simbolos[this.atual - 1];
|
|
141
|
-
const direito = this.comparacaoIgualdade();
|
|
142
|
-
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
143
|
-
}
|
|
144
|
-
return expressao;
|
|
145
|
-
}
|
|
146
|
-
ou() {
|
|
147
|
-
let expressao = this.e();
|
|
148
|
-
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.OU)) {
|
|
149
|
-
const operador = this.simbolos[this.atual - 1];
|
|
150
|
-
const direito = this.e();
|
|
151
|
-
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
152
|
-
}
|
|
153
|
-
return expressao;
|
|
154
|
-
}
|
|
155
|
-
expressao() {
|
|
156
|
-
return this.atribuir();
|
|
157
|
-
}
|
|
158
|
-
declaracaoExpressao() {
|
|
159
|
-
throw new Error('Método não implementado.');
|
|
160
|
-
}
|
|
161
|
-
declaracaoSustar() {
|
|
162
|
-
throw new Error('Método não implementado.');
|
|
163
|
-
}
|
|
164
|
-
declaracaoContinua() {
|
|
165
|
-
throw new Error('Método não implementado.');
|
|
166
|
-
}
|
|
167
|
-
declaracaoRetorna() {
|
|
168
|
-
throw new Error('Método não implementado.');
|
|
169
|
-
}
|
|
170
|
-
declaracaoImportar() {
|
|
171
|
-
throw new Error('Método não implementado.');
|
|
172
|
-
}
|
|
173
|
-
declaracaoTente() {
|
|
174
|
-
throw new Error('Método não implementado.');
|
|
175
|
-
}
|
|
176
|
-
resolverDeclaracao() {
|
|
177
|
-
throw new Error('Método não implementado.');
|
|
178
|
-
}
|
|
179
|
-
declaracaoDeVariavel() {
|
|
180
|
-
throw new Error('Método não implementado.');
|
|
181
|
-
}
|
|
182
|
-
funcao(tipo) {
|
|
183
|
-
const simboloFuncao = this.avancarEDevolverAnterior();
|
|
184
|
-
const nomeFuncao = this.consumir(comum_1.default.IDENTIFICADOR, `Esperado nome ${tipo}.`);
|
|
185
|
-
return new declaracoes_1.FuncaoDeclaracao(nomeFuncao, this.corpoDaFuncao(tipo));
|
|
186
|
-
}
|
|
187
|
-
declaracaoDeClasse() {
|
|
188
|
-
throw new Error('Método não implementado.');
|
|
189
|
-
}
|
|
190
|
-
logicaComumParametros() {
|
|
191
|
-
const parametros = [];
|
|
192
|
-
do {
|
|
193
|
-
if (parametros.length >= 255) {
|
|
194
|
-
this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 parâmetros');
|
|
195
|
-
}
|
|
196
|
-
const parametro = {};
|
|
197
|
-
if (this.simbolos[this.atual].tipo === comum_1.default.MULTIPLICACAO) {
|
|
198
|
-
this.consumir(comum_1.default.MULTIPLICACAO, null);
|
|
199
|
-
parametro.
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
parametro.
|
|
203
|
-
}
|
|
204
|
-
parametro.nome = this.consumir(comum_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
|
|
205
|
-
if (this.verificarSeSimboloAtualEIgualA(comum_1.default.IGUAL)) {
|
|
206
|
-
parametro.valorPadrao = this.primario();
|
|
207
|
-
}
|
|
208
|
-
parametros.push(parametro);
|
|
209
|
-
if (parametro.
|
|
210
|
-
break;
|
|
211
|
-
} while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
|
|
212
|
-
return parametros;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AvaliadorSintaticoBase = void 0;
|
|
7
|
+
const construtos_1 = require("../construtos");
|
|
8
|
+
const declaracoes_1 = require("../declaracoes");
|
|
9
|
+
const erro_avaliador_sintatico_1 = require("./erro-avaliador-sintatico");
|
|
10
|
+
const comum_1 = __importDefault(require("../tipos-de-simbolos/comum"));
|
|
11
|
+
/**
|
|
12
|
+
* O Avaliador Sintático Base é uma tentativa de mapear métodos em comum
|
|
13
|
+
* entre todos os outros Avaliadores Sintáticos. Depende de um dicionário
|
|
14
|
+
* de tipos de símbolos comuns entre todos os dialetos.
|
|
15
|
+
*/
|
|
16
|
+
class AvaliadorSintaticoBase {
|
|
17
|
+
consumir(tipo, mensagemDeErro) {
|
|
18
|
+
if (this.verificarTipoSimboloAtual(tipo))
|
|
19
|
+
return this.avancarEDevolverAnterior();
|
|
20
|
+
throw this.erro(this.simbolos[this.atual], mensagemDeErro);
|
|
21
|
+
}
|
|
22
|
+
erro(simbolo, mensagemDeErro) {
|
|
23
|
+
const excecao = new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(simbolo, mensagemDeErro);
|
|
24
|
+
this.erros.push(excecao);
|
|
25
|
+
return excecao;
|
|
26
|
+
}
|
|
27
|
+
simboloAnterior() {
|
|
28
|
+
return this.simbolos[this.atual - 1];
|
|
29
|
+
}
|
|
30
|
+
verificarTipoSimboloAtual(tipo) {
|
|
31
|
+
if (this.estaNoFinal())
|
|
32
|
+
return false;
|
|
33
|
+
return this.simbolos[this.atual].tipo === tipo;
|
|
34
|
+
}
|
|
35
|
+
verificarTipoProximoSimbolo(tipo) {
|
|
36
|
+
return this.simbolos[this.atual + 1].tipo === tipo;
|
|
37
|
+
}
|
|
38
|
+
estaNoFinal() {
|
|
39
|
+
return this.atual === this.simbolos.length;
|
|
40
|
+
}
|
|
41
|
+
avancarEDevolverAnterior() {
|
|
42
|
+
if (!this.estaNoFinal())
|
|
43
|
+
this.atual += 1;
|
|
44
|
+
return this.simbolos[this.atual - 1];
|
|
45
|
+
}
|
|
46
|
+
verificarSeSimboloAtualEIgualA(...argumentos) {
|
|
47
|
+
for (let i = 0; i < argumentos.length; i++) {
|
|
48
|
+
const tipoAtual = argumentos[i];
|
|
49
|
+
if (this.verificarTipoSimboloAtual(tipoAtual)) {
|
|
50
|
+
this.avancarEDevolverAnterior();
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
declaracaoLeia() {
|
|
57
|
+
throw new Error('Método não implementado.');
|
|
58
|
+
}
|
|
59
|
+
finalizarChamada(entidadeChamada) {
|
|
60
|
+
const argumentos = [];
|
|
61
|
+
if (!this.verificarTipoSimboloAtual(comum_1.default.PARENTESE_DIREITO)) {
|
|
62
|
+
do {
|
|
63
|
+
if (argumentos.length >= 255) {
|
|
64
|
+
throw this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 argumentos.');
|
|
65
|
+
}
|
|
66
|
+
argumentos.push(this.expressao());
|
|
67
|
+
} while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
|
|
68
|
+
}
|
|
69
|
+
const parenteseDireito = this.consumir(comum_1.default.PARENTESE_DIREITO, "Esperado ')' após os argumentos.");
|
|
70
|
+
return new construtos_1.Chamada(this.hashArquivo, entidadeChamada, parenteseDireito, argumentos);
|
|
71
|
+
}
|
|
72
|
+
unario() {
|
|
73
|
+
if (this.verificarSeSimboloAtualEIgualA(comum_1.default.NEGACAO, comum_1.default.SUBTRACAO)) {
|
|
74
|
+
const operador = this.simbolos[this.atual - 1];
|
|
75
|
+
const direito = this.unario();
|
|
76
|
+
return new construtos_1.Unario(this.hashArquivo, operador, direito, 'ANTES');
|
|
77
|
+
}
|
|
78
|
+
return this.chamar();
|
|
79
|
+
}
|
|
80
|
+
exponenciacao() {
|
|
81
|
+
let expressao = this.unario();
|
|
82
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.EXPONENCIACAO)) {
|
|
83
|
+
const operador = this.simbolos[this.atual - 1];
|
|
84
|
+
const direito = this.unario();
|
|
85
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
86
|
+
}
|
|
87
|
+
return expressao;
|
|
88
|
+
}
|
|
89
|
+
multiplicar() {
|
|
90
|
+
let expressao = this.exponenciacao();
|
|
91
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIVISAO, comum_1.default.DIVISAO_INTEIRA, comum_1.default.MULTIPLICACAO, comum_1.default.MODULO)) {
|
|
92
|
+
const operador = this.simbolos[this.atual - 1];
|
|
93
|
+
const direito = this.unario();
|
|
94
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
95
|
+
}
|
|
96
|
+
return expressao;
|
|
97
|
+
}
|
|
98
|
+
adicaoOuSubtracao() {
|
|
99
|
+
let expressao = this.multiplicar();
|
|
100
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.SUBTRACAO, comum_1.default.ADICAO)) {
|
|
101
|
+
const operador = this.simbolos[this.atual - 1];
|
|
102
|
+
const direito = this.multiplicar();
|
|
103
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
104
|
+
}
|
|
105
|
+
return expressao;
|
|
106
|
+
}
|
|
107
|
+
bitFill() {
|
|
108
|
+
throw new Error('Método não implementado.');
|
|
109
|
+
}
|
|
110
|
+
bitE() {
|
|
111
|
+
throw new Error('Método não implementado.');
|
|
112
|
+
}
|
|
113
|
+
bitOu() {
|
|
114
|
+
throw new Error('Método não implementado.');
|
|
115
|
+
}
|
|
116
|
+
comparar() {
|
|
117
|
+
let expressao = this.adicaoOuSubtracao();
|
|
118
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.MAIOR, comum_1.default.MAIOR_IGUAL, comum_1.default.MENOR, comum_1.default.MENOR_IGUAL)) {
|
|
119
|
+
const operador = this.simbolos[this.atual - 1];
|
|
120
|
+
const direito = this.adicaoOuSubtracao();
|
|
121
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
122
|
+
}
|
|
123
|
+
return expressao;
|
|
124
|
+
}
|
|
125
|
+
comparacaoIgualdade() {
|
|
126
|
+
let expressao = this.comparar();
|
|
127
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIFERENTE, comum_1.default.IGUAL)) {
|
|
128
|
+
const operador = this.simbolos[this.atual - 1];
|
|
129
|
+
const direito = this.comparar();
|
|
130
|
+
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
131
|
+
}
|
|
132
|
+
return expressao;
|
|
133
|
+
}
|
|
134
|
+
em() {
|
|
135
|
+
throw new Error('Método não implementado.');
|
|
136
|
+
}
|
|
137
|
+
e() {
|
|
138
|
+
let expressao = this.comparacaoIgualdade();
|
|
139
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.E)) {
|
|
140
|
+
const operador = this.simbolos[this.atual - 1];
|
|
141
|
+
const direito = this.comparacaoIgualdade();
|
|
142
|
+
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
143
|
+
}
|
|
144
|
+
return expressao;
|
|
145
|
+
}
|
|
146
|
+
ou() {
|
|
147
|
+
let expressao = this.e();
|
|
148
|
+
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.OU)) {
|
|
149
|
+
const operador = this.simbolos[this.atual - 1];
|
|
150
|
+
const direito = this.e();
|
|
151
|
+
expressao = new construtos_1.Logico(this.hashArquivo, expressao, operador, direito);
|
|
152
|
+
}
|
|
153
|
+
return expressao;
|
|
154
|
+
}
|
|
155
|
+
expressao() {
|
|
156
|
+
return this.atribuir();
|
|
157
|
+
}
|
|
158
|
+
declaracaoExpressao() {
|
|
159
|
+
throw new Error('Método não implementado.');
|
|
160
|
+
}
|
|
161
|
+
declaracaoSustar() {
|
|
162
|
+
throw new Error('Método não implementado.');
|
|
163
|
+
}
|
|
164
|
+
declaracaoContinua() {
|
|
165
|
+
throw new Error('Método não implementado.');
|
|
166
|
+
}
|
|
167
|
+
declaracaoRetorna() {
|
|
168
|
+
throw new Error('Método não implementado.');
|
|
169
|
+
}
|
|
170
|
+
declaracaoImportar() {
|
|
171
|
+
throw new Error('Método não implementado.');
|
|
172
|
+
}
|
|
173
|
+
declaracaoTente() {
|
|
174
|
+
throw new Error('Método não implementado.');
|
|
175
|
+
}
|
|
176
|
+
resolverDeclaracao() {
|
|
177
|
+
throw new Error('Método não implementado.');
|
|
178
|
+
}
|
|
179
|
+
declaracaoDeVariavel() {
|
|
180
|
+
throw new Error('Método não implementado.');
|
|
181
|
+
}
|
|
182
|
+
funcao(tipo) {
|
|
183
|
+
const simboloFuncao = this.avancarEDevolverAnterior();
|
|
184
|
+
const nomeFuncao = this.consumir(comum_1.default.IDENTIFICADOR, `Esperado nome ${tipo}.`);
|
|
185
|
+
return new declaracoes_1.FuncaoDeclaracao(nomeFuncao, this.corpoDaFuncao(tipo));
|
|
186
|
+
}
|
|
187
|
+
declaracaoDeClasse() {
|
|
188
|
+
throw new Error('Método não implementado.');
|
|
189
|
+
}
|
|
190
|
+
logicaComumParametros() {
|
|
191
|
+
const parametros = [];
|
|
192
|
+
do {
|
|
193
|
+
if (parametros.length >= 255) {
|
|
194
|
+
this.erro(this.simbolos[this.atual], 'Não pode haver mais de 255 parâmetros');
|
|
195
|
+
}
|
|
196
|
+
const parametro = {};
|
|
197
|
+
if (this.simbolos[this.atual].tipo === comum_1.default.MULTIPLICACAO) {
|
|
198
|
+
this.consumir(comum_1.default.MULTIPLICACAO, null);
|
|
199
|
+
parametro.abrangencia = 'multiplo';
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
parametro.abrangencia = 'padrao';
|
|
203
|
+
}
|
|
204
|
+
parametro.nome = this.consumir(comum_1.default.IDENTIFICADOR, 'Esperado nome do parâmetro.');
|
|
205
|
+
if (this.verificarSeSimboloAtualEIgualA(comum_1.default.IGUAL)) {
|
|
206
|
+
parametro.valorPadrao = this.primario();
|
|
207
|
+
}
|
|
208
|
+
parametros.push(parametro);
|
|
209
|
+
if (parametro.abrangencia === 'multiplo')
|
|
210
|
+
break;
|
|
211
|
+
} while (this.verificarSeSimboloAtualEIgualA(comum_1.default.VIRGULA));
|
|
212
|
+
return parametros;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
exports.AvaliadorSintaticoBase = AvaliadorSintaticoBase;
|
|
216
216
|
//# sourceMappingURL=avaliador-sintatico-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"avaliador-sintatico-base.js","sourceRoot":"","sources":["../../../fontes/avaliador-sintatico/avaliador-sintatico-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
|
|
2
|
-
import { FuncaoConstruto, Construto } from '../construtos';
|
|
3
|
-
import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
|
|
4
|
-
import { Classe, Continua, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao as FuncaoDeclaracao, Importar, Para, Sustar, Retorna, Se, Tente, Var, Leia } from '../declaracoes';
|
|
5
|
-
import { RetornoAvaliadorSintatico } from '../interfaces/retornos/retorno-avaliador-sintatico';
|
|
6
|
-
import { RetornoLexador } from '../interfaces/retornos/retorno-lexador';
|
|
7
|
-
import { RetornoDeclaracao, RetornoResolverDeclaracao } from './retornos';
|
|
8
|
-
/**
|
|
9
|
-
* O avaliador sintático (Parser) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
|
|
10
|
-
* Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
|
|
11
|
-
* Há dois grupos de estruturas de alto nível: Construtos e Declarações.
|
|
12
|
-
*/
|
|
13
|
-
export declare class AvaliadorSintatico implements AvaliadorSintaticoInterface {
|
|
14
|
-
simbolos: SimboloInterface[];
|
|
15
|
-
erros: ErroAvaliadorSintatico[];
|
|
16
|
-
hashArquivo: number;
|
|
17
|
-
atual: number;
|
|
18
|
-
blocos: number;
|
|
19
|
-
performance: boolean;
|
|
20
|
-
constructor(performance?: boolean);
|
|
21
|
-
erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
|
|
22
|
-
consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
|
|
23
|
-
verificarTipoSimboloAtual(tipo: string): boolean;
|
|
24
|
-
verificarTipoProximoSimbolo(tipo: string): boolean;
|
|
25
|
-
simboloAtual(): SimboloInterface;
|
|
26
|
-
simboloAnterior(): SimboloInterface;
|
|
27
|
-
estaNoFinal(): boolean;
|
|
28
|
-
avancarEDevolverAnterior(): SimboloInterface;
|
|
29
|
-
verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
|
|
30
|
-
primario(): Construto;
|
|
31
|
-
finalizarChamada(entidadeChamada: Construto): Construto;
|
|
32
|
-
chamar(): Construto;
|
|
33
|
-
unario(): Construto;
|
|
34
|
-
exponenciacao(): Construto;
|
|
35
|
-
multiplicar(): Construto;
|
|
36
|
-
/**
|
|
37
|
-
* Se símbolo de operação é `+`, `-`, `+=` ou `-=`, monta objeto `Binario` para
|
|
38
|
-
* ser avaliado pelo Interpretador.
|
|
39
|
-
* @returns Um Construto, normalmente um `Binario`, ou `Unario` se houver alguma operação unária para ser avaliada.
|
|
40
|
-
*/
|
|
41
|
-
adicaoOuSubtracao(): Construto;
|
|
42
|
-
bitFill(): Construto;
|
|
43
|
-
bitE(): Construto;
|
|
44
|
-
bitOu(): Construto;
|
|
45
|
-
comparar(): Construto;
|
|
46
|
-
comparacaoIgualdade(): Construto;
|
|
47
|
-
em(): Construto;
|
|
48
|
-
e(): Construto;
|
|
49
|
-
ou(): Construto;
|
|
50
|
-
/**
|
|
51
|
-
* Método que resolve atribuições.
|
|
52
|
-
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoSobrescrita`.
|
|
53
|
-
*/
|
|
54
|
-
atribuir(): Construto;
|
|
55
|
-
expressao(): Construto;
|
|
56
|
-
declaracaoEscreva(): Escreva;
|
|
57
|
-
declaracaoExpressao(): Expressao;
|
|
58
|
-
/**
|
|
59
|
-
* Declaração para comando `leia`, para ler dados de entrada do usuário.
|
|
60
|
-
* @returns Um objeto da classe `Leia`.
|
|
61
|
-
*/
|
|
62
|
-
declaracaoLeia(): Leia;
|
|
63
|
-
blocoEscopo(): Array<RetornoDeclaracao>;
|
|
64
|
-
declaracaoSe(): Se;
|
|
65
|
-
declaracaoEnquanto(): Enquanto;
|
|
66
|
-
declaracaoPara(): Para;
|
|
67
|
-
declaracaoSustar(): Sustar;
|
|
68
|
-
declaracaoContinua(): Continua;
|
|
69
|
-
declaracaoRetorna(): Retorna;
|
|
70
|
-
declaracaoEscolha(): Escolha;
|
|
71
|
-
declaracaoImportar(): Importar;
|
|
72
|
-
declaracaoTente(): Tente;
|
|
73
|
-
declaracaoFazer(): Fazer;
|
|
74
|
-
resolverDeclaracao(): RetornoResolverDeclaracao;
|
|
75
|
-
/**
|
|
76
|
-
* Caso símbolo atual seja `var`, devolve uma declaração de variável.
|
|
77
|
-
* @returns Um Construto do tipo Var.
|
|
78
|
-
*/
|
|
79
|
-
declaracaoDeVariavel(): Var;
|
|
80
|
-
funcao(tipo: string): FuncaoDeclaracao;
|
|
81
|
-
logicaComumParametros(): ParametroInterface[];
|
|
82
|
-
corpoDaFuncao(tipo: string): FuncaoConstruto;
|
|
83
|
-
declaracaoDeClasse(): Classe;
|
|
84
|
-
declaracao(): RetornoDeclaracao;
|
|
85
|
-
/**
|
|
86
|
-
* Usado quando há erros na avaliação sintática.
|
|
87
|
-
* Garante que o código não entre em loop infinito.
|
|
88
|
-
* @returns Sempre retorna `void`.
|
|
89
|
-
*/
|
|
90
|
-
sincronizar(): void;
|
|
91
|
-
analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
|
|
92
|
-
}
|
|
1
|
+
import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
|
|
2
|
+
import { FuncaoConstruto, Construto } from '../construtos';
|
|
3
|
+
import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
|
|
4
|
+
import { Classe, Continua, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao as FuncaoDeclaracao, Importar, Para, Sustar, Retorna, Se, Tente, Var, Leia } from '../declaracoes';
|
|
5
|
+
import { RetornoAvaliadorSintatico } from '../interfaces/retornos/retorno-avaliador-sintatico';
|
|
6
|
+
import { RetornoLexador } from '../interfaces/retornos/retorno-lexador';
|
|
7
|
+
import { RetornoDeclaracao, RetornoResolverDeclaracao } from './retornos';
|
|
8
|
+
/**
|
|
9
|
+
* O avaliador sintático (Parser) é responsável por transformar os símbolos do Lexador em estruturas de alto nível.
|
|
10
|
+
* Essas estruturas de alto nível são as partes que executam lógica de programação de fato.
|
|
11
|
+
* Há dois grupos de estruturas de alto nível: Construtos e Declarações.
|
|
12
|
+
*/
|
|
13
|
+
export declare class AvaliadorSintatico implements AvaliadorSintaticoInterface {
|
|
14
|
+
simbolos: SimboloInterface[];
|
|
15
|
+
erros: ErroAvaliadorSintatico[];
|
|
16
|
+
hashArquivo: number;
|
|
17
|
+
atual: number;
|
|
18
|
+
blocos: number;
|
|
19
|
+
performance: boolean;
|
|
20
|
+
constructor(performance?: boolean);
|
|
21
|
+
erro(simbolo: SimboloInterface, mensagemDeErro: string): ErroAvaliadorSintatico;
|
|
22
|
+
consumir(tipo: string, mensagemDeErro: string): SimboloInterface;
|
|
23
|
+
verificarTipoSimboloAtual(tipo: string): boolean;
|
|
24
|
+
verificarTipoProximoSimbolo(tipo: string): boolean;
|
|
25
|
+
simboloAtual(): SimboloInterface;
|
|
26
|
+
simboloAnterior(): SimboloInterface;
|
|
27
|
+
estaNoFinal(): boolean;
|
|
28
|
+
avancarEDevolverAnterior(): SimboloInterface;
|
|
29
|
+
verificarSeSimboloAtualEIgualA(...argumentos: string[]): boolean;
|
|
30
|
+
primario(): Construto;
|
|
31
|
+
finalizarChamada(entidadeChamada: Construto): Construto;
|
|
32
|
+
chamar(): Construto;
|
|
33
|
+
unario(): Construto;
|
|
34
|
+
exponenciacao(): Construto;
|
|
35
|
+
multiplicar(): Construto;
|
|
36
|
+
/**
|
|
37
|
+
* Se símbolo de operação é `+`, `-`, `+=` ou `-=`, monta objeto `Binario` para
|
|
38
|
+
* ser avaliado pelo Interpretador.
|
|
39
|
+
* @returns Um Construto, normalmente um `Binario`, ou `Unario` se houver alguma operação unária para ser avaliada.
|
|
40
|
+
*/
|
|
41
|
+
adicaoOuSubtracao(): Construto;
|
|
42
|
+
bitFill(): Construto;
|
|
43
|
+
bitE(): Construto;
|
|
44
|
+
bitOu(): Construto;
|
|
45
|
+
comparar(): Construto;
|
|
46
|
+
comparacaoIgualdade(): Construto;
|
|
47
|
+
em(): Construto;
|
|
48
|
+
e(): Construto;
|
|
49
|
+
ou(): Construto;
|
|
50
|
+
/**
|
|
51
|
+
* Método que resolve atribuições.
|
|
52
|
+
* @returns Um construto do tipo `Atribuir`, `Conjunto` ou `AtribuicaoSobrescrita`.
|
|
53
|
+
*/
|
|
54
|
+
atribuir(): Construto;
|
|
55
|
+
expressao(): Construto;
|
|
56
|
+
declaracaoEscreva(): Escreva;
|
|
57
|
+
declaracaoExpressao(): Expressao;
|
|
58
|
+
/**
|
|
59
|
+
* Declaração para comando `leia`, para ler dados de entrada do usuário.
|
|
60
|
+
* @returns Um objeto da classe `Leia`.
|
|
61
|
+
*/
|
|
62
|
+
declaracaoLeia(): Leia;
|
|
63
|
+
blocoEscopo(): Array<RetornoDeclaracao>;
|
|
64
|
+
declaracaoSe(): Se;
|
|
65
|
+
declaracaoEnquanto(): Enquanto;
|
|
66
|
+
declaracaoPara(): Para;
|
|
67
|
+
declaracaoSustar(): Sustar;
|
|
68
|
+
declaracaoContinua(): Continua;
|
|
69
|
+
declaracaoRetorna(): Retorna;
|
|
70
|
+
declaracaoEscolha(): Escolha;
|
|
71
|
+
declaracaoImportar(): Importar;
|
|
72
|
+
declaracaoTente(): Tente;
|
|
73
|
+
declaracaoFazer(): Fazer;
|
|
74
|
+
resolverDeclaracao(): RetornoResolverDeclaracao;
|
|
75
|
+
/**
|
|
76
|
+
* Caso símbolo atual seja `var`, devolve uma declaração de variável.
|
|
77
|
+
* @returns Um Construto do tipo Var.
|
|
78
|
+
*/
|
|
79
|
+
declaracaoDeVariavel(): Var;
|
|
80
|
+
funcao(tipo: string): FuncaoDeclaracao;
|
|
81
|
+
logicaComumParametros(): ParametroInterface[];
|
|
82
|
+
corpoDaFuncao(tipo: string): FuncaoConstruto;
|
|
83
|
+
declaracaoDeClasse(): Classe;
|
|
84
|
+
declaracao(): RetornoDeclaracao;
|
|
85
|
+
/**
|
|
86
|
+
* Usado quando há erros na avaliação sintática.
|
|
87
|
+
* Garante que o código não entre em loop infinito.
|
|
88
|
+
* @returns Sempre retorna `void`.
|
|
89
|
+
*/
|
|
90
|
+
sincronizar(): void;
|
|
91
|
+
analisar(retornoLexador: RetornoLexador, hashArquivo?: number): RetornoAvaliadorSintatico;
|
|
92
|
+
}
|