UNPKG

@designliquido/delegua

Version:

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

54 lines 2.05 kB
import { LexadorInterface, SimboloInterface } from '../interfaces'; import { RetornoLexadorInterface } from '../interfaces/retornos'; import { ErroLexador } from './erro-lexador'; /** * Essa versão do Lexador Base é por padrão com comentários multilinha. * Em outras palavras, se o dialeto da linguagem terá comentários multilinha, * este Lexador Base deverá ser usado. */ export declare abstract class LexadorBase implements LexadorInterface<SimboloInterface> { erros: ErroLexador[]; hashArquivo: number; simbolos: SimboloInterface[]; codigo: string[]; inicioSimbolo: number; atual: number; linha: number; constructor(); protected avancarParaProximaLinha(): void; eDigito(caractere: string): boolean; eAlfabeto(caractere: string): boolean; eAlfabetoOuDigito(caractere: string): boolean; /** * Verifica se o caractere é um dígito hexadecimal (0-9, a-f, A-F). */ eHexDigito(caractere: string): boolean; /** * Verifica se o caractere é um dígito binário (0 ou 1). */ eBinarioDigito(caractere: string): boolean; /** * Verifica se o caractere é um dígito octal (0-7). */ eOctalDigito(caractere: string): boolean; /** * Indica se o código está na última linha. * @returns Verdadeiro se contador de linhas está na última linha. * Falso caso contrário. */ protected eUltimaLinha(): boolean; eFinalDoCodigo(): boolean; eFinalDaLinha(): boolean; protected encontrarFimComentarioAsterisco(): void; avancar(): void; adicionarSimbolo(tipo: any, literal?: any): void; simboloAtual(): string; proximoSimbolo(): string; simboloAnterior(): string; abstract analisarTexto(delimitador: string): void; abstract analisarNumero(): void; abstract identificarPalavraChave(): void; abstract analisarToken(): void; abstract mapear(codigo: string[], hashArquivo: number): RetornoLexadorInterface<SimboloInterface>; } //# sourceMappingURL=lexador-base.d.ts.map