@designliquido/delegua 0.1.6 → 0.1.10

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.
Files changed (181) hide show
  1. package/README.md +2 -1
  2. package/bin/package.json +6 -4
  3. package/index.d.ts +1 -0
  4. package/package.json +5 -4
  5. package/src/ambiente.d.ts +11 -0
  6. package/src/avaliador-sintatico/dialetos/egua-classico.d.ts +60 -0
  7. package/src/avaliador-sintatico/dialetos/egua-classico.js +123 -123
  8. package/src/avaliador-sintatico/dialetos/egua-classico.js.map +1 -1
  9. package/src/avaliador-sintatico/dialetos/index.d.ts +1 -0
  10. package/src/avaliador-sintatico/erros-avaliador.d.ts +2 -0
  11. package/src/avaliador-sintatico/{parser-error.js → erros-avaliador.js} +1 -1
  12. package/src/avaliador-sintatico/erros-avaliador.js.map +1 -0
  13. package/src/avaliador-sintatico/index.d.ts +61 -0
  14. package/src/avaliador-sintatico/index.js +135 -137
  15. package/src/avaliador-sintatico/index.js.map +1 -1
  16. package/src/bibliotecas/bibliotecaGlobal.d.ts +1 -0
  17. package/src/bibliotecas/importarBiblioteca.d.ts +2 -0
  18. package/src/construtos/assign-subscript.d.ts +8 -0
  19. package/src/construtos/assign-subscript.js +2 -2
  20. package/src/construtos/assign-subscript.js.map +1 -1
  21. package/src/construtos/atribuir.d.ts +7 -0
  22. package/src/construtos/atribuir.js +2 -2
  23. package/src/construtos/atribuir.js.map +1 -1
  24. package/src/construtos/binario.d.ts +8 -0
  25. package/src/construtos/binario.js +2 -2
  26. package/src/construtos/binario.js.map +1 -1
  27. package/src/construtos/call.d.ts +8 -0
  28. package/src/construtos/call.js +2 -2
  29. package/src/construtos/call.js.map +1 -1
  30. package/src/construtos/conjunto.d.ts +8 -0
  31. package/src/construtos/conjunto.js +2 -2
  32. package/src/construtos/conjunto.js.map +1 -1
  33. package/src/construtos/dicionario.d.ts +7 -0
  34. package/src/construtos/dicionario.js +2 -2
  35. package/src/construtos/dicionario.js.map +1 -1
  36. package/src/construtos/expr.d.ts +3 -0
  37. package/src/construtos/expr.js +1 -1
  38. package/src/construtos/expr.js.map +1 -1
  39. package/src/construtos/funcao.d.ts +7 -0
  40. package/src/construtos/funcao.js +2 -2
  41. package/src/construtos/funcao.js.map +1 -1
  42. package/src/construtos/get.d.ts +7 -0
  43. package/src/construtos/get.js +2 -2
  44. package/src/construtos/get.js.map +1 -1
  45. package/src/construtos/grouping.d.ts +6 -0
  46. package/src/construtos/grouping.js +2 -2
  47. package/src/construtos/grouping.js.map +1 -1
  48. package/src/construtos/index.d.ts +18 -0
  49. package/src/construtos/isto.d.ts +6 -0
  50. package/src/construtos/isto.js +2 -2
  51. package/src/construtos/isto.js.map +1 -1
  52. package/src/construtos/literal.d.ts +6 -0
  53. package/src/construtos/literal.js +2 -2
  54. package/src/construtos/literal.js.map +1 -1
  55. package/src/construtos/logical.d.ts +8 -0
  56. package/src/construtos/logical.js +2 -2
  57. package/src/construtos/logical.js.map +1 -1
  58. package/src/construtos/subscript.d.ts +8 -0
  59. package/src/construtos/subscript.js +2 -2
  60. package/src/construtos/subscript.js.map +1 -1
  61. package/src/construtos/super.d.ts +7 -0
  62. package/src/construtos/super.js +2 -2
  63. package/src/construtos/super.js.map +1 -1
  64. package/src/construtos/unario.d.ts +7 -0
  65. package/src/construtos/unario.js +2 -2
  66. package/src/construtos/unario.js.map +1 -1
  67. package/src/construtos/variavel.d.ts +6 -0
  68. package/src/construtos/variavel.js +2 -2
  69. package/src/construtos/variavel.js.map +1 -1
  70. package/src/construtos/vetor.d.ts +6 -0
  71. package/src/construtos/vetor.js +2 -2
  72. package/src/construtos/vetor.js.map +1 -1
  73. package/src/declaracoes/bloco.d.ts +6 -0
  74. package/src/declaracoes/bloco.js +33 -0
  75. package/src/declaracoes/bloco.js.map +1 -0
  76. package/src/declaracoes/classe.d.ts +8 -0
  77. package/src/declaracoes/classe.js +35 -0
  78. package/src/declaracoes/classe.js.map +1 -0
  79. package/src/declaracoes/continua.d.ts +5 -0
  80. package/src/declaracoes/continua.js +31 -0
  81. package/src/declaracoes/continua.js.map +1 -0
  82. package/src/declaracoes/enquanto.d.ts +7 -0
  83. package/src/declaracoes/enquanto.js +34 -0
  84. package/src/declaracoes/enquanto.js.map +1 -0
  85. package/src/declaracoes/escolha.d.ts +8 -0
  86. package/src/declaracoes/escolha.js +35 -0
  87. package/src/declaracoes/escolha.js.map +1 -0
  88. package/src/declaracoes/escreva.d.ts +6 -0
  89. package/src/declaracoes/escreva.js +33 -0
  90. package/src/declaracoes/escreva.js.map +1 -0
  91. package/src/declaracoes/expressao.d.ts +6 -0
  92. package/src/declaracoes/expressao.js +33 -0
  93. package/src/declaracoes/expressao.js.map +1 -0
  94. package/src/declaracoes/fazer.d.ts +7 -0
  95. package/src/declaracoes/fazer.js +34 -0
  96. package/src/declaracoes/fazer.js.map +1 -0
  97. package/src/declaracoes/funcao.d.ts +7 -0
  98. package/src/declaracoes/funcao.js +34 -0
  99. package/src/declaracoes/funcao.js.map +1 -0
  100. package/src/declaracoes/importar.d.ts +7 -0
  101. package/src/declaracoes/importar.js +34 -0
  102. package/src/declaracoes/importar.js.map +1 -0
  103. package/src/declaracoes/index.d.ts +17 -0
  104. package/src/declaracoes/index.js +27 -246
  105. package/src/declaracoes/index.js.map +1 -1
  106. package/src/declaracoes/para.d.ts +9 -0
  107. package/src/declaracoes/para.js +36 -0
  108. package/src/declaracoes/para.js.map +1 -0
  109. package/src/declaracoes/pausa.d.ts +5 -0
  110. package/src/declaracoes/pausa.js +31 -0
  111. package/src/declaracoes/pausa.js.map +1 -0
  112. package/src/declaracoes/retorna.d.ts +7 -0
  113. package/src/declaracoes/retorna.js +34 -0
  114. package/src/declaracoes/retorna.js.map +1 -0
  115. package/src/declaracoes/se.d.ts +9 -0
  116. package/src/declaracoes/se.js +36 -0
  117. package/src/declaracoes/se.js.map +1 -0
  118. package/src/declaracoes/stmt.d.ts +3 -0
  119. package/src/declaracoes/stmt.js +11 -0
  120. package/src/declaracoes/stmt.js.map +1 -0
  121. package/src/declaracoes/tente.d.ts +9 -0
  122. package/src/declaracoes/tente.js +36 -0
  123. package/src/declaracoes/tente.js.map +1 -0
  124. package/src/declaracoes/var.d.ts +7 -0
  125. package/src/declaracoes/var.js +34 -0
  126. package/src/declaracoes/var.js.map +1 -0
  127. package/src/delegua.d.ts +21 -0
  128. package/src/delegua.js +18 -12
  129. package/src/delegua.js.map +1 -1
  130. package/src/estruturas/callable.d.ts +5 -0
  131. package/src/estruturas/classe.d.ts +11 -0
  132. package/src/estruturas/funcao-padrao.d.ts +9 -0
  133. package/src/estruturas/funcao.d.ts +12 -0
  134. package/src/estruturas/funcao.js +7 -7
  135. package/src/estruturas/funcao.js.map +1 -1
  136. package/src/estruturas/index.d.ts +6 -0
  137. package/src/estruturas/instancia.d.ts +8 -0
  138. package/src/estruturas/modulo.d.ts +5 -0
  139. package/src/excecoes/break-exception.d.ts +2 -0
  140. package/src/excecoes/continue-exception.d.ts +2 -0
  141. package/src/excecoes/erro-em-tempo-de-execucao.d.ts +5 -0
  142. package/src/excecoes/index.d.ts +4 -0
  143. package/src/excecoes/return-exception.d.ts +4 -0
  144. package/src/interfaces/avaliador-sintatico-interface.d.ts +55 -0
  145. package/src/interfaces/index.d.ts +6 -0
  146. package/src/interfaces/interpretador-interface.d.ts +51 -0
  147. package/src/interfaces/lexador-interface.d.ts +23 -0
  148. package/src/interfaces/pilha-interface.d.ts +7 -0
  149. package/src/interfaces/resolvedor-interface.d.ts +48 -0
  150. package/src/interfaces/simbolo-interface.d.ts +6 -0
  151. package/src/interpretador/dialetos/egua-classico.d.ts +58 -0
  152. package/src/interpretador/dialetos/egua-classico.js +64 -68
  153. package/src/interpretador/dialetos/egua-classico.js.map +1 -1
  154. package/src/interpretador/dialetos/index.d.ts +1 -0
  155. package/src/interpretador/index.d.ts +58 -0
  156. package/src/interpretador/index.js +74 -75
  157. package/src/interpretador/index.js.map +1 -1
  158. package/src/lexador/dialetos/egua-classico.d.ts +31 -0
  159. package/src/lexador/dialetos/egua-classico.js +10 -12
  160. package/src/lexador/dialetos/egua-classico.js.map +1 -1
  161. package/src/lexador/dialetos/index.d.ts +1 -0
  162. package/src/lexador/index.d.ts +31 -0
  163. package/src/lexador/index.js +28 -19
  164. package/src/lexador/index.js.map +1 -1
  165. package/src/resolvedor/Pilha.d.ts +9 -0
  166. package/src/resolvedor/Pilha.js +1 -1
  167. package/src/resolvedor/Pilha.js.map +1 -1
  168. package/src/resolvedor/ResolverError.d.ts +4 -0
  169. package/src/resolvedor/dialetos/egua-classico.d.ts +56 -0
  170. package/src/resolvedor/dialetos/egua-classico.js +39 -39
  171. package/src/resolvedor/dialetos/egua-classico.js.map +1 -1
  172. package/src/resolvedor/dialetos/index.d.ts +1 -0
  173. package/src/resolvedor/index.d.ts +56 -0
  174. package/src/resolvedor/index.js +45 -45
  175. package/src/resolvedor/index.js.map +1 -1
  176. package/src/tiposDeSimbolos.d.ts +68 -0
  177. package/src/tiposDeSimbolos.js +8 -7
  178. package/src/tiposDeSimbolos.js.map +1 -1
  179. package/src/avaliador-sintatico/parser-error.js.map +0 -1
  180. package/src/web.js +0 -66
  181. package/src/web.js.map +0 -1
package/src/delegua.js CHANGED
@@ -53,12 +53,18 @@ var Delegua = /** @class */ (function () {
53
53
  }
54
54
  }
55
55
  Delegua.prototype.versao = function () {
56
- return JSON.parse(fs.readFileSync('./package.json', { encoding: 'utf8' })).version || '';
56
+ try {
57
+ var manifesto = caminho.resolve('package.json');
58
+ return JSON.parse(fs.readFileSync(manifesto, { encoding: 'utf8' })).version || '0.1';
59
+ }
60
+ catch (error) {
61
+ return '0.1 (desenvolvimento)';
62
+ }
57
63
  };
58
64
  Delegua.prototype.iniciarDelegua = function () {
59
65
  var _this = this;
60
- var interpretador = new interpretador_1.Interpretador(this, process.cwd());
61
66
  console.log("Console da Linguagem Del\u00E9gua v".concat(this.versao()));
67
+ console.log('Pressione Ctrl + C para sair');
62
68
  var leiaLinha = readline.createInterface({
63
69
  input: process.stdin,
64
70
  output: process.stdout,
@@ -68,28 +74,28 @@ var Delegua = /** @class */ (function () {
68
74
  leiaLinha.on("line", function (linha) {
69
75
  _this.teveErro = false;
70
76
  _this.teveErroEmTempoDeExecucao = false;
71
- _this.run(linha);
77
+ _this.executar(linha);
72
78
  leiaLinha.prompt();
73
79
  });
74
80
  };
75
81
  Delegua.prototype.carregarArquivo = function (nomeArquivo) {
76
82
  this.nomeArquivo = caminho.basename(nomeArquivo);
77
83
  var dadosDoArquivo = fs.readFileSync(nomeArquivo).toString();
78
- this.run(dadosDoArquivo);
84
+ this.executar(dadosDoArquivo);
79
85
  if (this.teveErro)
80
86
  process.exit(65);
81
87
  if (this.teveErroEmTempoDeExecucao)
82
88
  process.exit(70);
83
89
  };
84
- Delegua.prototype.run = function (codigo) {
85
- var simbolos = this.lexador.scan(codigo);
86
- if (this.teveErro === true)
90
+ Delegua.prototype.executar = function (codigo) {
91
+ var simbolos = this.lexador.mapear(codigo);
92
+ if (this.teveErro)
87
93
  return;
88
94
  var declaracoes = this.avaliadorSintatico.analisar(simbolos);
89
- if (this.teveErro === true)
95
+ if (this.teveErro)
90
96
  return;
91
97
  this.resolvedor.resolver(declaracoes);
92
- if (this.teveErro === true)
98
+ if (this.teveErro)
93
99
  return;
94
100
  this.interpretador.interpretar(declaracoes);
95
101
  };
@@ -102,13 +108,13 @@ var Delegua = /** @class */ (function () {
102
108
  };
103
109
  Delegua.prototype.erro = function (simbolo, mensagemDeErro) {
104
110
  if (simbolo.tipo === tiposDeSimbolos_1.default.EOF) {
105
- this.reportar(simbolo.line, " no final", mensagemDeErro);
111
+ this.reportar(simbolo.linha, " no final", mensagemDeErro);
106
112
  }
107
113
  else {
108
- this.reportar(simbolo.line, " no '".concat(simbolo.lexema, "'"), mensagemDeErro);
114
+ this.reportar(simbolo.linha, " no '".concat(simbolo.lexema, "'"), mensagemDeErro);
109
115
  }
110
116
  };
111
- Delegua.prototype.lexerError = function (linha, caractere, mensagem) {
117
+ Delegua.prototype.erroNoLexador = function (linha, caractere, mensagem) {
112
118
  this.reportar(linha, " no '".concat(caractere, "'"), mensagem);
113
119
  };
114
120
  Delegua.prototype.erroEmTempoDeExecucao = function (erro) {
@@ -1 +1 @@
1
- {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../src/delegua.ts"],"names":[],"mappings":";;;AAAA,uBAAyB;AACzB,8BAAgC;AAChC,mCAAqC;AAErC,qCAAkC;AAClC,6DAA+C;AAC/C,2CAAwC;AACxC,iDAAgD;AAChD,qDAAgD;AAEhD,uCAA6C;AAG7C,wEAAmF;AACnF,qEAA2E;AAC3E,8EAAkF;AAClF,kEAAqE;AAErE;IAWI,iBAAY,OAA2B,EAAE,WAAoB;QAAjD,wBAAA,EAAA,mBAA2B;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QAEvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,QAAQ,IAAI,CAAC,OAAO,EAAE;YAClB,KAAK,MAAM;gBACP,IAAI,CAAC,aAAa,GAAG,IAAI,yCAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAiB,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kCAAkB,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,IAAI,oCAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAM,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAM,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,MAAM;YACV;gBACI,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAM,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,MAAM;SACb;IACL,CAAC;IAED,wBAAM,GAAN;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAA;IAC5F,CAAC;IAED,gCAAc,GAAd;QAAA,iBAkBC;QAjBG,IAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,6CAAiC,IAAI,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;QAC9D,IAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,aAAa;SACxB,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,EAAE,CAAC;QAEnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,UAAA,KAAK;YACtB,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,KAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YAEvC,KAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iCAAe,GAAf,UAAgB,WAAgB;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,yBAAyB;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,qBAAG,GAAH,UAAI,MAAW;QACX,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO;QAEnC,IAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO;QAEnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;YAAE,OAAO;QAEnC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,0BAAQ,GAAR,UAAS,KAAU,EAAE,IAAS,EAAE,QAAa;QACzC,IAAI,IAAI,CAAC,WAAW;YAChB,OAAO,CAAC,KAAK,CACT,oBAAa,IAAI,CAAC,WAAW,uBAAa,KAAK,mBAAS,IAAI,eAAK,QAAQ,CAAE,CAC9E,CAAC;;YACD,OAAO,CAAC,KAAK,CAAC,kBAAW,KAAK,mBAAS,IAAI,eAAK,QAAQ,CAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,sBAAI,GAAJ,UAAK,OAAY,EAAE,cAAmB;QAClC,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAe,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;SAC5D;aAAM;YACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,eAAQ,OAAO,CAAC,MAAM,MAAG,EAAE,cAAc,CAAC,CAAC;SAC1E;IACL,CAAC;IAED,4BAAU,GAAV,UAAW,KAAU,EAAE,SAAc,EAAE,QAAa;QAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAQ,SAAS,MAAG,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,uCAAqB,GAArB,UAAsB,IAAS;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAC3C,IAAI,IAAI,CAAC,WAAW;gBAChB,OAAO,CAAC,KAAK,CACT,0BAAmB,IAAI,CAAC,WAAW,uBAAa,IAAI,CAAC,OAAO,CAAC,KAAK,eAAK,IAAI,CAAC,QAAQ,CAAE,CACzF,CAAC;;gBACD,OAAO,CAAC,KAAK,CAAC,wBAAiB,IAAI,CAAC,OAAO,CAAC,KAAK,eAAK,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC;SAC/E;aAAM,IAAI,CAAC,CAAC,IAAI,YAAY,0BAAe,CAAC,EAAE,EAAE,uDAAuD;YACpG,OAAO,CAAC,KAAK,CAAC,gBAAS,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC1C,CAAC;IACL,cAAC;AAAD,CAAC,AAtID,IAsIC;AAtIY,0BAAO"}
1
+ {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../../src/delegua.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class Callable {
2
+ valorAridade: any;
3
+ aridade(): any;
4
+ chamar(interpretador?: any, argumentos?: any, simbolo?: any): any;
5
+ }
@@ -0,0 +1,11 @@
1
+ import { Callable } from "./callable";
2
+ export declare class DeleguaClasse extends Callable {
3
+ nome: any;
4
+ superClasse: any;
5
+ metodos: any;
6
+ constructor(nome?: any, superClasse?: any, metodos?: any);
7
+ encontrarMetodo(nome: any): any;
8
+ toString(): string;
9
+ aridade(): any;
10
+ chamar(interpretador: any, argumentos: any): any;
11
+ }
@@ -0,0 +1,9 @@
1
+ import { Callable } from "./callable";
2
+ export declare class FuncaoPadrao extends Callable {
3
+ valorAridade: any;
4
+ funcao: any;
5
+ simbolo: any;
6
+ constructor(valorAridade: any, funcao: any);
7
+ chamar(interpretador: any, argumentos: any, simbolo: any): any;
8
+ toString(): string;
9
+ }
@@ -0,0 +1,12 @@
1
+ import { Callable } from "./callable";
2
+ export declare class DeleguaFuncao extends Callable {
3
+ nome: any;
4
+ declaracao: any;
5
+ ambienteAnterior: any;
6
+ eInicializador: any;
7
+ constructor(nome: any, declaracao: any, ambienteAnterior: any, eInicializador?: boolean);
8
+ aridade(): any;
9
+ toString(): string;
10
+ chamar(interpretador: any, argumentos: any): any;
11
+ bind(instancia: any): any;
12
+ }
@@ -21,12 +21,12 @@ var ambiente_1 = require("../ambiente");
21
21
  var excecoes_1 = require("../excecoes");
22
22
  var DeleguaFuncao = /** @class */ (function (_super) {
23
23
  __extends(DeleguaFuncao, _super);
24
- function DeleguaFuncao(nome, declaracao, closure, eInicializador) {
24
+ function DeleguaFuncao(nome, declaracao, ambienteAnterior, eInicializador) {
25
25
  if (eInicializador === void 0) { eInicializador = false; }
26
26
  var _this = _super.call(this) || this;
27
27
  _this.nome = nome;
28
28
  _this.declaracao = declaracao;
29
- _this.closure = closure;
29
+ _this.ambienteAnterior = ambienteAnterior;
30
30
  _this.eInicializador = eInicializador;
31
31
  return _this;
32
32
  }
@@ -40,7 +40,7 @@ var DeleguaFuncao = /** @class */ (function (_super) {
40
40
  return "<fun\u00E7\u00E3o ".concat(this.nome, ">");
41
41
  };
42
42
  DeleguaFuncao.prototype.chamar = function (interpretador, argumentos) {
43
- var ambiente = new ambiente_1.Ambiente(this.closure);
43
+ var ambiente = new ambiente_1.Ambiente(this.ambienteAnterior);
44
44
  var parametros = this.declaracao.parametros;
45
45
  if (parametros && parametros.length) {
46
46
  for (var i = 0; i < parametros.length; i++) {
@@ -54,12 +54,12 @@ var DeleguaFuncao = /** @class */ (function (_super) {
54
54
  }
55
55
  }
56
56
  try {
57
- interpretador.executeBlock(this.declaracao.funcao, ambiente);
57
+ interpretador.executarBloco(this.declaracao.corpo, ambiente);
58
58
  }
59
59
  catch (erro) {
60
60
  if (erro instanceof excecoes_1.ReturnException) {
61
61
  if (this.eInicializador)
62
- return this.closure.obterVariavelEm(0, "isto");
62
+ return this.ambienteAnterior.obterVariavelEm(0, "isto");
63
63
  return erro.valor;
64
64
  }
65
65
  else {
@@ -67,11 +67,11 @@ var DeleguaFuncao = /** @class */ (function (_super) {
67
67
  }
68
68
  }
69
69
  if (this.eInicializador)
70
- return this.closure.obterVariavelEm(0, "isto");
70
+ return this.ambienteAnterior.obterVariavelEm(0, "isto");
71
71
  return null;
72
72
  };
73
73
  DeleguaFuncao.prototype.bind = function (instancia) {
74
- var ambiente = new ambiente_1.Ambiente(this.closure);
74
+ var ambiente = new ambiente_1.Ambiente(this.ambienteAnterior);
75
75
  ambiente.definirVariavel("isto", instancia);
76
76
  return new DeleguaFuncao(this.nome, this.declaracao, ambiente, this.eInicializador);
77
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../src/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AACvC,wCAA8C;AAE9C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAS,EAAE,UAAe,EAAE,OAAY,EAAE,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAA5E,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACzC,CAAC;IAED,+BAAO,GAAP;;QACI,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,gCAAQ,GAAR;QACI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,4BAAW,IAAI,CAAC,IAAI,MAAG,CAAC;IACnC,CAAC;IAED,8BAAM,GAAN,UAAO,aAAkB,EAAE,UAAe;QACtC,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE5C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAClC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC1D;gBACD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACzC;SACJ;QAED,IAAI;YACA,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAChE;QAAC,OAAO,IAAI,EAAE;YACX,IAAI,IAAI,YAAY,0BAAe,EAAE;gBACjC,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACxE,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBAAM;gBACH,MAAM,IAAI,CAAC;aACd;SACJ;QAED,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAAI,GAAJ,UAAK,SAAc;QACf,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAjED,CAAmC,mBAAQ,GAiE1C;AAjEY,sCAAa"}
1
+ {"version":3,"file":"funcao.js","sourceRoot":"","sources":["../../../src/estruturas/funcao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAAsC;AACtC,wCAAuC;AACvC,wCAA8C;AAE9C;IAAmC,iCAAQ;IAMvC,uBAAY,IAAS,EAAE,UAAe,EAAE,gBAAqB,EAAE,cAAsB;QAAtB,+BAAA,EAAA,sBAAsB;QAArF,YACI,iBAAO,SAKV;QAJG,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;;IACzC,CAAC;IAED,+BAAO,GAAP;;QACI,OAAO,CAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,UAAU,0CAAE,MAAM,KAAI,CAAC,CAAC;IACpD,CAAC;IAED,gCAAQ,GAAR;QACI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC1C,OAAO,4BAAW,IAAI,CAAC,IAAI,MAAG,CAAC;IACnC,CAAC;IAED,8BAAM,GAAN,UAAO,aAAkB,EAAE,UAAe;QACtC,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAE5C,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;gBAClC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxB,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC1D;gBACD,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACzC;SACJ;QAED,IAAI;YACA,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SAChE;QAAC,OAAO,IAAI,EAAE;YACX,IAAI,IAAI,YAAY,0BAAe,EAAE;gBACjC,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC,KAAK,CAAC;aACrB;iBAAM;gBACH,MAAM,IAAI,CAAC;aACd;SACJ;QAED,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAAI,GAAJ,UAAK,SAAc;QACf,IAAI,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAjED,CAAmC,mBAAQ,GAiE1C;AAjEY,sCAAa"}
@@ -0,0 +1,6 @@
1
+ export * from "./callable";
2
+ export * from "./classe";
3
+ export * from "./funcao-padrao";
4
+ export * from "./funcao";
5
+ export * from "./instancia";
6
+ export * from "./modulo";
@@ -0,0 +1,8 @@
1
+ export declare class DeleguaInstancia {
2
+ criarClasse: any;
3
+ campos: any;
4
+ constructor(criarClasse: any);
5
+ get(nome: any): any;
6
+ set(nome: any, valor: any): void;
7
+ toString(): string;
8
+ }
@@ -0,0 +1,5 @@
1
+ export declare class DeleguaModulo {
2
+ nome: string;
3
+ constructor(nome?: string);
4
+ toString(): string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export declare class BreakException extends Error {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class ContinueException extends Error {
2
+ }
@@ -0,0 +1,5 @@
1
+ export declare class ErroEmTempoDeExecucao extends Error {
2
+ simbolo: any;
3
+ mensagem: string;
4
+ constructor(simbolo?: any, mensagem?: string);
5
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./break-exception";
2
+ export * from "./continue-exception";
3
+ export * from "./erro-em-tempo-de-execucao";
4
+ export * from "./return-exception";
@@ -0,0 +1,4 @@
1
+ export declare class ReturnException extends Error {
2
+ valor: any;
3
+ constructor(valor: any);
4
+ }
@@ -0,0 +1,55 @@
1
+ import { SimboloInterface } from "./simbolo-interface";
2
+ export interface AvaliadorSintaticoInterface {
3
+ simbolos: SimboloInterface[];
4
+ Delegua: any;
5
+ atual: number;
6
+ ciclos: number;
7
+ sincronizar(): void;
8
+ erro(simbolo: any, mensagemDeErro: any): any;
9
+ consumir(tipo: any, mensagemDeErro: any): any;
10
+ verificar(tipo: any): boolean;
11
+ verificarProximo(tipo: any): boolean;
12
+ simboloAtual(): any;
13
+ voltar(): any;
14
+ procurar(posicao: number): any;
15
+ estaNoFinal(): boolean;
16
+ avancar(): any;
17
+ verificarSeSimboloAtualEIgualA(...argumentos: any[]): boolean;
18
+ primario(): any;
19
+ finalizarChamada(callee: any): any;
20
+ chamar(): any;
21
+ unario(): any;
22
+ exponenciacao(): any;
23
+ multiplicar(): any;
24
+ adicionar(): any;
25
+ bitFill(): any;
26
+ bitE(): any;
27
+ bitOu(): any;
28
+ comparar(): any;
29
+ comparacaoIgualdade(): any;
30
+ em(): any;
31
+ e(): any;
32
+ ou(): any;
33
+ atribuir(): any;
34
+ expressao(): any;
35
+ declaracaoMostrar(): any;
36
+ declaracaoExpressao(): any;
37
+ blocoEscopo(): any;
38
+ declaracaoSe(): any;
39
+ declaracaoEnquanto(): any;
40
+ declaracaoPara(): any;
41
+ declaracaoInterromper(): any;
42
+ declaracaoContinua(): any;
43
+ declaracaoRetorna(): any;
44
+ declaracaoEscolha(): any;
45
+ declaracaoImportar(): any;
46
+ declaracaoTentar(): any;
47
+ declaracaoFazer(): any;
48
+ resolverDeclaracao(): any;
49
+ declaracaoDeVariavel(): any;
50
+ funcao(kind: any): any;
51
+ corpoDaFuncao(kind: any): any;
52
+ declaracaoDeClasse(): any;
53
+ declaracao(): any;
54
+ analisar(simbolos?: SimboloInterface[]): any;
55
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./avaliador-sintatico-interface";
2
+ export * from "./interpretador-interface";
3
+ export * from "./lexador-interface";
4
+ export * from "./pilha-interface";
5
+ export * from "./resolvedor-interface";
6
+ export * from "./simbolo-interface";
@@ -0,0 +1,51 @@
1
+ export interface InterpretadorInterface {
2
+ Delegua: any;
3
+ diretorioBase: any;
4
+ global: any;
5
+ ambiente: any;
6
+ locais: any;
7
+ resolver(expr: any, depth: any): void;
8
+ visitarExpressaoLiteral(expr: any): any;
9
+ avaliar(expr: any): any;
10
+ visitarExpressaoAgrupamento(expr: any): any;
11
+ eVerdadeiro(objeto: any): boolean;
12
+ verificarOperandoNumero(operador: any, operand: any): void;
13
+ visitarExpressaoUnaria(expr: any): any;
14
+ eIgual(esquerda: any, direita: any): any;
15
+ verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
16
+ visitarExpressaoBinaria(expr: any): any;
17
+ visitarExpressaoDeChamada(expr: any): any;
18
+ visitarExpressaoDeAtribuicao(expr: any): any;
19
+ procurarVariavel(nome: any, expr: any): any;
20
+ visitarExpressaoDeVariavel(expr: any): any;
21
+ visitarDeclaracaoDeExpressao(stmt: any): any;
22
+ visitarExpressaoLogica(expr: any): any;
23
+ visitarExpressaoSe(stmt: any): any;
24
+ visitarExpressaoPara(stmt: any): any;
25
+ visitarExpressaoFazer(stmt: any): any;
26
+ visitarExpressaoEscolha(stmt: any): any;
27
+ visitarExpressaoTente(stmt: any): any;
28
+ visitarExpressaoEnquanto(stmt: any): any;
29
+ visitarExpressaoImportar(stmt: any): any;
30
+ visitarExpressaoEscreva(stmt: any): any;
31
+ executarBloco(declaracoes: any, ambiente: any): void;
32
+ visitarExpressaoBloco(stmt: any): null;
33
+ visitarExpressaoVar(stmt: any): null;
34
+ visitarExpressaoContinua(stmt?: any): void;
35
+ visitarExpressaoPausa(stmt?: any): void;
36
+ visitarExpressaoRetornar(stmt: any): void;
37
+ visitarExpressaoDeleguaFuncao(expr: any): any;
38
+ visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
39
+ visitarExpressaoVetorIndice(expressao: any): any;
40
+ visitarExpressaoDefinir(expr: any): any;
41
+ visitarExpressaoFuncao(stmt: any): any;
42
+ visitarExpressaoClasse(stmt: any): any;
43
+ visitarExpressaoObter(expr: any): any;
44
+ visitarExpressaoIsto(expr: any): any;
45
+ visitarExpressaoDicionario(expr: any): any;
46
+ visitarExpressaoVetor(expr: any): any;
47
+ visitarExpressaoSuper(expr: any): any;
48
+ paraTexto(objeto: any): any;
49
+ executar(stmt: any, mostrarResultado: boolean): void;
50
+ interpretar(declaracoes: any): void;
51
+ }
@@ -0,0 +1,23 @@
1
+ export interface LexadorInterface {
2
+ Delegua: any;
3
+ codigo: any;
4
+ simbolos: any;
5
+ inicio: any;
6
+ atual: any;
7
+ linha: any;
8
+ eDigito(caractere: any): boolean;
9
+ eAlfabeto(caractere: any): boolean;
10
+ eAlfabetoOuDigito(caractere: any): boolean;
11
+ eFinalDoCodigo(): boolean;
12
+ avancar(): void;
13
+ adicionarSimbolo(tipo: any, literal: any): void;
14
+ match(esperado: any): boolean;
15
+ peek(): any;
16
+ peekNext(): any;
17
+ voltar(): any;
18
+ analisarTexto(texto: string): void;
19
+ analisarNumero(): void;
20
+ identificarPalavraChave(): void;
21
+ scanToken(): void;
22
+ mapear(codigo?: any): any;
23
+ }
@@ -0,0 +1,7 @@
1
+ export interface PilhaInterface {
2
+ pilha: Array<any>;
3
+ empilhar(item: any): any;
4
+ eVazio(item: any): Boolean;
5
+ topoDaPilha(): Array<any>;
6
+ removerUltimo(): Array<any>;
7
+ }
@@ -0,0 +1,48 @@
1
+ export interface ResolvedorInterface {
2
+ interpretador: any;
3
+ Delegua: any;
4
+ escopos: any;
5
+ FuncaoAtual: any;
6
+ ClasseAtual: any;
7
+ cicloAtual: any;
8
+ definir(nome: any): void;
9
+ declarar(nome: any): void;
10
+ inicioDoEscopo(): void;
11
+ finalDoEscopo(): void;
12
+ resolver(declaracoes: any): void;
13
+ resolverLocal(expr: any, nome: any): void;
14
+ visitarExpressaoBloco(stmt: any): any;
15
+ visitarExpressaoDeVariavel(expr: any): any;
16
+ visitarExpressaoVar(stmt: any): any;
17
+ visitarExpressaoDeAtribuicao(expr: any): any;
18
+ resolverFuncao(funcao: any, funcType: any): void;
19
+ visitarExpressaoFuncao(stmt: any): any;
20
+ visitarExpressaoDeleguaFuncao(stmt: any): any;
21
+ visitarExpressaoTente(stmt: any): any;
22
+ visitarExpressaoClasse(stmt: any): any;
23
+ visitarExpressaoSuper(expr: any): any;
24
+ visitarExpressaoObter(expr: any): any;
25
+ visitarDeclaracaoDeExpressao(stmt: any): any;
26
+ visitarExpressaoSe(stmt: any): any;
27
+ visitarExpressaoImportar(stmt: any): void;
28
+ visitarExpressaoEscreva(stmt: any): void;
29
+ visitarExpressaoRetornar(stmt: any): any;
30
+ visitarExpressaoEscolha(stmt: any): void;
31
+ visitarExpressaoEnquanto(stmt: any): any;
32
+ visitarExpressaoPara(stmt: any): any;
33
+ visitarExpressaoFazer(stmt: any): any;
34
+ visitarExpressaoBinaria(expr: any): any;
35
+ visitarExpressaoDeChamada(expr: any): any;
36
+ visitarExpressaoAgrupamento(expr: any): any;
37
+ visitarExpressaoDicionario(expr: any): any;
38
+ visitarExpressaoVetor(expr: any): any;
39
+ visitarExpressaoVetorIndice(expr: any): any;
40
+ visitarExpressaoContinua(stmt?: any): any;
41
+ visitarExpressaoPausa(stmt?: any): any;
42
+ visitarExpressaoAtribuicaoSobrescrita(expr?: any): any;
43
+ visitarExpressaoLiteral(expr?: any): any;
44
+ visitarExpressaoLogica(expr?: any): any;
45
+ visitarExpressaoUnaria(expr?: any): any;
46
+ visitarExpressaoDefinir(expr?: any): any;
47
+ visitarExpressaoIsto(expr?: any): any;
48
+ }
@@ -0,0 +1,6 @@
1
+ export interface SimboloInterface {
2
+ lexema: string;
3
+ tipo: string;
4
+ literal: string;
5
+ linha: string;
6
+ }
@@ -0,0 +1,58 @@
1
+ import { DeleguaFuncao } from "../../estruturas/funcao";
2
+ import { InterpretadorInterface } from "../../interfaces";
3
+ /**
4
+ * O Interpretador visita todos os elementos complexos gerados pelo analisador sintático (Parser)
5
+ * e de fato executa a lógica de programação descrita no código.
6
+ */
7
+ export declare class InterpretadorEguaClassico implements InterpretadorInterface {
8
+ Delegua: any;
9
+ diretorioBase: any;
10
+ global: any;
11
+ ambiente: any;
12
+ locais: any;
13
+ constructor(Delegua: any, diretorioBase: any);
14
+ resolver(expr: any, depth: any): void;
15
+ visitarExpressaoLiteral(expr: any): any;
16
+ avaliar(expr: any): any;
17
+ visitarExpressaoAgrupamento(expr: any): any;
18
+ eVerdadeiro(objeto: any): boolean;
19
+ verificarOperandoNumero(operador: any, operand: any): void;
20
+ visitarExpressaoUnaria(expr: any): number | boolean;
21
+ eIgual(esquerda: any, direita: any): boolean;
22
+ verificarOperandosNumeros(operador: any, direita: any, esquerda: any): void;
23
+ visitarExpressaoBinaria(expr: any): string | number | boolean;
24
+ visitarExpressaoDeChamada(expr: any): any;
25
+ visitarExpressaoDeAtribuicao(expr: any): any;
26
+ procurarVariavel(nome: any, expr: any): any;
27
+ visitarExpressaoDeVariavel(expr: any): any;
28
+ visitarDeclaracaoDeExpressao(stmt: any): any;
29
+ visitarExpressaoLogica(expr: any): any;
30
+ visitarExpressaoSe(stmt: any): any;
31
+ visitarExpressaoPara(stmt: any): any;
32
+ visitarExpressaoFazer(stmt: any): void;
33
+ visitarExpressaoEscolha(stmt: any): void;
34
+ visitarExpressaoTente(stmt: any): void;
35
+ visitarExpressaoEnquanto(stmt: any): any;
36
+ visitarExpressaoImportar(stmt: any): any;
37
+ visitarExpressaoEscreva(stmt: any): any;
38
+ executarBloco(declaracoes: any, ambiente: any): void;
39
+ visitarExpressaoBloco(stmt: any): any;
40
+ visitarExpressaoVar(stmt: any): any;
41
+ visitarExpressaoContinua(stmt?: any): void;
42
+ visitarExpressaoPausa(stmt?: any): void;
43
+ visitarExpressaoRetornar(stmt: any): void;
44
+ visitarExpressaoDeleguaFuncao(expr: any): DeleguaFuncao;
45
+ visitarExpressaoAtribuicaoSobrescrita(expr: any): void;
46
+ visitarExpressaoVetorIndice(expressao: any): any;
47
+ visitarExpressaoDefinir(expr: any): any;
48
+ visitarExpressaoFuncao(stmt: any): void;
49
+ visitarExpressaoClasse(stmt: any): any;
50
+ visitarExpressaoObter(expr: any): any;
51
+ visitarExpressaoIsto(expr: any): any;
52
+ visitarExpressaoDicionario(expr: any): {};
53
+ visitarExpressaoVetor(expr: any): any[];
54
+ visitarExpressaoSuper(expr: any): any;
55
+ paraTexto(objeto: any): any;
56
+ executar(stmt: any, mostrarResultado?: boolean): void;
57
+ interpretar(declaracoes: any): void;
58
+ }