@designliquido/delegua 0.33.8 → 0.33.9

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 (90) hide show
  1. package/analisador-semantico/dialetos/index.d.ts +0 -1
  2. package/analisador-semantico/dialetos/index.d.ts.map +1 -1
  3. package/analisador-semantico/dialetos/index.js +0 -1
  4. package/analisador-semantico/dialetos/index.js.map +1 -1
  5. package/avaliador-sintatico/dialetos/index.d.ts +0 -1
  6. package/avaliador-sintatico/dialetos/index.d.ts.map +1 -1
  7. package/avaliador-sintatico/dialetos/index.js +0 -1
  8. package/avaliador-sintatico/dialetos/index.js.map +1 -1
  9. package/bin/package.json +1 -1
  10. package/formatadores/index.d.ts +0 -1
  11. package/formatadores/index.d.ts.map +1 -1
  12. package/formatadores/index.js +0 -1
  13. package/formatadores/index.js.map +1 -1
  14. package/interpretador/dialetos/index.d.ts +0 -1
  15. package/interpretador/dialetos/index.d.ts.map +1 -1
  16. package/interpretador/dialetos/index.js +0 -1
  17. package/interpretador/dialetos/index.js.map +1 -1
  18. package/lexador/dialetos/index.d.ts +0 -1
  19. package/lexador/dialetos/index.d.ts.map +1 -1
  20. package/lexador/dialetos/index.js +0 -1
  21. package/lexador/dialetos/index.js.map +1 -1
  22. package/lexador/dialetos/palavras-reservadas/index.d.ts +0 -1
  23. package/lexador/dialetos/palavras-reservadas/index.d.ts.map +1 -1
  24. package/lexador/dialetos/palavras-reservadas/index.js +1 -3
  25. package/lexador/dialetos/palavras-reservadas/index.js.map +1 -1
  26. package/package.json +1 -1
  27. package/tradutores/index.d.ts +0 -1
  28. package/tradutores/index.d.ts.map +1 -1
  29. package/tradutores/index.js +0 -1
  30. package/tradutores/index.js.map +1 -1
  31. package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts +0 -38
  32. package/analisador-semantico/dialetos/analisador-semantico-visualg.d.ts.map +0 -1
  33. package/analisador-semantico/dialetos/analisador-semantico-visualg.js +0 -229
  34. package/analisador-semantico/dialetos/analisador-semantico-visualg.js.map +0 -1
  35. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts +0 -85
  36. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.d.ts.map +0 -1
  37. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js +0 -731
  38. package/avaliador-sintatico/dialetos/visualg/avaliador-sintatico-visualg.js.map +0 -1
  39. package/avaliador-sintatico/dialetos/visualg/index.d.ts +0 -2
  40. package/avaliador-sintatico/dialetos/visualg/index.d.ts.map +0 -1
  41. package/avaliador-sintatico/dialetos/visualg/index.js +0 -18
  42. package/avaliador-sintatico/dialetos/visualg/index.js.map +0 -1
  43. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts +0 -8
  44. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.d.ts.map +0 -1
  45. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js +0 -3
  46. package/avaliador-sintatico/dialetos/visualg/parametro-visualg.js.map +0 -1
  47. package/bibliotecas/dialetos/visualg/caracteres.d.ts +0 -4
  48. package/bibliotecas/dialetos/visualg/caracteres.d.ts.map +0 -1
  49. package/bibliotecas/dialetos/visualg/caracteres.js +0 -46
  50. package/bibliotecas/dialetos/visualg/caracteres.js.map +0 -1
  51. package/bibliotecas/dialetos/visualg/index.d.ts +0 -3
  52. package/bibliotecas/dialetos/visualg/index.d.ts.map +0 -1
  53. package/bibliotecas/dialetos/visualg/index.js +0 -19
  54. package/bibliotecas/dialetos/visualg/index.js.map +0 -1
  55. package/bibliotecas/dialetos/visualg/numerica.d.ts +0 -4
  56. package/bibliotecas/dialetos/visualg/numerica.d.ts.map +0 -1
  57. package/bibliotecas/dialetos/visualg/numerica.js +0 -74
  58. package/bibliotecas/dialetos/visualg/numerica.js.map +0 -1
  59. package/formatadores/formatador-visualg.d.ts +0 -73
  60. package/formatadores/formatador-visualg.d.ts.map +0 -1
  61. package/formatadores/formatador-visualg.js +0 -617
  62. package/formatadores/formatador-visualg.js.map +0 -1
  63. package/interpretador/dialetos/visualg/comum.d.ts +0 -21
  64. package/interpretador/dialetos/visualg/comum.d.ts.map +0 -1
  65. package/interpretador/dialetos/visualg/comum.js +0 -372
  66. package/interpretador/dialetos/visualg/comum.js.map +0 -1
  67. package/interpretador/dialetos/visualg/index.d.ts +0 -3
  68. package/interpretador/dialetos/visualg/index.d.ts.map +0 -1
  69. package/interpretador/dialetos/visualg/index.js +0 -19
  70. package/interpretador/dialetos/visualg/index.js.map +0 -1
  71. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts +0 -55
  72. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.d.ts.map +0 -1
  73. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js +0 -211
  74. package/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.js.map +0 -1
  75. package/interpretador/dialetos/visualg/interpretador-visualg.d.ts +0 -58
  76. package/interpretador/dialetos/visualg/interpretador-visualg.d.ts.map +0 -1
  77. package/interpretador/dialetos/visualg/interpretador-visualg.js +0 -194
  78. package/interpretador/dialetos/visualg/interpretador-visualg.js.map +0 -1
  79. package/lexador/dialetos/lexador-visualg.d.ts +0 -20
  80. package/lexador/dialetos/lexador-visualg.d.ts.map +0 -1
  81. package/lexador/dialetos/lexador-visualg.js +0 -226
  82. package/lexador/dialetos/lexador-visualg.js.map +0 -1
  83. package/lexador/dialetos/palavras-reservadas/visualg.d.ts +0 -75
  84. package/lexador/dialetos/palavras-reservadas/visualg.d.ts.map +0 -1
  85. package/lexador/dialetos/palavras-reservadas/visualg.js +0 -82
  86. package/lexador/dialetos/palavras-reservadas/visualg.js.map +0 -1
  87. package/tradutores/tradutor-reverso-visualg.d.ts +0 -54
  88. package/tradutores/tradutor-reverso-visualg.d.ts.map +0 -1
  89. package/tradutores/tradutor-reverso-visualg.js +0 -264
  90. package/tradutores/tradutor-reverso-visualg.js.map +0 -1
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InterpretadorVisuAlgComDepuracao = void 0;
27
- const _ = __importStar(require("lodash"));
28
- const visualg_1 = require("../../../bibliotecas/dialetos/visualg");
29
- const quebras_1 = require("../../../quebras");
30
- const interpretador_com_depuracao_1 = require("../../interpretador-com-depuracao");
31
- const comum = __importStar(require("./comum"));
32
- /**
33
- * Interpretador com depuração para o dialeto VisuAlg.
34
- */
35
- class InterpretadorVisuAlgComDepuracao extends interpretador_com_depuracao_1.InterpretadorComDepuracao {
36
- constructor(diretorioBase, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
37
- super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
38
- this.mensagemPrompt = '> ';
39
- (0, visualg_1.registrarBibliotecaNumericaVisuAlg)(this, this.pilhaEscoposExecucao);
40
- (0, visualg_1.registrarBibliotecaCaracteresVisuAlg)(this, this.pilhaEscoposExecucao);
41
- }
42
- async visitarDeclaracaoInicioAlgoritmo(declaracao) {
43
- return comum.visitarDeclaracaoInicioAlgoritmo(this, declaracao);
44
- }
45
- async visitarDeclaracaoCabecalhoPrograma(declaracao) {
46
- return comum.visitarDeclaracaoCabecalhoPrograma(this, declaracao);
47
- }
48
- visitarDeclaracaoConst(declaracao) {
49
- throw new Error('Método não implementado.');
50
- }
51
- async visitarExpressaoAcessoElementoMatriz(expressao) {
52
- return await comum.visitarExpressaoAcessoElementoMatriz(this, expressao);
53
- }
54
- async visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
55
- return await comum.visitarExpressaoAtribuicaoPorIndicesMatriz(this, expressao);
56
- }
57
- async avaliarArgumentosEscrevaVisuAlg(argumentos) {
58
- let formatoTexto = '';
59
- for (const argumento of argumentos) {
60
- const resultadoAvaliacao = await this.avaliar(argumento);
61
- let valor = (resultadoAvaliacao === null || resultadoAvaliacao === void 0 ? void 0 : resultadoAvaliacao.hasOwnProperty('valor')) ? resultadoAvaliacao.valor : resultadoAvaliacao;
62
- formatoTexto += `${this.paraTexto(valor)}`;
63
- }
64
- return formatoTexto;
65
- }
66
- /**
67
- * No VisuAlg, o bloco executa se a condição for falsa.
68
- * Por isso a reimplementação aqui.
69
- * @param declaracao A declaração `Fazer`
70
- * @returns Só retorna em caso de erro na execução, e neste caso, o erro.
71
- */
72
- async visitarDeclaracaoFazer(declaracao) {
73
- let retornoExecucao;
74
- do {
75
- try {
76
- retornoExecucao = await this.executar(declaracao.caminhoFazer);
77
- if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
78
- retornoExecucao = null;
79
- }
80
- }
81
- catch (erro) {
82
- return Promise.reject(erro);
83
- }
84
- } while (!(retornoExecucao instanceof quebras_1.Quebra) &&
85
- !this.eVerdadeiro(await this.avaliar(declaracao.condicaoEnquanto)));
86
- }
87
- /**
88
- * Execução de uma escrita na saída padrão, sem quebras de linha.
89
- * Implementada para alguns dialetos, como VisuAlg.
90
- *
91
- * Como `readline.question` sobrescreve o que foi escrito antes, aqui
92
- * definimos `this.mensagemPrompt` para uso com `leia`.
93
- * No VisuAlg é muito comum usar `escreva()` seguido de `leia()` para
94
- * gerar um prompt na mesma linha.
95
- * @param declaracao A declaração.
96
- * @returns Sempre nulo, por convenção de visita.
97
- */
98
- async visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
99
- try {
100
- const formatoTexto = await this.avaliarArgumentosEscrevaVisuAlg(declaracao.argumentos);
101
- this.mensagemPrompt = formatoTexto;
102
- this.funcaoDeRetornoMesmaLinha(formatoTexto);
103
- return null;
104
- }
105
- catch (erro) {
106
- this.erros.push(erro);
107
- }
108
- }
109
- /**
110
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
111
- * alguma função para escrever numa página Web.
112
- * @param declaracao A declaração.
113
- * @returns Sempre nulo, por convenção de visita.
114
- */
115
- async visitarDeclaracaoEscreva(declaracao) {
116
- try {
117
- const formatoTexto = await this.avaliarArgumentosEscrevaVisuAlg(declaracao.argumentos);
118
- this.funcaoDeRetorno(formatoTexto);
119
- return null;
120
- }
121
- catch (erro) {
122
- this.erros.push(erro);
123
- }
124
- }
125
- async visitarExpressaoFimPara(declaracao) {
126
- if (!this.eVerdadeiro(await this.avaliar(declaracao.condicaoPara))) {
127
- const escopoPara = this.pilhaEscoposExecucao.pilha[this.pilhaEscoposExecucao.pilha.length - 2];
128
- if (this.comando === 'proximo') {
129
- escopoPara.declaracaoAtual++;
130
- }
131
- escopoPara.emLacoRepeticao = false;
132
- return new quebras_1.SustarQuebra();
133
- }
134
- if (declaracao.incremento === null || declaracao.incremento === undefined) {
135
- return;
136
- }
137
- await this.executar(declaracao.incremento);
138
- }
139
- /**
140
- * Execução da leitura de valores da entrada configurada no
141
- * início da aplicação.
142
- * @param expressao Expressão do tipo Leia
143
- * @returns Promise com o resultado da leitura.
144
- */
145
- async visitarExpressaoLeia(expressao) {
146
- return comum.visitarExpressaoLeia(this, expressao, this.mensagemPrompt);
147
- }
148
- async visitarDeclaracaoPara(declaracao) {
149
- if (!declaracao.inicializada && declaracao.inicializador !== null) {
150
- await this.avaliar(declaracao.inicializador);
151
- if (declaracao.incrementar !== null) {
152
- await comum.resolverIncrementoPara(this, declaracao);
153
- }
154
- }
155
- declaracao.inicializada = true;
156
- // Aqui precisamos clonar a declaração `Para` porque inserimos
157
- // ao final dela o incremento. Diferente de declarações `Para` de
158
- // outros dialetos, o incremento dessa declaração é implícito.
159
- const cloneDeclaracao = _.cloneDeep(declaracao);
160
- const corpoExecucao = cloneDeclaracao.corpo;
161
- // O incremento vai ao final do bloco de escopo.
162
- if (cloneDeclaracao.incrementar !== null) {
163
- await comum.resolverIncrementoPara(this, cloneDeclaracao);
164
- corpoExecucao.declaracoes.push(cloneDeclaracao.incrementar);
165
- }
166
- const escopoAtual = this.pilhaEscoposExecucao.topoDaPilha();
167
- switch (this.comando) {
168
- case 'proximo':
169
- if (cloneDeclaracao.condicao !== null &&
170
- this.eVerdadeiro(await this.avaliar(cloneDeclaracao.condicao))) {
171
- escopoAtual.emLacoRepeticao = true;
172
- const resultadoBloco = this.executarBloco(corpoExecucao.declaracoes);
173
- return resultadoBloco;
174
- }
175
- escopoAtual.emLacoRepeticao = false;
176
- return null;
177
- default:
178
- let retornoExecucao;
179
- while (!(retornoExecucao instanceof quebras_1.Quebra) && !this.pontoDeParadaAtivo) {
180
- if (cloneDeclaracao.condicao !== null &&
181
- !this.eVerdadeiro(await this.avaliar(cloneDeclaracao.condicao))) {
182
- break;
183
- }
184
- try {
185
- retornoExecucao = await this.executar(corpoExecucao);
186
- if (retornoExecucao instanceof quebras_1.SustarQuebra) {
187
- return null;
188
- }
189
- if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
190
- retornoExecucao = null;
191
- }
192
- }
193
- catch (erro) {
194
- return Promise.reject(erro);
195
- }
196
- }
197
- return retornoExecucao;
198
- }
199
- }
200
- async visitarExpressaoBinaria(expressao) {
201
- return comum.visitarExpressaoBinaria(this, expressao);
202
- }
203
- async visitarExpressaoLogica(expressao) {
204
- return comum.visitarExpressaoLogica(this, expressao);
205
- }
206
- async visitarDeclaracaoAleatorio(declaracao) {
207
- return comum.visitarDeclaracaoAleatorio(this, declaracao);
208
- }
209
- }
210
- exports.InterpretadorVisuAlgComDepuracao = InterpretadorVisuAlgComDepuracao;
211
- //# sourceMappingURL=interpretador-visualg-com-depuracao.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-visualg-com-depuracao.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/interpretador-visualg-com-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAE5B,mEAG+C;AAoB/C,8CAAyE;AACzE,mFAA8E;AAC9E,+CAAiC;AAEjC;;GAEG;AACH,MAAa,gCAAiC,SAAQ,uDAAyB;IAG3E,YAAY,aAAqB,EAAE,kBAA4B,IAAI,EAAE,4BAAsC,IAAI;QAC3G,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAA,4CAAkC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpE,IAAA,8CAAoC,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,UAA6B;QAChE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,sBAAsB,CAAC,UAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,oCAAoC,CAAC,SAA+B;QACtE,OAAO,MAAM,KAAK,CAAC,oCAAoC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,0CAA0C,CAAC,SAAqC;QAClF,OAAO,MAAM,KAAK,CAAC,0CAA0C,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,UAAuB;QACjE,IAAI,YAAY,GAAW,EAAE,CAAC;QAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,KAAK,GAAG,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAExG,YAAY,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SAC9C;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAiB;QAC1C,IAAI,eAAoB,CAAC;QACzB,GAAG;YACC,IAAI;gBACA,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,eAAe,YAAY,yBAAe,EAAE;oBAC5C,eAAe,GAAG,IAAI,CAAC;iBAC1B;aACJ;YAAC,OAAO,IAAS,EAAE;gBAChB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC/B;SACJ,QACG,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC;YACpC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EACpE;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,IAAI;YACA,MAAM,YAAY,GAAW,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/F,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;YACnC,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,IAAS,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAC9C,IAAI;YACA,MAAM,YAAY,GAAW,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/F,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,IAAS,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,UAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/F,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC5B,UAAU,CAAC,eAAe,EAAE,CAAC;aAChC;YAED,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;YACnC,OAAO,IAAI,sBAAY,EAAE,CAAC;SAC7B;QAED,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE;YACvE,OAAO;SACV;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAe;QACtC,OAAO,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAgB;QACxC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAoB,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,WAAW,KAAK,IAAI,EAAE;gBACjC,MAAM,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aACxD;SACJ;QAED,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;QAE/B,8DAA8D;QAC9D,iEAAiE;QACjE,8DAA8D;QAC9D,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAS,CAAC;QACxD,MAAM,aAAa,GAAG,eAAe,CAAC,KAAc,CAAC;QACrD,gDAAgD;QAChD,IAAI,eAAe,CAAC,WAAW,KAAK,IAAI,EAAE;YACtC,MAAM,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC1D,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;SAC/D;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC5D,QAAQ,IAAI,CAAC,OAAO,EAAE;YAClB,KAAK,SAAS;gBACV,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;oBACjC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAChE;oBACE,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBAEnC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBACrE,OAAO,cAAc,CAAC;iBACzB;gBAED,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB;gBACI,IAAI,eAAoB,CAAC;gBACzB,OAAO,CAAC,CAAC,eAAe,YAAY,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBACrE,IACI,eAAe,CAAC,QAAQ,KAAK,IAAI;wBACjC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EACjE;wBACE,MAAM;qBACT;oBAED,IAAI;wBACA,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACrD,IAAI,eAAe,YAAY,sBAAY,EAAE;4BACzC,OAAO,IAAI,CAAC;yBACf;wBAED,IAAI,eAAe,YAAY,yBAAe,EAAE;4BAC5C,eAAe,GAAG,IAAI,CAAC;yBAC1B;qBACJ;oBAAC,OAAO,IAAS,EAAE;wBAChB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBAC/B;iBACJ;gBAED,OAAO,eAAe,CAAC;SAC9B;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAwB;QAClD,OAAO,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC1C,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,UAAqB;QAClD,OAAO,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;CACJ;AAhND,4EAgNC"}
@@ -1,58 +0,0 @@
1
- import { AcessoElementoMatriz, AtribuicaoPorIndicesMatriz, Binario, FimPara, Logico } from '../../../construtos';
2
- import { Aleatorio, CabecalhoPrograma, Const, Escreva, EscrevaMesmaLinha, Fazer, Leia, Para } from '../../../declaracoes';
3
- import { InterpretadorBase } from '../..';
4
- /**
5
- * O Interpretador VisuAlg possui algumas diferenças em relação ao
6
- * Interpretador Delégua quanto à escrita na saída.
7
- * Para N argumentos, Delégua inclui um espaço entre cada argumento.
8
- * Já VisuAlg imprime todos os argumentos concatenados.
9
- */
10
- export declare class InterpretadorVisuAlg extends InterpretadorBase {
11
- mensagemPrompt: string;
12
- constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
13
- visitarDeclaracaoInicioAlgoritmo(declaracao: CabecalhoPrograma): Promise<any>;
14
- visitarDeclaracaoCabecalhoPrograma(declaracao: CabecalhoPrograma): Promise<any>;
15
- visitarDeclaracaoConst(declaracao: Const): Promise<any>;
16
- visitarExpressaoAcessoElementoMatriz(expressao: AcessoElementoMatriz): Promise<any>;
17
- visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: AtribuicaoPorIndicesMatriz): Promise<any>;
18
- private avaliarArgumentosEscrevaVisuAlg;
19
- /**
20
- * No VisuAlg, o bloco de condição executa se falso.
21
- * Por isso a reimplementação aqui.
22
- * @param declaracao A declaração `Fazer`
23
- * @returns Só retorna em caso de erro na execução, e neste caso, o erro.
24
- */
25
- visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>;
26
- /**
27
- * Execução de uma escrita na saída padrão, sem quebras de linha.
28
- * Implementada para alguns dialetos, como VisuAlg.
29
- *
30
- * Como `readline.question` sobrescreve o que foi escrito antes, aqui
31
- * definimos `this.mensagemPrompt` para uso com `leia`.
32
- * No VisuAlg é muito comum usar `escreva()` seguido de `leia()` para
33
- * gerar um prompt na mesma linha.
34
- * @param declaracao A declaração.
35
- * @returns Sempre nulo, por convenção de visita.
36
- */
37
- visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>;
38
- /**
39
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
40
- * alguma função para escrever numa página Web.
41
- * @param declaracao A declaração.
42
- * @returns Sempre nulo, por convenção de visita.
43
- */
44
- visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>;
45
- visitarExpressaoFimPara(declaracao: FimPara): Promise<any>;
46
- /**
47
- * Execução da leitura de valores da entrada configurada no
48
- * início da aplicação.
49
- * @param expressao Expressão do tipo Leia
50
- * @returns Promise com o resultado da leitura.
51
- */
52
- visitarExpressaoLeia(expressao: Leia): Promise<any>;
53
- visitarDeclaracaoPara(declaracao: Para): Promise<any>;
54
- visitarExpressaoBinaria(expressao: Binario | any): Promise<any>;
55
- visitarExpressaoLogica(expressao: Logico): Promise<any>;
56
- visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>;
57
- }
58
- //# sourceMappingURL=interpretador-visualg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-visualg.d.ts","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/interpretador-visualg.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,OAAO,EAEP,OAAO,EACP,MAAM,EAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,SAAS,EACT,iBAAiB,EACjB,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,IAAI,EACP,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM1C;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACvD,cAAc,EAAE,MAAM,CAAC;gBAGnB,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IASxC,gCAAgC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7E,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrF,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxC,oCAAoC,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF,0CAA0C,CAAC,SAAS,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;YAIhG,+BAA+B;IAa7C;;;;;OAKG;IACG,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7D;;;;;;;;;;OAUG;IACG,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAWrF;;;;;OAKG;IACG,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAU3D,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBhE;;;;;OAKG;IACG,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAInD,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAuCrD,uBAAuB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,0BAA0B,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;CAGxE"}
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InterpretadorVisuAlg = void 0;
27
- const __1 = require("../..");
28
- const quebras_1 = require("../../../quebras");
29
- const numerica_1 = require("../../../bibliotecas/dialetos/visualg/numerica");
30
- const visualg_1 = require("../../../bibliotecas/dialetos/visualg");
31
- const comum = __importStar(require("./comum"));
32
- /**
33
- * O Interpretador VisuAlg possui algumas diferenças em relação ao
34
- * Interpretador Delégua quanto à escrita na saída.
35
- * Para N argumentos, Delégua inclui um espaço entre cada argumento.
36
- * Já VisuAlg imprime todos os argumentos concatenados.
37
- */
38
- class InterpretadorVisuAlg extends __1.InterpretadorBase {
39
- constructor(diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
40
- super(diretorioBase, performance, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
41
- this.mensagemPrompt = '> ';
42
- (0, numerica_1.registrarBibliotecaNumericaVisuAlg)(this, this.pilhaEscoposExecucao);
43
- (0, visualg_1.registrarBibliotecaCaracteresVisuAlg)(this, this.pilhaEscoposExecucao);
44
- }
45
- async visitarDeclaracaoInicioAlgoritmo(declaracao) {
46
- return comum.visitarDeclaracaoInicioAlgoritmo(this, declaracao);
47
- }
48
- async visitarDeclaracaoCabecalhoPrograma(declaracao) {
49
- return comum.visitarDeclaracaoCabecalhoPrograma(this, declaracao);
50
- }
51
- visitarDeclaracaoConst(declaracao) {
52
- throw new Error('Método não implementado.');
53
- }
54
- async visitarExpressaoAcessoElementoMatriz(expressao) {
55
- return await comum.visitarExpressaoAcessoElementoMatriz(this, expressao);
56
- }
57
- async visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
58
- return await comum.visitarExpressaoAtribuicaoPorIndicesMatriz(this, expressao);
59
- }
60
- async avaliarArgumentosEscrevaVisuAlg(argumentos) {
61
- let formatoTexto = '';
62
- for (const argumento of argumentos) {
63
- const resultadoAvaliacao = await this.avaliar(argumento);
64
- let valor = (resultadoAvaliacao === null || resultadoAvaliacao === void 0 ? void 0 : resultadoAvaliacao.hasOwnProperty('valor')) ? resultadoAvaliacao.valor : resultadoAvaliacao;
65
- formatoTexto += `${this.paraTexto(valor)}`;
66
- }
67
- return formatoTexto;
68
- }
69
- /**
70
- * No VisuAlg, o bloco de condição executa se falso.
71
- * Por isso a reimplementação aqui.
72
- * @param declaracao A declaração `Fazer`
73
- * @returns Só retorna em caso de erro na execução, e neste caso, o erro.
74
- */
75
- async visitarDeclaracaoFazer(declaracao) {
76
- let retornoExecucao;
77
- do {
78
- try {
79
- retornoExecucao = await this.executar(declaracao.caminhoFazer);
80
- if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
81
- retornoExecucao = null;
82
- }
83
- }
84
- catch (erro) {
85
- return Promise.reject(erro);
86
- }
87
- } while (!(retornoExecucao instanceof quebras_1.Quebra) &&
88
- !this.eVerdadeiro(await this.avaliar(declaracao.condicaoEnquanto)));
89
- }
90
- /**
91
- * Execução de uma escrita na saída padrão, sem quebras de linha.
92
- * Implementada para alguns dialetos, como VisuAlg.
93
- *
94
- * Como `readline.question` sobrescreve o que foi escrito antes, aqui
95
- * definimos `this.mensagemPrompt` para uso com `leia`.
96
- * No VisuAlg é muito comum usar `escreva()` seguido de `leia()` para
97
- * gerar um prompt na mesma linha.
98
- * @param declaracao A declaração.
99
- * @returns Sempre nulo, por convenção de visita.
100
- */
101
- async visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
102
- try {
103
- const formatoTexto = await this.avaliarArgumentosEscrevaVisuAlg(declaracao.argumentos);
104
- this.mensagemPrompt = formatoTexto;
105
- this.funcaoDeRetornoMesmaLinha(formatoTexto);
106
- return null;
107
- }
108
- catch (erro) {
109
- this.erros.push(erro);
110
- }
111
- }
112
- /**
113
- * Execução de uma escrita na saída configurada, que pode ser `console` (padrão) ou
114
- * alguma função para escrever numa página Web.
115
- * @param declaracao A declaração.
116
- * @returns Sempre nulo, por convenção de visita.
117
- */
118
- async visitarDeclaracaoEscreva(declaracao) {
119
- try {
120
- const formatoTexto = await this.avaliarArgumentosEscrevaVisuAlg(declaracao.argumentos);
121
- this.funcaoDeRetorno(formatoTexto);
122
- return null;
123
- }
124
- catch (erro) {
125
- this.erros.push(erro);
126
- }
127
- }
128
- async visitarExpressaoFimPara(declaracao) {
129
- if (!this.eVerdadeiro(await this.avaliar(declaracao.condicaoPara))) {
130
- const escopoPara = this.pilhaEscoposExecucao.pilha[this.pilhaEscoposExecucao.pilha.length - 2];
131
- escopoPara.declaracaoAtual++;
132
- escopoPara.emLacoRepeticao = false;
133
- return new quebras_1.SustarQuebra();
134
- }
135
- if (declaracao.incremento === null || declaracao.incremento === undefined) {
136
- return;
137
- }
138
- await this.executar(declaracao.incremento);
139
- }
140
- /**
141
- * Execução da leitura de valores da entrada configurada no
142
- * início da aplicação.
143
- * @param expressao Expressão do tipo Leia
144
- * @returns Promise com o resultado da leitura.
145
- */
146
- async visitarExpressaoLeia(expressao) {
147
- return comum.visitarExpressaoLeia(this, expressao, this.mensagemPrompt);
148
- }
149
- async visitarDeclaracaoPara(declaracao) {
150
- if (declaracao.inicializador !== null) {
151
- await this.avaliar(declaracao.inicializador);
152
- await comum.resolverIncrementoPara(this, declaracao);
153
- }
154
- let retornoExecucao;
155
- let retornoIncremento;
156
- while (!(retornoExecucao instanceof quebras_1.Quebra) && !(retornoIncremento instanceof quebras_1.Quebra)) {
157
- if (declaracao.condicao !== null && !this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
158
- break;
159
- }
160
- try {
161
- retornoExecucao = await this.executar(declaracao.corpo);
162
- if (retornoExecucao instanceof quebras_1.SustarQuebra) {
163
- return null;
164
- }
165
- if (retornoExecucao instanceof quebras_1.ContinuarQuebra) {
166
- retornoExecucao = null;
167
- }
168
- }
169
- catch (erro) {
170
- this.erros.push({
171
- erroInterno: erro,
172
- linha: declaracao.linha,
173
- hashArquivo: declaracao.hashArquivo,
174
- });
175
- return Promise.reject(erro);
176
- }
177
- if (declaracao.incrementar !== null) {
178
- retornoIncremento = await this.avaliar(declaracao.incrementar);
179
- }
180
- }
181
- return retornoExecucao;
182
- }
183
- async visitarExpressaoBinaria(expressao) {
184
- return comum.visitarExpressaoBinaria(this, expressao);
185
- }
186
- async visitarExpressaoLogica(expressao) {
187
- return comum.visitarExpressaoLogica(this, expressao);
188
- }
189
- async visitarDeclaracaoAleatorio(declaracao) {
190
- return comum.visitarDeclaracaoAleatorio(this, declaracao);
191
- }
192
- }
193
- exports.InterpretadorVisuAlg = InterpretadorVisuAlg;
194
- //# sourceMappingURL=interpretador-visualg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpretador-visualg.js","sourceRoot":"","sources":["../../../../fontes/interpretador/dialetos/visualg/interpretador-visualg.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { RetornoLexador } from '../../interfaces/retornos';
2
- import { LexadorBaseLinhaUnica } from '../lexador-base-linha-unica';
3
- import { SimboloInterface } from '../../interfaces';
4
- /**
5
- * O Lexador do VisuAlg é de linha única porque não possui comentários
6
- * multilinha na especificação.
7
- */
8
- export declare class LexadorVisuAlg extends LexadorBaseLinhaUnica {
9
- analisarNumero(): void;
10
- analisarTexto(delimitador: string): void;
11
- /**
12
- * Identificação de palavra-chave.
13
- * Palavras-chaves em VisuAlg não são sensíveis a tamanho de caixa
14
- * (caracteres maiúsculos e minúsculos são equivalentes).
15
- */
16
- identificarPalavraChave(): void;
17
- analisarToken(): void;
18
- mapear(codigo: string[], hashArquivo: number): RetornoLexador<SimboloInterface>;
19
- }
20
- //# sourceMappingURL=lexador-visualg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lexador-visualg.d.ts","sourceRoot":"","sources":["../../../fontes/lexador/dialetos/lexador-visualg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,qBAAqB;IACrD,cAAc,IAAI,IAAI;IAiBtB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAkBxC;;;;OAIG;IACH,uBAAuB,IAAI,IAAI;IAgB/B,aAAa,IAAI,IAAI;IA+IrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC;CAsBlF"}