@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
47 lines • 1.97 kB
TypeScript
/**
* Tipo de paradigma suportado.
* - 'imperativo': Usa formas imperativas (escreva, leia, pegue, tente, etc.)
* - 'infinitivo': Usa formas infinitivas (escrever, ler, pegar, tentar, etc.)
* - 'ambos': Aceita ambas as formas (comportamento padrão)
*/
export type TipoParadigma = 'imperativo' | 'infinitivo' | 'ambos';
/**
* Mapeamento de palavras reservadas por paradigma.
* Cada entrada mapeia formas alternativas para o mesmo tipo de símbolo.
*/
export interface GrupoPalavrasParadigma {
tipo: string;
imperativo?: string[];
infinitivo?: string[];
neutro?: string[];
}
/**
* Grupos de palavras reservadas organizadas por paradigma.
* Cada grupo representa diferentes formas de expressar a mesma funcionalidade.
*/
export declare const gruposPalavrasParadigma: GrupoPalavrasParadigma[];
/**
* Palavras neutras que não têm paradigma específico.
* Estas palavras são aceitas em todos os modos de paradigma.
*/
export declare const palavrasNeutras: Record<string, string>;
/**
* Retorna um mapa de lexema para paradigma.
* Útil para verificar rapidamente se uma palavra pertence a um paradigma.
*/
export declare function obterMapaLexemaParaParadigma(): Map<string, 'imperativo' | 'infinitivo' | 'neutro'>;
/**
* Obtém a forma alternativa de uma palavra para o paradigma especificado.
* @param lexema A palavra original
* @param paradigmaAlvo O paradigma desejado
* @returns A forma alternativa ou undefined se não houver conversão
*/
export declare function obterFormaAlternativa(lexema: string, paradigmaAlvo: 'imperativo' | 'infinitivo'): string | undefined;
/**
* Verifica se um lexema pertence a um paradigma específico.
* @param lexema A palavra a verificar
* @param paradigma O paradigma a verificar
* @returns true se o lexema pertence ao paradigma ou é neutro
*/
export declare function pertenceAoParadigma(lexema: string, paradigma: TipoParadigma): boolean;
//# sourceMappingURL=mapeamento-paradigmas.d.ts.map