aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-07 04:36:01 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-07 04:36:01 +0200
commitfc42ce6675a954dfbd2f174661a101611c8703e7 (patch)
tree72ae2ccf1fd66ced74d787f85df69bf98e366dd2
parent0331772c3ef05bad40b748542939ccafab2a9c68 (diff)
downloadghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.tar.gz
ghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.tar.bz2
ghdl-fc42ce6675a954dfbd2f174661a101611c8703e7.zip
vhdl-nodes: gather PSL nodes, regenerate nodes_meta.
-rw-r--r--src/vhdl/vhdl-nodes.ads34
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb182
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;