@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
23 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.InterpretadorCalango = void 0;
const construtos_1 = require("../../../construtos");
const interpretador_base_1 = require("../../interpretador-base");
class InterpretadorCalango extends interpretador_base_1.InterpretadorBase {
async visitarExpressaoDeAtribuicao(expressao) {
if (expressao.alvo.constructor === construtos_1.Variavel) {
const valor = await this.avaliar(expressao.valor);
const valorResolvido = this.resolverValorRecursivo(valor);
let indice = null;
if (expressao.indice) {
indice = await this.avaliar(expressao.indice);
}
const alvoVariavel = expressao.alvo;
this.pilhaEscoposExecucao.atribuirVariavel(alvoVariavel.simbolo, valorResolvido, indice);
return valorResolvido;
}
return super.visitarExpressaoDeAtribuicao(expressao);
}
}
exports.InterpretadorCalango = InterpretadorCalango;
//# sourceMappingURL=interpretador-calango.js.map