diff options
Diffstat (limited to 'ortho/debug/ortho_debug.private.ads')
-rw-r--r-- | ortho/debug/ortho_debug.private.ads | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/ortho/debug/ortho_debug.private.ads b/ortho/debug/ortho_debug.private.ads index 09d9b4c6f..98424efdf 100644 --- a/ortho/debug/ortho_debug.private.ads +++ b/ortho/debug/ortho_debug.private.ads @@ -1,5 +1,5 @@ -- Ortho debug back-end declarations. --- Copyright (C) 2005 Tristan Gingold +-- Copyright (C) 2005-2014 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 @@ -16,27 +16,26 @@ -- Software Foundation, 59 Temple Place - Suite 330, Boston, MA -- 02111-1307, USA. +with Interfaces; use Interfaces; +with Ortho_Ident; +use Ortho_Ident; + +-- Interface to create nodes. package Ortho_Debug is - type O_Enode is private; - type O_Cnode is private; - type O_Lnode is private; + procedure Init; + procedure Finish; + +private -- A node for a type. - type O_Tnode_Type (<>) is private; + type O_Tnode_Type (<>); type O_Tnode is access O_Tnode_Type; + -- A node for a statement. - type O_Snode_Type (<>) is private; + type O_Snode_Type (<>); type O_Snode is access O_Snode_Type; - -- A node for a function. - type O_Dnode_Type (<>) is private; - type O_Dnode is access O_Dnode_Type; - -- A node for a record element. - type O_Fnode_Type is private; - type O_Fnode is access O_Fnode_Type; - procedure Init; - procedure Finish; Top : O_Snode; -private + type Str_Acc is access String; type Decl_Scope_Type; @@ -48,7 +47,12 @@ private ON_Function_Decl, ON_Function_Body, ON_Const_Value, ON_Debug_Line_Decl, ON_Debug_Comment_Decl, ON_Debug_Filename_Decl); + + type O_Dnode_Type (<>); + type O_Dnode is access O_Dnode_Type; + O_Dnode_Null : constant O_Dnode := null; + type O_Dnode_Type (Kind : On_Decl_Kind) is record Next : O_Dnode; Name : O_Ident; @@ -88,7 +92,12 @@ private end case; end record; + -- A node for a record element. + type O_Fnode_Type; + type O_Fnode is access O_Fnode_Type; + O_Fnode_Null : constant O_Fnode := null; + type O_Fnode_Type is record -- Record type. Parent : O_Tnode; |