40 lines
1017 B
Ada
40 lines
1017 B
Ada
-- { dg-do compile }
|
|
-- { dg-options "-O" }
|
|
|
|
package body Rep_Clause5 is
|
|
|
|
function To_LNumber(S : String) return LNumber_Type is
|
|
V : VString;
|
|
LV : Long_Type;
|
|
LN : LNumber_Type;
|
|
begin
|
|
LV := To_Long(V, 10);
|
|
LN := LNumber_Type(LV);
|
|
return LN;
|
|
end;
|
|
|
|
procedure Merge_Numbered(LNodes : in out LNodes_Ptr) is
|
|
T1 : Token_Type;
|
|
LNO : LNumber_Type;
|
|
begin
|
|
for X in LNodes.all'Range loop
|
|
T1 := LNodes(X).Line(0);
|
|
if T1.Token /= LEX_LF then
|
|
declare
|
|
S : String := Element(T1.SID);
|
|
begin
|
|
begin
|
|
LNO := To_LNumber(S);
|
|
exception
|
|
when Bad_Number =>
|
|
LNO := 0;
|
|
when Too_Large =>
|
|
LNO := 0;
|
|
end;
|
|
end;
|
|
end if;
|
|
end loop;
|
|
end;
|
|
|
|
end Rep_Clause5;
|