@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
190 lines • 5.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnalisadorSemanticoBase = void 0;
const interfaces_1 = require("../interfaces");
/**
* Essa classe só existe para eliminar redundância entre todos os analisadores
* sintáticos. Por padrão, quando um método não é implementado, ao invés de dar erro,
* simplesmente passa por ele (`return Promise.resolve()`).
*/
class AnalisadorSemanticoBase {
adicionarDiagnostico(simbolo, mensagem, severidade = interfaces_1.DiagnosticoSeveridade.ERRO) {
this.diagnosticos.push({
simbolo: simbolo,
mensagem: mensagem,
hashArquivo: simbolo.hashArquivo,
linha: simbolo.linha,
severidade: severidade,
});
}
visitarExpressaoArgumentoReferenciaFuncao(expressao) {
return Promise.resolve();
}
visitarExpressaoReferenciaFuncao(expressao) {
return Promise.resolve();
}
visitarExpressaoAcessoMetodo(expressao) {
return Promise.resolve();
}
visitarExpressaoAcessoPropriedade(expressao) {
return Promise.resolve();
}
visitarDeclaracaoAleatorio(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoCabecalhoPrograma(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoClasse(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoComentario(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoConst(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoConstMultiplo(declaracao) {
return Promise.resolve();
}
visitarExpressaoDeAtribuicao(expressao) {
return Promise.resolve();
}
visitarDeclaracaoDeExpressao(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoDefinicaoFuncao(declaracao) {
// Nada acontece.
}
visitarDeclaracaoEnquanto(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoEscolha(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoEscreva(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoFazer(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoImportar(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoInicioAlgoritmo(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoPara(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoParaCada(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoSe(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoTendoComo(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoTente(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoVar(declaracao) {
return Promise.resolve();
}
visitarDeclaracaoVarMultiplo(declaracao) {
return Promise.resolve();
}
visitarExpressaoAcessoIndiceVariavel(expressao) {
return Promise.resolve();
}
visitarExpressaoAcessoElementoMatriz(expressao) {
return Promise.resolve();
}
visitarExpressaoAcessoMetodoOuPropriedade(expressao) {
return Promise.resolve();
}
visitarExpressaoAgrupamento(expressao) {
return Promise.resolve();
}
visitarExpressaoAtribuicaoPorIndice(expressao) {
return Promise.resolve();
}
visitarExpressaoAtribuicaoPorIndicesMatriz(expressao) {
return Promise.resolve();
}
visitarExpressaoBinaria(expressao) {
return Promise.resolve();
}
visitarExpressaoBloco(declaracao) {
return Promise.resolve();
}
visitarExpressaoContinua(declaracao) {
return null;
}
visitarExpressaoDeChamada(expressao) {
return Promise.resolve();
}
visitarExpressaoDefinirValor(expressao) {
return Promise.resolve();
}
visitarExpressaoFuncaoConstruto(expressao) {
return Promise.resolve();
}
visitarExpressaoDeVariavel(expressao) {
return Promise.resolve();
}
visitarExpressaoDicionario(expressao) {
return Promise.resolve();
}
visitarExpressaoExpressaoRegular(expressao) {
return;
}
visitarDeclaracaoEscrevaMesmaLinha(declaracao) {
return Promise.resolve();
}
visitarExpressaoFalhar(expressao) {
return Promise.resolve();
}
visitarExpressaoFimPara(declaracao) {
return Promise.resolve();
}
visitarExpressaoFormatacaoEscrita(declaracao) {
return Promise.resolve();
}
visitarExpressaoIsto(expressao) {
return Promise.resolve();
}
visitarExpressaoLeia(expressao) {
return Promise.resolve();
}
visitarExpressaoLiteral(expressao) {
return Promise.resolve();
}
visitarExpressaoLogica(expressao) {
return Promise.resolve();
}
visitarExpressaoRetornar(declaracao) {
return;
}
visitarExpressaoSuper(expressao) {
return Promise.resolve();
}
visitarExpressaoSustar(declaracao) {
return null;
}
visitarExpressaoTupla(expressao) {
return Promise.resolve();
}
visitarExpressaoTipoDe(expressao) {
return Promise.resolve();
}
visitarExpressaoUnaria(expressao) {
return Promise.resolve();
}
visitarExpressaoVetor(expressao) {
return Promise.resolve();
}
}
exports.AnalisadorSemanticoBase = AnalisadorSemanticoBase;
//# sourceMappingURL=analisador-semantico-base.js.map