with Ada.Containers.Vectors; generic package Packrat.Lexers.Debug is Empty_Context : constant Lexer_Context; Empty_Fail : constant Combinator_Result; function Create_Result (Finish : in Natural; Status : in Result_Status) return Combinator_Result; function Join (Left, Right : in Combinator_Result) return Combinator_Result; function Status (This : in Combinator_Result) return Result_Status; function Debug_String (This : in Combinator_Result) return String; type Token_Vector is tagged private; function So_Far (This : in Lexer_Context) return Token_Vector; function Position (This : in Lexer_Context) return Positive; function Status (This : in Lexer_Context) return Result_Status; function Has_Pass (This : in Lexer_Context) return Boolean; function Pass (This : in Lexer_Context) return Traits.Element_Array; function Length (Vec : in Token_Vector) return Natural; function Element (Vec : in Token_Vector; Dex : in Positive) return Traits.Tokens.Token; function Is_Failure (Result : in Component_Result) return Boolean; function Is_Success (Result : in Component_Result) return Boolean; private Empty_Context : constant Lexer_Context := Packrat.Lexers.Empty_Context; Empty_Fail : constant Combinator_Result := Packrat.Lexers.Empty_Fail; type Token_Vector is new Token_Vectors.Vector with null record; end Packrat.Lexers.Debug;