with Packrat.Traits, Packrat.Lexers, Packrat.Parse_Graphs, Packrat.Parsers; generic type Lexer_Labels is (<>); type Parser_Labels is (<>); package Packrat.Text.Wide is package Lexer_Traits is new Packrat.Traits (Label_Enum => Lexer_Labels, Element_Type => Wide_Character, Element_Array => Wide_String); package Lexers is new Packrat.Lexers (Traits => Lexer_Traits); subtype Lexer_Result is Lexer_Traits.Tokens.Token_Array; package Parser_Traits is new Packrat.Traits (Label_Enum => Parser_Labels, Element_Type => Lexer_Traits.Tokens.Token, Element_Array => Lexer_Traits.Tokens.Token_Array, "<" => Lexer_Traits.Tokens."<"); package Parse_Graphs is new Packrat.Parse_Graphs (Traits => Parser_Traits); package Parsers is new Packrat.Parsers (Traits => Parser_Traits, Graphs => Parse_Graphs); subtype Parser_Result is Parse_Graphs.Parse_Graph; end Packrat.Text.Wide;