generic package Packrat.Lexer.Combinators is generic Params : in Combinator_Array; function Sequence (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Param (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; Number : in Positive; function Count (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Param (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; Minimum : in Natural := 0; function Many (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Param (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; with function Test (Item : in Element) return Boolean; Minimum : in Natural := 0; function Many_Until (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Test (Item : in Element) return Boolean; function Satisfy (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Test (Item : in Element) return Boolean; with function Change (From : in Element) return Element; function Satisfy_With (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic Item : in Element; function Match (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic Item : in Element; with function Change (From : in Element) return Element; function Match_With (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic Items : in Element_Array; function Multimatch (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic Number : in Positive := 1; function Take (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Test (Item : in Element) return Boolean; function Take_While (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic with function Test (Item : in Element) return Boolean; function Take_Until (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic EOL_Item : in Element; function Start_Of_Line (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; generic EOL_Item : in Element; function End_Of_Line (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; function Start_Of_Input (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; function End_Of_Input (Input : in Element_Array; Start : in Positive; Length : out Natural; Value : out Element_Array) return Result; end Packrat.Lexer.Combinators;