mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-04 11:20:33 +01:00
* tool to add numbering to the old error?.msg files
This commit is contained in:
parent
78f6ad1916
commit
f806e08f22
75
compiler/utils/fixmsg.pp
Normal file
75
compiler/utils/fixmsg.pp
Normal file
@ -0,0 +1,75 @@
|
||||
type
|
||||
trtabrec=record
|
||||
name : string[12];
|
||||
idx : longint;
|
||||
end;
|
||||
|
||||
const
|
||||
trtab : array[0..10] of trtabrec=(
|
||||
(name:'general';idx:1000),
|
||||
(name:'scan';idx:2000),
|
||||
(name:'parser';idx:3000),
|
||||
(name:'type';idx:4000),
|
||||
(name:'sym';idx:5000),
|
||||
(name:'cg';idx:6000),
|
||||
(name:'asmr';idx:7000),
|
||||
(name:'asmw';idx:8000),
|
||||
(name:'exec';idx:9000),
|
||||
(name:'unit';idx:10000),
|
||||
(name:'option';idx:11000)
|
||||
);
|
||||
|
||||
var
|
||||
t,f : text;
|
||||
s,hs : string;
|
||||
i,j,k : longint;
|
||||
begin
|
||||
assign(t,paramstr(1));
|
||||
reset(t);
|
||||
assign(f,'errorm.msg');
|
||||
rewrite(f);
|
||||
while not eof(t) do
|
||||
begin
|
||||
readln(t,s);
|
||||
if (s<>'') and not(s[1] in ['#','%']) then
|
||||
begin
|
||||
if copy(s,1,11)='option_info' then
|
||||
delete(s,1,13)
|
||||
else
|
||||
if copy(s,1,2)='ol' then
|
||||
delete(s,1,6)
|
||||
else
|
||||
for i:=0 to 10 do
|
||||
if Copy(s,1,length(trtab[i].name))=trtab[i].name then
|
||||
begin
|
||||
j:=pos('=',s);
|
||||
if j>0 then
|
||||
begin
|
||||
inc(j);
|
||||
if s[j] in ['0'..'9'] then
|
||||
begin
|
||||
k:=j;
|
||||
while (s[k] in ['0'..'9']) do
|
||||
inc(k);
|
||||
if s[k]='_' then
|
||||
inc(k);
|
||||
delete(s,j,k-j);
|
||||
end;
|
||||
str(trtab[i].idx,hs);
|
||||
while length(hs)<5 do
|
||||
hs:='0'+hs;
|
||||
hs:=hs+'_';
|
||||
inc(trtab[i].idx);
|
||||
insert(hs,s,j);
|
||||
end;
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
writeln(f,s);
|
||||
end;
|
||||
close(f);
|
||||
close(t);
|
||||
erase(t);
|
||||
rename(f,paramstr(1));
|
||||
end.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user