@designliquido/delegua 0.36.1 → 0.36.2
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/analisador-semantico/analisador-semantico-base.d.ts +69 -69
- package/analisador-semantico/analisador-semantico-base.js +180 -180
- package/analisador-semantico/analisador-semantico.d.ts +59 -59
- package/analisador-semantico/analisador-semantico.js +442 -442
- package/analisador-semantico/analisador-semantico.js.map +1 -1
- package/analisador-semantico/index.d.ts +3 -3
- package/analisador-semantico/index.js +19 -19
- package/analisador-semantico/pilha-variaveis.d.ts +20 -20
- package/analisador-semantico/pilha-variaveis.js +25 -25
- package/avaliador-sintatico/avaliador-sintatico-base.d.ts +69 -69
- package/avaliador-sintatico/avaliador-sintatico-base.js +223 -223
- package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico.d.ts +126 -126
- package/avaliador-sintatico/avaliador-sintatico.js +1093 -1093
- package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +73 -73
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +648 -648
- package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +21 -21
- package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
- package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +87 -87
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +770 -770
- package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +34 -34
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +168 -168
- package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
- package/avaliador-sintatico/dialetos/index.d.ts +3 -3
- package/avaliador-sintatico/dialetos/index.js +19 -19
- package/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
- package/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
- package/avaliador-sintatico/index.d.ts +6 -6
- package/avaliador-sintatico/index.js +22 -22
- package/avaliador-sintatico/micro-avaliador-sintatico-base.d.ts +27 -27
- package/avaliador-sintatico/micro-avaliador-sintatico-base.js +116 -116
- package/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -1
- package/avaliador-sintatico/micro-avaliador-sintatico.d.ts +33 -33
- package/avaliador-sintatico/micro-avaliador-sintatico.js +287 -287
- package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
- package/avaliador-sintatico/retornos/index.d.ts +3 -3
- package/avaliador-sintatico/retornos/index.js +19 -19
- package/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
- package/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
- package/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
- package/avaliador-sintatico/retornos/retorno-primario.js +2 -2
- package/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
- package/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +59 -59
- package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +150 -150
- package/bibliotecas/biblioteca-global.d.ts +157 -157
- package/bibliotecas/biblioteca-global.js +497 -498
- package/bibliotecas/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
- package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +236 -236
- package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
- package/bibliotecas/dialetos/egua-classico/index.js +32 -32
- package/bibliotecas/dialetos/egua-classico/index.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
- package/bibliotecas/dialetos/egua-classico/matematica.js +541 -541
- package/bibliotecas/dialetos/egua-classico/matematica.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
- package/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
- package/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -1
- package/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
- package/bibliotecas/dialetos/egua-classico/textos.js +201 -201
- package/bibliotecas/dialetos/egua-classico/textos.js.map +1 -1
- package/bibliotecas/primitivas-dicionario.d.ts +6 -6
- package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
- package/bibliotecas/primitivas-dicionario.js +10 -10
- package/bibliotecas/primitivas-numero.d.ts +6 -6
- package/bibliotecas/primitivas-numero.d.ts.map +1 -1
- package/bibliotecas/primitivas-numero.js +10 -10
- package/bibliotecas/primitivas-texto.d.ts +17 -17
- package/bibliotecas/primitivas-texto.d.ts.map +1 -1
- package/bibliotecas/primitivas-texto.js +22 -22
- package/bibliotecas/primitivas-texto.js.map +1 -1
- package/bibliotecas/primitivas-vetor.d.ts +21 -21
- package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
- package/bibliotecas/primitivas-vetor.js +90 -90
- package/bibliotecas/primitivas-vetor.js.map +1 -1
- package/bin/package.json +5 -4
- package/construtos/acesso-elemento-matriz.d.ts +12 -12
- package/construtos/acesso-elemento-matriz.js +17 -17
- package/construtos/acesso-indice-variavel.d.ts +15 -15
- package/construtos/acesso-indice-variavel.js +20 -20
- package/construtos/acesso-metodo-ou-propriedade.d.ts +14 -14
- package/construtos/acesso-metodo-ou-propriedade.js +19 -19
- package/construtos/agrupamento.d.ts +14 -14
- package/construtos/agrupamento.js +19 -19
- package/construtos/atribuicao-por-indice.d.ts +11 -11
- package/construtos/atribuicao-por-indice.js +16 -16
- package/construtos/atribuicao-por-indices-matriz.d.ts +12 -12
- package/construtos/atribuicao-por-indices-matriz.js +17 -17
- package/construtos/atribuir.d.ts +15 -15
- package/construtos/atribuir.js +24 -24
- package/construtos/atribuir.js.map +1 -1
- package/construtos/binario.d.ts +33 -33
- package/construtos/binario.js +38 -38
- package/construtos/chamada.d.ts +15 -15
- package/construtos/chamada.js +21 -21
- package/construtos/comentario.d.ts +15 -15
- package/construtos/comentario.js +20 -20
- package/construtos/constante.d.ts +12 -12
- package/construtos/constante.js +17 -17
- package/construtos/construto.d.ts +7 -7
- package/construtos/construto.js +2 -2
- package/construtos/decorador.d.ts +14 -14
- package/construtos/decorador.js +19 -19
- package/construtos/definir-valor.d.ts +11 -11
- package/construtos/definir-valor.js +16 -16
- package/construtos/dicionario.d.ts +10 -10
- package/construtos/dicionario.js +15 -15
- package/construtos/expressao-regular.d.ts +10 -10
- package/construtos/expressao-regular.js +15 -15
- package/construtos/fim-para.d.ts +22 -22
- package/construtos/fim-para.js +25 -25
- package/construtos/formatacao-escrita.d.ts +16 -16
- package/construtos/formatacao-escrita.js +21 -21
- package/construtos/funcao.d.ts +12 -12
- package/construtos/funcao.js +16 -16
- package/construtos/index.d.ts +29 -29
- package/construtos/index.js +45 -45
- package/construtos/isto.d.ts +9 -9
- package/construtos/isto.js +14 -14
- package/construtos/literal.d.ts +10 -10
- package/construtos/literal.js +14 -14
- package/construtos/logico.d.ts +11 -11
- package/construtos/logico.js +16 -16
- package/construtos/qual-tipo.d.ts +11 -11
- package/construtos/qual-tipo.js +16 -16
- package/construtos/super.d.ts +10 -10
- package/construtos/super.js +15 -15
- package/construtos/tipo-de.d.ts +10 -10
- package/construtos/tipo-de.js +15 -15
- package/construtos/tuplas/deceto.d.ts +18 -18
- package/construtos/tuplas/deceto.js +32 -32
- package/construtos/tuplas/dupla.d.ts +6 -6
- package/construtos/tuplas/dupla.js +12 -12
- package/construtos/tuplas/index.d.ts +13 -13
- package/construtos/tuplas/index.js +67 -67
- package/construtos/tuplas/index.js.map +1 -1
- package/construtos/tuplas/noneto.d.ts +15 -15
- package/construtos/tuplas/noneto.js +25 -25
- package/construtos/tuplas/octeto.d.ts +14 -14
- package/construtos/tuplas/octeto.js +24 -24
- package/construtos/tuplas/quarteto.d.ts +8 -8
- package/construtos/tuplas/quarteto.js +14 -14
- package/construtos/tuplas/quinteto.d.ts +9 -9
- package/construtos/tuplas/quinteto.js +15 -15
- package/construtos/tuplas/septeto.d.ts +13 -13
- package/construtos/tuplas/septeto.js +23 -23
- package/construtos/tuplas/sexteto.d.ts +10 -10
- package/construtos/tuplas/sexteto.js +16 -16
- package/construtos/tuplas/trio.d.ts +7 -7
- package/construtos/tuplas/trio.js +13 -13
- package/construtos/tuplas/tupla.d.ts +8 -8
- package/construtos/tuplas/tupla.js +9 -9
- package/construtos/unario.d.ts +11 -11
- package/construtos/unario.js +16 -16
- package/construtos/variavel.d.ts +9 -9
- package/construtos/variavel.js +14 -14
- package/construtos/vetor.d.ts +11 -11
- package/construtos/vetor.js +21 -21
- package/construtos/vetor.js.map +1 -1
- package/declaracoes/aleatorio.d.ts +15 -15
- package/declaracoes/aleatorio.js +15 -15
- package/declaracoes/bloco.d.ts +7 -7
- package/declaracoes/bloco.js +14 -14
- package/declaracoes/cabecalho-programa.d.ts +7 -7
- package/declaracoes/cabecalho-programa.js +14 -14
- package/declaracoes/classe.d.ts +14 -14
- package/declaracoes/classe.js +18 -18
- package/declaracoes/const-multiplo.d.ts +14 -14
- package/declaracoes/const-multiplo.js +19 -19
- package/declaracoes/const.d.ts +14 -14
- package/declaracoes/const.js +19 -19
- package/declaracoes/continua.d.ts +6 -6
- package/declaracoes/continua.js +13 -13
- package/declaracoes/declaracao.d.ts +8 -8
- package/declaracoes/declaracao.js +17 -17
- package/declaracoes/enquanto.d.ts +10 -10
- package/declaracoes/enquanto.js +15 -15
- package/declaracoes/escolha.d.ts +14 -14
- package/declaracoes/escolha.js +19 -19
- package/declaracoes/escreva-mesma-linha.d.ts +8 -8
- package/declaracoes/escreva-mesma-linha.js +14 -14
- package/declaracoes/escreva.d.ts +8 -8
- package/declaracoes/escreva.js +14 -14
- package/declaracoes/expressao.d.ts +8 -8
- package/declaracoes/expressao.js +14 -14
- package/declaracoes/falhar.d.ts +8 -8
- package/declaracoes/falhar.js +15 -15
- package/declaracoes/fazer.d.ts +10 -10
- package/declaracoes/fazer.js +15 -15
- package/declaracoes/funcao.d.ts +11 -11
- package/declaracoes/funcao.js +17 -17
- package/declaracoes/importar.d.ts +9 -9
- package/declaracoes/importar.js +15 -15
- package/declaracoes/index.d.ts +31 -31
- package/declaracoes/index.js +47 -47
- package/declaracoes/inicio-algoritmo.d.ts +6 -6
- package/declaracoes/inicio-algoritmo.js +13 -13
- package/declaracoes/leia-multiplo.d.ts +14 -14
- package/declaracoes/leia-multiplo.js +21 -21
- package/declaracoes/leia.d.ts +17 -17
- package/declaracoes/leia.js +21 -21
- package/declaracoes/para-cada.d.ts +11 -11
- package/declaracoes/para-cada.js +17 -17
- package/declaracoes/para.d.ts +19 -19
- package/declaracoes/para.js +24 -24
- package/declaracoes/propriedade-classe.d.ts +10 -10
- package/declaracoes/propriedade-classe.js +16 -16
- package/declaracoes/retorna.d.ts +8 -8
- package/declaracoes/retorna.js +15 -15
- package/declaracoes/se.d.ts +11 -11
- package/declaracoes/se.js +17 -17
- package/declaracoes/sustar.d.ts +6 -6
- package/declaracoes/sustar.js +13 -13
- package/declaracoes/tendo-como.d.ts +16 -16
- package/declaracoes/tendo-como.js +21 -21
- package/declaracoes/tente.d.ts +14 -14
- package/declaracoes/tente.js +20 -20
- package/declaracoes/var-multiplo.d.ts +15 -15
- package/declaracoes/var-multiplo.js +20 -20
- package/declaracoes/var.d.ts +16 -16
- package/declaracoes/var.js +21 -21
- package/depuracao/cyrb53.d.ts +9 -9
- package/depuracao/cyrb53.js +22 -22
- package/depuracao/cyrb53.js.map +1 -1
- package/depuracao/index.d.ts +2 -2
- package/depuracao/index.js +23 -23
- package/depuracao/ponto-parada.d.ts +4 -4
- package/depuracao/ponto-parada.js +2 -2
- package/espaco-variaveis.d.ts +19 -19
- package/espaco-variaveis.js +19 -19
- package/estruturas/chamavel.d.ts +7 -7
- package/estruturas/chamavel.js +12 -12
- package/estruturas/classe-padrao.d.ts +31 -31
- package/estruturas/classe-padrao.js +39 -39
- package/estruturas/delegua-funcao.d.ts +29 -29
- package/estruturas/delegua-funcao.js +141 -141
- package/estruturas/delegua-funcao.js.map +1 -1
- package/estruturas/descritor-tipo-classe.d.ts +37 -37
- package/estruturas/descritor-tipo-classe.js +79 -79
- package/estruturas/descritor-tipo-classe.js.map +1 -1
- package/estruturas/funcao-padrao.d.ts +23 -23
- package/estruturas/funcao-padrao.js +34 -34
- package/estruturas/index.d.ts +9 -9
- package/estruturas/index.js +25 -25
- package/estruturas/metodo-primitiva.d.ts +28 -28
- package/estruturas/metodo-primitiva.js +40 -40
- package/estruturas/modulo.d.ts +18 -18
- package/estruturas/modulo.js +24 -24
- package/estruturas/objeto-delegua-classe.d.ts +26 -26
- package/estruturas/objeto-delegua-classe.js +53 -53
- package/estruturas/objeto-delegua-classe.js.map +1 -1
- package/estruturas/objeto-padrao.d.ts +18 -18
- package/estruturas/objeto-padrao.js +32 -32
- package/estruturas/objeto-padrao.js.map +1 -1
- package/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
- package/excecoes/erro-em-tempo-de-execucao.js +13 -13
- package/excecoes/index.d.ts +1 -1
- package/excecoes/index.js +17 -17
- package/formatadores/formatador-delegua.d.ts +79 -79
- package/formatadores/formatador-delegua.js +676 -676
- package/formatadores/formatador-delegua.js.map +1 -1
- package/formatadores/index.d.ts +1 -1
- package/formatadores/index.js +17 -17
- package/geracao-identificadores/index.d.ts +1 -1
- package/geracao-identificadores/index.js +22 -23
- package/geracao-identificadores/index.js.map +1 -1
- package/index.d.ts +9 -9
- package/index.js +27 -27
- package/interfaces/analisador-semantico-interface.d.ts +6 -6
- package/interfaces/analisador-semantico-interface.js +2 -2
- package/interfaces/avaliador-sintatico-interface.d.ts +55 -55
- package/interfaces/avaliador-sintatico-interface.js +2 -2
- package/interfaces/construtos/index.d.ts +4 -4
- package/interfaces/construtos/index.js +2 -2
- package/interfaces/erros/diagnostico-analisador-semantico.d.ts +14 -14
- package/interfaces/erros/diagnostico-analisador-semantico.js +10 -10
- package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -1
- package/interfaces/erros/erro-interpretador.d.ts +8 -8
- package/interfaces/erros/erro-interpretador.js +2 -2
- package/interfaces/erros/index.d.ts +1 -1
- package/interfaces/erros/index.js +17 -17
- package/interfaces/escopo-execucao.d.ts +12 -12
- package/interfaces/escopo-execucao.js +2 -2
- package/interfaces/formatador-comum-interface.d.ts +11 -11
- package/interfaces/formatador-comum-interface.js +2 -2
- package/interfaces/funcao-hipotetica-interface.d.ts +3 -3
- package/interfaces/funcao-hipotetica-interface.js +2 -2
- package/interfaces/index.d.ts +16 -16
- package/interfaces/index.js +32 -32
- package/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
- package/interfaces/interpretador-com-depuracao-interface.js +2 -2
- package/interfaces/interpretador-interface-potigol.d.ts +5 -5
- package/interfaces/interpretador-interface-potigol.js +2 -2
- package/interfaces/interpretador-interface.d.ts +20 -20
- package/interfaces/interpretador-interface.js +2 -2
- package/interfaces/lexador-interface.d.ts +23 -23
- package/interfaces/lexador-interface.js +2 -2
- package/interfaces/parametro-interface.d.ts +15 -15
- package/interfaces/parametro-interface.js +2 -2
- package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -26
- package/interfaces/pilha-escopos-execucao-interface.js +2 -2
- package/interfaces/pilha-interface.d.ts +7 -7
- package/interfaces/pilha-interface.js +2 -2
- package/interfaces/resolvedor-interface.d.ts +41 -41
- package/interfaces/resolvedor-interface.js +2 -2
- package/interfaces/retornos/index.d.ts +4 -4
- package/interfaces/retornos/index.js +20 -20
- package/interfaces/retornos/retorno-analisador-semantico.d.ts +4 -4
- package/interfaces/retornos/retorno-analisador-semantico.js +2 -2
- package/interfaces/retornos/retorno-avaliador-sintatico.d.ts +5 -5
- package/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
- package/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
- package/interfaces/retornos/retorno-execucao-interface.js +2 -2
- package/interfaces/retornos/retorno-interpretador.d.ts +5 -5
- package/interfaces/retornos/retorno-interpretador.js +2 -2
- package/interfaces/retornos/retorno-lexador.d.ts +9 -9
- package/interfaces/retornos/retorno-lexador.js +2 -2
- package/interfaces/simbolo-interface.d.ts +7 -7
- package/interfaces/simbolo-interface.js +2 -2
- package/interfaces/tradutor-interface.d.ts +3 -3
- package/interfaces/tradutor-interface.js +2 -2
- package/interfaces/variavel-hipotetica-interface.d.ts +8 -8
- package/interfaces/variavel-hipotetica-interface.js +2 -2
- package/interfaces/variavel-interface.d.ts +8 -8
- package/interfaces/variavel-interface.js +2 -2
- package/interfaces/visitante-comum-interface.d.ts +58 -58
- package/interfaces/visitante-comum-interface.js +2 -2
- package/interpretador/argumento-interface.d.ts +4 -4
- package/interpretador/argumento-interface.js +2 -2
- package/interpretador/comum.d.ts +2 -2
- package/interpretador/comum.js +51 -52
- package/interpretador/comum.js.map +1 -1
- package/interpretador/dialetos/egua-classico/index.d.ts +1 -1
- package/interpretador/dialetos/egua-classico/index.js +17 -17
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +119 -119
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +815 -815
- package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
- package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
- package/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
- package/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
- package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
- package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +106 -106
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +441 -441
- package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
- package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
- package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
- package/interpretador/dialetos/index.d.ts +2 -2
- package/interpretador/dialetos/index.js +18 -18
- package/interpretador/dialetos/portugol-ipt/index.d.ts +1 -1
- package/interpretador/dialetos/portugol-ipt/index.js +17 -17
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +133 -133
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +501 -501
- package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
- package/interpretador/index.d.ts +3 -3
- package/interpretador/index.js +19 -19
- package/interpretador/inferenciador.d.ts +15 -15
- package/interpretador/inferenciador.d.ts.map +1 -1
- package/interpretador/inferenciador.js +80 -80
- package/interpretador/inferenciador.js.map +1 -1
- package/interpretador/interpretador-base.d.ts +268 -268
- package/interpretador/interpretador-base.js +1399 -1399
- package/interpretador/interpretador-base.js.map +1 -1
- package/interpretador/interpretador-com-depuracao.d.ts +190 -190
- package/interpretador/interpretador-com-depuracao.js +568 -568
- package/interpretador/interpretador-com-depuracao.js.map +1 -1
- package/interpretador/pilha-escopos-execucao.d.ts +39 -39
- package/interpretador/pilha-escopos-execucao.js +243 -243
- package/interpretador/pilha-escopos-execucao.js.map +1 -1
- package/lexador/dialetos/index.d.ts +4 -4
- package/lexador/dialetos/index.js +20 -20
- package/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
- package/lexador/dialetos/lexador-egua-classico.js +286 -286
- package/lexador/dialetos/lexador-egua-classico.js.map +1 -1
- package/lexador/dialetos/lexador-guarani.d.ts +10 -10
- package/lexador/dialetos/lexador-guarani.js +113 -113
- package/lexador/dialetos/lexador-guarani.js.map +1 -1
- package/lexador/dialetos/lexador-pitugues.d.ts +51 -51
- package/lexador/dialetos/lexador-pitugues.js +398 -398
- package/lexador/dialetos/lexador-pitugues.js.map +1 -1
- package/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
- package/lexador/dialetos/lexador-portugol-ipt.js +237 -237
- package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
- package/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +32 -32
- package/lexador/dialetos/palavras-reservadas/egua-classico.js +39 -39
- package/lexador/dialetos/palavras-reservadas/guarani.d.ts +3 -3
- package/lexador/dialetos/palavras-reservadas/guarani.js +10 -10
- package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +13 -13
- package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +20 -20
- package/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +1 -1
- package/lexador/dialetos/palavras-reservadas/rantiaquin.js +4 -4
- package/lexador/dialetos/pragma.d.ts +8 -8
- package/lexador/dialetos/pragma.js +2 -2
- package/lexador/erro-lexador.d.ts +5 -5
- package/lexador/erro-lexador.js +2 -2
- package/lexador/index.d.ts +4 -4
- package/lexador/index.js +20 -20
- package/lexador/lexador-base-linha-unica.d.ts +28 -28
- package/lexador/lexador-base-linha-unica.js +82 -82
- package/lexador/lexador-base-linha-unica.js.map +1 -1
- package/lexador/lexador-base.d.ts +41 -41
- package/lexador/lexador-base.js +112 -112
- package/lexador/lexador-base.js.map +1 -1
- package/lexador/lexador.d.ts +43 -43
- package/lexador/lexador.js +440 -440
- package/lexador/lexador.js.map +1 -1
- package/lexador/micro-lexador.d.ts +29 -29
- package/lexador/micro-lexador.js +207 -207
- package/lexador/micro-lexador.js.map +1 -1
- package/lexador/palavras-reservadas.d.ts +54 -54
- package/lexador/palavras-reservadas.js +61 -61
- package/lexador/simbolo.d.ts +10 -10
- package/lexador/simbolo.js +16 -16
- package/lexador/traducao/lexador-javascript.d.ts +28 -28
- package/lexador/traducao/lexador-javascript.js +58 -58
- package/package.json +5 -4
- package/quebras/index.d.ts +10 -10
- package/quebras/index.js +19 -19
- package/tipo-dados-elementar.d.ts +1 -1
- package/tipo-dados-elementar.js +2 -2
- package/tipos-de-dados/delegua.d.ts +18 -18
- package/tipos-de-dados/delegua.js +19 -19
- package/tipos-de-dados/listas-delegua.d.ts +6 -6
- package/tipos-de-dados/listas-delegua.js +7 -7
- package/tipos-de-dados/listas-primitivos.d.ts +5 -5
- package/tipos-de-dados/listas-primitivos.js +6 -6
- package/tipos-de-dados/primitivos.d.ts +16 -16
- package/tipos-de-dados/primitivos.js +17 -17
- package/tipos-de-simbolos/comum.d.ts +23 -23
- package/tipos-de-simbolos/comum.js +24 -24
- package/tipos-de-simbolos/delegua.d.ts +91 -91
- package/tipos-de-simbolos/delegua.js +92 -92
- package/tipos-de-simbolos/egua-classico.d.ts +75 -75
- package/tipos-de-simbolos/egua-classico.js +76 -76
- package/tipos-de-simbolos/guarani.d.ts +14 -14
- package/tipos-de-simbolos/guarani.js +15 -15
- package/tipos-de-simbolos/guarani.js.map +1 -1
- package/tipos-de-simbolos/microgramaticas/delegua.d.ts +46 -46
- package/tipos-de-simbolos/microgramaticas/delegua.js +47 -47
- package/tipos-de-simbolos/pitugues.d.ts +75 -75
- package/tipos-de-simbolos/pitugues.js +76 -76
- package/tipos-de-simbolos/portugol-ipt.d.ts +36 -36
- package/tipos-de-simbolos/portugol-ipt.js +37 -37
- package/tipos-de-simbolos/rantiaquin.d.ts +2 -2
- package/tipos-de-simbolos/rantiaquin.js +3 -3
- package/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
- package/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
- package/tradutores/dicionarios/index.d.ts +1 -1
- package/tradutores/dicionarios/index.js +17 -17
- package/tradutores/index.d.ts +6 -6
- package/tradutores/index.js +22 -22
- package/tradutores/python/python3-lexer.d.ts +152 -152
- package/tradutores/python/python3-lexer.js +1227 -1227
- package/tradutores/python/python3-lexer.js.map +1 -1
- package/tradutores/python/python3-listener.d.ts +964 -964
- package/tradutores/python/python3-listener.js +3 -3
- package/tradutores/python/python3-parser.d.ts +1342 -1342
- package/tradutores/python/python3-parser.js +11226 -11226
- package/tradutores/python/python3-parser.js.map +1 -1
- package/tradutores/python/python3-visitor.d.ts +619 -619
- package/tradutores/python/python3-visitor.js +3 -3
- package/tradutores/tradutor-assembly-x64.d.ts +19 -19
- package/tradutores/tradutor-assembly-x64.js +128 -128
- package/tradutores/tradutor-assembly-x64.js.map +1 -1
- package/tradutores/tradutor-assemblyscript.d.ts +91 -91
- package/tradutores/tradutor-assemblyscript.js +590 -590
- package/tradutores/tradutor-assemblyscript.js.map +1 -1
- package/tradutores/tradutor-javascript.d.ts +95 -95
- package/tradutores/tradutor-javascript.js +577 -577
- package/tradutores/tradutor-javascript.js.map +1 -1
- package/tradutores/tradutor-portugol-ipt.d.ts +21 -21
- package/tradutores/tradutor-portugol-ipt.js +60 -60
- package/tradutores/tradutor-portugol-ipt.js.map +1 -1
- package/tradutores/tradutor-python.d.ts +65 -65
- package/tradutores/tradutor-python.js +461 -461
- package/tradutores/tradutor-python.js.map +1 -1
- package/tradutores/tradutor-reverso-javascript.d.ts +50 -50
- package/tradutores/tradutor-reverso-javascript.js +392 -392
- package/tradutores/tradutor-reverso-javascript.js.map +1 -1
- package/tradutores/tradutor-reverso-python.d.ts +32 -32
- package/tradutores/tradutor-reverso-python.js +71 -71
- package/tradutores/tradutor-reverso-python.js.map +1 -1
- package/umd/delegua.js +26337 -26340
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
|
|
2
|
-
import { Chamavel } from './chamavel';
|
|
3
|
-
/**
|
|
4
|
-
* Classe de importação de classes de bibliotecas do JavaScript.
|
|
5
|
-
*/
|
|
6
|
-
export declare class ClassePadrao extends Chamavel {
|
|
7
|
-
nome: string;
|
|
8
|
-
funcaoDeClasse: {
|
|
9
|
-
new (...args: any[]): any;
|
|
10
|
-
};
|
|
11
|
-
constructor(nome: string, funcaoDeClasse: {
|
|
12
|
-
new (...args: any[]): any;
|
|
13
|
-
});
|
|
14
|
-
/**
|
|
15
|
-
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
16
|
-
* @returns {string} A representação da classe como texto.
|
|
17
|
-
*/
|
|
18
|
-
toString(): string;
|
|
19
|
-
/**
|
|
20
|
-
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
21
|
-
* @returns {string} A representação da classe como texto.
|
|
22
|
-
*/
|
|
23
|
-
paraTexto(): string;
|
|
24
|
-
/**
|
|
25
|
-
* Para o caso de uma classe padrão, instanciá-la é chamá-la
|
|
26
|
-
* como função tendo a palavra 'new' na frente.
|
|
27
|
-
* @param argumentos
|
|
28
|
-
* @param simbolo
|
|
29
|
-
*/
|
|
30
|
-
chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): any;
|
|
31
|
-
}
|
|
1
|
+
import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
|
|
2
|
+
import { Chamavel } from './chamavel';
|
|
3
|
+
/**
|
|
4
|
+
* Classe de importação de classes de bibliotecas do JavaScript.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ClassePadrao extends Chamavel {
|
|
7
|
+
nome: string;
|
|
8
|
+
funcaoDeClasse: {
|
|
9
|
+
new (...args: any[]): any;
|
|
10
|
+
};
|
|
11
|
+
constructor(nome: string, funcaoDeClasse: {
|
|
12
|
+
new (...args: any[]): any;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
16
|
+
* @returns {string} A representação da classe como texto.
|
|
17
|
+
*/
|
|
18
|
+
toString(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
21
|
+
* @returns {string} A representação da classe como texto.
|
|
22
|
+
*/
|
|
23
|
+
paraTexto(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Para o caso de uma classe padrão, instanciá-la é chamá-la
|
|
26
|
+
* como função tendo a palavra 'new' na frente.
|
|
27
|
+
* @param argumentos
|
|
28
|
+
* @param simbolo
|
|
29
|
+
*/
|
|
30
|
+
chamar(visitante: VisitanteComumInterface, argumentos: any[], simbolo: SimboloInterface): any;
|
|
31
|
+
}
|
|
32
32
|
//# sourceMappingURL=classe-padrao.d.ts.map
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClassePadrao = void 0;
|
|
4
|
-
const chamavel_1 = require("./chamavel");
|
|
5
|
-
/**
|
|
6
|
-
* Classe de importação de classes de bibliotecas do JavaScript.
|
|
7
|
-
*/
|
|
8
|
-
class ClassePadrao extends chamavel_1.Chamavel {
|
|
9
|
-
constructor(nome, funcaoDeClasse) {
|
|
10
|
-
super();
|
|
11
|
-
this.nome = nome;
|
|
12
|
-
this.funcaoDeClasse = funcaoDeClasse;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
16
|
-
* @returns {string} A representação da classe como texto.
|
|
17
|
-
*/
|
|
18
|
-
toString() {
|
|
19
|
-
return `<classe-padrão ${this.nome}>`;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
23
|
-
* @returns {string} A representação da classe como texto.
|
|
24
|
-
*/
|
|
25
|
-
paraTexto() {
|
|
26
|
-
return `<classe-padrão ${this.nome}>`;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Para o caso de uma classe padrão, instanciá-la é chamá-la
|
|
30
|
-
* como função tendo a palavra 'new' na frente.
|
|
31
|
-
* @param argumentos
|
|
32
|
-
* @param simbolo
|
|
33
|
-
*/
|
|
34
|
-
chamar(visitante, argumentos, simbolo) {
|
|
35
|
-
const novoObjeto = new this.funcaoDeClasse(argumentos);
|
|
36
|
-
return novoObjeto;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.ClassePadrao = ClassePadrao;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClassePadrao = void 0;
|
|
4
|
+
const chamavel_1 = require("./chamavel");
|
|
5
|
+
/**
|
|
6
|
+
* Classe de importação de classes de bibliotecas do JavaScript.
|
|
7
|
+
*/
|
|
8
|
+
class ClassePadrao extends chamavel_1.Chamavel {
|
|
9
|
+
constructor(nome, funcaoDeClasse) {
|
|
10
|
+
super();
|
|
11
|
+
this.nome = nome;
|
|
12
|
+
this.funcaoDeClasse = funcaoDeClasse;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
16
|
+
* @returns {string} A representação da classe como texto.
|
|
17
|
+
*/
|
|
18
|
+
toString() {
|
|
19
|
+
return `<classe-padrão ${this.nome}>`;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
23
|
+
* @returns {string} A representação da classe como texto.
|
|
24
|
+
*/
|
|
25
|
+
paraTexto() {
|
|
26
|
+
return `<classe-padrão ${this.nome}>`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Para o caso de uma classe padrão, instanciá-la é chamá-la
|
|
30
|
+
* como função tendo a palavra 'new' na frente.
|
|
31
|
+
* @param argumentos
|
|
32
|
+
* @param simbolo
|
|
33
|
+
*/
|
|
34
|
+
chamar(visitante, argumentos, simbolo) {
|
|
35
|
+
const novoObjeto = new this.funcaoDeClasse(argumentos);
|
|
36
|
+
return novoObjeto;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.ClassePadrao = ClassePadrao;
|
|
40
40
|
//# sourceMappingURL=classe-padrao.js.map
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Chamavel } from './chamavel';
|
|
2
|
-
import { VisitanteComumInterface } from '../interfaces';
|
|
3
|
-
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
|
|
4
|
-
import { FuncaoConstruto } from '../construtos';
|
|
5
|
-
import { ArgumentoInterface } from '../interpretador/argumento-interface';
|
|
6
|
-
/**
|
|
7
|
-
* Qualquer função declarada em código é uma DeleguaFuncao.
|
|
8
|
-
*/
|
|
9
|
-
export declare class DeleguaFuncao extends Chamavel {
|
|
10
|
-
nome: string;
|
|
11
|
-
declaracao: FuncaoConstruto;
|
|
12
|
-
eInicializador: boolean;
|
|
13
|
-
instancia: ObjetoDeleguaClasse;
|
|
14
|
-
constructor(nome: string, declaracao: FuncaoConstruto, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
|
|
15
|
-
aridade(): number;
|
|
16
|
-
/**
|
|
17
|
-
* Método utilizado por Delégua para representar esta função quando impressa.
|
|
18
|
-
* @returns {string} A representação da função como texto.
|
|
19
|
-
*/
|
|
20
|
-
paraTexto(): string;
|
|
21
|
-
/**
|
|
22
|
-
* Método utilizado pelo VSCode para inspecionar esta função em depuração.
|
|
23
|
-
* @returns {string} A representação da função como texto.
|
|
24
|
-
*/
|
|
25
|
-
toString(): string;
|
|
26
|
-
private resolverParametrosEspalhados;
|
|
27
|
-
chamar(visitante: VisitanteComumInterface, argumentos: Array<ArgumentoInterface>): Promise<any>;
|
|
28
|
-
funcaoPorMetodoDeClasse(instancia: ObjetoDeleguaClasse): DeleguaFuncao;
|
|
29
|
-
}
|
|
1
|
+
import { Chamavel } from './chamavel';
|
|
2
|
+
import { VisitanteComumInterface } from '../interfaces';
|
|
3
|
+
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
|
|
4
|
+
import { FuncaoConstruto } from '../construtos';
|
|
5
|
+
import { ArgumentoInterface } from '../interpretador/argumento-interface';
|
|
6
|
+
/**
|
|
7
|
+
* Qualquer função declarada em código é uma DeleguaFuncao.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DeleguaFuncao extends Chamavel {
|
|
10
|
+
nome: string;
|
|
11
|
+
declaracao: FuncaoConstruto;
|
|
12
|
+
eInicializador: boolean;
|
|
13
|
+
instancia: ObjetoDeleguaClasse;
|
|
14
|
+
constructor(nome: string, declaracao: FuncaoConstruto, instancia?: ObjetoDeleguaClasse, eInicializador?: boolean);
|
|
15
|
+
aridade(): number;
|
|
16
|
+
/**
|
|
17
|
+
* Método utilizado por Delégua para representar esta função quando impressa.
|
|
18
|
+
* @returns {string} A representação da função como texto.
|
|
19
|
+
*/
|
|
20
|
+
paraTexto(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Método utilizado pelo VSCode para inspecionar esta função em depuração.
|
|
23
|
+
* @returns {string} A representação da função como texto.
|
|
24
|
+
*/
|
|
25
|
+
toString(): string;
|
|
26
|
+
private resolverParametrosEspalhados;
|
|
27
|
+
chamar(visitante: VisitanteComumInterface, argumentos: Array<ArgumentoInterface>): Promise<any>;
|
|
28
|
+
funcaoPorMetodoDeClasse(instancia: ObjetoDeleguaClasse): DeleguaFuncao;
|
|
29
|
+
}
|
|
30
30
|
//# sourceMappingURL=delegua-funcao.d.ts.map
|
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeleguaFuncao = void 0;
|
|
4
|
-
const chamavel_1 = require("./chamavel");
|
|
5
|
-
const espaco_variaveis_1 = require("../espaco-variaveis");
|
|
6
|
-
const quebras_1 = require("../quebras");
|
|
7
|
-
const inferenciador_1 = require("../interpretador/inferenciador");
|
|
8
|
-
const declaracoes_1 = require("../declaracoes");
|
|
9
|
-
/**
|
|
10
|
-
* Qualquer função declarada em código é uma DeleguaFuncao.
|
|
11
|
-
*/
|
|
12
|
-
class DeleguaFuncao extends chamavel_1.Chamavel {
|
|
13
|
-
constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
|
|
14
|
-
super();
|
|
15
|
-
this.nome = nome;
|
|
16
|
-
this.declaracao = declaracao;
|
|
17
|
-
this.instancia = instancia;
|
|
18
|
-
this.eInicializador = eInicializador;
|
|
19
|
-
}
|
|
20
|
-
aridade() {
|
|
21
|
-
var _a, _b;
|
|
22
|
-
return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Método utilizado por Delégua para representar esta função quando impressa.
|
|
26
|
-
* @returns {string} A representação da função como texto.
|
|
27
|
-
*/
|
|
28
|
-
paraTexto() {
|
|
29
|
-
var _a;
|
|
30
|
-
if (!this.nome)
|
|
31
|
-
return '<função>';
|
|
32
|
-
let resultado = `<função ${this.nome}`;
|
|
33
|
-
let parametros = '';
|
|
34
|
-
let retorno = '';
|
|
35
|
-
for (let parametro of this.declaracao.parametros) {
|
|
36
|
-
parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
|
|
37
|
-
}
|
|
38
|
-
if (this.declaracao.parametros.length > 0) {
|
|
39
|
-
parametros = `argumentos=<${parametros.slice(0, -2)}>`;
|
|
40
|
-
}
|
|
41
|
-
const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
|
|
42
|
-
if (retorna instanceof declaracoes_1.Retorna) {
|
|
43
|
-
const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
|
|
44
|
-
retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
|
|
45
|
-
}
|
|
46
|
-
if (parametros) {
|
|
47
|
-
resultado += ` ${parametros}`;
|
|
48
|
-
}
|
|
49
|
-
if (retorno) {
|
|
50
|
-
resultado += ` ${retorno}`;
|
|
51
|
-
}
|
|
52
|
-
resultado += '>';
|
|
53
|
-
return resultado;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Método utilizado pelo VSCode para inspecionar esta função em depuração.
|
|
57
|
-
* @returns {string} A representação da função como texto.
|
|
58
|
-
*/
|
|
59
|
-
toString() {
|
|
60
|
-
return this.paraTexto();
|
|
61
|
-
}
|
|
62
|
-
resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
|
|
63
|
-
const argumentosResolvidos = [];
|
|
64
|
-
for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
|
|
65
|
-
const argumentoAtual = argumentos[i];
|
|
66
|
-
argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
|
|
67
|
-
}
|
|
68
|
-
return argumentosResolvidos;
|
|
69
|
-
}
|
|
70
|
-
async chamar(visitante, argumentos) {
|
|
71
|
-
const ambiente = new espaco_variaveis_1.EspacoVariaveis();
|
|
72
|
-
const parametros = this.declaracao.parametros || [];
|
|
73
|
-
for (let i = 0; i < parametros.length; i++) {
|
|
74
|
-
const parametro = parametros[i];
|
|
75
|
-
const nome = parametro['nome'].lexema;
|
|
76
|
-
if (parametro.abrangencia === 'multiplo') {
|
|
77
|
-
const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
|
|
78
|
-
// TODO: Verificar se `imutavel` é `true` aqui mesmo.
|
|
79
|
-
ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
let argumento = argumentos[i];
|
|
83
|
-
if (argumentos[i] === null) {
|
|
84
|
-
argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
|
|
85
|
-
}
|
|
86
|
-
ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (this.instancia !== undefined) {
|
|
90
|
-
ambiente.valores['isto'] = {
|
|
91
|
-
valor: this.instancia,
|
|
92
|
-
tipo: 'objeto',
|
|
93
|
-
imutavel: false,
|
|
94
|
-
};
|
|
95
|
-
// TODO: Apenass Potigol usa isso até então.
|
|
96
|
-
// Estudar mover isso para o dialeto.
|
|
97
|
-
if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis &&
|
|
98
|
-
this.nome !== 'construtor') {
|
|
99
|
-
for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
|
|
100
|
-
ambiente.valores[nomeCampo] = {
|
|
101
|
-
valor: valorCampo,
|
|
102
|
-
tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
|
|
103
|
-
imutavel: false,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// TODO: Repensar essa dinâmica para análise semântica.
|
|
109
|
-
const interpretador = visitante;
|
|
110
|
-
interpretador.proximoEscopo = 'funcao';
|
|
111
|
-
const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
|
|
112
|
-
const referencias = this.declaracao.parametros
|
|
113
|
-
.map((p, indice) => {
|
|
114
|
-
if (p.referencia) {
|
|
115
|
-
return {
|
|
116
|
-
indice: indice,
|
|
117
|
-
parametro: p,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
})
|
|
121
|
-
.filter((r) => r);
|
|
122
|
-
const pilha = interpretador.pilhaEscoposExecucao;
|
|
123
|
-
for (let referencia of referencias) {
|
|
124
|
-
let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
|
|
125
|
-
pilha.atribuirVariavel({
|
|
126
|
-
lexema: argumentos[referencia.indice].nome,
|
|
127
|
-
}, argumentoReferencia.valor);
|
|
128
|
-
}
|
|
129
|
-
if (retornoBloco instanceof quebras_1.RetornoQuebra) {
|
|
130
|
-
return retornoBloco.valor;
|
|
131
|
-
}
|
|
132
|
-
if (this.eInicializador) {
|
|
133
|
-
return this.instancia;
|
|
134
|
-
}
|
|
135
|
-
return retornoBloco;
|
|
136
|
-
}
|
|
137
|
-
funcaoPorMetodoDeClasse(instancia) {
|
|
138
|
-
return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.DeleguaFuncao = DeleguaFuncao;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleguaFuncao = void 0;
|
|
4
|
+
const chamavel_1 = require("./chamavel");
|
|
5
|
+
const espaco_variaveis_1 = require("../espaco-variaveis");
|
|
6
|
+
const quebras_1 = require("../quebras");
|
|
7
|
+
const inferenciador_1 = require("../interpretador/inferenciador");
|
|
8
|
+
const declaracoes_1 = require("../declaracoes");
|
|
9
|
+
/**
|
|
10
|
+
* Qualquer função declarada em código é uma DeleguaFuncao.
|
|
11
|
+
*/
|
|
12
|
+
class DeleguaFuncao extends chamavel_1.Chamavel {
|
|
13
|
+
constructor(nome, declaracao, instancia = undefined, eInicializador = false) {
|
|
14
|
+
super();
|
|
15
|
+
this.nome = nome;
|
|
16
|
+
this.declaracao = declaracao;
|
|
17
|
+
this.instancia = instancia;
|
|
18
|
+
this.eInicializador = eInicializador;
|
|
19
|
+
}
|
|
20
|
+
aridade() {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
return ((_b = (_a = this.declaracao) === null || _a === void 0 ? void 0 : _a.parametros) === null || _b === void 0 ? void 0 : _b.length) || 0;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Método utilizado por Delégua para representar esta função quando impressa.
|
|
26
|
+
* @returns {string} A representação da função como texto.
|
|
27
|
+
*/
|
|
28
|
+
paraTexto() {
|
|
29
|
+
var _a;
|
|
30
|
+
if (!this.nome)
|
|
31
|
+
return '<função>';
|
|
32
|
+
let resultado = `<função ${this.nome}`;
|
|
33
|
+
let parametros = '';
|
|
34
|
+
let retorno = '';
|
|
35
|
+
for (let parametro of this.declaracao.parametros) {
|
|
36
|
+
parametros += `${parametro.nome.lexema}${parametro.tipoDado && parametro.tipoDado.tipo ? `: ${parametro.tipoDado.tipo}, ` : ', '}`;
|
|
37
|
+
}
|
|
38
|
+
if (this.declaracao.parametros.length > 0) {
|
|
39
|
+
parametros = `argumentos=<${parametros.slice(0, -2)}>`;
|
|
40
|
+
}
|
|
41
|
+
const retorna = this.declaracao.corpo.filter((c) => c instanceof declaracoes_1.Retorna)[0];
|
|
42
|
+
if (retorna instanceof declaracoes_1.Retorna) {
|
|
43
|
+
const valor = (_a = retorna === null || retorna === void 0 ? void 0 : retorna.valor) === null || _a === void 0 ? void 0 : _a.valor;
|
|
44
|
+
retorno = `retorna=<${typeof valor === 'number' ? valor : `'${valor}'`}>`;
|
|
45
|
+
}
|
|
46
|
+
if (parametros) {
|
|
47
|
+
resultado += ` ${parametros}`;
|
|
48
|
+
}
|
|
49
|
+
if (retorno) {
|
|
50
|
+
resultado += ` ${retorno}`;
|
|
51
|
+
}
|
|
52
|
+
resultado += '>';
|
|
53
|
+
return resultado;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Método utilizado pelo VSCode para inspecionar esta função em depuração.
|
|
57
|
+
* @returns {string} A representação da função como texto.
|
|
58
|
+
*/
|
|
59
|
+
toString() {
|
|
60
|
+
return this.paraTexto();
|
|
61
|
+
}
|
|
62
|
+
resolverParametrosEspalhados(argumentos, indiceArgumentoAtual) {
|
|
63
|
+
const argumentosResolvidos = [];
|
|
64
|
+
for (let i = indiceArgumentoAtual; i < argumentos.length; i++) {
|
|
65
|
+
const argumentoAtual = argumentos[i];
|
|
66
|
+
argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual);
|
|
67
|
+
}
|
|
68
|
+
return argumentosResolvidos;
|
|
69
|
+
}
|
|
70
|
+
async chamar(visitante, argumentos) {
|
|
71
|
+
const ambiente = new espaco_variaveis_1.EspacoVariaveis();
|
|
72
|
+
const parametros = this.declaracao.parametros || [];
|
|
73
|
+
for (let i = 0; i < parametros.length; i++) {
|
|
74
|
+
const parametro = parametros[i];
|
|
75
|
+
const nome = parametro['nome'].lexema;
|
|
76
|
+
if (parametro.abrangencia === 'multiplo') {
|
|
77
|
+
const argumentosResolvidos = this.resolverParametrosEspalhados(argumentos, i);
|
|
78
|
+
// TODO: Verificar se `imutavel` é `true` aqui mesmo.
|
|
79
|
+
ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true };
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
let argumento = argumentos[i];
|
|
83
|
+
if (argumentos[i] === null) {
|
|
84
|
+
argumento = parametro['padrao'] ? parametro['padrao'].valor : null;
|
|
85
|
+
}
|
|
86
|
+
ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (this.instancia !== undefined) {
|
|
90
|
+
ambiente.valores['isto'] = {
|
|
91
|
+
valor: this.instancia,
|
|
92
|
+
tipo: 'objeto',
|
|
93
|
+
imutavel: false,
|
|
94
|
+
};
|
|
95
|
+
// TODO: Apenass Potigol usa isso até então.
|
|
96
|
+
// Estudar mover isso para o dialeto.
|
|
97
|
+
if (this.instancia.classe.dialetoRequerExpansaoPropriedadesEspacoVariaveis &&
|
|
98
|
+
this.nome !== 'construtor') {
|
|
99
|
+
for (let [nomeCampo, valorCampo] of Object.entries(this.instancia.propriedades)) {
|
|
100
|
+
ambiente.valores[nomeCampo] = {
|
|
101
|
+
valor: valorCampo,
|
|
102
|
+
tipo: (0, inferenciador_1.inferirTipoVariavel)(valorCampo),
|
|
103
|
+
imutavel: false,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// TODO: Repensar essa dinâmica para análise semântica.
|
|
109
|
+
const interpretador = visitante;
|
|
110
|
+
interpretador.proximoEscopo = 'funcao';
|
|
111
|
+
const retornoBloco = await interpretador.executarBloco(this.declaracao.corpo, ambiente);
|
|
112
|
+
const referencias = this.declaracao.parametros
|
|
113
|
+
.map((p, indice) => {
|
|
114
|
+
if (p.referencia) {
|
|
115
|
+
return {
|
|
116
|
+
indice: indice,
|
|
117
|
+
parametro: p,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
})
|
|
121
|
+
.filter((r) => r);
|
|
122
|
+
const pilha = interpretador.pilhaEscoposExecucao;
|
|
123
|
+
for (let referencia of referencias) {
|
|
124
|
+
let argumentoReferencia = ambiente.valores[referencia.parametro.nome.lexema];
|
|
125
|
+
pilha.atribuirVariavel({
|
|
126
|
+
lexema: argumentos[referencia.indice].nome,
|
|
127
|
+
}, argumentoReferencia.valor);
|
|
128
|
+
}
|
|
129
|
+
if (retornoBloco instanceof quebras_1.RetornoQuebra) {
|
|
130
|
+
return retornoBloco.valor;
|
|
131
|
+
}
|
|
132
|
+
if (this.eInicializador) {
|
|
133
|
+
return this.instancia;
|
|
134
|
+
}
|
|
135
|
+
return retornoBloco;
|
|
136
|
+
}
|
|
137
|
+
funcaoPorMetodoDeClasse(instancia) {
|
|
138
|
+
return new DeleguaFuncao(this.nome, this.declaracao, instancia, this.eInicializador);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.DeleguaFuncao = DeleguaFuncao;
|
|
142
142
|
//# sourceMappingURL=delegua-funcao.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,0DAAsD;AAGtD,wCAA2C;AAK3C,kEAAqE;AACrE,gDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAc,SAAQ,mBAAQ;IAMvC,YACI,IAAY,EACZ,UAA2B,EAC3B,YAAiC,SAAS,EAC1C,cAAc,GAAG,KAAK;QAEtB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,OAAO;;QACH,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,SAAS;;QACL,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,UAAU,CAAC;QAClC,IAAI,SAAS,GAAG,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../fontes/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { PropriedadeClasse } from '../declaracoes';
|
|
2
|
-
import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
|
|
3
|
-
import { Chamavel } from './chamavel';
|
|
4
|
-
import { DeleguaFuncao } from './delegua-funcao';
|
|
5
|
-
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
|
|
6
|
-
/**
|
|
7
|
-
* Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
|
|
8
|
-
* vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
|
|
9
|
-
* de classe é criada, a referência para a instância é implementada aqui.
|
|
10
|
-
*/
|
|
11
|
-
export declare class DescritorTipoClasse extends Chamavel {
|
|
12
|
-
simboloOriginal: SimboloInterface;
|
|
13
|
-
superClasse: DescritorTipoClasse;
|
|
14
|
-
metodos: {
|
|
15
|
-
[nome: string]: DeleguaFuncao;
|
|
16
|
-
};
|
|
17
|
-
propriedades: PropriedadeClasse[];
|
|
18
|
-
dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
|
|
19
|
-
dialetoRequerDeclaracaoPropriedades: boolean;
|
|
20
|
-
constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
|
|
21
|
-
[nome: string]: DeleguaFuncao;
|
|
22
|
-
}, propriedades?: PropriedadeClasse[]);
|
|
23
|
-
encontrarMetodo(nome: string): DeleguaFuncao;
|
|
24
|
-
encontrarPropriedade(nome: string): PropriedadeClasse;
|
|
25
|
-
/**
|
|
26
|
-
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
27
|
-
* @returns {string} A representação da classe como texto.
|
|
28
|
-
*/
|
|
29
|
-
paraTexto(): string;
|
|
30
|
-
/**
|
|
31
|
-
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
32
|
-
* @returns {string} A representação da classe como texto.
|
|
33
|
-
*/
|
|
34
|
-
toString(): string;
|
|
35
|
-
aridade(): number;
|
|
36
|
-
chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
|
|
37
|
-
}
|
|
1
|
+
import { PropriedadeClasse } from '../declaracoes';
|
|
2
|
+
import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
|
|
3
|
+
import { Chamavel } from './chamavel';
|
|
4
|
+
import { DeleguaFuncao } from './delegua-funcao';
|
|
5
|
+
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
|
|
6
|
+
/**
|
|
7
|
+
* Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
|
|
8
|
+
* vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
|
|
9
|
+
* de classe é criada, a referência para a instância é implementada aqui.
|
|
10
|
+
*/
|
|
11
|
+
export declare class DescritorTipoClasse extends Chamavel {
|
|
12
|
+
simboloOriginal: SimboloInterface;
|
|
13
|
+
superClasse: DescritorTipoClasse;
|
|
14
|
+
metodos: {
|
|
15
|
+
[nome: string]: DeleguaFuncao;
|
|
16
|
+
};
|
|
17
|
+
propriedades: PropriedadeClasse[];
|
|
18
|
+
dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
|
|
19
|
+
dialetoRequerDeclaracaoPropriedades: boolean;
|
|
20
|
+
constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
|
|
21
|
+
[nome: string]: DeleguaFuncao;
|
|
22
|
+
}, propriedades?: PropriedadeClasse[]);
|
|
23
|
+
encontrarMetodo(nome: string): DeleguaFuncao;
|
|
24
|
+
encontrarPropriedade(nome: string): PropriedadeClasse;
|
|
25
|
+
/**
|
|
26
|
+
* Método utilizado por Delégua para representar esta classe quando impressa.
|
|
27
|
+
* @returns {string} A representação da classe como texto.
|
|
28
|
+
*/
|
|
29
|
+
paraTexto(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
|
|
32
|
+
* @returns {string} A representação da classe como texto.
|
|
33
|
+
*/
|
|
34
|
+
toString(): string;
|
|
35
|
+
aridade(): number;
|
|
36
|
+
chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
|
|
37
|
+
}
|
|
38
38
|
//# sourceMappingURL=descritor-tipo-classe.d.ts.map
|