[Notes2-team] Corretor de erros
Brought to you by:
andersonrb
From: Thiago C. <fa...@nl...> - 2003-07-29 04:35:41
|
Primeiramente peço desculpas pela demora para me pronunciar mas lá vai Minha idéia para análise de de erros do código seria: O componente scaneia o código e busca por estruturas chaves que estariam guardadas em uma base ex: if(...){...} for ... to ... do begin ... end; ao encontrar uma palavra chave (if, for, while) ele virifica as possíveis variações de código que podem aparecer. ex: if ... then if (...)...(...) then e analiza a compatibilidade da estrutura encontrada, no caso de um erro no código. ex: if a==2 or b==3 then cada palavra chave seria pesada e uma decisão do que fazer para tornar o código correto tomada. ex: if == inicio de estrutura condicional then == termino de estrutura condicional or == ou lógico a==2 E b==3 == possíveis condições da estrutura modelo mais próximo conhecido if (...)...(...) then ação = adicionar aparenteses às condições (a==2 e b==3) para isso é necessário que haja conhecimento empírico sobre a linguagem, nesse ponto se mostra um problema que é criar as regras de verificação do código, é inviável criarmos todas então como elas vão ser chamadas de um arquivo basta ser mais um XML para que o usuário as crie e melhore, ou mesmo uma interface no Notes quando uma estrutura desconhecida fosse encontrada, etc. Infelismente eu creio que esta seria uma parte não muito facilmente configurável do Notes pois ainda não consegui ver uma maneira muito pratica de declarar as estruturas de forma simplificada. No máximo até esta quarta estarei enviando algum tipo de exemplo de como seria o funcionamento de forma mais detalhada, mas a teoria é mais ou menos essa, ele "lê" o código encontra o início de uma estrtura e pensa: se eu tenho um if então preciso de parâmetros e um then, depois disso verifica o resto da linha de código e dependendo do que encrontar faz as devidas alterações para que fique o mais compativel possível com as estruturas genéricas conhecidas. Outra coisa, estava conversando com Anderson e sugeri o seguinte: Inicialmente pensamos em fazer este componente em C++ pois meus conhecimentos em obj pascal não são muito extensos mas para que todos possam participar do projeto desta parte acho que seria muito melhor fazer-lo em obj pascal e assim ter toda a equipe participando, mas para isso precisarei de muito mais suporte de todos entao...o que preferem C++ ou Obj Pascal? Thiago Cavalcanti |