@designliquido/portugol-studio 0.4.6 → 0.4.8
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/analisador-semantico/analisador-semantico-portugol-studio.d.ts +1 -0
- package/analisador-semantico/analisador-semantico-portugol-studio.d.ts.map +1 -1
- package/analisador-semantico/analisador-semantico-portugol-studio.js +66 -32
- package/analisador-semantico/analisador-semantico-portugol-studio.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ export declare class AnalisadorSemanticoPortugolStudio extends AnalisadorSemanti
|
|
|
24
24
|
visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): Promise<any>;
|
|
25
25
|
visitarDeclaracaoVar(declaracao: Var): Promise<any>;
|
|
26
26
|
visitarExpressaoDeVariavel(expressao: Variavel): Promise<any>;
|
|
27
|
+
private validarCompatibilidadeTipos;
|
|
27
28
|
visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<void>;
|
|
28
29
|
visitarExpressaoDeChamada(expressao: Chamada): Promise<any>;
|
|
29
30
|
visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisador-semantico-portugol-studio.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-portugol-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EACL,UAAU,EAEV,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,GAAG,EACN,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uEAAuE,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACH,mBAAmB,EACnB,QAAQ,EACR,OAAO,EAIP,QAAQ,EAEX,MAAM,mCAAmC,CAAC;AAG3C,qBAAa,iCAAkC,SAAQ,uBAAuB;IAC1E,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,8BAA8B,EAAE,CAAC;IAC/C,oBAAoB,QAAM;;IAW1B,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,qBAAkD,GAC/D,IAAI;IAUP,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAY/E,gCAAgC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB5E,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"analisador-semantico-portugol-studio.d.ts","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-portugol-studio.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EACL,UAAU,EAEV,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,GAAG,EACN,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uEAAuE,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yEAAyE,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAE9G,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACH,mBAAmB,EACnB,QAAQ,EACR,OAAO,EAIP,QAAQ,EAEX,MAAM,mCAAmC,CAAC;AAG3C,qBAAa,iCAAkC,SAAQ,uBAAuB;IAC1E,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,2BAA2B,CAAA;KAAE,CAAC;IACnE,OAAO,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,8BAA8B,EAAE,CAAC;IAC/C,oBAAoB,QAAM;;IAW1B,oBAAoB,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,qBAAkD,GAC/D,IAAI;IAUP,kCAAkC,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAY/E,gCAAgC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAoB5E,oBAAoB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAuCnD,0BAA0B,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAO7D,OAAO,CAAC,2BAA2B;IAkBnC,4BAA4B,CAAC,SAAS,EAAE,QAAQ;IAgDhD,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAyD3D,mCAAmC,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAajF,4BAA4B,CAAC,UAAU,EAAE,SAAS;IAsBlD,sBAAsB,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAevD,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,0BAA0B;CA8BlE"}
|
|
@@ -56,13 +56,30 @@ class AnalisadorSemanticoPortugolStudio extends analisador_semantico_base_1.Anal
|
|
|
56
56
|
return Promise.resolve();
|
|
57
57
|
}
|
|
58
58
|
visitarDeclaracaoVar(declaracao) {
|
|
59
|
-
|
|
59
|
+
const { simbolo, inicializador } = declaracao;
|
|
60
|
+
if (inicializador instanceof construtos_1.Variavel) {
|
|
61
|
+
const { simbolo: simboloInicializador } = inicializador;
|
|
62
|
+
const variavelExistente = this.variaveis[simboloInicializador.lexema];
|
|
63
|
+
if (!variavelExistente) {
|
|
64
|
+
this.adicionarDiagnostico(simboloInicializador, `Variável não declarada: ${simboloInicializador.lexema}.`);
|
|
65
|
+
return Promise.resolve();
|
|
66
|
+
}
|
|
67
|
+
const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(variavelExistente.valor);
|
|
68
|
+
if (tipoInferido !== declaracao.tipo) {
|
|
69
|
+
const erroTipo = this.validarCompatibilidadeTipos(tipoInferido, declaracao.tipo);
|
|
70
|
+
if (erroTipo) {
|
|
71
|
+
this.adicionarDiagnostico(simbolo, erroTipo);
|
|
72
|
+
return Promise.resolve();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
this.variaveis[simbolo.lexema] = {
|
|
60
77
|
imutavel: false,
|
|
61
78
|
tipo: declaracao.tipo,
|
|
62
|
-
valor:
|
|
63
|
-
?
|
|
64
|
-
?
|
|
65
|
-
:
|
|
79
|
+
valor: inicializador !== null
|
|
80
|
+
? inicializador.valor !== undefined
|
|
81
|
+
? inicializador.valor
|
|
82
|
+
: inicializador
|
|
66
83
|
: undefined,
|
|
67
84
|
valorDefinido: true,
|
|
68
85
|
};
|
|
@@ -74,9 +91,42 @@ class AnalisadorSemanticoPortugolStudio extends analisador_semantico_base_1.Anal
|
|
|
74
91
|
*/
|
|
75
92
|
return Promise.resolve();
|
|
76
93
|
}
|
|
94
|
+
validarCompatibilidadeTipos(tipoInferido, tipoEsperado) {
|
|
95
|
+
switch (tipoEsperado) {
|
|
96
|
+
case tipos_de_dados_1.default.CADEIA:
|
|
97
|
+
if (tipoInferido !== tipos_de_dados_1.default.CARACTER) {
|
|
98
|
+
return `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${tipoEsperado}'.`;
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
case tipos_de_dados_1.default.REAL:
|
|
102
|
+
if (tipoInferido !== tipos_de_dados_1.default.INTEIRO) {
|
|
103
|
+
return `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${tipoEsperado}'.`;
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
default:
|
|
107
|
+
return `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${tipoEsperado}'.`;
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
77
111
|
visitarExpressaoDeAtribuicao(expressao) {
|
|
78
112
|
const { simbolo, valor } = expressao;
|
|
79
|
-
|
|
113
|
+
const variavel = this.variaveis[simbolo.lexema];
|
|
114
|
+
if (valor instanceof construtos_1.Variavel) {
|
|
115
|
+
const { simbolo: simboloVariavel } = valor;
|
|
116
|
+
const variavelExistente = this.variaveis[simboloVariavel.lexema];
|
|
117
|
+
if (!variavelExistente) {
|
|
118
|
+
this.adicionarDiagnostico(simboloVariavel, `Variável não declarada: ${simboloVariavel.lexema}.`);
|
|
119
|
+
return Promise.resolve();
|
|
120
|
+
}
|
|
121
|
+
const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(variavelExistente.valor);
|
|
122
|
+
if (tipoInferido !== variavelExistente.tipo) {
|
|
123
|
+
const erroTipo = this.validarCompatibilidadeTipos(variavelExistente.tipo, tipoInferido);
|
|
124
|
+
if (erroTipo) {
|
|
125
|
+
this.adicionarDiagnostico(simbolo, erroTipo);
|
|
126
|
+
return Promise.resolve();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
80
130
|
if (!variavel) {
|
|
81
131
|
this.adicionarDiagnostico(simbolo, `Variável não declarada: ${simbolo.lexema}.`);
|
|
82
132
|
return Promise.resolve();
|
|
@@ -85,33 +135,17 @@ class AnalisadorSemanticoPortugolStudio extends analisador_semantico_base_1.Anal
|
|
|
85
135
|
this.adicionarDiagnostico(simbolo, 'Não é possível alterar o valor de uma constante.');
|
|
86
136
|
return Promise.resolve();
|
|
87
137
|
}
|
|
88
|
-
if (variavel.tipo) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this.adicionarDiagnostico(simbolo, `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${variavel.tipo}'.`);
|
|
96
|
-
return Promise.resolve();
|
|
97
|
-
}
|
|
98
|
-
break;
|
|
99
|
-
case tipos_de_dados_1.default.REAL:
|
|
100
|
-
if (tipoInferido !== tipos_de_dados_1.default.INTEIRO) {
|
|
101
|
-
this.adicionarDiagnostico(simbolo, `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${variavel.tipo}'.`);
|
|
102
|
-
return Promise.resolve();
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
default:
|
|
106
|
-
this.adicionarDiagnostico(simbolo, `Não é possível atribuir um valor do tipo '${tipoInferido}' a uma variável do tipo '${variavel.tipo}'.`);
|
|
107
|
-
return Promise.resolve();
|
|
108
|
-
}
|
|
138
|
+
if (variavel.tipo && valor instanceof construtos_1.Literal) {
|
|
139
|
+
const tipoInferido = (0, inferenciador_1.inferirTipoVariavel)(valor.valor);
|
|
140
|
+
if (tipoInferido !== variavel.tipo) {
|
|
141
|
+
const erroTipo = this.validarCompatibilidadeTipos(tipoInferido, variavel.tipo);
|
|
142
|
+
if (erroTipo) {
|
|
143
|
+
this.adicionarDiagnostico(simbolo, erroTipo);
|
|
144
|
+
return Promise.resolve();
|
|
109
145
|
}
|
|
110
146
|
}
|
|
111
147
|
}
|
|
112
|
-
|
|
113
|
-
this.variaveis[simbolo.lexema].valor = valor;
|
|
114
|
-
}
|
|
148
|
+
this.variaveis[simbolo.lexema].valor = valor;
|
|
115
149
|
}
|
|
116
150
|
visitarExpressaoDeChamada(expressao) {
|
|
117
151
|
if (expressao.entidadeChamada instanceof construtos_1.Variavel) {
|
|
@@ -154,7 +188,7 @@ class AnalisadorSemanticoPortugolStudio extends analisador_semantico_base_1.Anal
|
|
|
154
188
|
return Promise.resolve();
|
|
155
189
|
}
|
|
156
190
|
visitarExpressaoAtribuicaoPorIndice(expressao) {
|
|
157
|
-
const atribuir = new construtos_1.Atribuir(expressao.hashArquivo, expressao.objeto.simbolo, // TODO: Aqui normalmente é um literal ou identificador, mas precisa
|
|
191
|
+
const atribuir = new construtos_1.Atribuir(expressao.hashArquivo, expressao.objeto.simbolo, // TODO: Aqui normalmente é um literal ou identificador, mas precisa
|
|
158
192
|
// ocorrer uma correta verificação do tipo.
|
|
159
193
|
expressao.valor, expressao.indice);
|
|
160
194
|
this.visitarExpressaoDeAtribuicao(atribuir);
|
|
@@ -203,7 +237,7 @@ class AnalisadorSemanticoPortugolStudio extends analisador_semantico_base_1.Anal
|
|
|
203
237
|
this.corpoMetodoPrincipal = declaracaoMetodoPrincipal.funcao.corpo;
|
|
204
238
|
}
|
|
205
239
|
for (const declaracao of declaracoes) {
|
|
206
|
-
if (declaracao instanceof declaracoes_1.FuncaoDeclaracao) {
|
|
240
|
+
if (declaracao instanceof declaracoes_1.FuncaoDeclaracao || declaracao instanceof declaracoes_1.Var) {
|
|
207
241
|
if (declaracao.simbolo.lexema !== 'inicio') {
|
|
208
242
|
declaracao.aceitar(this);
|
|
209
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analisador-semantico-portugol-studio.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-portugol-studio.ts"],"names":[],"mappings":";;;;;;AAAA,oEAQ4C;AAE5C,qHAAgH;AAEhH,mEAAgH;AAKhH,uDAAmD;AACnD,kEAS2C;AAC3C,kEAAqE;AACrE,uEAA6C;AAC7C,MAAa,iCAAkC,SAAQ,mDAAuB;IAQ1E;QACI,KAAK,EAAE,CAAC;QAHZ,yBAAoB,GAAG,EAAE,CAAC;QAItB,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAChB,OAAyB,EACzB,QAAgB,EAChB,aAAoC,6BAAqB,CAAC,IAAI;QAE9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;IACP,CAAC;IAED,kCAAkC,CAAC,UAA6B;QAC5D,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,IAAI,SAAS,YAAY,qBAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,2BAA2B,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpG,2BAA2B;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,gCAAgC,CAAC,UAA4B;QACzD,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnE,IAAI,CAAC,oBAAoB,CACrB,UAAU,CAAC,OAAO,EAClB,WAAW,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAgB,CAC7D,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACtC,KAAK,EAAE,UAAU,CAAC,MAAM;SAC3B,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,UAAe;QAChC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"analisador-semantico-portugol-studio.js","sourceRoot":"","sources":["../../fontes/analisador-semantico/analisador-semantico-portugol-studio.ts"],"names":[],"mappings":";;;;;;AAAA,oEAQ4C;AAE5C,qHAAgH;AAEhH,mEAAgH;AAKhH,uDAAmD;AACnD,kEAS2C;AAC3C,kEAAqE;AACrE,uEAA6C;AAC7C,MAAa,iCAAkC,SAAQ,mDAAuB;IAQ1E;QACI,KAAK,EAAE,CAAC;QAHZ,yBAAoB,GAAG,EAAE,CAAC;QAItB,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAChB,OAAyB,EACzB,QAAgB,EAChB,aAAoC,6BAAqB,CAAC,IAAI;QAE9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;IACP,CAAC;IAED,kCAAkC,CAAC,UAA6B;QAC5D,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,IAAI,SAAS,YAAY,qBAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,2BAA2B,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpG,2BAA2B;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,gCAAgC,CAAC,UAA4B;QACzD,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnE,IAAI,CAAC,oBAAoB,CACrB,UAAU,CAAC,OAAO,EAClB,WAAW,SAAS,CAAC,QAAQ,CAAC,YAAY,gBAAgB,CAC7D,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACtC,KAAK,EAAE,UAAU,CAAC,MAAM;SAC3B,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,oBAAoB,CAAC,UAAe;QAChC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;QAC9C,IAAI,aAAa,YAAY,qBAAQ,EAAE,CAAC;YACpC,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,aAAa,CAAC;YACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAEtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,IAAI,CAAC,oBAAoB,CACrB,oBAAoB,EACpB,2BAA2B,oBAAoB,CAAC,MAAM,GAAG,CAC5D,CAAC;gBACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,YAAY,GAAG,IAAA,mCAAmB,EAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,YAAY,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjF,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YAC7B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EACD,aAAa,KAAK,IAAI;gBAClB,CAAC,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS;oBAC/B,CAAC,CAAC,aAAa,CAAC,KAAK;oBACrB,CAAC,CAAC,aAAa;gBACnB,CAAC,CAAC,SAAS;YACnB,aAAa,EAAE,IAAI;SACtB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,0BAA0B,CAAC,SAAmB;QAC1C;;WAEG;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,2BAA2B,CAAC,YAAoB,EAAE,YAAoB;QAC1E,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,wBAAY,CAAC,MAAM;gBACpB,IAAI,YAAY,KAAK,wBAAY,CAAC,QAAQ,EAAE,CAAC;oBACzC,OAAO,6CAA6C,YAAY,6BAA6B,YAAY,IAAI,CAAC;gBAClH,CAAC;gBACD,MAAM;YACV,KAAK,wBAAY,CAAC,IAAI;gBAClB,IAAI,YAAY,KAAK,wBAAY,CAAC,OAAO,EAAE,CAAC;oBACxC,OAAO,6CAA6C,YAAY,6BAA6B,YAAY,IAAI,CAAC;gBAClH,CAAC;gBACD,MAAM;YACV;gBACI,OAAO,6CAA6C,YAAY,6BAA6B,YAAY,IAAI,CAAC;QACtH,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4BAA4B,CAAC,SAAmB;QAC5C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,KAAK,YAAY,qBAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;YAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrB,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,2BAA2B,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,YAAY,GAAG,IAAA,mCAAmB,EAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,YAAY,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACxF,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACjF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;YACvF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,YAAY,oBAAO,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAA,mCAAmB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,YAAY,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/E,IAAI,QAAQ,EAAE,CAAC;oBACX,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAEjD,CAAC;IAED,yBAAyB,CAAC,SAAkB;QACxC,IAAI,SAAS,CAAC,eAAe,YAAY,qBAAQ,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,eAA2B,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAwB,CAAC;YACtD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC1D,IAAI,CAAC,oBAAoB,CACrB,QAAQ,CAAC,OAAO,EAChB,YAAY,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WACtF,qBAAqB,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CACtD,CAAC;YACN,CAAC;YAED,KAAK,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7D,MAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,uBAAuB,CAAC,QAAQ,EAAE,CAAC;oBACnC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAE9E,IAAI,SAAS,YAAY,qBAAQ,EAAE,CAAC;wBAChC,MAAM,4BAA4B,GAAI,SAAsB,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC5E,MAAM,0BAA0B,GAC5B,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAEpE,IAAI,0BAA0B,KAAK,iBAAiB,EAAE,CAAC;4BACnD,IAAI,CAAC,oBAAoB,CACrB,QAAQ,CAAC,OAAO,EAChB,6CAA6C,uBAAuB,CAAC,IAAI,CAAC,MAAM,MAAM,0BAA0B,0CAA0C,iBAAiB,IAAI,CAClL,CAAC;wBACN,CAAC;oBACL,CAAC;oBAED,IAAI,SAAS,YAAY,oBAAO,EAAE,CAAC;wBAC/B,QAAQ,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;4BACvC,KAAK,QAAQ;gCACT,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;oCACnD,IAAI,CAAC,oBAAoB,CACrB,QAAQ,CAAC,OAAO,EAChB,6CAA6C,uBAAuB,CAAC,IAAI,CAAC,MAAM,4DAA4D,iBAAiB,IAAI,CACpK,CAAC;gCACN,CAAC;gCACD,MAAM;wBACd,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAmC,CAAC,SAA8B;QAC9D,MAAM,QAAQ,GAAG,IAAI,qBAAQ,CACzB,SAAS,CAAC,WAAW,EACpB,SAAS,CAAC,MAAc,CAAC,OAAO,EAAE,oEAAoE;QACvG,2CAA2C;QAC3C,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,MAAM,CACnB,CAAC;QAEF,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,4BAA4B,CAAC,UAAqB;QAC9C,QAAQ,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,UAAU;gBACX,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,SAAqB,CAAC,CAAC;gBACpE,MAAM;YACV,KAAK,SAAS;gBACV,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,SAAoB,CAAC,CAAC;gBAChE,MAAM;YACV,KAAK,UAAU;gBACX,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,SAAqB,CAAC,CAAC;gBAClE,MAAM;YACV,KAAK,qBAAqB;gBACtB,IAAI,CAAC,mCAAmC,CAAC,UAAU,CAAC,SAAgC,CAAC,CAAC;gBACtF,MAAM;YACV;gBACI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAClC,MAAM;QACd,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,sBAAsB,CAAC,UAAiB;QACpC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YACxC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EACD,UAAU,CAAC,aAAa,KAAK,IAAI;gBAC7B,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS;oBAC1C,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK;oBAChC,CAAC,CAAC,UAAU,CAAC,aAAa;gBAC9B,CAAC,CAAC,SAAS;YACnB,aAAa,EAAE,IAAI;SACtB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,WAAyB;QAC9B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAE/B,MAAM,yBAAyB,GAAG,WAAW,CAAC,IAAI,CAC9C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,8BAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CACnG,CAAC;QAEF,IAAI,yBAAyB,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,GAAI,yBAA8C,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7F,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,UAAU,YAAY,8BAAgB,IAAK,UAAU,YAAY,iBAAG,EAAE,CAAC;gBACvE,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;YACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAED,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;SACJ,CAAC;IACpC,CAAC;CACJ;AAxTD,8EAwTC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/portugol-studio",
|
|
3
3
|
"description": "Dialeto de Portugol Studio baseado em Delégua e TypeScript",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.8",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/DesignLiquido/portugol-studio/issues"
|