diff options
Diffstat (limited to 'src/vhdl/iirs.ads')
-rw-r--r-- | src/vhdl/iirs.ads | 75 |
1 files changed, 24 insertions, 51 deletions
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads index 2ce529f..6d3c45a 100644 --- a/src/vhdl/iirs.ads +++ b/src/vhdl/iirs.ads @@ -268,8 +268,7 @@ package Iirs is -- Literals -- --------------- - -- Iir_Kind_String_Literal (Short) - -- Iir_Kind_Bit_String_Literal (Medium) + -- Iir_Kind_String_Literal8 (Short) -- -- Get/Set_Type (Field1) -- @@ -277,26 +276,15 @@ package Iirs is -- whose value was computed during analysis and replaces the expression. -- Get/Set_Literal_Origin (Field2) -- - -- Get/Set_String_Id (Field3) + -- Same as Type, but marked as property of that node. + -- Get/Set_Literal_Subtype (Field3) -- - -- As bit-strings are expanded to '0'/'1' strings, this is the number of - -- characters. + -- Number of literals in the expanded string. -- Get/Set_String_Length (Field4) -- - -- Same as Type, but marked as property of that node. - -- Get/Set_Literal_Subtype (Field5) - -- - -- For bit string only: - -- Enumeration literal which correspond to '0' and '1'. - -- This cannot be defined only in the enumeration type definition, due to - -- possible aliases. - -- Only for Iir_Kind_Bit_String_Literal: - -- Get/Set_Bit_String_0 (Field6) - -- Only for Iir_Kind_Bit_String_Literal: - -- Get/Set_Bit_String_1 (Field7) + -- Get/Set_String8_Id (Field5) -- - -- Only for Iir_Kind_Bit_String_Literal: - -- Get/Set_Bit_String_Base (Field8) + -- Get/Set_Bit_String_Base (State2) -- -- Get/Set_Expr_Staticness (State1) @@ -358,13 +346,13 @@ package Iirs is -- -- Get/Set_Literal_Origin (Field2) -- - -- Get/Set_Expr_Staticness (State1) + -- Same as Type, but marked as property of that node. + -- Get/Set_Literal_Subtype (Field3) -- -- List of elements - -- Get/Set_Simple_Aggregate_List (Field3) + -- Get/Set_Simple_Aggregate_List (Field4) -- - -- Same as Type, but marked as property of that node. - -- Get/Set_Literal_Subtype (Field5) + -- Get/Set_Expr_Staticness (State1) -- Iir_Kind_Overflow_Literal (Short) -- This node can only be generated by evaluation to represent an error: out @@ -2888,10 +2876,10 @@ package Iirs is -- -- Get/Set_Aggregate_Info (Field2) -- - -- Get/Set_Association_Choices_Chain (Field4) - -- -- Same as Type, but marked as property of that node. - -- Get/Set_Literal_Subtype (Field5) + -- Get/Set_Literal_Subtype (Field3) + -- + -- Get/Set_Association_Choices_Chain (Field4) -- -- Get/Set_Expr_Staticness (State1) -- @@ -3355,10 +3343,9 @@ package Iirs is Iir_Kind_Integer_Literal, Iir_Kind_Floating_Point_Literal, Iir_Kind_Null_Literal, - Iir_Kind_String_Literal, + Iir_Kind_String_Literal8, Iir_Kind_Physical_Int_Literal, Iir_Kind_Physical_Fp_Literal, - Iir_Kind_Bit_String_Literal, Iir_Kind_Simple_Aggregate, Iir_Kind_Overflow_Literal, @@ -4095,10 +4082,9 @@ package Iirs is Iir_Kind_Integer_Literal .. --Iir_Kind_Floating_Point_Literal --Iir_Kind_Null_Literal - --Iir_Kind_String_Literal + --Iir_Kind_String_Literal8 --Iir_Kind_Physical_Int_Literal - --Iir_Kind_Physical_Fp_Literal - Iir_Kind_Bit_String_Literal; + Iir_Kind_Physical_Fp_Literal; subtype Iir_Kinds_Array_Type_Definition is Iir_Kind range Iir_Kind_Array_Type_Definition .. @@ -4593,7 +4579,7 @@ package Iirs is -- Purity depth of an impure subprogram. Iir_Depth_Impure : constant Iir_Int32 := -1; - type Base_Type is (Base_2, Base_8, Base_16); + type Base_Type is (Base_None, Base_2, Base_8, Base_16); -- design file subtype Iir_Design_File is Iir; @@ -4611,10 +4597,6 @@ package Iirs is subtype Iir_Floating_Point_Literal is Iir; - subtype Iir_String_Literal is Iir; - - subtype Iir_Bit_String_Literal is Iir; - subtype Iir_Null_Literal is Iir; subtype Iir_Physical_Int_Literal is Iir; @@ -5042,24 +5024,15 @@ package Iirs is procedure Set_Fp_Value (Lit : Iir; Val : Iir_Fp64); -- List of elements of a simple aggregate. - -- Field: Field3 (uc) + -- Field: Field4 (uc) function Get_Simple_Aggregate_List (Target : Iir) return Iir_List; procedure Set_Simple_Aggregate_List (Target : Iir; List : Iir_List); - -- The logarithm of the base (1, 3 or 4) of a bit string. - -- Field: Field8 (pos) + -- Base of a bit string. + -- Field: State2 (pos) function Get_Bit_String_Base (Lit : Iir) return Base_Type; procedure Set_Bit_String_Base (Lit : Iir; Base : Base_Type); - -- The enumeration literal which defines the '0' and '1' value. - -- Field: Field6 - function Get_Bit_String_0 (Lit : Iir) return Iir; - procedure Set_Bit_String_0 (Lit : Iir; El : Iir); - - -- Field: Field7 - function Get_Bit_String_1 (Lit : Iir) return Iir; - procedure Set_Bit_String_1 (Lit : Iir; El : Iir); - -- The origin of a literal can be null_iir for a literal generated by the -- parser, or a node which was statically evaluated to this literal. -- Such nodes are created by eval_expr. @@ -5074,7 +5047,7 @@ package Iirs is -- Same as Type, but not marked as Ref. This is when a literal has a -- subtype (such as string or bit_string) created specially for the -- literal. - -- Field: Field5 + -- Field: Field3 function Get_Literal_Subtype (Lit : Iir) return Iir; procedure Set_Literal_Subtype (Lit : Iir; Atype : Iir); @@ -6260,9 +6233,9 @@ package Iirs is procedure Set_End_Location (Target : Iir; Loc : Location_Type); -- For a string literal: the string identifier. - -- Field: Field3 (uc) - function Get_String_Id (Lit : Iir) return String_Id; - procedure Set_String_Id (Lit : Iir; Id : String_Id); + -- Field: Field5 (uc) + function Get_String8_Id (Lit : Iir) return String8_Id; + procedure Set_String8_Id (Lit : Iir; Id : String8_Id); -- For a string literal: the string length. -- Field: Field4 (uc) |