summaryrefslogtreecommitdiff
path: root/src/packrat-lexer.ads
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2020-11-07 01:21:54 +1100
committerJed Barber <jjbarber@y7mail.com>2020-11-07 01:21:54 +1100
commit8828e68cb86c865d625961c07c7ce2eb4ae191bc (patch)
treea90555326581688a32cf38fef15d0893e3df1f3d /src/packrat-lexer.ads
parent731e861f233ab90078c00b3dad5ace4eaed45e95 (diff)
Parse_Graphs complete aside from isomorphism and testing
Diffstat (limited to 'src/packrat-lexer.ads')
-rw-r--r--src/packrat-lexer.ads38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/packrat-lexer.ads b/src/packrat-lexer.ads
index a797d7f..9499d50 100644
--- a/src/packrat-lexer.ads
+++ b/src/packrat-lexer.ads
@@ -9,10 +9,12 @@ private with
generic
type Label_Enum is (<>);
- type Element is private;
- type Element_Array is array (Positive range <>) of Element;
+ type Element_Type is private;
+ type Element_Array is array (Positive range <>) of Element_Type;
- with package Gen_Tokens is new Tokens (Label_Enum, Element, Element_Array);
+ with function "<" (Left, Right : in Element_Type) return Boolean is <>;
+
+ with package Gen_Tokens is new Tokens (Label_Enum, Element_Type, Element_Array);
package Packrat.Lexer is
@@ -102,7 +104,7 @@ package Packrat.Lexer is
generic
Components : in Component_Array;
- Pad_In : in Element;
+ Pad_In : in Element_Type;
Pad_Out : in Gen_Tokens.Token;
procedure Scan_Set
(Input : in Element_Array;
@@ -111,7 +113,7 @@ package Packrat.Lexer is
generic
Components : in Component_Array;
- Pad_In : in Element;
+ Pad_In : in Element_Type;
Pad_Out : in Gen_Tokens.Token;
procedure Scan_Set_With
(Input : in With_Input;
@@ -156,7 +158,7 @@ package Packrat.Lexer is
Start : in Positive)
return Combinator_Result;
with function Test
- (Item : in Element)
+ (Item : in Element_Type)
return Boolean;
Minimum : in Natural := 0;
function Many_Until
@@ -169,7 +171,7 @@ package Packrat.Lexer is
generic
with function Test
- (Item : in Element)
+ (Item : in Element_Type)
return Boolean;
function Satisfy
(Input : in Element_Array;
@@ -178,28 +180,28 @@ package Packrat.Lexer is
generic
with function Test
- (Item : in Element)
+ (Item : in Element_Type)
return Boolean;
with function Change
- (From : in Element)
- return Element;
+ (From : in Element_Type)
+ return Element_Type;
function Satisfy_With
(Input : in Element_Array;
Start : in Positive)
return Combinator_Result;
generic
- Item : in Element;
+ Item : in Element_Type;
function Match
(Input : in Element_Array;
Start : in Positive)
return Combinator_Result;
generic
- Item : in Element;
+ Item : in Element_Type;
with function Change
- (From : in Element)
- return Element;
+ (From : in Element_Type)
+ return Element_Type;
function Match_With
(Input : in Element_Array;
Start : in Positive)
@@ -221,7 +223,7 @@ package Packrat.Lexer is
generic
with function Test
- (Item : in Element)
+ (Item : in Element_Type)
return Boolean;
function Take_While
(Input : in Element_Array;
@@ -230,7 +232,7 @@ package Packrat.Lexer is
generic
with function Test
- (Item : in Element)
+ (Item : in Element_Type)
return Boolean;
function Take_Until
(Input : in Element_Array;
@@ -241,14 +243,14 @@ package Packrat.Lexer is
generic
- EOL_Item : in Element;
+ EOL_Item : in Element_Type;
function Line_End
(Input : in Element_Array;
Start : in Positive)
return Combinator_Result;
generic
- EOF_Item : in Element;
+ EOF_Item : in Element_Type;
function Input_End
(Input : in Element_Array;
Start : in Positive)