Natools

Diff
Login

Differences From Artifact [d3a8d580f5]:

To Artifact [e90f7c8d46]:


71
72
73
74
75
76
77












78
79
80
81
82
83
84
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96







+
+
+
+
+
+
+
+
+
+
+
+










   type Stream_Parser (Input : access Ada.Streams.Root_Stream_Type'Class) is
     limited new Lockable.Descriptor with private;
   pragma Preelaborable_Initialization (Stream_Parser);



   type Memory_Parser (<>) is limited new Lockable.Descriptor with private;
   pragma Preelaborable_Initialization (Memory_Parser);

   not overriding function Create
     (Data : in Ada.Streams.Stream_Element_Array)
     return Memory_Parser;

   not overriding function Create_From_String
     (Data : in String) return Memory_Parser;

private

   type Internal_State is
     (Waiting,          --  waiting for a marker
      Base64_Atom,      --  reading an atom encoded in base 64
      Base64_Expr,      --  reading an expression encoded in base 64
      Hex_Atom,         --  reading an atom encoded in hexadecimal
123
124
125
126
127
128
129
130







131
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150








+
+
+
+
+
+
+


   type Stream_Parser (Input : access Ada.Streams.Root_Stream_Type'Class) is
     limited new Parser with null record;

   overriding procedure Read_More
     (Self : in out Stream_Parser;
      Buffer : out Atom_Buffers.Atom_Buffer);

   type Memory_Parser is limited new Parser with null record;

   overriding procedure Read_More
     (Self : in out Memory_Parser;
      Buffer : out Atom_Buffers.Atom_Buffer)
     is null;

end Natools.S_Expressions.Parsers;