@designliquido/delegua-node 1.13.3 → 1.14.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.
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts +6 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.d.ts.map +1 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js +39 -1
- package/avaliador-sintatico/avaliador-sintatico-com-importacao.js.map +1 -1
- package/avaliador-sintatico/micro-avaliador-ajuda.d.ts +38 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.d.ts.map +1 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.js +100 -0
- package/avaliador-sintatico/micro-avaliador-ajuda.js.map +1 -0
- package/bin/package.json +8 -7
- package/interpretador/comum.d.ts +19 -1
- package/interpretador/comum.d.ts.map +1 -1
- package/interpretador/comum.js +226 -1
- package/interpretador/comum.js.map +1 -1
- package/interpretador/conteudo-ajuda.d.ts +21 -0
- package/interpretador/conteudo-ajuda.d.ts.map +1 -0
- package/interpretador/conteudo-ajuda.js +845 -0
- package/interpretador/conteudo-ajuda.js.map +1 -0
- package/interpretador/interpretador-com-depuracao-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-depuracao-importacao.js.map +1 -1
- package/interpretador/interpretador-com-importacao.d.ts +7 -1
- package/interpretador/interpretador-com-importacao.d.ts.map +1 -1
- package/interpretador/interpretador-com-importacao.js +11 -1
- package/interpretador/interpretador-com-importacao.js.map +1 -1
- package/interpretador/realcador-sintaxe-ajuda.d.ts +6 -0
- package/interpretador/realcador-sintaxe-ajuda.d.ts.map +1 -0
- package/interpretador/realcador-sintaxe-ajuda.js +210 -0
- package/interpretador/realcador-sintaxe-ajuda.js.map +1 -0
- package/maquinas-estados-lair/index.d.ts +1 -0
- package/maquinas-estados-lair/index.d.ts.map +1 -1
- package/maquinas-estados-lair/index.js +1 -0
- package/maquinas-estados-lair/index.js.map +1 -1
- package/maquinas-estados-lair/maquina-estados-ajuda.d.ts +43 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.d.ts.map +1 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.js +155 -0
- package/maquinas-estados-lair/maquina-estados-ajuda.js.map +1 -0
- package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts +10 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.d.ts.map +1 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js +50 -1
- package/maquinas-estados-lair/maquina-estados-lair-delegua.js.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -1
- package/mecanismo-importacao-bibliotecas/index.js +1 -0
- package/mecanismo-importacao-bibliotecas/index.js.map +1 -1
- package/nucleo-execucao.d.ts.map +1 -1
- package/nucleo-execucao.js +1 -1
- package/nucleo-execucao.js.map +1 -1
- package/package.json +8 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conteudo-ajuda.js","sourceRoot":"","sources":["../../fontes/interpretador/conteudo-ajuda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAIzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAIzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAItE,qBAAa,mCACT,SAAQ,yBACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,EACzB,yBAAyB,EAAE,QAAQ;IAMvC;;;;;;;;;OASG;IACY,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAkC1F,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;CAGzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAG3F,gFAAsF;AACtF,wEAA2E;AAM3E,+CAAiC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAG3F,gFAAsF;AACtF,wEAA2E;AAM3E,+CAAiC;AAEjC,MAAa,mCACT,SAAQ,qCAAyB;IAKjC,YACI,UAAiD,EACjD,aAAqB,EACrB,eAAyB,EACzB,yBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,QAAQ,CAAC,UAAsB;QAC1C,MAAM,SAAS,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,6EAA6E;QAC7E,iDAAiD;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,0EAA0E;QAC1E,IAAI,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACnC,QAAQ,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,gCAAmB;gBACpB,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjD,MAAM;YACV;gBACI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,aAAa,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;QACd,CAAC;QAED,OAAO;YACH,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,aAAa;SACoB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,sBAAsB,CAAC,UAAiB;QAC7C,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,iCAAiC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;CACJ;AA3ED,kFA2EC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Const, Declaracao, FuncaoDeclaracao, Var } from '@designliquido/delegua/declaracoes';
|
|
1
|
+
import { Ajuda, Const, Declaracao, FuncaoDeclaracao, Var } from '@designliquido/delegua/declaracoes';
|
|
2
2
|
import { SimboloInterface } from '@designliquido/delegua/interfaces';
|
|
3
3
|
import { Interpretador } from '@designliquido/delegua/interpretador';
|
|
4
4
|
import { InterpretadorComImportacaoInterface } from '../interfaces/interpretador-com-importacao-interface';
|
|
@@ -17,5 +17,11 @@ export declare class InterpretadorComImportacao extends Interpretador implements
|
|
|
17
17
|
visitarDeclaracaoConst(declaracao: Const): Promise<any>;
|
|
18
18
|
visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): Promise<any>;
|
|
19
19
|
visitarDeclaracaoModuloDeclaracoes(declaracao: ModuloDeclaracoes): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
|
|
20
|
+
/**
|
|
21
|
+
* Override do método visitarDeclaracaoAjuda para suportar modo de ajuda interativo.
|
|
22
|
+
* - Se chamado como função com argumentos: ajuda(topico) -> retorna ajuda sobre o tópico
|
|
23
|
+
* - Se chamado sem argumentos: ajuda() -> entra no modo de ajuda interativo
|
|
24
|
+
*/
|
|
25
|
+
visitarDeclaracaoAjuda(declaracao: Ajuda): Promise<any>;
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=interpretador-com-importacao.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"interpretador-com-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAItE;;;GAGG;AACH,qBAAa,0BACT,SAAQ,aACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,WAAW,UAAQ,EACnB,eAAe,GAAE,QAAe,EAChC,yBAAyB,GAAE,QAAe;IAM/B,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAcjF,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAUhE,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAQzD,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;IAItE;;;;OAIG;IACY,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;CAGzE"}
|
|
@@ -60,7 +60,9 @@ class InterpretadorComImportacao extends interpretador_1.Interpretador {
|
|
|
60
60
|
return resultado;
|
|
61
61
|
}
|
|
62
62
|
async visitarConstrutoImportarBiblioteca(importarBiblioteca) {
|
|
63
|
-
|
|
63
|
+
const retornoCargaBiblioteca = await comum.visitarConstrutoImportarBiblioteca(this, importarBiblioteca);
|
|
64
|
+
this.pilhaEscoposExecucao.definirConstante(importarBiblioteca.nomeBiblioteca, retornoCargaBiblioteca, 'módulo');
|
|
65
|
+
return retornoCargaBiblioteca;
|
|
64
66
|
}
|
|
65
67
|
async visitarDeclaracaoVar(declaracao) {
|
|
66
68
|
// Chama o método da classe base para fazer a declaração
|
|
@@ -77,6 +79,14 @@ class InterpretadorComImportacao extends interpretador_1.Interpretador {
|
|
|
77
79
|
async visitarDeclaracaoModuloDeclaracoes(declaracao) {
|
|
78
80
|
return comum.visitarExpressaoModuloDeclaracoes(this, declaracao);
|
|
79
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Override do método visitarDeclaracaoAjuda para suportar modo de ajuda interativo.
|
|
84
|
+
* - Se chamado como função com argumentos: ajuda(topico) -> retorna ajuda sobre o tópico
|
|
85
|
+
* - Se chamado sem argumentos: ajuda() -> entra no modo de ajuda interativo
|
|
86
|
+
*/
|
|
87
|
+
async visitarDeclaracaoAjuda(declaracao) {
|
|
88
|
+
return comum.visitarDeclaracaoAjuda(this, declaracao);
|
|
89
|
+
}
|
|
80
90
|
}
|
|
81
91
|
exports.InterpretadorComImportacao = InterpretadorComImportacao;
|
|
82
92
|
//# sourceMappingURL=interpretador-com-importacao.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpretador-com-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,kGAAqF;AAMrF,+CAAiC;AAEjC;;;GAGG;AACH,MAAa,0BACT,SAAQ,6BAAa;IAKrB,YACI,UAAiD,EACjD,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,gBAAgB,GAAG,KAAK;QACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,
|
|
1
|
+
{"version":3,"file":"interpretador-com-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,kGAAqF;AAMrF,+CAAiC;AAEjC;;;GAGG;AACH,MAAa,0BACT,SAAQ,6BAAa;IAKrB,YACI,UAAiD,EACjD,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,UAAsB,EAAE,gBAAgB,GAAG,KAAK;QACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,MAAM,sBAAsB,GAAG,MAAM,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACxG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACtC,kBAAkB,CAAC,cAAc,EACjC,sBAAsB,EACtB,QAAQ,CACX,CAAC;QACF,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAEQ,KAAK,CAAC,oBAAoB,CAAC,UAAe;QAC/C,wDAAwD;QACxD,MAAM,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE7C,+CAA+C;QAC/C,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAEQ,sBAAsB,CAAC,UAAiB;QAC7C,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,iCAAiC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,sBAAsB,CAAC,UAAiB;QACnD,OAAO,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;CACJ;AArED,gEAqEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realcador-sintaxe-ajuda.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/realcador-sintaxe-ajuda.ts"],"names":[],"mappings":"AAwLA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgC7D"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.aplicarRealceSintaxe = aplicarRealceSintaxe;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
/**
|
|
9
|
+
* Realçador de sintaxe para código Delégua em exemplos de ajuda.
|
|
10
|
+
* Aplica cores usando chalk para melhorar a legibilidade.
|
|
11
|
+
*/
|
|
12
|
+
// Palavras-chave da linguagem
|
|
13
|
+
const PALAVRAS_CHAVE = new Set([
|
|
14
|
+
'var', 'const', 'se', 'senao', 'senão', 'para', 'enquanto', 'fazer',
|
|
15
|
+
'funcao', 'função', 'retorna', 'classe', 'herda', 'construtor',
|
|
16
|
+
'isto', 'super', 'tente', 'pegue', 'finalmente', 'sustar', 'continua',
|
|
17
|
+
'escolha', 'caso', 'padrao', 'padrão', 'importar', 'de', 'como'
|
|
18
|
+
]);
|
|
19
|
+
// Valores literais
|
|
20
|
+
const LITERAIS = new Set([
|
|
21
|
+
'verdadeiro', 'falso', 'nulo'
|
|
22
|
+
]);
|
|
23
|
+
// Funções nativas conhecidas
|
|
24
|
+
const FUNCOES_NATIVAS = new Set([
|
|
25
|
+
'escreva', 'leia', 'mapear', 'filtrarPor', 'ordenar', 'paraCada',
|
|
26
|
+
'numero', 'número', 'inteiro', 'real', 'texto', 'tamanho',
|
|
27
|
+
'aleatorio', 'aleatório', 'aleatorioEntre', 'clonar', 'tupla',
|
|
28
|
+
'todosEmCondicao', 'encontrar', 'somar', 'maximo', 'máximo',
|
|
29
|
+
'minimo', 'mínimo'
|
|
30
|
+
]);
|
|
31
|
+
/**
|
|
32
|
+
* Aplica realce de sintaxe a uma linha de código Delégua.
|
|
33
|
+
*/
|
|
34
|
+
function realcarLinha(linha) {
|
|
35
|
+
let resultado = '';
|
|
36
|
+
let i = 0;
|
|
37
|
+
while (i < linha.length) {
|
|
38
|
+
// Comentários de linha
|
|
39
|
+
if (linha.substring(i, i + 2) === '//') {
|
|
40
|
+
resultado += chalk_1.default.gray(linha.substring(i));
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
// Strings com aspas duplas
|
|
44
|
+
if (linha[i] === '"') {
|
|
45
|
+
let j = i + 1;
|
|
46
|
+
let temInterpolacao = false;
|
|
47
|
+
while (j < linha.length) {
|
|
48
|
+
if (linha[j] === '\\' && j + 1 < linha.length) {
|
|
49
|
+
j += 2;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (linha.substring(j, j + 2) === '${') {
|
|
53
|
+
temInterpolacao = true;
|
|
54
|
+
}
|
|
55
|
+
if (linha[j] === '"') {
|
|
56
|
+
j++;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
j++;
|
|
60
|
+
}
|
|
61
|
+
const stringCompleta = linha.substring(i, j);
|
|
62
|
+
if (temInterpolacao) {
|
|
63
|
+
// Realça strings com interpolação
|
|
64
|
+
resultado += realcarStringInterpolada(stringCompleta);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
resultado += chalk_1.default.green(stringCompleta);
|
|
68
|
+
}
|
|
69
|
+
i = j;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// Strings com aspas simples
|
|
73
|
+
if (linha[i] === "'") {
|
|
74
|
+
let j = i + 1;
|
|
75
|
+
while (j < linha.length && linha[j] !== "'") {
|
|
76
|
+
if (linha[j] === '\\')
|
|
77
|
+
j++;
|
|
78
|
+
j++;
|
|
79
|
+
}
|
|
80
|
+
resultado += chalk_1.default.green(linha.substring(i, j + 1));
|
|
81
|
+
i = j + 1;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// Números
|
|
85
|
+
if (/\d/.test(linha[i])) {
|
|
86
|
+
let j = i;
|
|
87
|
+
while (j < linha.length && /[\d.]/.test(linha[j])) {
|
|
88
|
+
j++;
|
|
89
|
+
}
|
|
90
|
+
resultado += chalk_1.default.cyan(linha.substring(i, j));
|
|
91
|
+
i = j;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
// Identificadores e palavras-chave
|
|
95
|
+
if (/[a-záàâãéêíóôõúçA-ZÁÀÂÃÉÊÍÓÔÕÚÇ_]/.test(linha[i])) {
|
|
96
|
+
let j = i;
|
|
97
|
+
while (j < linha.length && /[a-záàâãéêíóôõúçA-ZÁÀÂÃÉÊÍÓÔÕÚÇ0-9_]/.test(linha[j])) {
|
|
98
|
+
j++;
|
|
99
|
+
}
|
|
100
|
+
const palavra = linha.substring(i, j);
|
|
101
|
+
if (PALAVRAS_CHAVE.has(palavra)) {
|
|
102
|
+
resultado += chalk_1.default.magenta(palavra);
|
|
103
|
+
}
|
|
104
|
+
else if (LITERAIS.has(palavra)) {
|
|
105
|
+
resultado += chalk_1.default.yellow(palavra);
|
|
106
|
+
}
|
|
107
|
+
else if (FUNCOES_NATIVAS.has(palavra)) {
|
|
108
|
+
resultado += chalk_1.default.blue(palavra);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
resultado += palavra;
|
|
112
|
+
}
|
|
113
|
+
i = j;
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
// Operadores especiais
|
|
117
|
+
if ('(){}[]'.includes(linha[i])) {
|
|
118
|
+
resultado += chalk_1.default.yellow(linha[i]);
|
|
119
|
+
i++;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
// Outros caracteres
|
|
123
|
+
resultado += linha[i];
|
|
124
|
+
i++;
|
|
125
|
+
}
|
|
126
|
+
return resultado;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Realça strings com interpolação ${variavel}.
|
|
130
|
+
*/
|
|
131
|
+
function realcarStringInterpolada(str) {
|
|
132
|
+
let resultado = '';
|
|
133
|
+
let i = 0;
|
|
134
|
+
while (i < str.length) {
|
|
135
|
+
if (str.substring(i, i + 2) === '${') {
|
|
136
|
+
// Encontra o fim da interpolação
|
|
137
|
+
let j = i + 2;
|
|
138
|
+
let nivel = 1;
|
|
139
|
+
while (j < str.length && nivel > 0) {
|
|
140
|
+
if (str[j] === '{')
|
|
141
|
+
nivel++;
|
|
142
|
+
if (str[j] === '}')
|
|
143
|
+
nivel--;
|
|
144
|
+
j++;
|
|
145
|
+
}
|
|
146
|
+
// A parte antes do ${ em verde
|
|
147
|
+
const antes = str.substring(Math.max(0, resultado.length === 0 ? 0 : i), i);
|
|
148
|
+
if (antes)
|
|
149
|
+
resultado += chalk_1.default.green(antes);
|
|
150
|
+
// A interpolação em amarelo
|
|
151
|
+
resultado += chalk_1.default.yellow(str.substring(i, j));
|
|
152
|
+
i = j;
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
i++;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// Adiciona o resto em verde
|
|
159
|
+
if (i === str.length) {
|
|
160
|
+
return chalk_1.default.green(str);
|
|
161
|
+
}
|
|
162
|
+
return resultado || chalk_1.default.green(str);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Detecta se uma linha é código (indentada com espaços).
|
|
166
|
+
*/
|
|
167
|
+
function ehLinhaDeCodigo(linha) {
|
|
168
|
+
// Linha vazia
|
|
169
|
+
if (linha.trim() === '')
|
|
170
|
+
return false;
|
|
171
|
+
// Começa com espaços (indentação de código)
|
|
172
|
+
if (/^ [^ ]/.test(linha))
|
|
173
|
+
return true;
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Aplica realce de sintaxe ao conteúdo de ajuda.
|
|
178
|
+
* Detecta blocos de código e aplica cores apropriadas.
|
|
179
|
+
*/
|
|
180
|
+
function aplicarRealceSintaxe(conteudo) {
|
|
181
|
+
var _a;
|
|
182
|
+
const linhas = conteudo.split('\n');
|
|
183
|
+
const resultado = [];
|
|
184
|
+
let emBlocoExemplo = false;
|
|
185
|
+
for (let i = 0; i < linhas.length; i++) {
|
|
186
|
+
const linha = linhas[i];
|
|
187
|
+
// Detecta início de seção de exemplos
|
|
188
|
+
if (linha.includes('**Exemplos:**') || linha.includes('**Exemplo:**')) {
|
|
189
|
+
emBlocoExemplo = true;
|
|
190
|
+
resultado.push(linha);
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
// Detecta fim de seção de exemplos (nova seção com **)
|
|
194
|
+
if (emBlocoExemplo && linha.includes('**') && !linha.includes('Exemplo')) {
|
|
195
|
+
emBlocoExemplo = false;
|
|
196
|
+
}
|
|
197
|
+
// Aplica realce se for linha de código
|
|
198
|
+
if (emBlocoExemplo && ehLinhaDeCodigo(linha)) {
|
|
199
|
+
// Remove a indentação, aplica realce, recoloca indentação
|
|
200
|
+
const indentacao = ((_a = linha.match(/^(\s*)/)) === null || _a === void 0 ? void 0 : _a[1]) || '';
|
|
201
|
+
const codigo = linha.trimStart();
|
|
202
|
+
resultado.push(indentacao + realcarLinha(codigo));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
resultado.push(linha);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return resultado.join('\n');
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=realcador-sintaxe-ajuda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realcador-sintaxe-ajuda.js","sourceRoot":"","sources":["../../fontes/interpretador/realcador-sintaxe-ajuda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./maquina-estados-lair-base"), exports);
|
|
18
18
|
__exportStar(require("./maquina-estados-lair-delegua"), exports);
|
|
19
19
|
__exportStar(require("./maquina-estados-lair-pitugues"), exports);
|
|
20
|
+
__exportStar(require("./maquina-estados-ajuda"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,iEAA+C;AAC/C,kEAAgD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,iEAA+C;AAC/C,kEAAgD;AAChD,0DAAwC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as readline from "readline";
|
|
2
|
+
/**
|
|
3
|
+
* Máquina de estados para o modo de ajuda interativo.
|
|
4
|
+
* Similar ao sistema help() do Python, permite consultas interativas
|
|
5
|
+
* sobre funções, palavras-chave e outros elementos da linguagem.
|
|
6
|
+
*
|
|
7
|
+
* Reutiliza a interface readline existente do REPL, apenas modificando
|
|
8
|
+
* o prompt e os manipuladores de eventos.
|
|
9
|
+
*/
|
|
10
|
+
export declare class MaquinaEstadosAjuda {
|
|
11
|
+
interfaceLeitura: readline.Interface;
|
|
12
|
+
funcaoDeRetorno: Function;
|
|
13
|
+
obterAjudaTopico: (topico: string) => string | null;
|
|
14
|
+
funcaoSaida: () => void;
|
|
15
|
+
constructor(interfaceLeitura: readline.Interface, funcaoDeRetorno: Function, obterAjudaTopico: (topico: string) => string | null, funcaoSaida: () => void);
|
|
16
|
+
/**
|
|
17
|
+
* Normaliza uma string removendo acentos e convertendo para minúsculas.
|
|
18
|
+
* Permite que comandos funcionem com ou sem acentos.
|
|
19
|
+
*/
|
|
20
|
+
private normalizarTexto;
|
|
21
|
+
/**
|
|
22
|
+
* Exibe a mensagem de boas-vindas ao modo de ajuda.
|
|
23
|
+
*/
|
|
24
|
+
exibirMensagemBoasVindas(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Lista todos os tópicos de ajuda disponíveis.
|
|
27
|
+
*/
|
|
28
|
+
listarTopicos(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Processa a entrada do usuário no modo de ajuda.
|
|
31
|
+
*/
|
|
32
|
+
processarEntrada(linha: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Inicia o modo de ajuda interativo.
|
|
35
|
+
* Remove os listeners anteriores e adiciona os do modo de ajuda.
|
|
36
|
+
*/
|
|
37
|
+
iniciar(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Sai do modo de ajuda e retorna ao REPL.
|
|
40
|
+
*/
|
|
41
|
+
sair(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=maquina-estados-ajuda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maquina-estados-ajuda.d.ts","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/maquina-estados-ajuda.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAKrC;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC5B,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC;IACrC,eAAe,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,WAAW,EAAE,MAAM,IAAI,CAAC;gBAGpB,gBAAgB,EAAE,QAAQ,CAAC,SAAS,EACpC,eAAe,EAAE,QAAQ,EACzB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACnD,WAAW,EAAE,MAAM,IAAI;IAQ3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAqBhC;;OAEG;IACH,aAAa,IAAI,IAAI;IAgCrB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA+CrC;;;OAGG;IACH,OAAO,IAAI,IAAI;IAiBf;;OAEG;IACH,IAAI,IAAI,IAAI;CAWf"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MaquinaEstadosAjuda = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const conteudo_ajuda_1 = require("../interpretador/conteudo-ajuda");
|
|
9
|
+
const realcador_sintaxe_ajuda_1 = require("../interpretador/realcador-sintaxe-ajuda");
|
|
10
|
+
/**
|
|
11
|
+
* Máquina de estados para o modo de ajuda interativo.
|
|
12
|
+
* Similar ao sistema help() do Python, permite consultas interativas
|
|
13
|
+
* sobre funções, palavras-chave e outros elementos da linguagem.
|
|
14
|
+
*
|
|
15
|
+
* Reutiliza a interface readline existente do REPL, apenas modificando
|
|
16
|
+
* o prompt e os manipuladores de eventos.
|
|
17
|
+
*/
|
|
18
|
+
class MaquinaEstadosAjuda {
|
|
19
|
+
constructor(interfaceLeitura, funcaoDeRetorno, obterAjudaTopico, funcaoSaida) {
|
|
20
|
+
this.interfaceLeitura = interfaceLeitura;
|
|
21
|
+
this.funcaoDeRetorno = funcaoDeRetorno;
|
|
22
|
+
this.obterAjudaTopico = obterAjudaTopico;
|
|
23
|
+
this.funcaoSaida = funcaoSaida;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Normaliza uma string removendo acentos e convertendo para minúsculas.
|
|
27
|
+
* Permite que comandos funcionem com ou sem acentos.
|
|
28
|
+
*/
|
|
29
|
+
normalizarTexto(texto) {
|
|
30
|
+
return texto
|
|
31
|
+
.toLowerCase()
|
|
32
|
+
.normalize('NFD')
|
|
33
|
+
.replace(/[\u0300-\u036f]/g, '');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Exibe a mensagem de boas-vindas ao modo de ajuda.
|
|
37
|
+
*/
|
|
38
|
+
exibirMensagemBoasVindas() {
|
|
39
|
+
const mensagem = `
|
|
40
|
+
${chalk_1.default.bold.cyan('═══════════════════════════════════════════════════════════════')}
|
|
41
|
+
${chalk_1.default.bold('Bem-vindo ao sistema de ajuda de Delégua!')}
|
|
42
|
+
${chalk_1.default.bold.cyan('═══════════════════════════════════════════════════════════════')}
|
|
43
|
+
|
|
44
|
+
Este é um utilitário de ajuda interativo.
|
|
45
|
+
|
|
46
|
+
Digite o nome de qualquer ${chalk_1.default.yellow('função')}, ${chalk_1.default.yellow('palavra-chave')} ou ${chalk_1.default.yellow('tópico')}
|
|
47
|
+
para obter ajuda sobre esse item.
|
|
48
|
+
|
|
49
|
+
${chalk_1.default.bold('Comandos disponíveis:')}
|
|
50
|
+
${chalk_1.default.green('tópicos')} ou ${chalk_1.default.green('topicos')} - Lista todos os tópicos disponíveis
|
|
51
|
+
${chalk_1.default.green('sair')} - Sai do modo de ajuda
|
|
52
|
+
${chalk_1.default.green('<tecla Enter>')} - Exibe esta mensagem novamente
|
|
53
|
+
|
|
54
|
+
${chalk_1.default.dim('Exemplo: digite "escreva" para ver a ajuda sobre a função escreva()')}
|
|
55
|
+
`;
|
|
56
|
+
this.funcaoDeRetorno(mensagem);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Lista todos os tópicos de ajuda disponíveis.
|
|
60
|
+
*/
|
|
61
|
+
listarTopicos() {
|
|
62
|
+
const todosTopicos = (0, conteudo_ajuda_1.listarTopicos)();
|
|
63
|
+
// Agrupa os tópicos por categoria
|
|
64
|
+
const categorias = {
|
|
65
|
+
'Entrada/Saída': ['escreva', 'leia'],
|
|
66
|
+
'Conversão de Tipos': ['numero', 'número', 'inteiro', 'real', 'texto'],
|
|
67
|
+
'Aleatoriedade': ['aleatorio', 'aleatório', 'aleatorioEntre'],
|
|
68
|
+
'Funções de Vetor': ['mapear', 'filtrarPor', 'ordenar', 'paraCada', 'tamanho',
|
|
69
|
+
'todosEmCondicao', 'encontrar', 'clonar', 'tupla'],
|
|
70
|
+
'Palavras-Chave': ['var', 'const', 'se', 'senao', 'para', 'enquanto', 'fazer',
|
|
71
|
+
'funcao', 'retorna', 'verdadeiro', 'falso', 'nulo']
|
|
72
|
+
};
|
|
73
|
+
let mensagem = `\n${chalk_1.default.bold('Tópicos de Ajuda Disponíveis:')}\n`;
|
|
74
|
+
for (const [categoria, topicos] of Object.entries(categorias)) {
|
|
75
|
+
mensagem += `\n${chalk_1.default.yellow(categoria + ':')}`;
|
|
76
|
+
// Filtra apenas os tópicos que existem na documentação
|
|
77
|
+
const topicosDisponiveis = topicos.filter(t => todosTopicos.includes(t));
|
|
78
|
+
if (topicosDisponiveis.length > 0) {
|
|
79
|
+
mensagem += '\n ' + topicosDisponiveis.join(', ');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
mensagem += `\n\n${chalk_1.default.dim('Digite o nome de qualquer tópico para ver mais informações.')}\n`;
|
|
83
|
+
this.funcaoDeRetorno(mensagem);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Processa a entrada do usuário no modo de ajuda.
|
|
87
|
+
*/
|
|
88
|
+
processarEntrada(linha) {
|
|
89
|
+
const entrada = linha.trim();
|
|
90
|
+
// Entrada vazia - exibe mensagem de boas-vindas
|
|
91
|
+
if (!entrada) {
|
|
92
|
+
this.exibirMensagemBoasVindas();
|
|
93
|
+
this.interfaceLeitura.prompt();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// Normaliza a entrada para comparação (remove acentos)
|
|
97
|
+
const entradaNormalizada = this.normalizarTexto(entrada);
|
|
98
|
+
// Comandos especiais (apenas em português)
|
|
99
|
+
switch (entradaNormalizada) {
|
|
100
|
+
case 'sair':
|
|
101
|
+
this.sair();
|
|
102
|
+
return;
|
|
103
|
+
case 'topicos':
|
|
104
|
+
this.listarTopicos();
|
|
105
|
+
this.interfaceLeitura.prompt();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// Buscar ajuda para o tópico
|
|
109
|
+
try {
|
|
110
|
+
const ajuda = this.obterAjudaTopico(entrada);
|
|
111
|
+
if (ajuda) {
|
|
112
|
+
// Aplica realce de sintaxe aos exemplos de código
|
|
113
|
+
const ajudaComRealce = (0, realcador_sintaxe_ajuda_1.aplicarRealceSintaxe)(ajuda);
|
|
114
|
+
this.funcaoDeRetorno(chalk_1.default.white(ajudaComRealce));
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.funcaoDeRetorno(chalk_1.default.red(`Nenhuma ajuda disponível para "${entrada}".`) + '\n' +
|
|
118
|
+
chalk_1.default.dim(`Digite ${chalk_1.default.green('tópicos')} para ver os tópicos disponíveis.`));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (erro) {
|
|
122
|
+
this.funcaoDeRetorno(chalk_1.default.red(`Erro ao buscar ajuda: ${erro}`));
|
|
123
|
+
}
|
|
124
|
+
this.interfaceLeitura.prompt();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Inicia o modo de ajuda interativo.
|
|
128
|
+
* Remove os listeners anteriores e adiciona os do modo de ajuda.
|
|
129
|
+
*/
|
|
130
|
+
iniciar() {
|
|
131
|
+
// Remove todos os listeners anteriores
|
|
132
|
+
this.interfaceLeitura.removeAllListeners('line');
|
|
133
|
+
// Adiciona o listener do modo de ajuda
|
|
134
|
+
this.interfaceLeitura.on('line', (linha) => {
|
|
135
|
+
this.processarEntrada(linha);
|
|
136
|
+
});
|
|
137
|
+
// Muda o prompt para o modo de ajuda
|
|
138
|
+
this.interfaceLeitura.setPrompt(chalk_1.default.cyan('\najuda> '));
|
|
139
|
+
// Exibe mensagem de boas-vindas
|
|
140
|
+
this.exibirMensagemBoasVindas();
|
|
141
|
+
this.interfaceLeitura.prompt();
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Sai do modo de ajuda e retorna ao REPL.
|
|
145
|
+
*/
|
|
146
|
+
sair() {
|
|
147
|
+
this.funcaoDeRetorno(chalk_1.default.dim('\nSaindo do modo de ajuda...\n'));
|
|
148
|
+
// Remove o listener do modo de ajuda
|
|
149
|
+
this.interfaceLeitura.removeAllListeners('line');
|
|
150
|
+
// Chama a função de saída que restaurará o REPL
|
|
151
|
+
this.funcaoSaida();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.MaquinaEstadosAjuda = MaquinaEstadosAjuda;
|
|
155
|
+
//# sourceMappingURL=maquina-estados-ajuda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maquina-estados-ajuda.js","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/maquina-estados-ajuda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { RetornoExecucaoInterface } from "@designliquido/delegua";
|
|
2
2
|
import { MaquinaEstadosLairBase } from "./maquina-estados-lair-base";
|
|
3
|
+
import { MaquinaEstadosAjuda } from "./maquina-estados-ajuda";
|
|
4
|
+
import { InterpretadorComImportacaoInterface } from "../interfaces/interpretador-com-importacao-interface";
|
|
3
5
|
export declare class MaquinaEstadosLairDelegua extends MaquinaEstadosLairBase {
|
|
4
6
|
escoposAbertos: number;
|
|
5
|
-
|
|
7
|
+
interpretador: InterpretadorComImportacaoInterface | null;
|
|
8
|
+
maquinaAjudaAtiva: MaquinaEstadosAjuda | null;
|
|
9
|
+
constructor(executarLinhas: (linhas: string[]) => Promise<RetornoExecucaoInterface>, funcaoDeRetorno: Function, interpretador?: InterpretadorComImportacaoInterface);
|
|
6
10
|
/**
|
|
7
11
|
* Verifica se um valor é um tipo simples (número, texto, lógico, nulo)
|
|
8
12
|
*/
|
|
@@ -15,6 +19,11 @@ export declare class MaquinaEstadosLairDelegua extends MaquinaEstadosLairBase {
|
|
|
15
19
|
* Detecta se é uma declaração de variável e retorna informações sobre ela
|
|
16
20
|
*/
|
|
17
21
|
private detectarDeclaracaoVariavel;
|
|
22
|
+
/**
|
|
23
|
+
* Ativa o modo de ajuda interativo.
|
|
24
|
+
* Compartilha a mesma interfaceLeitura, apenas mudando o prompt e os handlers.
|
|
25
|
+
*/
|
|
26
|
+
ativarModoAjuda(): void;
|
|
18
27
|
executarOuAcumular(linha: string): Promise<any>;
|
|
19
28
|
}
|
|
20
29
|
//# sourceMappingURL=maquina-estados-lair-delegua.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maquina-estados-lair-delegua.d.ts","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/maquina-estados-lair-delegua.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"maquina-estados-lair-delegua.d.ts","sourceRoot":"","sources":["../../fontes/maquinas-estados-lair/maquina-estados-lair-delegua.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,wBAAwB,EAAO,MAAM,wBAAwB,CAAC;AAI9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAE3G,qBAAa,yBAA0B,SAAQ,sBAAsB;IACjE,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,mCAAmC,GAAG,IAAI,CAAC;IAC1D,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAC;gBAG1C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,wBAAwB,CAAC,EACvE,eAAe,EAAE,QAAQ,EACzB,aAAa,CAAC,EAAE,mCAAmC;IAQvD;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA6BlC;;;OAGG;IACH,eAAe,IAAI,IAAI;IAmCjB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA4FxD"}
|