@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
45 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TABELA_AVISOS_SINTATICOS = exports.TABELA_ERROS_SINTATICOS = void 0;
exports.inferirCodigoDiagnosticoSintatico = inferirCodigoDiagnosticoSintatico;
exports.TABELA_ERROS_SINTATICOS = [
{
codigoDiagnostico: 'SINTATICO_IMPORTACAO_INVALIDA',
descricao: 'Erro em declaracao de importacao.',
padroesMensagem: [/importa(?:cao|\u00e7\u00e3o)/i, /importar/i],
},
{
codigoDiagnostico: 'SINTATICO_IDENTIFICADOR_ESPERADO',
descricao: 'Identificador esperado no ponto atual.',
padroesMensagem: [/esperado.*identificador/i],
},
{
codigoDiagnostico: 'SINTATICO_EXPRESSAO_ESPERADA',
descricao: 'Expressao esperada no ponto atual.',
padroesMensagem: [/esperado.*express(?:ao|\u00e3o)/i],
},
{
codigoDiagnostico: 'SINTATICO_ERRO_GENERICO',
descricao: 'Erro sintatico nao categorizado.',
padroesMensagem: [],
},
];
exports.TABELA_AVISOS_SINTATICOS = [
{
codigoDiagnostico: 'SINTATICO_AVISO_GENERICO',
descricao: 'Aviso sintatico nao categorizado.',
padroesMensagem: [],
},
];
function inferirCodigoDiagnosticoSintatico(mensagem) {
for (const entrada of exports.TABELA_ERROS_SINTATICOS) {
if (!entrada.padroesMensagem.length) {
continue;
}
if (entrada.padroesMensagem.some((regex) => regex.test(mensagem))) {
return entrada.codigoDiagnostico;
}
}
return 'SINTATICO_ERRO_GENERICO';
}
//# sourceMappingURL=tabela-diagnosticos-sintaticos.js.map