From 5ddefe0ca2f02afdb7a10717b9feb77a42fbc901 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sun, 7 Feb 2016 07:29:38 +0100 Subject: Improve mixed dump of PSL and VHDL nodes. --- src/psl/psl-dump_tree.adb | 21 +++++---------------- src/psl/psl-dump_tree.ads | 5 +++-- src/vhdl/disp_tree.adb | 24 +++++++++++++----------- src/vhdl/disp_tree.ads | 6 +++--- 4 files changed, 24 insertions(+), 32 deletions(-) diff --git a/src/psl/psl-dump_tree.adb b/src/psl/psl-dump_tree.adb index 93a407138..700c120d3 100644 --- a/src/psl/psl-dump_tree.adb +++ b/src/psl/psl-dump_tree.adb @@ -65,13 +65,14 @@ package body PSL.Dump_Tree is end if; end Image_Boolean; - procedure Disp_HDL_Node (Val : HDL_Node) - is + procedure Disp_HDL_Node + (Val : HDL_Node; Indent : Natural; Depth : Natural) is begin if Dump_Hdl_Node /= null then - Dump_Hdl_Node.all (Val); + Dump_Hdl_Node.all (Val, Indent, Depth); else Disp_Int32 (Val); + New_Line; end if; end Disp_HDL_Node; @@ -143,8 +144,6 @@ package body PSL.Dump_Tree is New_Line; end Disp_Header; - procedure Disp_Tree (N : Node; Indent : Natural; Depth : Natural); - procedure Disp_Chain (Tree_Chain: Node; Indent: Natural; Depth : Natural) is El: Node; @@ -206,8 +205,7 @@ package body PSL.Dump_Tree is when Type_Name_Id => Put_Line (Name_Table.Image (Get_Name_Id (N, F))); when Type_HDL_Node => - Disp_HDL_Node (Get_HDL_Node (N, F)); - New_Line; + Disp_HDL_Node (Get_HDL_Node (N, F), Sub_Indent, Depth - 1); when Type_NFA => Disp_NFA (Get_NFA (N, F)); New_Line; @@ -219,13 +217,4 @@ package body PSL.Dump_Tree is end; end Disp_Tree; - procedure Dump_Tree (N : Node; Full : Boolean := False) is - begin - if Full then - Disp_Tree (N, 0, 20); - else - Disp_Tree (N, 0, 0); - end if; - end Dump_Tree; - end PSL.Dump_Tree; diff --git a/src/psl/psl-dump_tree.ads b/src/psl/psl-dump_tree.ads index bf412d0dd..0b849ac54 100644 --- a/src/psl/psl-dump_tree.ads +++ b/src/psl/psl-dump_tree.ads @@ -19,9 +19,10 @@ with PSL.Nodes; use PSL.Nodes; package PSL.Dump_Tree is - procedure Dump_Tree (N : Node; Full : Boolean := False); + procedure Disp_Tree (N : Node; Indent : Natural; Depth : Natural); -- Procedure to dump an HDL node. - type Dump_Hdl_Node_Acc is access procedure (N : HDL_Node); + type Dump_Hdl_Node_Acc is + access procedure (N : HDL_Node; Indent : Natural; Depth : Natural); Dump_Hdl_Node : Dump_Hdl_Node_Acc := null; end PSL.Dump_Tree; diff --git a/src/vhdl/disp_tree.adb b/src/vhdl/disp_tree.adb index a56198ac9..d506ae23f 100644 --- a/src/vhdl/disp_tree.adb +++ b/src/vhdl/disp_tree.adb @@ -290,15 +290,15 @@ package body Disp_Tree is return Iir_Predefined_Functions'Image (F); end Image_Iir_Predefined_Functions; - procedure Disp_PSL_Node (N : PSL_Node; Indent : Natural) is - begin - Put_Indent (Indent); - PSL.Dump_Tree.Dump_Tree (N, True); - end Disp_PSL_Node; - - procedure Disp_PSL_NFA (N : PSL_NFA; Indent : Natural) is + procedure Disp_PSL_NFA (N : PSL_NFA; Indent : Natural) + is + pragma Unreferenced (Indent); begin - null; + if N = 0 then + Put_Line ("*null*"); + else + Put_Line ("*??*"); + end if; end Disp_PSL_NFA; function Image_Location_Type (Loc : Location_Type) return String is @@ -421,7 +421,8 @@ package body Disp_Tree is when Type_String8_Id => Put_Line (""); when Type_PSL_Node => - Disp_PSL_Node (Get_PSL_Node (N, F), Sub_Indent); + PSL.Dump_Tree.Disp_Tree + (Get_PSL_Node (N, F), Sub_Indent, Depth - 1); when Type_Source_Ptr => Put_Line (Source_Ptr'Image (Get_Source_Ptr (N, F))); when Type_Date_Type => @@ -491,9 +492,10 @@ package body Disp_Tree is end; end Disp_Iir; - procedure Disp_Tree_For_Psl (N : Int32) is + procedure Disp_Tree_For_Psl + (N : Int32; Indent : Natural; Depth : Natural) is begin - Disp_Iir (Iir (N), 1, 0); + Disp_Iir (Iir (N), Indent, Depth); end Disp_Tree_For_Psl; procedure Disp_Tree (Tree : Iir; diff --git a/src/vhdl/disp_tree.ads b/src/vhdl/disp_tree.ads index 94b1d29e3..f30c6278f 100644 --- a/src/vhdl/disp_tree.ads +++ b/src/vhdl/disp_tree.ads @@ -20,8 +20,8 @@ with Iirs; use Iirs; package Disp_Tree is -- Disp TREE recursively. - procedure Disp_Tree (Tree : Iir; - Flat : Boolean := False); + procedure Disp_Tree (Tree : Iir; Flat : Boolean := False); - procedure Disp_Tree_For_Psl (N : Int32); + procedure Disp_Tree_For_Psl + (N : Int32; Indent : Natural; Depth : Natural); end Disp_Tree; -- cgit v1.2.3