with Ada.Containers.Vectors; generic package Packrat.Lexer.Debug is Empty_Fail : constant Combinator_Result; function Create_Result (Length : in Natural; Status : in Result_Status; Value : in Element_Array) 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 Pass (This : in Lexer_Context) return access Element_Array; function Length (Vec : in Token_Vector) return Natural; function Element (Vec : in Token_Vector; Dex : in Positive) return Gen_Tokens.Token; private Empty_Fail : constant Combinator_Result := Packrat.Lexer.Empty_Fail; type Token_Vector is new Token_Vectors.Vector with null record; end Packrat.Lexer.Debug;