@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
45 lines • 1.73 kB
TypeScript
import { Declaracao } from '../../declaracoes';
import { Construto } from '../../construtos';
import { RegraEstilizacao } from '../../interfaces/estilizador-comum-interface';
import { TipoParadigma } from '../../lexador/mapeamento-paradigmas';
/**
* Opções para a regra de paradigma consistente.
*/
export interface OpcoesParadigmaConsistente {
/**
* Paradigma a ser enforçado.
* - 'imperativo': Aceita apenas formas imperativas (escreva, leia, etc.)
* - 'infinitivo': Aceita apenas formas infinitivas (escrever, ler, etc.)
* - 'ambos': Aceita ambas as formas (padrão)
*/
paradigma?: TipoParadigma;
}
/**
* Regra que enforça consistência de paradigma em palavras reservadas.
*
* Em português, instruções podem ser expressas no imperativo (escreva, leia)
* ou no infinitivo (escrever, ler). Esta regra permite escolher um paradigma
* único para manter a consistência do código.
*
* Exemplos:
* - Modo imperativo: `escreva()`, `leia()`, `tente { } pegue { }`
* - Modo infinitivo: `escrever()`, `ler()`, `tentar { } pegar { }`
*/
export declare class RegraParadigmaConsistente implements RegraEstilizacao {
nome: string;
descricao: string;
private opcoes;
private mapaLexemaParaParadigma;
constructor(opcoes?: OpcoesParadigmaConsistente);
aplicarEmDeclaracao(declaracao: Declaracao): Declaracao;
aplicarEmConstruto(construto: Construto): Construto;
/**
* Processa uma declaração que tem um símbolo específico.
*/
private processarDeclaracaoComSimbolo;
/**
* Processa um construto que tem um símbolo específico.
*/
private processarConstrutoComSimbolo;
}
//# sourceMappingURL=paradigma-consistente.d.ts.map