@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
54 lines (53 loc) • 2.32 kB
TypeScript
import { ErroAvaliadorSintatico } from ".";
import { BlocoDeclaracao, Declaracao } from "../declaracoes";
import { Simbolo } from "../lexador";
import { Modificador } from "../modificadores";
import { Valor, ValorNumerico } from "../valores";
import { Pseudoclasse } from "../pseudoclasses/pseudoclasse";
import { Seletor } from "../seletores";
import { AvaliadorSintaticoInterface, ImportadorInterface, SimboloInterface } from "../interfaces";
import { DeclaracaoVariavel } from "../declaracoes/declaracao-variavel";
import { Metodo } from "../valores/metodos/foles/metodo";
/**
* Implementação do avaliador sintático.
*/
export declare class AvaliadorSintatico implements AvaliadorSintaticoInterface {
simbolos: Simbolo[];
erros: ErroAvaliadorSintatico[];
importador: ImportadorInterface;
atual: number;
referenciaDeclaracoes: Declaracao[];
constructor(importador: ImportadorInterface);
erro(simbolo: Simbolo, mensagemDeErro: string): ErroAvaliadorSintatico;
protected sincronizar(): void;
estaNoFinal(): boolean;
avancarEDevolverAnterior(): Simbolo;
verificarTipoSimboloAtual(tipo: string): boolean;
consumir(tipo: string, mensagemDeErro: string): Simbolo;
resolverMetodo(lexema: string): Metodo;
private validacaoUrl;
private validacaoUrlSimbolos;
private validacaoUrlTexto;
protected valorNumerico(nomeModificador: string, valorModificador: SimboloInterface, ponto: boolean): ValorNumerico;
protected valoresModificador(nomeModificador: string): Array<Valor>;
private tratarAtribuicaoAbreviada;
private tratarValorNumerico;
protected resolverPseudoclasse(): Pseudoclasse;
protected seletorPorEspacoReservado(): Seletor;
protected seletorPorEstrutura(): Seletor;
protected seletorPorId(): Seletor;
protected seletorPorNomeDeClasse(): Seletor;
protected declaracaoVariavel(): DeclaracaoVariavel;
/**
* Resolve os seletores.
* @param espacoReservado
*/
protected resolverSeletores(espacoReservado?: string): Seletor[];
private resolverModificador;
resolverModificadoresEDeclaracoesAninhadas(): {
modificadores: Modificador[];
declaracoesAninhadas: BlocoDeclaracao[];
};
declaracao(): Declaracao | null;
analisar(simbolos: Simbolo[]): Declaracao[];
}