@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
47 lines (46 loc) • 2.05 kB
TypeScript
import { BlocoDeclaracao } from "../declaracoes";
import { Simbolo } from "../lexador";
import { ErroAvaliadorSintatico } from "./erro-avaliador-sintatico";
import { Modificador } from "../modificadores";
import { Seletor } from "../seletores";
import { AvaliadorSintaticoInterface, ImportadorInterface, SimboloInterface } from "../interfaces";
import { Valor } from "../valores/valor";
import { ValorNumerico } from "../valores";
/**
* O avaliador sintático reverso avalia símbolos de arquivos CSS,
* transformando-os em estruturas de alto nível prontas para
* serem traduzidas para FolEs.
*/
export declare class AvaliadorSintaticoReverso implements AvaliadorSintaticoInterface {
simbolos: Simbolo[];
erros: ErroAvaliadorSintatico[];
importador: ImportadorInterface;
atual: number;
constructor(importador: ImportadorInterface);
erro(simbolo: Simbolo, mensagemDeErro: string): ErroAvaliadorSintatico;
estaNoFinal(): boolean;
avancarEDevolverAnterior(): Simbolo;
verificarTipoSimboloAtual(tipo: string): boolean;
consumir(tipo: string, mensagemDeErro: string): Simbolo;
declaracaoPorSeletor(): BlocoDeclaracao;
protected resolverPseudoclasse(): any;
protected seletorPorEstrutura(): Seletor;
protected seletorPorId(): Seletor;
protected seletorPorNomeDeClasse(): Seletor;
/**
* Resolve os seletores. Por enquanto resolve apenas um seletor por vez.
* @param espacoReservado
*/
protected resolverSeletores(espacoReservado?: string): Seletor[];
private resolverCor;
private resolverMetodo;
protected valorNumerico(nomeModificador: string, valorModificador: SimboloInterface, ponto: boolean): ValorNumerico;
protected valoresModificador(nomeModificador: string): Array<Valor>;
private resolverModificador;
resolverModificadorEDeclaracoesAninhadas(): {
modificadores: Modificador[];
declaracoesAninhadas: BlocoDeclaracao[];
};
declaracao(): BlocoDeclaracao | null;
analisar(simbolos: Simbolo[]): BlocoDeclaracao[];
}