Index: tests/natools-s_expressions-cache_tests.adb ================================================================== --- tests/natools-s_expressions-cache_tests.adb +++ tests/natools-s_expressions-cache_tests.adb @@ -317,16 +317,15 @@ declare Cache : Caches.Reference; begin declare Input : aliased Test_Tools.Memory_Stream; - Parser : aliased Parsers.Parser; - Subparser : Parsers.Subparser (Parser'Access, Input'Access); + Parser : Parsers.Stream_Parser (Input'Access); begin Input.Set_Data (Lockable.Tests.Test_Expression); - Test_Tools.Next_And_Check (Test, Subparser, Events.Open_List, 1); - Printers.Transfer (Subparser, Cache); + Test_Tools.Next_And_Check (Test, Parser, Events.Open_List, 1); + Printers.Transfer (Parser, Cache); end; declare Cursor : Caches.Cursor := Cache.First; begin Index: tests/natools-s_expressions-lockable-tests.adb ================================================================== --- tests/natools-s_expressions-lockable-tests.adb +++ tests/natools-s_expressions-lockable-tests.adb @@ -266,13 +266,12 @@ procedure Test_Wrapper_Extra (Report : in out NT.Reporter'Class) is Test : NT.Test := Report.Item ("Extra tests of wrapper"); begin declare Input : aliased Test_Tools.Memory_Stream; - Parser : aliased Parsers.Parser; - Subparser : aliased Parsers.Subparser (Parser'Access, Input'Access); - Tested : Wrapper (Subparser'Access); + Parser : aliased Parsers.Stream_Parser (Input'Access); + Tested : Wrapper (Parser'Access); State : Lock_State; begin Input.Set_Data (To_Atom ("(cmd1 arg1)(cmd2 4:arg2")); -- Check Events.Error is returned by Next when finished @@ -302,18 +301,17 @@ Test : NT.Test := Report.Item ("Lockable.Descriptor interface of wrapper"); begin declare Input : aliased Test_Tools.Memory_Stream; - Parser : aliased Parsers.Parser; - Subparser : aliased Parsers.Subparser (Parser'Access, Input'Access); - Tested : Wrapper (Subparser'Access); + Parser : aliased Parsers.Stream_Parser (Input'Access); + Tested : Wrapper (Parser'Access); begin Input.Set_Data (Test_Expression); - Test_Tools.Next_And_Check (Test, Subparser, Events.Open_List, 1); + Test_Tools.Next_And_Check (Test, Parser, Events.Open_List, 1); Test_Interface (Test, Tested); end; exception when Error : others => Test.Report_Exception (Error); end Test_Wrapper_Interface; end Natools.S_Expressions.Lockable.Tests; Index: tests/natools-s_expressions-printers-pretty-config-tests.adb ================================================================== --- tests/natools-s_expressions-printers-pretty-config-tests.adb +++ tests/natools-s_expressions-printers-pretty-config-tests.adb @@ -210,12 +210,11 @@ begin declare Param : Parameters := Canonical; Expected : Parameters; Input : aliased Test_Tools.Memory_Stream; - Parser : aliased Parsers.Parser; - Subparser : Parsers.Subparser (Parser'Access, Input'Access); + Parser : Parsers.Stream_Parser (Input'Access); begin Input.Write (To_Atom ("(width 80)" & "(newline cr-lf atom-atom all)" & "utf-8" @@ -239,12 +238,12 @@ Hex_Casing => Encodings.Lower, Quoted_Escape => Hex_Escape, Char_Encoding => UTF_8, Fallback => Hexadecimal, Newline => CR_LF); - Test_Tools.Next_And_Check (Test, Subparser, Events.Open_List, 1); - Update (Param, Subparser); + Test_Tools.Next_And_Check (Test, Parser, Events.Open_List, 1); + Update (Param, Parser); Check_Param (Test, Param, Expected, "In first expression:"); Input.Write (To_Atom ("(indentation 3 spaces)width(token extended)" & "(newline (not close-close))")); @@ -251,37 +250,37 @@ Expected.Indentation := 3; Expected.Indent := Spaces; Expected.Width := 0; Expected.Token := Extended_Token; Expected.Newline_At (Closing, Closing) := False; - Test_Tools.Next_And_Check (Test, Subparser, Events.Open_List, 1); - Update (Param, Subparser); + Test_Tools.Next_And_Check (Test, Parser, Events.Open_List, 1); + Update (Param, Parser); Check_Param (Test, Param, Expected, "In second expression:"); Input.Write (To_Atom ("(indentation 4 tabbed-spaces)upper-hex(width (10))(token)")); Expected.Indentation := 4; Expected.Indent := Tabs_And_Spaces; Expected.Hex_Casing := Encodings.Upper; - Test_Tools.Next_And_Check (Test, Subparser, Events.Open_List, 1); - Update (Param, Subparser); + Test_Tools.Next_And_Check (Test, Parser, Events.Open_List, 1); + Update (Param, Parser); Check_Param (Test, Param, Expected, "In third expression:"); Input.Write (To_Atom ("no-indentation(token never)")); Expected.Indentation := 0; Expected.Token := No_Token; - Test_Tools.Next_And_Check (Test, Subparser, Events.Add_Atom, 0); - Update (Param, Subparser); + Test_Tools.Next_And_Check (Test, Parser, Events.Add_Atom, 0); + Update (Param, Parser); Check_Param (Test, Param, Expected, "In fourth expression:"); Input.Write (To_Atom ("lower-case(token standard)")); Expected.Token := Standard_Token; Expected.Hex_Casing := Encodings.Lower; - Test_Tools.Next_And_Check (Test, Subparser, Events.Add_Atom, 0); - Update (Param, Subparser); + Test_Tools.Next_And_Check (Test, Parser, Events.Add_Atom, 0); + Update (Param, Parser); Check_Param (Test, Param, Expected, "In fifth expression:"); end; exception when Error : others => Test.Report_Exception (Error); end Read_Test; @@ -300,18 +299,17 @@ Param : in Parameters; Expr : in String) is Buffer : aliased Test_Tools.Memory_Stream; Output : Printers.Canonical (Buffer'Access); - Parser : aliased Parsers.Parser; - Subparser : Parsers.Subparser (Parser'Access, Buffer'Access); + Parser : Parsers.Stream_Parser (Buffer'Access); Reread : Parameters := Pretty.Canonical; begin Buffer.Set_Expected (To_Atom (Expr)); Print (Output, Param); - Subparser.Next; - Update (Reread, Subparser); + Parser.Next; + Update (Reread, Parser); Check_Param (Test, Reread, Param, Title); Buffer.Check_Stream (Test); end Testcase; begin Testcase ("First case:", Index: tests/natools-s_expressions-printers-pretty-tests.adb ================================================================== --- tests/natools-s_expressions-printers-pretty-tests.adb +++ tests/natools-s_expressions-printers-pretty-tests.adb @@ -42,19 +42,18 @@ Param : in Parameters; Expected : in Atom) is begin declare Input, Output : aliased Test_Tools.Memory_Stream; - Parser : aliased Parsers.Parser; - Subparser : Parsers.Subparser (Parser'Access, Input'Access); + Parser : Parsers.Stream_Parser (Input'Access); Pretty_Printer : Printer (Output'Access); begin Input.Set_Data (Expected); Output.Set_Expected (Expected); Pretty_Printer.Set_Parameters (Param); - Subparser.Next; - Transfer (Subparser, Pretty_Printer); + Parser.Next; + Transfer (Parser, Pretty_Printer); Output.Check_Stream (Test); end; exception when Error : others => Test.Report_Exception (Error);