@designliquido/foles
Version:
Linguagem de folhas de estilo para documentos em geral em português
51 lines (50 loc) • 2.04 kB
TypeScript
import { ErroAvaliadorSintatico } from ".";
import { BlocoDeclaracao, Declaracao } from "../declaracoes";
import { Simbolo } from "../lexador";
import { Modificador } from "../modificadores";
import { Valor } from "../valores/valor";
import { Pseudoclasse } from "../pseudoclasses/pseudoclasse";
import { Seletor } from "../seletores";
import { AvaliadorSintaticoInterface, ImportadorInterface } from "../interfaces";
import { DeclaracaoVariavel } from "../declaracoes/declaracao-variavel";
/**
* 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;
estaNoFinal(): boolean;
avancarEDevolverAnterior(): Simbolo;
verificarTipoSimboloAtual(tipo: string): boolean;
consumir(tipo: string, mensagemDeErro: string): Simbolo;
resolverMetodo(lexema: string): Valor;
private validacaoUrl;
private validacaoUrlSimbolos;
private validacaoUrlTexto;
private valoresModificador;
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[];
}