From 5647f25c4447d79b841f50970c49bdebeeaa4559 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 21 Nov 2019 04:23:09 +0100 Subject: introduce package utils_io. --- src/synth/netlists-disp_vhdl.adb | 21 +---------------- src/synth/netlists-disp_vhdl.ads | 2 -- src/synth/netlists-dump.adb | 21 +---------------- src/synth/synth-disp_vhdl.adb | 1 + src/utils_io.adb | 51 ++++++++++++++++++++++++++++++++++++++++ src/utils_io.ads | 32 +++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 42 deletions(-) create mode 100644 src/utils_io.adb create mode 100644 src/utils_io.ads (limited to 'src') diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb index 992f0bf5e..77ee517e6 100644 --- a/src/synth/netlists-disp_vhdl.adb +++ b/src/synth/netlists-disp_vhdl.adb @@ -19,6 +19,7 @@ -- MA 02110-1301, USA. with Simple_IO; use Simple_IO; +with Utils_IO; use Utils_IO; with Types_Utils; use Types_Utils; with Name_Table; use Name_Table; with Files_Map; @@ -31,26 +32,6 @@ with Netlists.Locations; package body Netlists.Disp_Vhdl is Flag_Merge_Lit : constant Boolean := True; - -- Like Put, but without the leading space (if any). - procedure Put_Trim (S : String) is - begin - if S'First <= S'Last and then S (S'First) = ' ' then - Put (S (S'First + 1 .. S'Last)); - else - Put (S); - end if; - end Put_Trim; - - procedure Put_Uns32 (V : Uns32) is - begin - Put_Trim (Uns32'Image (V)); - end Put_Uns32; - - procedure Put_Int32 (V : Int32) is - begin - Put_Trim (Int32'Image (V)); - end Put_Int32; - procedure Put_Type (W : Width) is begin if W = 1 then diff --git a/src/synth/netlists-disp_vhdl.ads b/src/synth/netlists-disp_vhdl.ads index a088c4968..afc29458f 100644 --- a/src/synth/netlists-disp_vhdl.ads +++ b/src/synth/netlists-disp_vhdl.ads @@ -19,8 +19,6 @@ -- MA 02110-1301, USA. package Netlists.Disp_Vhdl is - procedure Put_Uns32 (V : Uns32); - procedure Disp_Vhdl (M : Module); procedure Disp_Architecture_Declarations (M : Module); diff --git a/src/synth/netlists-dump.adb b/src/synth/netlists-dump.adb index 6a421805b..841c5d831 100644 --- a/src/synth/netlists-dump.adb +++ b/src/synth/netlists-dump.adb @@ -19,6 +19,7 @@ -- MA 02110-1301, USA. with Simple_IO; use Simple_IO; +with Utils_IO; use Utils_IO; with Name_Table; with Files_Map; @@ -28,26 +29,6 @@ with Netlists.Gates; use Netlists.Gates; with Netlists.Locations; package body Netlists.Dump is - procedure Put_Indent (Indent : Natural) is - begin - Put (String'(1 .. Indent * 2 => ' ')); - end Put_Indent; - - -- Like Put, but without the leading space (if any). - procedure Put_Trim (S : String) is - begin - if S'First <= S'Last and then S (S'First) = ' ' then - Put (S (S'First + 1 .. S'Last)); - else - Put (S); - end if; - end Put_Trim; - - procedure Put_Uns32 (V : Uns32) is - begin - Put_Trim (Uns32'Image (V)); - end Put_Uns32; - procedure Put_Width (W : Width) is begin Put_Trim (Width'Image (W)); diff --git a/src/synth/synth-disp_vhdl.adb b/src/synth/synth-disp_vhdl.adb index 0227e4f2d..6d14e95d9 100644 --- a/src/synth/synth-disp_vhdl.adb +++ b/src/synth/synth-disp_vhdl.adb @@ -19,6 +19,7 @@ -- MA 02110-1301, USA. with Simple_IO; use Simple_IO; +with Utils_IO; use Utils_IO; with Types; use Types; with Name_Table; diff --git a/src/utils_io.adb b/src/utils_io.adb new file mode 100644 index 000000000..a148fe111 --- /dev/null +++ b/src/utils_io.adb @@ -0,0 +1,51 @@ +-- Common IO utilities. +-- Copyright (C) 2019 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 Simple_IO; use Simple_IO; + +package body Utils_IO is + procedure Put_Indent (Indent : Natural) is + begin + Put (String'(1 .. Indent * 2 => ' ')); + end Put_Indent; + + -- Like Put, but without the leading space (if any). + procedure Put_Trim (S : String) is + begin + if S'First <= S'Last and then S (S'First) = ' ' then + Put (S (S'First + 1 .. S'Last)); + else + Put (S); + end if; + end Put_Trim; + + procedure Put_Uns32 (V : Uns32) is + begin + Put_Trim (Uns32'Image (V)); + end Put_Uns32; + + procedure Put_Int32 (V : Int32) is + begin + Put_Trim (Int32'Image (V)); + end Put_Int32; + + procedure Put_Int64 (V : Int64) is + begin + Put_Trim (Int64'Image (V)); + end Put_Int64; +end Utils_IO; diff --git a/src/utils_io.ads b/src/utils_io.ads new file mode 100644 index 000000000..249f0a26b --- /dev/null +++ b/src/utils_io.ads @@ -0,0 +1,32 @@ +-- Common IO utilities. +-- Copyright (C) 2019 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 Utils_IO is + -- Disp 2*INDENT spaces. + procedure Put_Indent (Indent : Natural); + + -- Like Put, but without the leading space (if any). + procedure Put_Trim (S : String); + + -- Put without leading blank. + procedure Put_Uns32 (V : Uns32); + procedure Put_Int32 (V : Int32); + procedure Put_Int64 (V : Int64); +end Utils_IO; -- cgit v1.2.3