aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-values.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/grt/grt-values.adb')
-rw-r--r--src/grt/grt-values.adb53
1 files changed, 1 insertions, 52 deletions
diff --git a/src/grt/grt-values.adb b/src/grt/grt-values.adb
index b2e98f6a0..14f8f8075 100644
--- a/src/grt/grt-values.adb
+++ b/src/grt/grt-values.adb
@@ -26,23 +26,11 @@ with Grt.Strings; use Grt.Strings;
with Grt.To_Strings; use Grt.To_Strings;
package body Grt.Values is
- -- Increase POS to skip leading whitespace characters, decrease LEN to
- -- skip trailing whitespaces in string S.
procedure Remove_Whitespaces (S : Std_String_Basep;
Len : in out Ghdl_Index_Type;
Pos : in out Ghdl_Index_Type) is
begin
- -- GHDL: allow several leading whitespace.
- while Pos < Len loop
- exit when not Is_Whitespace (S (Pos));
- Pos := Pos + 1;
- end loop;
-
- -- GHDL: allow several leading whitespace.
- while Len > Pos loop
- exit when not Is_Whitespace (S (Len - 1));
- Len := Len - 1;
- end loop;
+ Grt.To_Strings.Remove_Whitespaces (S, Len, Pos);
if Pos = Len then
Error_E ("'value: empty string");
end if;
@@ -234,45 +222,6 @@ package body Grt.Values is
return Value_F64 (S, Len, Pos);
end Ghdl_Value_F64;
- procedure Ghdl_Value_Physical_Split (Str : Std_String_Basep;
- Len : Ghdl_Index_Type;
- Is_Real : out Boolean;
- Lit_Pos : out Ghdl_Index_Type;
- Lit_End : out Ghdl_Index_Type;
- Unit_Pos : out Ghdl_Index_Type)
- is
- L : Ghdl_Index_Type;
- begin
- -- LRM 14.1
- -- Leading and trailing whitespace is allowed and ignored.
- Lit_Pos := 0;
- L := Len;
- Remove_Whitespaces (Str, L, Lit_Pos);
- pragma Unreferenced (Len);
-
- -- Split between abstract literal (optionnal) and unit name.
- Lit_End := Lit_Pos;
- Is_Real := False;
- while Lit_End < L loop
- exit when Is_Whitespace (Str (Lit_End));
- if Str (Lit_End) = '.' then
- Is_Real := True;
- end if;
- Lit_End := Lit_End + 1;
- end loop;
- if Lit_End = L then
- -- No literal
- Unit_Pos := Lit_Pos;
- Lit_End := 0;
- else
- Unit_Pos := Lit_End + 1;
- while Unit_Pos < L loop
- exit when not Is_Whitespace (Str (Unit_Pos));
- Unit_Pos := Unit_Pos + 1;
- end loop;
- end if;
- end Ghdl_Value_Physical_Split;
-
function Ghdl_Value_Physical_Type (Str : Std_String_Ptr;
Rti : Ghdl_Rti_Access)
return Ghdl_I64