mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 12:59:26 +02:00
35 lines
910 B
ObjectPascal
35 lines
910 B
ObjectPascal
{ Old file: tbf0205.pp }
|
|
{ and parsing bugs, generates wrong code (tp7 gives parser error) OK 0.99.11 (PM) }
|
|
|
|
program bug_show;
|
|
{ By PAV (pavsoft@usa.net) }
|
|
|
|
function bad_uppercase(s:string):string;
|
|
var i:integer;
|
|
begin
|
|
for i:=1 to length(s) do
|
|
if (ord(s[i])>=97 and ord(s[i])<=122) then s[i]:=chr(ord(s[i])-97+65);
|
|
bad_uppercase:=s;
|
|
end;
|
|
|
|
function good_uppercase(s:string):string;
|
|
var i:integer;
|
|
begin
|
|
for i:=1 to length(s) do
|
|
if (ord(s[i])>=97) and (ord(s[i])<=122) then s[i]:=chr(ord(s[i])-97+65);
|
|
good_uppercase:=s;
|
|
end;
|
|
|
|
const cadena='Free Paskal Compiler 0.99.8 !!! (bug)';
|
|
begin
|
|
writeln('This is the original string before convert it');
|
|
writeln(cadena);
|
|
writeln();
|
|
writeln('This is a bad result, using "if ( and )"');
|
|
writeln(bad_uppercase(cadena));
|
|
writeln();
|
|
writeln('This is a good result, using "if () and ()"');
|
|
writeln(good_uppercase(cadena));
|
|
writeln();
|
|
end.
|