summaryrefslogtreecommitdiff
path: root/src/packrat-text-standard.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/packrat-text-standard.ads')
-rw-r--r--src/packrat-text-standard.ads48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/packrat-text-standard.ads b/src/packrat-text-standard.ads
new file mode 100644
index 0000000..6e70431
--- /dev/null
+++ b/src/packrat-text-standard.ads
@@ -0,0 +1,48 @@
+
+
+with
+
+ Packrat.Traits,
+ Packrat.Lexers,
+ Packrat.Parse_Graphs,
+ Packrat.Parsers;
+
+
+generic
+
+ type Lexer_Labels is (<>);
+ type Parser_Labels is (<>);
+
+package Packrat.Text.Standard is
+
+
+ package Lexer_Traits is new Packrat.Traits
+ (Label_Enum => Lexer_Labels,
+ Element_Type => Character,
+ Element_Array => 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.Standard;
+
+