diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-05-05 13:54:39 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-05-05 16:03:03 +0200 |
commit | 7892c6e7945d5e4b46ddde4f18debe1c06bd3e12 (patch) | |
tree | 60b168224aaccf8421858bab2d600c1e4b0592ef /src/vhdl/nodes.ads | |
parent | e4960acab358ebdd76d796554f962e755ec8954c (diff) | |
download | ghdl-7892c6e7945d5e4b46ddde4f18debe1c06bd3e12.tar.gz ghdl-7892c6e7945d5e4b46ddde4f18debe1c06bd3e12.tar.bz2 ghdl-7892c6e7945d5e4b46ddde4f18debe1c06bd3e12.zip |
vhdl: move nodes to vhdl.nodes_priv.
Diffstat (limited to 'src/vhdl/nodes.ads')
-rw-r--r-- | src/vhdl/nodes.ads | 320 |
1 files changed, 0 insertions, 320 deletions
diff --git a/src/vhdl/nodes.ads b/src/vhdl/nodes.ads deleted file mode 100644 index b3fe3fd7d..000000000 --- a/src/vhdl/nodes.ads +++ /dev/null @@ -1,320 +0,0 @@ --- Internal node type and operations. --- Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold --- --- GHDL is free software; you can redistribute it and/or modify it under --- the terms of the GNU General Public License as published by the Free --- Software Foundation; either version 2, or (at your option) any later --- version. --- --- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or --- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --- for more details. --- --- You should have received a copy of the GNU General Public License --- along with GHDL; see the file COPYING. If not, write to the Free --- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --- 02111-1307, USA. -with Types; use Types; - -package Nodes is - type Node_Type is new Int32; - for Node_Type'Size use 32; - - Null_Node : constant Node_Type := 0; - Error_Node : constant Node_Type := 1; - - -- A simple type that needs only 2 bits. - type Bit2_Type is range 0 .. 2 ** 2 - 1; - type Bit3_Type is range 0 .. 2 ** 3 - 1; - - type Kind_Type is range 0 .. 2 ** 9 - 1; - - -- Format of a node. - type Format_Type is - ( - Format_Short, - Format_Medium - ); - - -- Common fields are: - -- Flag1 : Boolean - -- Flag2 : Boolean - -- Flag3 : Boolean - -- Flag4 : Boolean - -- Flag5 : Boolean - -- Flag6 : Boolean - -- Flag7 : Boolean - -- Flag8 : Boolean - -- Flag9 : Boolean - -- Flag10 : Boolean - -- Flag11 : Boolean - -- Flag12 : Boolean - -- Flag13 : Boolean - -- Flag14 : Boolean - -- Flag15 : Boolean - -- Nkind : Kind_Type - -- State1 : Bit2_Type - -- State2 : Bit2_Type - -- Location : Location_Type - -- Field0 : Iir - -- Field1 : Iir - -- Field2 : Iir - -- Field3 : Iir - -- Field4 : Iir - -- Field5 : Iir - - -- Fields of Format_Short: - - -- Fields of Format_Medium: - -- State3 : Bit2_Type - -- State4 : Bit2_Type - -- Field6 : Iir (location) - -- Field7 : Iir (field0) - -- Field8 : Iir (field1) - -- Field9 : Iir (field2) - -- Field10 : Iir (field3) - -- Field11 : Iir (field4) - -- Field12 : Iir (field5) - - function Create_Node (Format : Format_Type) return Node_Type; - procedure Free_Node (N : Node_Type); - function Next_Node (N : Node_Type) return Node_Type; - - function Get_Nkind (N : Node_Type) return Kind_Type; - pragma Inline (Get_Nkind); - procedure Set_Nkind (N : Node_Type; Kind : Kind_Type); - pragma Inline (Set_Nkind); - - function Get_Location (N: Node_Type) return Location_Type; - pragma Inline (Get_Location); - procedure Set_Location (N : Node_Type; Location: Location_Type); - pragma Inline (Set_Location); - - function Get_Field0 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field0); - procedure Set_Field0 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field0); - - function Get_Field1 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field1); - procedure Set_Field1 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field1); - - function Get_Field2 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field2); - procedure Set_Field2 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field2); - - function Get_Field3 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field3); - procedure Set_Field3 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field3); - - function Get_Field4 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field4); - procedure Set_Field4 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field4); - - - function Get_Field5 (N : Node_Type) return Node_Type; - pragma Inline (Get_Field5); - procedure Set_Field5 (N : Node_Type; V : Node_Type); - pragma Inline (Set_Field5); - - function Get_Field6 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field6); - procedure Set_Field6 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field6); - - function Get_Field7 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field7); - procedure Set_Field7 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field7); - - function Get_Field8 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field8); - procedure Set_Field8 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field8); - - function Get_Field9 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field9); - procedure Set_Field9 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field9); - - function Get_Field10 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field10); - procedure Set_Field10 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field10); - - function Get_Field11 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field11); - procedure Set_Field11 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field11); - - function Get_Field12 (N: Node_Type) return Node_Type; - pragma Inline (Get_Field12); - procedure Set_Field12 (N: Node_Type; Val: Node_Type); - pragma Inline (Set_Field12); - - - function Get_Flag1 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag1); - procedure Set_Flag1 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag1); - - function Get_Flag2 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag2); - procedure Set_Flag2 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag2); - - function Get_Flag3 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag3); - procedure Set_Flag3 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag3); - - function Get_Flag4 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag4); - procedure Set_Flag4 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag4); - - function Get_Flag5 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag5); - procedure Set_Flag5 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag5); - - function Get_Flag6 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag6); - procedure Set_Flag6 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag6); - - function Get_Flag7 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag7); - procedure Set_Flag7 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag7); - - function Get_Flag8 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag8); - procedure Set_Flag8 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag8); - - function Get_Flag9 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag9); - procedure Set_Flag9 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag9); - - function Get_Flag10 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag10); - procedure Set_Flag10 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag10); - - function Get_Flag11 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag11); - procedure Set_Flag11 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag11); - - function Get_Flag12 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag12); - procedure Set_Flag12 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag12); - - function Get_Flag13 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag13); - procedure Set_Flag13 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag13); - - function Get_Flag14 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag14); - procedure Set_Flag14 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag14); - - function Get_Flag15 (N : Node_Type) return Boolean; - pragma Inline (Get_Flag15); - procedure Set_Flag15 (N : Node_Type; V : Boolean); - pragma Inline (Set_Flag15); - - - function Get_State1 (N : Node_Type) return Bit2_Type; - pragma Inline (Get_State1); - procedure Set_State1 (N : Node_Type; V : Bit2_Type); - pragma Inline (Set_State1); - - function Get_State2 (N : Node_Type) return Bit2_Type; - pragma Inline (Get_State2); - procedure Set_State2 (N : Node_Type; V : Bit2_Type); - pragma Inline (Set_State2); - - function Get_State3 (N : Node_Type) return Bit2_Type; - pragma Inline (Get_State3); - procedure Set_State3 (N : Node_Type; V : Bit2_Type); - pragma Inline (Set_State3); - - function Get_State4 (N : Node_Type) return Bit2_Type; - pragma Inline (Get_State4); - procedure Set_State4 (N : Node_Type; V : Bit2_Type); - pragma Inline (Set_State4); - - -- Get the last node allocated. - function Get_Last_Node return Node_Type; - pragma Inline (Get_Last_Node); - - -- Free all and reinit. - procedure Initialize; -private - type Node_Record is record - -- First byte: - Format : Format_Type; - Flag1 : Boolean; - Flag2 : Boolean; - Flag3 : Boolean; - Flag4 : Boolean; - Flag5 : Boolean; - Flag6 : Boolean; - Flag7 : Boolean; - - -- Second byte: - Flag8 : Boolean; - Flag9 : Boolean; - Flag10 : Boolean; - Flag11 : Boolean; - Flag12 : Boolean; - Flag13 : Boolean; - Flag14 : Boolean; - Flag15 : Boolean; - - -- Third byte: - Flag16 : Boolean; - Flag17 : Boolean; - Flag18 : Boolean; - - -- 2*2 = 4 bits - State1 : Bit2_Type; - State2 : Bit2_Type; - - -- 9 bits - Kind : Kind_Type; - - -- Location. - Location: Location_Type; - - Field0 : Node_Type; - Field1 : Node_Type; - Field2 : Node_Type; - Field3 : Node_Type; - Field4 : Node_Type; - Field5 : Node_Type; - end record; - pragma Pack (Node_Record); - for Node_Record'Size use 8*32; - for Node_Record'Alignment use 4; - pragma Suppress_Initialization (Node_Record); - - Init_Node : constant Node_Record := Node_Record' - (Format => Format_Short, - Kind => 0, - State1 | State2 => 0, - Location => Location_Nil, - Field0 | Field1 | Field2 | Field3 | Field4 | Field5 => Null_Node, - others => False); - -end Nodes; |