UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

71 lines 5.51 kB
import { Atribuir, AcessoIndiceVariavel, AcessoElementoMatriz, AcessoMetodoOuPropriedade, Agrupamento, AtribuicaoPorIndice, AtribuicaoPorIndicesMatriz, Binario, Chamada, DefinirValor, FuncaoConstruto, Dicionario, ExpressaoRegular, FimPara, FormatacaoEscrita, Isto, Literal, Logico, Super, Tupla, TipoDe, Unario, Vetor, Comentario, AcessoMetodo, AcessoPropriedade } from '../construtos'; import { Declaracao, TendoComo, InicioAlgoritmo, Aleatorio, CabecalhoPrograma, Classe, Const, ConstMultiplo, Expressao, FuncaoDeclaracao, Enquanto, Escolha, Escreva, Fazer, Importar, Para, ParaCada, Se, Tente, Var, VarMultiplo, Bloco, Continua, EscrevaMesmaLinha, Falhar, Leia, Retorna, Sustar } from '../declaracoes'; import { DiagnosticoAnalisadorSemantico, DiagnosticoSeveridade, SimboloInterface } from '../interfaces'; import { AnalisadorSemanticoInterface } from '../interfaces/analisador-semantico-interface'; import { RetornoAnalisadorSemantico } from '../interfaces/retornos/retorno-analisador-semantico'; import { ContinuarQuebra, RetornoQuebra, SustarQuebra } from '../quebras'; /** * 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()`). */ export declare abstract class AnalisadorSemanticoBase implements AnalisadorSemanticoInterface { diagnosticos: DiagnosticoAnalisadorSemantico[]; abstract analisar(declaracoes: Declaracao[]): RetornoAnalisadorSemantico; adicionarDiagnostico(simbolo: SimboloInterface, mensagem: string, severidade?: DiagnosticoSeveridade): void; visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any> | void; visitarExpressaoAcessoPropriedade(expressao: AcessoPropriedade): Promise<any> | void; visitarDeclaracaoAleatorio(declaracao: Aleatorio): Promise<any>; visitarDeclaracaoCabecalhoPrograma(declaracao: CabecalhoPrograma): Promise<any>; visitarDeclaracaoClasse(declaracao: Classe): Promise<any>; visitarDeclaracaoComentario(declaracao: Comentario): void | Promise<any>; visitarDeclaracaoConst(declaracao: Const): Promise<any>; visitarDeclaracaoConstMultiplo(declaracao: ConstMultiplo): Promise<any>; visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<any>; visitarDeclaracaoDeExpressao(declaracao: Expressao): Promise<any>; visitarDeclaracaoDefinicaoFuncao(declaracao: FuncaoDeclaracao): void; visitarDeclaracaoEnquanto(declaracao: Enquanto): Promise<any>; visitarDeclaracaoEscolha(declaracao: Escolha): Promise<any>; visitarDeclaracaoEscreva(declaracao: Escreva): Promise<any>; visitarDeclaracaoFazer(declaracao: Fazer): Promise<any>; visitarDeclaracaoImportar(declaracao: Importar): Promise<any>; visitarDeclaracaoInicioAlgoritmo(declaracao: InicioAlgoritmo): Promise<any>; visitarDeclaracaoPara(declaracao: Para): Promise<any>; visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>; visitarDeclaracaoSe(declaracao: Se): Promise<any>; visitarDeclaracaoTendoComo(declaracao: TendoComo): Promise<any>; visitarDeclaracaoTente(declaracao: Tente): Promise<any>; visitarDeclaracaoVar(declaracao: Var): Promise<any>; visitarDeclaracaoVarMultiplo(declaracao: VarMultiplo): Promise<any>; visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel): Promise<any>; visitarExpressaoAcessoElementoMatriz(expressao: AcessoElementoMatriz): Promise<any>; visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>; visitarExpressaoAgrupamento(expressao: Agrupamento): Promise<any>; visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>; visitarExpressaoAtribuicaoPorIndicesMatriz(expressao: AtribuicaoPorIndicesMatriz): Promise<any>; visitarExpressaoBinaria(expressao: Binario): Promise<any>; visitarExpressaoBloco(declaracao: Bloco): Promise<any>; visitarExpressaoContinua(declaracao?: Continua): ContinuarQuebra; visitarExpressaoDeChamada(expressao: Chamada): Promise<any>; visitarExpressaoDefinirValor(expressao: DefinirValor): Promise<any>; visitarExpressaoDeleguaFuncao(expressao: FuncaoConstruto): Promise<any>; visitarExpressaoDeVariavel(expressao: Var): Promise<any>; visitarExpressaoDicionario(expressao: Dicionario): Promise<any>; visitarExpressaoExpressaoRegular(expressao: ExpressaoRegular): Promise<RegExp>; visitarDeclaracaoEscrevaMesmaLinha(declaracao: EscrevaMesmaLinha): Promise<any>; visitarExpressaoFalhar(expressao: Falhar): Promise<any>; visitarExpressaoFimPara(declaracao: FimPara): Promise<any>; visitarExpressaoFormatacaoEscrita(declaracao: FormatacaoEscrita): Promise<any>; visitarExpressaoIsto(expressao: Isto): Promise<any>; visitarExpressaoLeia(expressao: Leia): Promise<any>; visitarExpressaoLiteral(expressao: Literal): Promise<any>; visitarExpressaoLogica(expressao: Logico): Promise<any>; visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>; visitarExpressaoSuper(expressao: Super): Promise<any>; visitarExpressaoSustar(declaracao?: Sustar): SustarQuebra; visitarExpressaoTupla(expressao: Tupla): Promise<any>; visitarExpressaoTipoDe(expressao: TipoDe): Promise<any>; visitarExpressaoUnaria(expressao: Unario): Promise<any>; visitarExpressaoVetor(expressao: Vetor): Promise<any>; } //# sourceMappingURL=analisador-semantico-base.d.ts.map