Index: src/natools-s_expressions-printers.adb ================================================================== --- src/natools-s_expressions-printers.adb +++ src/natools-s_expressions-printers.adb @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------ --- Copyright (c) 2013-2014, Natacha Porté -- +-- Copyright (c) 2013-2015, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- @@ -41,10 +41,16 @@ overriding procedure Close_List (Output : in out Canonical) is begin Output.Stream.Write ((0 => Encodings.List_End)); end Close_List; + + procedure Append_String (Output : in out Printer'Class; Data : in String) is + begin + Append_Atom (Output, To_Atom (Data)); + end Append_String; + procedure Transfer (Source : in out Descriptor'Class; Target : in out Printer'Class; Check_Level : in Boolean := False) Index: src/natools-s_expressions-printers.ads ================================================================== --- src/natools-s_expressions-printers.ads +++ src/natools-s_expressions-printers.ads @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------ --- Copyright (c) 2013-2014, Natacha Porté -- +-- Copyright (c) 2013-2015, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- @@ -37,10 +37,13 @@ procedure Open_List (Output : in out Printer) is abstract; procedure Append_Atom (Output : in out Printer; Data : in Atom) is abstract; procedure Close_List (Output : in out Printer) is abstract; + + procedure Append_String (Output : in out Printer'Class; Data : in String); + procedure Transfer (Source : in out Descriptor'Class; Target : in out Printer'Class; Check_Level : in Boolean := False);