Pessoal boa tarde, estou precisando de uma ajuda para criar um alinhador de código fonte, ou seja o programa entra com um código COBOL, e retorna o mesmo código alinhado.
Estou precisando de alguma ideia para achar uma String e saber em que posição ela está, como pegar o que está entre um item e outro, ex: entre " IF " e " EQUAL ", deslocar uma String dentro dela mesmo ex: o EQUAL está na coluna 34 tenho que move-lo para 40, se ele está mais que 40 voltar, ou mesmo se a variável passar da 40 então tenho que quebrar uma linha e começar o EQUAL na 40, se o EQUAL estiver na linha de baixo e a variável está a baixo da 40 então tem que voltar a EQUAL para a 40.
Claro sou inciante, se alguem tiver ideias mais praticas, estou em busca de ideias.
IF WAHE-AAAAAAAAA EQUAL SPACES OR LOW-VALUES
MOVE -1 TO WRK-AAAAAAAAA-NULL
ELSE
MOVE WAHE-AAAAAAAAA TO AAAAAAAAA
END-IF.
IF WAHE-BBBBBBBBBBBBBBBBB EQUAL SPACES OR LOW-VALUES
MOVE -1 TO WRK-BBBBBBBBBBBBBBBBB-NULL
ELSE
MOVE WAHE-BBBBBBBBBBBBBBBBB TO BBBBBBBBBBBBBBBBB
END-IF.
IF WAHE-CCCC EQUAL SPACES OR LOW-VALUES
MOVE -1 TO WRK-CCCC-NULL
ELSE
MOVE WAHE-CCCC TO CCCC
END-IF.
Acima esta um exemplo de como pode vir o código.
Aqui esta as colunas que os comandos devem ficar:
IF = 12
EQUAL = 40
MOVE = 16
ELSE = 12
END-IF = 12
TO = 40