diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-08-07 04:36:01 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-08-07 04:36:01 +0200 |
commit | fc42ce6675a954dfbd2f174661a101611c8703e7 (patch) | |
tree | 72ae2ccf1fd66ced74d787f85df69bf98e366dd2 /src | |
parent | 0331772c3ef05bad40b748542939ccafab2a9c68 (diff) | |
download | ghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.tar.gz ghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.tar.bz2 ghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.zip |
vhdl-nodes: gather PSL nodes, regenerate nodes_meta.
Diffstat (limited to 'src')
-rw-r--r-- | src/vhdl/vhdl-nodes.ads | 34 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes_meta.adb | 182 |
2 files changed, 91 insertions, 125 deletions
diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index 58dce712a..c905d94ae 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -2905,16 +2905,16 @@ package Vhdl.Nodes is -- Iir_Kind_Psl_Assert_Directive (Medium) -- Iir_Kind_Psl_Assume_Directive (Medium) -- Iir_Kind_Psl_Cover_Directive (Medium) + -- Iir_Kind_Psl_Restrict_Directive (Medium) -- -- Get/Set_Parent (Field0) -- -- Only for Iir_Kind_Psl_Assert_Directive: - -- Get/Set_Psl_Property (Field1) - -- -- Only for Iir_Kind_Psl_Assume_Directive: -- Get/Set_Psl_Property (Field1) -- -- Only for Iir_Kind_Psl_Cover_Directive: + -- Only for Iir_Kind_Psl_Restrict_Directive: -- Get/Set_Psl_Sequence (Field1) -- -- Get/Set_Chain (Field2) @@ -2922,8 +2922,10 @@ package Vhdl.Nodes is -- Get/Set_Label (Field3) -- Get/Set_Identifier (Alias Field3) -- + -- Only for Iir_Kind_Psl_Assert_Directive: -- Get/Set_Severity_Expression (Field4) -- + -- Only for Iir_Kind_Psl_Assert_Directive: -- Get/Set_Report_Expression (Field5) -- -- The following fields are set by canon. @@ -2943,34 +2945,6 @@ package Vhdl.Nodes is -- -- Get/Set_Visible_Flag (Flag4) - -- Iir_Kind_Psl_Restrict_Directive (Medium) - -- - -- Get/Set_Parent (Field0) - -- - -- Get/Set_Psl_Sequence (Field1) - -- - -- Get/Set_Chain (Field2) - -- - -- Get/Set_Label (Field3) - -- Get/Set_Identifier (Alias Field3) - -- - -- The following fields are set by canon. - -- Get/Set_PSL_Clock (Field7) - -- - -- Get/Set_PSL_NFA (Field8) - -- - -- Number of states in the NFA. - -- Get/Set_PSL_Nbr_States (Field9) - -- - -- Get/Set_PSL_Clock_Sensitivity (Field10) - -- - -- True if at least one of the NFA edge has the EOS flag. - -- Get/Set_PSL_EOS_Flag (Flag1) - -- - -- Get/Set_Postponed_Flag (Flag3) - -- - -- Get/Set_Visible_Flag (Flag4) - -- Iir_Kind_Component_Instantiation_Statement (Medium) -- -- LRM08 11.7 Component instantiation statements diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 4b4c6b632..d7e9e1433 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -1389,9 +1389,9 @@ package body Vhdl.Nodes_Meta is when Iir_Kind_Concurrent_Procedure_Call_Statement => return "concurrent_procedure_call_statement"; when Iir_Kind_Psl_Assert_Directive => - return "psl_assert_statement"; + return "psl_assert_directive"; when Iir_Kind_Psl_Assume_Directive => - return "psl_assume_statement"; + return "psl_assume_directive"; when Iir_Kind_Psl_Cover_Directive => return "psl_cover_directive"; when Iir_Kind_Psl_Restrict_Directive => @@ -3822,8 +3822,6 @@ package body Vhdl.Nodes_Meta is Field_Visible_Flag, Field_Parent, Field_Chain, - Field_Severity_Expression, - Field_Report_Expression, Field_PSL_Clock_Sensitivity, -- Iir_Kind_Psl_Cover_Directive Field_Psl_Sequence, @@ -3836,8 +3834,6 @@ package body Vhdl.Nodes_Meta is Field_Visible_Flag, Field_Parent, Field_Chain, - Field_Severity_Expression, - Field_Report_Expression, Field_PSL_Clock_Sensitivity, -- Iir_Kind_Psl_Restrict_Directive Field_Psl_Sequence, @@ -4657,91 +4653,91 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Concurrent_Assertion_Statement => 1378, Iir_Kind_Concurrent_Procedure_Call_Statement => 1385, Iir_Kind_Psl_Assert_Directive => 1398, - Iir_Kind_Psl_Assume_Directive => 1411, - Iir_Kind_Psl_Cover_Directive => 1424, - Iir_Kind_Psl_Restrict_Directive => 1435, - Iir_Kind_Block_Statement => 1449, - Iir_Kind_If_Generate_Statement => 1460, - Iir_Kind_Case_Generate_Statement => 1469, - Iir_Kind_For_Generate_Statement => 1478, - Iir_Kind_Component_Instantiation_Statement => 1489, - Iir_Kind_Psl_Default_Clock => 1493, - Iir_Kind_Simple_Simultaneous_Statement => 1500, - Iir_Kind_Generate_Statement_Body => 1511, - Iir_Kind_If_Generate_Else_Clause => 1517, - Iir_Kind_Simple_Signal_Assignment_Statement => 1527, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1537, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1548, - Iir_Kind_Null_Statement => 1552, - Iir_Kind_Assertion_Statement => 1559, - Iir_Kind_Report_Statement => 1565, - Iir_Kind_Wait_Statement => 1573, - Iir_Kind_Variable_Assignment_Statement => 1580, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1587, - Iir_Kind_Return_Statement => 1593, - Iir_Kind_For_Loop_Statement => 1602, - Iir_Kind_While_Loop_Statement => 1611, - Iir_Kind_Next_Statement => 1618, - Iir_Kind_Exit_Statement => 1625, - Iir_Kind_Case_Statement => 1633, - Iir_Kind_Procedure_Call_Statement => 1639, - Iir_Kind_If_Statement => 1649, - Iir_Kind_Elsif => 1655, - Iir_Kind_Character_Literal => 1663, - Iir_Kind_Simple_Name => 1671, - Iir_Kind_Selected_Name => 1680, - Iir_Kind_Operator_Symbol => 1686, - Iir_Kind_Reference_Name => 1690, - Iir_Kind_External_Constant_Name => 1698, - Iir_Kind_External_Signal_Name => 1706, - Iir_Kind_External_Variable_Name => 1715, - Iir_Kind_Selected_By_All_Name => 1721, - Iir_Kind_Parenthesis_Name => 1726, - Iir_Kind_Package_Pathname => 1730, - Iir_Kind_Absolute_Pathname => 1731, - Iir_Kind_Relative_Pathname => 1732, - Iir_Kind_Pathname_Element => 1737, - Iir_Kind_Base_Attribute => 1739, - Iir_Kind_Subtype_Attribute => 1744, - Iir_Kind_Element_Attribute => 1749, - Iir_Kind_Left_Type_Attribute => 1754, - Iir_Kind_Right_Type_Attribute => 1759, - Iir_Kind_High_Type_Attribute => 1764, - Iir_Kind_Low_Type_Attribute => 1769, - Iir_Kind_Ascending_Type_Attribute => 1774, - Iir_Kind_Image_Attribute => 1780, - Iir_Kind_Value_Attribute => 1786, - Iir_Kind_Pos_Attribute => 1792, - Iir_Kind_Val_Attribute => 1798, - Iir_Kind_Succ_Attribute => 1804, - Iir_Kind_Pred_Attribute => 1810, - Iir_Kind_Leftof_Attribute => 1816, - Iir_Kind_Rightof_Attribute => 1822, - Iir_Kind_Delayed_Attribute => 1831, - Iir_Kind_Stable_Attribute => 1840, - Iir_Kind_Quiet_Attribute => 1849, - Iir_Kind_Transaction_Attribute => 1858, - Iir_Kind_Event_Attribute => 1862, - Iir_Kind_Active_Attribute => 1866, - Iir_Kind_Last_Event_Attribute => 1870, - Iir_Kind_Last_Active_Attribute => 1874, - Iir_Kind_Last_Value_Attribute => 1878, - Iir_Kind_Driving_Attribute => 1882, - Iir_Kind_Driving_Value_Attribute => 1886, - Iir_Kind_Behavior_Attribute => 1886, - Iir_Kind_Structure_Attribute => 1886, - Iir_Kind_Simple_Name_Attribute => 1893, - Iir_Kind_Instance_Name_Attribute => 1898, - Iir_Kind_Path_Name_Attribute => 1903, - Iir_Kind_Left_Array_Attribute => 1910, - Iir_Kind_Right_Array_Attribute => 1917, - Iir_Kind_High_Array_Attribute => 1924, - Iir_Kind_Low_Array_Attribute => 1931, - Iir_Kind_Length_Array_Attribute => 1938, - Iir_Kind_Ascending_Array_Attribute => 1945, - Iir_Kind_Range_Array_Attribute => 1952, - Iir_Kind_Reverse_Range_Array_Attribute => 1959, - Iir_Kind_Attribute_Name => 1968 + Iir_Kind_Psl_Assume_Directive => 1409, + Iir_Kind_Psl_Cover_Directive => 1420, + Iir_Kind_Psl_Restrict_Directive => 1431, + Iir_Kind_Block_Statement => 1445, + Iir_Kind_If_Generate_Statement => 1456, + Iir_Kind_Case_Generate_Statement => 1465, + Iir_Kind_For_Generate_Statement => 1474, + Iir_Kind_Component_Instantiation_Statement => 1485, + Iir_Kind_Psl_Default_Clock => 1489, + Iir_Kind_Simple_Simultaneous_Statement => 1496, + Iir_Kind_Generate_Statement_Body => 1507, + Iir_Kind_If_Generate_Else_Clause => 1513, + Iir_Kind_Simple_Signal_Assignment_Statement => 1523, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1533, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1544, + Iir_Kind_Null_Statement => 1548, + Iir_Kind_Assertion_Statement => 1555, + Iir_Kind_Report_Statement => 1561, + Iir_Kind_Wait_Statement => 1569, + Iir_Kind_Variable_Assignment_Statement => 1576, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1583, + Iir_Kind_Return_Statement => 1589, + Iir_Kind_For_Loop_Statement => 1598, + Iir_Kind_While_Loop_Statement => 1607, + Iir_Kind_Next_Statement => 1614, + Iir_Kind_Exit_Statement => 1621, + Iir_Kind_Case_Statement => 1629, + Iir_Kind_Procedure_Call_Statement => 1635, + Iir_Kind_If_Statement => 1645, + Iir_Kind_Elsif => 1651, + Iir_Kind_Character_Literal => 1659, + Iir_Kind_Simple_Name => 1667, + Iir_Kind_Selected_Name => 1676, + Iir_Kind_Operator_Symbol => 1682, + Iir_Kind_Reference_Name => 1686, + Iir_Kind_External_Constant_Name => 1694, + Iir_Kind_External_Signal_Name => 1702, + Iir_Kind_External_Variable_Name => 1711, + Iir_Kind_Selected_By_All_Name => 1717, + Iir_Kind_Parenthesis_Name => 1722, + Iir_Kind_Package_Pathname => 1726, + Iir_Kind_Absolute_Pathname => 1727, + Iir_Kind_Relative_Pathname => 1728, + Iir_Kind_Pathname_Element => 1733, + Iir_Kind_Base_Attribute => 1735, + Iir_Kind_Subtype_Attribute => 1740, + Iir_Kind_Element_Attribute => 1745, + Iir_Kind_Left_Type_Attribute => 1750, + Iir_Kind_Right_Type_Attribute => 1755, + Iir_Kind_High_Type_Attribute => 1760, + Iir_Kind_Low_Type_Attribute => 1765, + Iir_Kind_Ascending_Type_Attribute => 1770, + Iir_Kind_Image_Attribute => 1776, + Iir_Kind_Value_Attribute => 1782, + Iir_Kind_Pos_Attribute => 1788, + Iir_Kind_Val_Attribute => 1794, + Iir_Kind_Succ_Attribute => 1800, + Iir_Kind_Pred_Attribute => 1806, + Iir_Kind_Leftof_Attribute => 1812, + Iir_Kind_Rightof_Attribute => 1818, + Iir_Kind_Delayed_Attribute => 1827, + Iir_Kind_Stable_Attribute => 1836, + Iir_Kind_Quiet_Attribute => 1845, + Iir_Kind_Transaction_Attribute => 1854, + Iir_Kind_Event_Attribute => 1858, + Iir_Kind_Active_Attribute => 1862, + Iir_Kind_Last_Event_Attribute => 1866, + Iir_Kind_Last_Active_Attribute => 1870, + Iir_Kind_Last_Value_Attribute => 1874, + Iir_Kind_Driving_Attribute => 1878, + Iir_Kind_Driving_Value_Attribute => 1882, + Iir_Kind_Behavior_Attribute => 1882, + Iir_Kind_Structure_Attribute => 1882, + Iir_Kind_Simple_Name_Attribute => 1889, + Iir_Kind_Instance_Name_Attribute => 1894, + Iir_Kind_Path_Name_Attribute => 1899, + Iir_Kind_Left_Array_Attribute => 1906, + Iir_Kind_Right_Array_Attribute => 1913, + Iir_Kind_High_Array_Attribute => 1920, + Iir_Kind_Low_Array_Attribute => 1927, + Iir_Kind_Length_Array_Attribute => 1934, + Iir_Kind_Ascending_Array_Attribute => 1941, + Iir_Kind_Range_Array_Attribute => 1948, + Iir_Kind_Reverse_Range_Array_Attribute => 1955, + Iir_Kind_Attribute_Name => 1964 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -9058,8 +9054,6 @@ package body Vhdl.Nodes_Meta is case K is when Iir_Kind_Concurrent_Assertion_Statement | Iir_Kind_Psl_Assert_Directive - | Iir_Kind_Psl_Assume_Directive - | Iir_Kind_Psl_Cover_Directive | Iir_Kind_Assertion_Statement | Iir_Kind_Report_Statement => return True; @@ -9073,8 +9067,6 @@ package body Vhdl.Nodes_Meta is case K is when Iir_Kind_Concurrent_Assertion_Statement | Iir_Kind_Psl_Assert_Directive - | Iir_Kind_Psl_Assume_Directive - | Iir_Kind_Psl_Cover_Directive | Iir_Kind_Assertion_Statement | Iir_Kind_Report_Statement => return True; |