From dbe103313c66e0a510ce689ba72b1d2d0857a457 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Sun, 9 Nov 2025 13:23:16 +1300 Subject: Initial commit --- test/pprint.adb | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 test/pprint.adb (limited to 'test/pprint.adb') diff --git a/test/pprint.adb b/test/pprint.adb new file mode 100644 index 0000000..6d05cba --- /dev/null +++ b/test/pprint.adb @@ -0,0 +1,55 @@ + + +-- Programmed by Jedidiah Barber +-- Licensed under the Sunset License v1.0 + +-- See license.txt for further details + + +with + + Ada.Strings.Unbounded, + Ada.Text_IO, + Kompsos.Pretty_Print; + + +procedure PPrint is + + package SU renames Ada.Strings.Unbounded; + package TIO renames Ada.Text_IO; + + function "+" + (Item : in String) + return SU.Unbounded_String + renames SU.To_Unbounded_String; + + + package SKomp is new Kompsos (SU.Unbounded_String); + use SKomp; + + package SPrin is new SKomp.Pretty_Print (SU.To_String); + use SPrin; + + Term_One : constant Term := T (+"Hello"); + Term_Two : constant Term := T (T (+"One") & T (+"Two") & T (+"Three")); + Term_Three : constant Term := T (Term_One & Term_Two & T (+"World")); + Term_Four : constant Term := T (Null_Term & Null_Term); + +begin + + TIO.Put_Line ("Test program to output String representation of some Terms and an empty World."); + + TIO.New_Line; + + TIO.Put_Line (Image (Term_One)); + TIO.Put_Line (Image (Term_Two)); + TIO.Put_Line (Image (Term_Three)); + TIO.Put_Line (Image (Term_Four)); + + TIO.New_Line; + + TIO.Put_Line (Image (Empty_World)); + +end PPrint; + + -- cgit