@designliquido/delegua 0.21.1 → 0.21.3
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/bin/package.json +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.d.ts +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js +1 -1
- package/fontes/avaliador-sintatico/dialetos/index.js.map +1 -1
- package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.d.ts +123 -0
- package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js +613 -0
- package/fontes/avaliador-sintatico/dialetos/potigol/avaliador-sintatico-potigol.js.map +1 -0
- package/fontes/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.d.ts +10 -0
- package/fontes/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js +73 -0
- package/fontes/avaliador-sintatico/dialetos/potigol/micro-avaliador-sintatico-potigol.js.map +1 -0
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico-base.d.ts +27 -0
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico-base.js +117 -0
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -0
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico.d.ts +2 -5
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico.js +6 -4
- package/fontes/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
- package/fontes/bibliotecas/dialetos/potigol/biblioteca-global.d.ts +3 -0
- package/fontes/bibliotecas/dialetos/potigol/biblioteca-global.js +44 -0
- package/fontes/bibliotecas/dialetos/potigol/biblioteca-global.js.map +1 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-numero.d.ts +12 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-numero.js +13 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-numero.js.map +1 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-texto.d.ts +28 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-texto.js +37 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-texto.js.map +1 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-vetor.d.ts +25 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-vetor.js +48 -0
- package/fontes/bibliotecas/dialetos/potigol/primitivas-vetor.js.map +1 -0
- package/fontes/bibliotecas/primitivas-texto.d.ts +1 -0
- package/fontes/bibliotecas/primitivas-texto.js +1 -0
- package/fontes/bibliotecas/primitivas-texto.js.map +1 -1
- package/fontes/construtos/constante-ou-variavel.d.ts +19 -0
- package/fontes/construtos/constante-ou-variavel.js +26 -0
- package/fontes/construtos/constante-ou-variavel.js.map +1 -0
- package/fontes/construtos/index.d.ts +1 -0
- package/fontes/construtos/index.js +1 -0
- package/fontes/construtos/index.js.map +1 -1
- package/fontes/construtos/tuplas/deceto.d.ts +18 -0
- package/fontes/construtos/tuplas/deceto.js +33 -0
- package/fontes/construtos/tuplas/deceto.js.map +1 -0
- package/fontes/construtos/tuplas/dupla.d.ts +6 -0
- package/fontes/construtos/tuplas/dupla.js +13 -0
- package/fontes/construtos/tuplas/dupla.js.map +1 -0
- package/fontes/construtos/tuplas/index.d.ts +13 -0
- package/fontes/construtos/tuplas/index.js +68 -0
- package/fontes/construtos/tuplas/index.js.map +1 -0
- package/fontes/construtos/tuplas/noneto.d.ts +15 -0
- package/fontes/construtos/tuplas/noneto.js +26 -0
- package/fontes/construtos/tuplas/noneto.js.map +1 -0
- package/fontes/construtos/tuplas/octeto.d.ts +14 -0
- package/fontes/construtos/tuplas/octeto.js +25 -0
- package/fontes/construtos/tuplas/octeto.js.map +1 -0
- package/fontes/construtos/tuplas/quarteto.d.ts +8 -0
- package/fontes/construtos/tuplas/quarteto.js +15 -0
- package/fontes/construtos/tuplas/quarteto.js.map +1 -0
- package/fontes/construtos/tuplas/quinteto.d.ts +9 -0
- package/fontes/construtos/tuplas/quinteto.js +16 -0
- package/fontes/construtos/tuplas/quinteto.js.map +1 -0
- package/fontes/construtos/tuplas/septeto.d.ts +13 -0
- package/fontes/construtos/tuplas/septeto.js +24 -0
- package/fontes/construtos/tuplas/septeto.js.map +1 -0
- package/fontes/construtos/tuplas/sexteto.d.ts +10 -0
- package/fontes/construtos/tuplas/sexteto.js +17 -0
- package/fontes/construtos/tuplas/sexteto.js.map +1 -0
- package/fontes/construtos/tuplas/trio.d.ts +7 -0
- package/fontes/construtos/tuplas/trio.js +14 -0
- package/fontes/construtos/tuplas/trio.js.map +1 -0
- package/fontes/construtos/tuplas/tupla.d.ts +8 -0
- package/fontes/construtos/tuplas/tupla.js +10 -0
- package/fontes/construtos/tuplas/tupla.js.map +1 -0
- package/fontes/declaracoes/classe.d.ts +5 -2
- package/fontes/declaracoes/classe.js +2 -1
- package/fontes/declaracoes/classe.js.map +1 -1
- package/fontes/declaracoes/index.d.ts +1 -0
- package/fontes/declaracoes/index.js +1 -0
- package/fontes/declaracoes/index.js.map +1 -1
- package/fontes/declaracoes/propriedade-classe.d.ts +8 -0
- package/fontes/declaracoes/propriedade-classe.js +16 -0
- package/fontes/declaracoes/propriedade-classe.js.map +1 -0
- package/fontes/estruturas/chamavel.d.ts +1 -1
- package/fontes/estruturas/chamavel.js +2 -2
- package/fontes/estruturas/chamavel.js.map +1 -1
- package/fontes/estruturas/delegua-classe.d.ts +5 -2
- package/fontes/estruturas/delegua-classe.js +16 -5
- package/fontes/estruturas/delegua-classe.js.map +1 -1
- package/fontes/estruturas/delegua-funcao.d.ts +1 -1
- package/fontes/estruturas/delegua-funcao.js +1 -1
- package/fontes/estruturas/delegua-funcao.js.map +1 -1
- package/fontes/estruturas/objeto-delegua-classe.js +1 -1
- package/fontes/estruturas/objeto-delegua-classe.js.map +1 -1
- package/fontes/interpretador/dialetos/index.d.ts +1 -0
- package/fontes/interpretador/dialetos/index.js +1 -0
- package/fontes/interpretador/dialetos/index.js.map +1 -1
- package/fontes/interpretador/dialetos/potigol/comum.d.ts +0 -0
- package/fontes/interpretador/dialetos/potigol/comum.js +1 -0
- package/fontes/interpretador/dialetos/potigol/comum.js.map +1 -0
- package/fontes/interpretador/dialetos/potigol/inferenciador.d.ts +1 -0
- package/fontes/interpretador/dialetos/potigol/inferenciador.js +32 -0
- package/fontes/interpretador/dialetos/potigol/inferenciador.js.map +1 -0
- package/fontes/interpretador/dialetos/potigol/interpretador-potigol.d.ts +10 -0
- package/fontes/interpretador/dialetos/potigol/interpretador-potigol.js +78 -0
- package/fontes/interpretador/dialetos/potigol/interpretador-potigol.js.map +1 -0
- package/fontes/interpretador/interpretador-base.js +17 -15
- package/fontes/interpretador/interpretador-base.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-potigol.d.ts +5 -0
- package/fontes/lexador/dialetos/lexador-potigol.js +83 -42
- package/fontes/lexador/dialetos/lexador-potigol.js.map +1 -1
- package/fontes/lexador/dialetos/lexador-visualg.js +1 -1
- package/fontes/lexador/dialetos/palavras-reservadas/potigol.d.ts +32 -5
- package/fontes/lexador/dialetos/palavras-reservadas/potigol.js +33 -6
- package/fontes/lexador/dialetos/palavras-reservadas/potigol.js.map +1 -1
- package/fontes/tipos-de-simbolos/potigol.d.ts +33 -3
- package/fontes/tipos-de-simbolos/potigol.js +33 -3
- package/fontes/tipos-de-simbolos/potigol.js.map +1 -1
- package/fontes/tradutores/tradutor-python.d.ts +1 -1
- package/fontes/tradutores/tradutor-python.js +21 -9
- package/fontes/tradutores/tradutor-python.js.map +1 -1
- package/package.json +1 -1
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-potigol.d.ts +0 -20
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-potigol.js +0 -96
- package/fontes/avaliador-sintatico/dialetos/avaliador-sintatico-potigol.js.map +0 -1
package/bin/package.json
CHANGED
|
@@ -96,7 +96,7 @@ class AvaliadorSintaticoBase {
|
|
|
96
96
|
let expressao = this.exponenciacao();
|
|
97
97
|
while (this.verificarSeSimboloAtualEIgualA(comum_1.default.DIVISAO, comum_1.default.DIVISAO_INTEIRA, comum_1.default.MULTIPLICACAO, comum_1.default.MODULO)) {
|
|
98
98
|
const operador = this.simbolos[this.atual - 1];
|
|
99
|
-
const direito = this.
|
|
99
|
+
const direito = this.exponenciacao();
|
|
100
100
|
expressao = new construtos_1.Binario(this.hashArquivo, expressao, operador, direito);
|
|
101
101
|
}
|
|
102
102
|
return expressao;
|
|
@@ -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":";;;;;;AAAA,8CAA6F;AAC7F,gDAmBwB;AAGxB,yEAAoE;AAEpE,uEAAyD;AAEzD;;;;GAIG;AACH,MAAsB,sBAAsB;IAQxC,sBAAsB;QAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,cAAsB;QACzC,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,OAAyB,EAAE,cAAsB;QAClD,MAAM,OAAO,GAAG,IAAI,iDAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,yBAAyB,CAAC,IAAY;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,KAAK,CAAC;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;IACnD,CAAC;IAED,2BAA2B,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;IACvD,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/C,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,8BAA8B,CAAC,GAAG,UAAoB;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE;gBAC3C,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,cAAc;QACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAID,gBAAgB,CAAC,eAA0B;QACvC,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACpE,GAAG;gBACC,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,wCAAwC,CAAC,CAAC;iBACxF;gBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aACrC,QAAQ,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;SAC1E;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;QAE9G,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAID,MAAM;QAEF,IAAI,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE;YACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,mBAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACnE;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACT,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW;QACP,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAErC,OACI,IAAI,CAAC,8BAA8B,CAC/B,eAAe,CAAC,OAAO,EACvB,eAAe,CAAC,eAAe,EAC/B,eAAe,CAAC,aAAa,EAC7B,eAAe,CAAC,MAAM,CACzB,EACH;YACE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnC,OAAO,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE;YAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,QAAQ;QACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI;QACA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ;QACJ,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,OACI,IAAI,CAAC,8BAA8B,CAC/B,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,WAAW,CAC9B,EACH;YACE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,mBAAmB;QACf,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE;YACvH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,SAAS,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,EAAE;QACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,CAAC;QACG,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3C,SAAS,GAAG,IAAI,mBAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC1E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,EAAE;QACE,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QAEzB,OAAO,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YACzB,SAAS,GAAG,IAAI,mBAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC1E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAOD,SAAS;QACL,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAID,mBAAmB;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAUD,gBAAgB;QACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAID,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,eAAe;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAID,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,IAAY;QACf,MAAM,aAAa,GAAqB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAExE,MAAM,UAAU,GAAqB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,iBAAiB,IAAI,GAAG,CAAC,CAAC;QAC5G,OAAO,IAAI,8BAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAID,kBAAkB;QACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAES,qBAAqB;QAC3B,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,GAAG;YACC,IAAI,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,uCAAuC,CAAC,CAAC;aACjF;YAED,MAAM,SAAS,GAAgC,EAAE,CAAC;YAElD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,aAAa,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACnD,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC;aACtC;iBAAM;gBACH,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;aACpC;YAED,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,EAAE,6BAA6B,CAAC,CAAC;YAE7F,IAAI,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC5D,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC3C;YAED,UAAU,CAAC,IAAI,CAAC,SAA+B,CAAC,CAAC;YAEjD,IAAI,SAAS,CAAC,WAAW,KAAK,UAAU;gBAAE,MAAM;SACnD,QAAQ,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACvE,OAAO,UAAU,CAAC;IACtB,CAAC;CAKJ;AAxTD,wDAwTC"}
|
|
@@ -2,7 +2,7 @@ export * from './avaliador-sintatico-birl';
|
|
|
2
2
|
export * from './avaliador-sintatico-egua-classico';
|
|
3
3
|
export * from './avaliador-sintatico-eguap';
|
|
4
4
|
export * from './avaliador-sintatico-mapler';
|
|
5
|
-
export * from './avaliador-sintatico-potigol';
|
|
5
|
+
export * from './potigol/avaliador-sintatico-potigol';
|
|
6
6
|
export * from './avaliador-sintatico-portugol-ipt';
|
|
7
7
|
export * from './avaliador-sintatico-portugol-studio';
|
|
8
8
|
export * from './avaliador-sintatico-visualg';
|
|
@@ -18,7 +18,7 @@ __exportStar(require("./avaliador-sintatico-birl"), exports);
|
|
|
18
18
|
__exportStar(require("./avaliador-sintatico-egua-classico"), exports);
|
|
19
19
|
__exportStar(require("./avaliador-sintatico-eguap"), exports);
|
|
20
20
|
__exportStar(require("./avaliador-sintatico-mapler"), exports);
|
|
21
|
-
__exportStar(require("./avaliador-sintatico-potigol"), exports);
|
|
21
|
+
__exportStar(require("./potigol/avaliador-sintatico-potigol"), exports);
|
|
22
22
|
__exportStar(require("./avaliador-sintatico-portugol-ipt"), exports);
|
|
23
23
|
__exportStar(require("./avaliador-sintatico-portugol-studio"), exports);
|
|
24
24
|
__exportStar(require("./avaliador-sintatico-visualg"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,sEAAoD;AACpD,8DAA4C;AAC5C,+DAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fontes/avaliador-sintatico/dialetos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,sEAAoD;AACpD,8DAA4C;AAC5C,+DAA6C;AAC7C,wEAAsD;AACtD,qEAAmD;AACnD,wEAAsD;AACtD,gEAA8C"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Constante, ConstanteOuVariavel, Construto, FuncaoConstruto } from '../../../construtos';
|
|
2
|
+
import { Escreva, Declaracao, Se, Enquanto, Para, Escolha, Fazer, EscrevaMesmaLinha, Const, Var, FuncaoDeclaracao, Classe } from '../../../declaracoes';
|
|
3
|
+
import { RetornoLexador, RetornoAvaliadorSintatico } from '../../../interfaces/retornos';
|
|
4
|
+
import { AvaliadorSintaticoBase } from '../../avaliador-sintatico-base';
|
|
5
|
+
import { ParametroInterface, SimboloInterface } from '../../../interfaces';
|
|
6
|
+
import { RetornoDeclaracao } from '../../retornos';
|
|
7
|
+
import { MicroAvaliadorSintaticoPotigol } from './micro-avaliador-sintatico-potigol';
|
|
8
|
+
/**
|
|
9
|
+
* TODO: Pensar numa forma de avaliar múltiplas constantes sem
|
|
10
|
+
* transformar o retorno de `primario()` em um vetor.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AvaliadorSintaticoPotigol extends AvaliadorSintaticoBase {
|
|
13
|
+
microAvaliadorSintatico: MicroAvaliadorSintaticoPotigol;
|
|
14
|
+
tiposPotigolParaDelegua: {
|
|
15
|
+
Caractere: string;
|
|
16
|
+
Inteiro: string;
|
|
17
|
+
Logico: string;
|
|
18
|
+
Lógico: string;
|
|
19
|
+
Real: string;
|
|
20
|
+
Texto: string;
|
|
21
|
+
undefined: any;
|
|
22
|
+
};
|
|
23
|
+
declaracoesAnteriores: {
|
|
24
|
+
[identificador: string]: any[];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Testa se o primeiro parâmetro na lista de símbolos
|
|
28
|
+
* pertence a uma declaração ou não.
|
|
29
|
+
* @param simbolos Os símbolos que fazem parte da lista de argumentos
|
|
30
|
+
* de uma chamada ou declaração de função.
|
|
31
|
+
* @returns `true` se parâmetros são de declaração. `false` caso contrário.
|
|
32
|
+
*/
|
|
33
|
+
protected testePrimeiroParametro(simbolos: SimboloInterface[]): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Retorna uma declaração de função iniciada por igual,
|
|
36
|
+
* ou seja, com apenas uma instrução.
|
|
37
|
+
* @param simboloPrimario O símbolo que identifica a função (nome).
|
|
38
|
+
* @param parenteseEsquerdo O parêntese esquerdo, usado para fins de pragma.
|
|
39
|
+
* @param parametros A lista de parâmetros da função.
|
|
40
|
+
* @param tipoRetorno O tipo de retorno da função.
|
|
41
|
+
* @returns Um construto do tipo `FuncaoDeclaracao`.
|
|
42
|
+
*/
|
|
43
|
+
protected declaracaoFuncaoPotigolIniciadaPorIgual(simboloPrimario: SimboloInterface, parenteseEsquerdo: SimboloInterface, parametros: ParametroInterface[], tipoRetorno?: SimboloInterface): FuncaoDeclaracao;
|
|
44
|
+
/**
|
|
45
|
+
* Retorna uma declaração de função terminada por fim,
|
|
46
|
+
* ou seja, com mais de uma instrução.
|
|
47
|
+
* @param simboloPrimario O símbolo que identifica a função (nome).
|
|
48
|
+
* @param parenteseEsquerdo O parêntese esquerdo, usado para fins de pragma.
|
|
49
|
+
* @param parametros A lista de parâmetros da função.
|
|
50
|
+
* @param tipoRetorno O tipo de retorno da função.
|
|
51
|
+
* @returns Um construto do tipo `FuncaoDeclaracao`.
|
|
52
|
+
*/
|
|
53
|
+
protected declaracaoFuncaoPotigolTerminadaPorFim(simboloPrimario: SimboloInterface, parenteseEsquerdo: SimboloInterface, parametros: ParametroInterface[], tipoRetorno?: SimboloInterface): FuncaoDeclaracao;
|
|
54
|
+
corpoDaFuncao(nomeFuncao: string, simboloPragma?: SimboloInterface, parametros?: any[]): FuncaoConstruto;
|
|
55
|
+
protected declaracaoDeFuncaoOuMetodo(construtoPrimario: ConstanteOuVariavel): FuncaoDeclaracao;
|
|
56
|
+
finalizarChamada(entidadeChamada: Construto): Construto;
|
|
57
|
+
/**
|
|
58
|
+
* Verificação comum de tipos.
|
|
59
|
+
* Avança o símbolo se não houver erros.
|
|
60
|
+
* @param simbolo O símbolo sendo analisado.
|
|
61
|
+
* @param mensagemErro A mensagem de erro caso o símbolo atual não seja de tipo.
|
|
62
|
+
*/
|
|
63
|
+
protected verificacaoTipo(simbolo: SimboloInterface, mensagemErro: string): void;
|
|
64
|
+
protected logicaComumParametrosPotigol(simbolos: SimboloInterface[]): {
|
|
65
|
+
parametros: ParametroInterface[];
|
|
66
|
+
tipagemDefinida: boolean;
|
|
67
|
+
};
|
|
68
|
+
primario(): Construto;
|
|
69
|
+
/**
|
|
70
|
+
* Em Potigol, só é possível determinar a diferença entre uma chamada e uma
|
|
71
|
+
* declaração de função depois dos argumentos.
|
|
72
|
+
*
|
|
73
|
+
* Chamadas não aceitam dicas de tipos de parâmetros.
|
|
74
|
+
* @returns Um construto do tipo `AcessoMetodo`, `AcessoIndiceVariavel` ou `Constante`,
|
|
75
|
+
* dependendo dos símbolos encontrados.
|
|
76
|
+
*/
|
|
77
|
+
chamar(): Construto;
|
|
78
|
+
comparacaoIgualdade(): Construto;
|
|
79
|
+
declaracaoEscreva(): Escreva;
|
|
80
|
+
declaracaoImprima(): EscrevaMesmaLinha;
|
|
81
|
+
/**
|
|
82
|
+
* Blocos de escopo em Potigol existem quando:
|
|
83
|
+
*
|
|
84
|
+
* - Em uma declaração de função ou método, após fecha parênteses, o próximo
|
|
85
|
+
* símbolo obrigatório não é `=` e há pelo menos um `fim` até o final do código;
|
|
86
|
+
* - Em uma declaração `se`;
|
|
87
|
+
* - Em uma declaração `enquanto`;
|
|
88
|
+
* - Em uma declaração `para`.
|
|
89
|
+
* @returns Um vetor de `Declaracao`.
|
|
90
|
+
*/
|
|
91
|
+
blocoEscopo(): Array<RetornoDeclaracao>;
|
|
92
|
+
declaracaoSe(): Se;
|
|
93
|
+
declaracaoEnquanto(): Enquanto;
|
|
94
|
+
declaracaoPara(): Para;
|
|
95
|
+
declaracaoEscolha(): Escolha;
|
|
96
|
+
declaracaoDeVariaveis(): Var[];
|
|
97
|
+
protected logicaAtribuicaoComDica(expressao: Constante): Const;
|
|
98
|
+
declaracaoFazer(): Fazer;
|
|
99
|
+
/**
|
|
100
|
+
* Uma declaração de tipo nada mais é do que um declaração de classe.
|
|
101
|
+
* Em Potigol, classe e tipo são praticamente a mesma coisa.
|
|
102
|
+
*
|
|
103
|
+
* @returns Um construto do tipo `Classe`.
|
|
104
|
+
*/
|
|
105
|
+
declaracaoTipo(): Classe;
|
|
106
|
+
atribuir(): Construto;
|
|
107
|
+
/**
|
|
108
|
+
* Em Potigol, uma definição de função normalmente começa com um
|
|
109
|
+
* identificador - que não é uma palavra reservada - seguido de parênteses.
|
|
110
|
+
* Este ponto de entrada verifica o símbolo atual e o próximo.
|
|
111
|
+
*
|
|
112
|
+
* Diferentemente dos demais dialetos, verificamos logo de cara se
|
|
113
|
+
* temos uma definição ou chamada de função, isto porque definições
|
|
114
|
+
* nunca aparecem do lado direito de uma atribuição, a não ser que
|
|
115
|
+
* estejam entre parênteses (_currying_).
|
|
116
|
+
*
|
|
117
|
+
* Se o próximo símbolo for parênteses, ou é uma definiçao de função,
|
|
118
|
+
* ou uma chamada de função.
|
|
119
|
+
*/
|
|
120
|
+
expressaoOuDefinicaoFuncao(): Construto | FuncaoDeclaracao;
|
|
121
|
+
declaracao(): Declaracao | Declaracao[] | Construto | Construto[] | any;
|
|
122
|
+
analisar(retornoLexador: RetornoLexador, hashArquivo: number): RetornoAvaliadorSintatico;
|
|
123
|
+
}
|