@designliquido/delegua 0.57.2 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/avaliador-sintatico/avaliador-sintatico.d.ts +7 -1
  2. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  3. package/avaliador-sintatico/avaliador-sintatico.js +74 -14
  4. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  5. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +3 -3
  6. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  7. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +26 -10
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  9. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts +23 -0
  10. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.d.ts.map +1 -0
  11. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js +199 -0
  12. package/avaliador-sintatico/dialetos/micro-avaliador-sintatico-pitugues.js.map +1 -0
  13. package/avaliador-sintatico/elemento-montao-tipos.d.ts.map +1 -1
  14. package/avaliador-sintatico/elemento-montao-tipos.js.map +1 -1
  15. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts.map +1 -1
  16. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  17. package/avaliador-sintatico/montao-tipos.d.ts +1 -1
  18. package/avaliador-sintatico/montao-tipos.d.ts.map +1 -1
  19. package/avaliador-sintatico/montao-tipos.js.map +1 -1
  20. package/avaliador-sintatico/pilha-escopos.d.ts.map +1 -1
  21. package/avaliador-sintatico/pilha-escopos.js.map +1 -1
  22. package/bibliotecas/biblioteca-global.d.ts +7 -0
  23. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  24. package/bibliotecas/biblioteca-global.js +206 -0
  25. package/bibliotecas/biblioteca-global.js.map +1 -1
  26. package/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts.map +1 -1
  27. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +8 -2
  28. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  29. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +169 -0
  30. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -0
  31. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +686 -0
  32. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -0
  33. package/bibliotecas/dialetos/pitugues/primitivas-dicionario.d.ts +6 -0
  34. package/bibliotecas/dialetos/pitugues/primitivas-dicionario.d.ts.map +1 -0
  35. package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js +56 -0
  36. package/bibliotecas/dialetos/pitugues/primitivas-dicionario.js.map +1 -0
  37. package/bibliotecas/dialetos/pitugues/primitivas-numero.d.ts +6 -0
  38. package/bibliotecas/dialetos/pitugues/primitivas-numero.d.ts.map +1 -0
  39. package/bibliotecas/dialetos/pitugues/primitivas-numero.js +84 -0
  40. package/bibliotecas/dialetos/pitugues/primitivas-numero.js.map +1 -0
  41. package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts +6 -0
  42. package/bibliotecas/dialetos/pitugues/primitivas-texto.d.ts.map +1 -0
  43. package/bibliotecas/dialetos/pitugues/primitivas-texto.js +254 -0
  44. package/bibliotecas/dialetos/pitugues/primitivas-texto.js.map +1 -0
  45. package/bibliotecas/dialetos/pitugues/primitivas-vetor.d.ts +6 -0
  46. package/bibliotecas/dialetos/pitugues/primitivas-vetor.d.ts.map +1 -0
  47. package/bibliotecas/dialetos/pitugues/primitivas-vetor.js +373 -0
  48. package/bibliotecas/dialetos/pitugues/primitivas-vetor.js.map +1 -0
  49. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  50. package/bibliotecas/primitivas-vetor.js +6 -5
  51. package/bibliotecas/primitivas-vetor.js.map +1 -1
  52. package/bin/package.json +1 -1
  53. package/construtos/elvis.d.ts +2 -2
  54. package/construtos/elvis.d.ts.map +1 -1
  55. package/construtos/elvis.js.map +1 -1
  56. package/construtos/enquanto-como-construto.d.ts +4 -4
  57. package/construtos/fazer-como-construto.d.ts +4 -4
  58. package/construtos/importar-como-construto.d.ts +3 -3
  59. package/construtos/importar-como-construto.d.ts.map +1 -1
  60. package/construtos/importar-como-construto.js.map +1 -1
  61. package/construtos/para-cada-como-construto.d.ts +6 -6
  62. package/construtos/para-como-construto.d.ts +4 -4
  63. package/construtos/se-ternario.d.ts +2 -2
  64. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  65. package/formatadores/formatador-pitugues.js.map +1 -1
  66. package/geracao-identificadores/index.d.ts.map +1 -1
  67. package/geracao-identificadores/index.js.map +1 -1
  68. package/informacao-elemento-sintatico.d.ts +1 -1
  69. package/interfaces/delegua/enquanto-interface.d.ts +2 -2
  70. package/interfaces/delegua/fazer-interface.d.ts +2 -2
  71. package/interfaces/delegua/para-cada-interface.d.ts +2 -2
  72. package/interfaces/delegua/para-interface.d.ts +2 -2
  73. package/interfaces/visitante-comum-interface.d.ts.map +1 -1
  74. package/interfaces/visitante-delegua-interface.d.ts +3 -3
  75. package/interfaces/visitante-delegua-interface.d.ts.map +1 -1
  76. package/interpretador/comum.d.ts.map +1 -1
  77. package/interpretador/comum.js +1 -0
  78. package/interpretador/comum.js.map +1 -1
  79. package/interpretador/depuracao/comum.d.ts.map +1 -1
  80. package/interpretador/depuracao/comum.js +6 -3
  81. package/interpretador/depuracao/comum.js.map +1 -1
  82. package/interpretador/dialetos/pitugues/index.d.ts +2 -0
  83. package/interpretador/dialetos/pitugues/index.d.ts.map +1 -0
  84. package/interpretador/dialetos/pitugues/index.js +18 -0
  85. package/interpretador/dialetos/pitugues/index.js.map +1 -0
  86. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +17 -0
  87. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -0
  88. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +248 -0
  89. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -0
  90. package/interpretador/estruturas/classe-de-modulo.d.ts +1 -1
  91. package/interpretador/estruturas/classe-de-modulo.d.ts.map +1 -1
  92. package/interpretador/estruturas/classe-de-modulo.js.map +1 -1
  93. package/interpretador/interpretador-base.d.ts.map +1 -1
  94. package/interpretador/interpretador-base.js +6 -5
  95. package/interpretador/interpretador-base.js.map +1 -1
  96. package/interpretador/interpretador.d.ts +5 -0
  97. package/interpretador/interpretador.d.ts.map +1 -1
  98. package/interpretador/interpretador.js +39 -22
  99. package/interpretador/interpretador.js.map +1 -1
  100. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  101. package/lexador/dialetos/palavras-reservadas/pitugues.d.ts +1 -0
  102. package/lexador/dialetos/palavras-reservadas/pitugues.d.ts.map +1 -1
  103. package/lexador/dialetos/palavras-reservadas/pitugues.js +2 -1
  104. package/lexador/dialetos/palavras-reservadas/pitugues.js.map +1 -1
  105. package/package.json +1 -1
  106. package/quebras/index.d.ts.map +1 -1
  107. package/quebras/index.js.map +1 -1
  108. package/tipos-de-simbolos/pitugues.d.ts.map +1 -1
  109. package/tipos-de-simbolos/pitugues.js.map +1 -1
  110. package/tradutores/tradutor-javascript.js.map +1 -1
  111. package/tradutores/tradutor-python.d.ts.map +1 -1
  112. package/tradutores/tradutor-python.js.map +1 -1
  113. package/umd/delegua.js +363 -60
@@ -1,4 +1,4 @@
1
- import { AcessoMetodoOuPropriedade, Chamada, Construto, Decorador, Dicionario, EnquantoComoConstruto, FuncaoConstruto, ImportarComoConstruto, Leia, ParaCadaComoConstruto, ParaComoConstruto, Tupla, Variavel } from '../construtos';
1
+ import { AcessoMetodoOuPropriedade, Chamada, Construto, Decorador, Dicionario, EnquantoComoConstruto, FuncaoConstruto, ImportarComoConstruto, Leia, ListaCompreensao, ParaCadaComoConstruto, ParaComoConstruto, Tupla, Variavel } from '../construtos';
2
2
  import { AvaliadorSintaticoInterface, ParametroInterface, SimboloInterface } from '../interfaces';
3
3
  import { ErroAvaliadorSintatico } from './erro-avaliador-sintatico';
4
4
  import { Bloco, Classe, Comentario, Const, Continua, Declaracao, Enquanto, Escolha, Escreva, Expressao, Falhar, Fazer, FuncaoDeclaracao, Importar, Para, ParaCada, Retorna, Se, Sustar, TendoComo, Tente, Var } from '../declaracoes';
@@ -56,6 +56,7 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
56
56
  blocos: number;
57
57
  performance: boolean;
58
58
  superclasseAtual: string | undefined;
59
+ intuirTipoQualquerParaIdentificadores: boolean;
59
60
  constructor(performance?: boolean);
60
61
  protected verificarDefinicaoTipoAtual(): string;
61
62
  protected obterChaveDicionario(): Construto;
@@ -72,6 +73,11 @@ export declare class AvaliadorSintatico extends AvaliadorSintaticoBase implement
72
73
  * Método que resolve `para` ou `para cada` como construto.
73
74
  */
74
75
  protected paraComoConstruto(simboloPara: SimboloInterface): ParaCadaComoConstruto | ParaComoConstruto;
76
+ /**
77
+ * Resolve uma lista de compreensão.
78
+ * @returns {ListaCompreensao} A lista de compreensão resolvida.
79
+ */
80
+ protected resolverCompreensaoDeLista(retornoExpressao: Construto): ListaCompreensao;
75
81
  primario(): Construto;
76
82
  protected resolverCadeiaChamadas(expressaoAnterior: Construto, tipoAnterior?: string): any;
77
83
  chamar(): Construto;
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.d.ts","sourceRoot":"","sources":["../../fontes/avaliador-sintatico/avaliador-sintatico.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
55
55
  this.primitivasConhecidas = {};
56
56
  this.pilhaEscopos = new pilha_escopos_1.PilhaEscopos();
57
57
  this.montaoTipos = new montao_tipos_1.MontaoTipos();
58
+ this.intuirTipoQualquerParaIdentificadores = false;
58
59
  (0, comum_1.registrarPrimitiva)(this.primitivasConhecidas, 'dicionário', primitivas_dicionario_1.default);
59
60
  (0, comum_1.registrarPrimitiva)(this.primitivasConhecidas, 'número', primitivas_numero_1.default);
60
61
  (0, comum_1.registrarPrimitiva)(this.primitivasConhecidas, 'texto', primitivas_texto_1.default);
@@ -205,6 +206,39 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
205
206
  this.blocos -= 1;
206
207
  }
207
208
  }
209
+ /**
210
+ * Resolve uma lista de compreensão.
211
+ * @returns {ListaCompreensao} A lista de compreensão resolvida.
212
+ */
213
+ resolverCompreensaoDeLista(retornoExpressao) {
214
+ this.consumir(delegua_2.default.PARA, "Esperado instrução 'para' após identificado.");
215
+ this.consumir(delegua_2.default.CADA, "Esperado instrução 'cada' após 'para'.");
216
+ const simboloVariavelIteracao = this.consumir(delegua_2.default.IDENTIFICADOR, "Esperado identificador de variável após 'para cada'.");
217
+ if (!this.verificarSeSimboloAtualEIgualA(delegua_2.default.DE, delegua_2.default.EM)) {
218
+ throw this.erro(this.simbolos[this.atual], "Esperado palavras reservadas 'em' ou 'de' após variável de iteração em instrução em lista de compreensão.");
219
+ }
220
+ const localizacaoVetor = this.simboloAnterior();
221
+ const vetor = this.ou();
222
+ let condicao = null;
223
+ if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.SE)) {
224
+ condicao = this.expressao();
225
+ }
226
+ else {
227
+ condicao = new declaracoes_1.Expressao(new construtos_1.Literal(this.hashArquivo, Number(localizacaoVetor.linha), true));
228
+ }
229
+ this.consumir(delegua_2.default.COLCHETE_DIREITO, 'Espero fechamento de colchetes após condição.');
230
+ const tipoVetor = vetor.tipo;
231
+ if (!tipoVetor.endsWith('[]') && !['qualquer', 'vetor'].includes(tipoVetor)) {
232
+ throw this.erro(localizacaoVetor, `Variável ou constante em 'para cada' não é iterável. Tipo resolvido: ${tipoVetor}.`);
233
+ }
234
+ const variavelIteracao = new construtos_1.Variavel(this.hashArquivo, simboloVariavelIteracao);
235
+ return new construtos_1.ListaCompreensao(Number(this.simbolos[this.atual]), this.hashArquivo, retornoExpressao, vetor, new construtos_1.ParaCadaComoConstruto(retornoExpressao.hashArquivo, retornoExpressao.linha, variavelIteracao, vetor, new declaracoes_1.Bloco(retornoExpressao.hashArquivo, retornoExpressao.linha, [
236
+ new declaracoes_1.Se(condicao, new declaracoes_1.Bloco(retornoExpressao.hashArquivo, retornoExpressao.linha, [
237
+ new declaracoes_1.Retorna(simboloVariavelIteracao, retornoExpressao),
238
+ ]), [], null),
239
+ ])), 'qualquer[]' // TODO: Talvez um dia inferir o tipo aqui.
240
+ );
241
+ }
208
242
  primario() {
209
243
  const simboloAtual = this.simbolos[this.atual];
210
244
  let valores = [];
@@ -220,6 +254,16 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
220
254
  if (this.verificarSeSimboloAtualEIgualA(delegua_2.default.PARENTESE_ESQUERDO)) {
221
255
  return this.construtoTupla();
222
256
  }
257
+ // Ao resolver a expressão aqui, identificadores dentro da expressão de compreensão
258
+ // de lista serão tratados como 'qualquer', para evitar erros de tipo.
259
+ this.intuirTipoQualquerParaIdentificadores = true;
260
+ const retornoExpressaoOuPrimeiroValor = this.seTernario();
261
+ this.intuirTipoQualquerParaIdentificadores = false;
262
+ if (this.simbolos[this.atual].tipo === delegua_2.default.PARA) {
263
+ return this.resolverCompreensaoDeLista(retornoExpressaoOuPrimeiroValor);
264
+ }
265
+ // Aqui já sabemos que não é uma compreensão de lista.
266
+ valores.push(retornoExpressaoOuPrimeiroValor);
223
267
  while (!this.verificarSeSimboloAtualEIgualA(delegua_2.default.COLCHETE_DIREITO)) {
224
268
  switch (this.simbolos[this.atual].tipo) {
225
269
  case delegua_2.default.VIRGULA:
@@ -231,7 +275,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
231
275
  valores.push(new construtos_1.ComentarioComoConstruto(simboloComentario));
232
276
  break;
233
277
  default:
234
- const valor = this.atribuir();
278
+ const valor = this.seTernario();
235
279
  valores.push(valor);
236
280
  break;
237
281
  }
@@ -289,7 +333,14 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
289
333
  case delegua_2.default.IDENTIFICADOR:
290
334
  const simboloIdentificador = this.avancarEDevolverAnterior();
291
335
  let tipoOperando;
292
- if (simboloIdentificador.lexema in this.tiposDefinidosEmCodigo) {
336
+ if (this.intuirTipoQualquerParaIdentificadores) {
337
+ // Esta indicação é utilizada para compreensões de lista, onde o
338
+ // tipo do identificador de iteração é 'qualquer' por definição.
339
+ tipoOperando = 'qualquer';
340
+ this.pilhaEscopos.definirInformacoesVariavel(simboloIdentificador.lexema, new informacao_elemento_sintatico_1.InformacaoElementoSintatico(simboloIdentificador.lexema, 'qualquer') // TODO: Talvez um dia inferir o tipo aqui.
341
+ );
342
+ }
343
+ else if (simboloIdentificador.lexema in this.tiposDefinidosEmCodigo) {
293
344
  tipoOperando = simboloIdentificador.lexema;
294
345
  }
295
346
  else {
@@ -425,7 +476,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
425
476
  const nome = this.consumir(delegua_2.default.IDENTIFICADOR, "Esperado nome de método ou propriedade após '.'.");
426
477
  let tipoInferido = expressaoAnterior.tipo;
427
478
  // Se não for um dicionário anônimo (ou seja, ser variável ou constante com nome)
428
- if (expressaoAnterior.tipo === 'dicionário' && expressaoAnterior.constructor !== construtos_1.Dicionario) {
479
+ if (expressaoAnterior.tipo === 'dicionário' &&
480
+ expressaoAnterior.constructor !== construtos_1.Dicionario) {
429
481
  // TODO: Achar algum caso em que aqui não seja variável.
430
482
  const nomeDicionario = expressaoAnterior.simbolo.lexema;
431
483
  const elementoDicionarioPilha = this.pilhaEscopos.obterElementoMontaoTipos(nomeDicionario);
@@ -844,7 +896,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
844
896
  const corpo = this.resolverDeclaracao();
845
897
  return {
846
898
  condicao,
847
- corpo
899
+ corpo,
848
900
  };
849
901
  }
850
902
  declaracaoEnquanto() {
@@ -949,7 +1001,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
949
1001
  const condicaoEnquanto = this.expressao();
950
1002
  return {
951
1003
  caminhoFazer,
952
- condicaoEnquanto
1004
+ condicaoEnquanto,
953
1005
  };
954
1006
  }
955
1007
  declaracaoFazer(simboloFazer) {
@@ -980,7 +1032,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
980
1032
  case delegua_2.default.CHAVE_ESQUERDA:
981
1033
  this.avancarEDevolverAnterior();
982
1034
  do {
983
- const identificadorImportacao = this.consumir(delegua_2.default.IDENTIFICADOR, "Esperado identificador de elemento a ser importado.");
1035
+ const identificadorImportacao = this.consumir(delegua_2.default.IDENTIFICADOR, 'Esperado identificador de elemento a ser importado.');
984
1036
  elementosImportacao.push(identificadorImportacao);
985
1037
  } while (this.verificarSeSimboloAtualEIgualA(delegua_2.default.VIRGULA));
986
1038
  this.consumir(delegua_2.default.CHAVE_DIREITA, "Esperado '}' após lista de elementos a serem importados.");
@@ -1047,7 +1099,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1047
1099
  nomeVariavelChave,
1048
1100
  nomeVariavelValor,
1049
1101
  dicionario,
1050
- corpo
1102
+ corpo,
1051
1103
  };
1052
1104
  }
1053
1105
  declaracaoParaCadaDicionario(simboloPara) {
@@ -1071,7 +1123,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1071
1123
  }
1072
1124
  }
1073
1125
  const tipoVetor = vetor.tipo;
1074
- if (!tipoVetor.endsWith('[]') && !['dicionário', 'qualquer', 'texto', 'vetor'].includes(tipoVetor)) {
1126
+ if (!tipoVetor.endsWith('[]') &&
1127
+ !['dicionário', 'qualquer', 'texto', 'vetor'].includes(tipoVetor)) {
1075
1128
  throw this.erro(simboloPara, `Variável ou constante em 'para cada' não é iterável. Tipo resolvido: ${tipoVetor}.`);
1076
1129
  }
1077
1130
  let tipoVariavelIteracao = 'qualquer';
@@ -1084,7 +1137,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1084
1137
  return {
1085
1138
  variavelIteracao,
1086
1139
  vetor,
1087
- corpo
1140
+ corpo,
1088
1141
  };
1089
1142
  }
1090
1143
  declaracaoParaCadaVetor(simboloPara) {
@@ -1135,7 +1188,7 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1135
1188
  inicializador,
1136
1189
  condicao,
1137
1190
  incrementar,
1138
- corpo
1191
+ corpo,
1139
1192
  };
1140
1193
  }
1141
1194
  declaracaoParaTradicional(simboloPara) {
@@ -1404,11 +1457,14 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1404
1457
  if (!tipoCorrespondente) {
1405
1458
  throw new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}' não foi encontrado entre os tipos definidos por bibliotecas.`);
1406
1459
  }
1407
- if (!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.metodos) &&
1408
- !(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.propriedades)) {
1460
+ if (!(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
1461
+ tipoCorrespondente.metodos) &&
1462
+ !(entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
1463
+ tipoCorrespondente.propriedades)) {
1409
1464
  throw new erro_avaliador_sintatico_1.ErroAvaliadorSintatico(entidadeChamadaAcessoMetodoOuPropriedade.simbolo, `Membro '${entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema}' não existe no tipo '${entidadeChamadaAcessoMetodoOuPropriedade.objeto.tipo}'.`);
1410
1465
  }
1411
- if (entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in tipoCorrespondente.metodos) {
1466
+ if (entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema in
1467
+ tipoCorrespondente.metodos) {
1412
1468
  return tipoCorrespondente.metodos[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
1413
1469
  }
1414
1470
  return tipoCorrespondente.propriedades[entidadeChamadaAcessoMetodoOuPropriedade.simbolo.lexema].tipo;
@@ -1475,7 +1531,8 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1475
1531
  for (var i = 0; i < construto.valores.length; i++) {
1476
1532
  const chaveCorrespondente = this.resolverValorConstruto(construto.chaves[i]);
1477
1533
  const valorCorrespondente = construto.valores[i];
1478
- subElementos[chaveCorrespondente] = this.resolverInformacaoElementoSintaticoDeDicionario(valorCorrespondente);
1534
+ subElementos[chaveCorrespondente] =
1535
+ this.resolverInformacaoElementoSintaticoDeDicionario(valorCorrespondente);
1479
1536
  }
1480
1537
  retorno.subElementos = subElementos;
1481
1538
  const endereco = this.montaoTipos.adicionarReferencia(retorno);
@@ -1828,6 +1885,9 @@ class AvaliadorSintatico extends avaliador_sintatico_base_1.AvaliadorSintaticoBa
1828
1885
  new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]'),
1829
1886
  new informacao_elemento_sintatico_1.InformacaoElementoSintatico('funcaoPesquisa', 'função'),
1830
1887
  ]));
1888
+ this.pilhaEscopos.definirInformacoesVariavel('clonar', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('clonar', 'qualquer', true, [
1889
+ new informacao_elemento_sintatico_1.InformacaoElementoSintatico('valor', 'qualquer'),
1890
+ ]));
1831
1891
  this.pilhaEscopos.definirInformacoesVariavel('encontrar', new informacao_elemento_sintatico_1.InformacaoElementoSintatico('encontrar', 'qualquer', true, [
1832
1892
  new informacao_elemento_sintatico_1.InformacaoElementoSintatico('vetor', 'qualquer[]'),
1833
1893
  new informacao_elemento_sintatico_1.InformacaoElementoSintatico('funcaoPesquisa', 'função'),