Olá,
Trabalho em uma empresa que presta serviços para a Porto Seguro Seguros S/A. A empresa utiliza a linguagem Informix/4GL, sei que a esmagadora maioria nunca ouviu falar. Estou precisando de um programa que faça análise sintáxica do código afim de encontrar palavras reservadas a linguagem que estão sendo utilizadas indevidamente, em nomes de variáveis por exemplo.
O programa ou deve contemplar a linguagem em questão, ou então, ter alguma forma de inserir expressões regulares, para que se possa definir as palavras reservadas e a forma que elas estão sendo utilizadas indevidamente, para que o analisador possa encontra-las.
Não sei se fui suficientemente claro, mas quem puder me ajudar fico grato. E qualquer coisa que não tenham entendido é só falar que tento explicar de forma melhor, quem sabe com exemplos de código.
Falando nsiso, ai vai um exemplo muito comum de utilização indevida de palavra reservada.
EX:
Define lr_exemplo record
variavel1 smallint
,variavel2 char(50)
,status smallint
end record
let lr_exemplo.status = 1 # A variável status é reservada da linguagem, e possui o valor de uma execução SQL, se foi bem sucedida ou não, caso seja bem sucedida terá o valor zero. Enfim, o fato é que ela não pode ser utilizada desta maneira. Porém, não há problema em ser utilizada da maneira abaixo.
EX:
define l_status smallint
let l_status = 1
Isso se deve ao fato de que a variável está definida como a precedência de “l_”, o que faz com que o programa não o reconheça como reservada. Porém no caso acima, o nome é apenas “status”, sendo reconhecida pelo compilador.
Espero que tenha me expressado bem.
Obrigado a todos.