diff options
Diffstat (limited to 'src/packrat-lexer.adb')
-rw-r--r-- | src/packrat-lexer.adb | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/src/packrat-lexer.adb b/src/packrat-lexer.adb index bd8d7ea..486aae5 100644 --- a/src/packrat-lexer.adb +++ b/src/packrat-lexer.adb @@ -1,5 +1,10 @@ +with + + Packrat.Errors; + + package body Packrat.Lexer is @@ -21,7 +26,7 @@ package body Packrat.Lexer is function Stamp - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context) return Component_Result is @@ -44,7 +49,7 @@ package body Packrat.Lexer is if (Current_Result.Status = Optional_More and not Context.Allow_Incomplete) or Current_Result.Status = Success then - Context.Result_So_Far.Append (Gen_Tokens.Create + Context.Result_So_Far.Append (Traits.Tokens.Create (Label, Context.Position + Context.Offset, Input (Context.Position .. Current_Result.Finish))); @@ -67,7 +72,7 @@ package body Packrat.Lexer is function Ignore - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context) return Component_Result is @@ -131,22 +136,22 @@ package body Packrat.Lexer is (Label_List : in Label_Vectors.Vector; Position : in Positive) is - Error_Info_List : Errors.Error_Info_Array + Error_Info_List : Packrat.Errors.Error_Info_Array (Label_List.First_Index .. Label_List.Last_Index); begin for I in Integer range Error_Info_List'First .. Error_Info_List'Last loop - Error_Info_List (I).Symbol := +Label_Enum'Image (Label_List.Element (I)); + Error_Info_List (I).Symbol := +Traits.Label_Enum'Image (Label_List.Element (I)); Error_Info_List (I).Position := Position; end loop; - raise Lexer_Error with Errors.Encode_Array (Error_Info_List); + raise Lexer_Error with Packrat.Errors.Encode_Array (Error_Info_List); end Raise_Lexer_Error; function Token_Vector_To_Array (Input_Vector : in Token_Vectors.Vector) - return Gen_Tokens.Token_Array + return Traits.Tokens.Token_Array is - Result_Array : Gen_Tokens.Token_Array (1 .. Integer (Input_Vector.Length)); + Result_Array : Traits.Tokens.Token_Array (1 .. Integer (Input_Vector.Length)); begin for I in Integer range 1 .. Integer (Input_Vector.Length) loop Result_Array (I) := Input_Vector.Element (I); @@ -157,8 +162,8 @@ package body Packrat.Lexer is procedure Token_Vector_To_Array (Input_Vector : in Token_Vectors.Vector; - Padding : in Gen_Tokens.Token; - Output_Array : out Gen_Tokens.Token_Array) is + Padding : in Traits.Tokens.Token; + Output_Array : out Traits.Tokens.Token_Array) is begin for N in Integer range 1 .. Output_Array'Length loop if N <= Integer (Input_Vector.Length) then @@ -171,17 +176,17 @@ package body Packrat.Lexer is function Slide - (Input : in Element_Array) - return Element_Array + (Input : in Traits.Element_Array) + return Traits.Element_Array is - subtype Slider is Element_Array (1 .. Input'Length); + subtype Slider is Traits.Element_Array (1 .. Input'Length); begin return Slider (Input); end Slide; procedure Internal_Scan_Core - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context; Components : in Component_Array) is @@ -204,9 +209,9 @@ package body Packrat.Lexer is function Scan - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context) - return Gen_Tokens.Token_Array + return Traits.Tokens.Token_Array is Real_Input : Input_Holders.Holder; begin @@ -229,9 +234,9 @@ package body Packrat.Lexer is function Scan_Only - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context) - return Gen_Tokens.Token_Array + return Traits.Tokens.Token_Array is Real_Input : Input_Holders.Holder; begin @@ -256,7 +261,7 @@ package body Packrat.Lexer is function Scan_With (Input : in With_Input; Context : in out Lexer_Context) - return Gen_Tokens.Token_Array + return Traits.Tokens.Token_Array is Real_Input : Input_Holders.Holder; Empty_Input : Boolean; @@ -286,9 +291,9 @@ package body Packrat.Lexer is procedure Scan_Set - (Input : in Element_Array; + (Input : in Traits.Element_Array; Context : in out Lexer_Context; - Output : out Gen_Tokens.Token_Array) + Output : out Traits.Tokens.Token_Array) is Real_Input : Input_Holders.Holder; begin @@ -321,7 +326,7 @@ package body Packrat.Lexer is procedure Scan_Set_With (Input : in With_Input; Context : in out Lexer_Context; - Output : out Gen_Tokens.Token_Array) + Output : out Traits.Tokens.Token_Array) is Real_Input : Input_Holders.Holder; Empty_Input : Boolean; @@ -365,7 +370,7 @@ package body Packrat.Lexer is function Sequence - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -389,7 +394,7 @@ package body Packrat.Lexer is function Count - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -413,7 +418,7 @@ package body Packrat.Lexer is function Many - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -449,7 +454,7 @@ package body Packrat.Lexer is function Many_Until - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -492,7 +497,7 @@ package body Packrat.Lexer is function Satisfy - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -507,7 +512,7 @@ package body Packrat.Lexer is function Satisfy_With - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -522,7 +527,7 @@ package body Packrat.Lexer is function Match - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -537,7 +542,7 @@ package body Packrat.Lexer is function Match_With - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -552,7 +557,7 @@ package body Packrat.Lexer is function Multimatch - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -583,7 +588,7 @@ package body Packrat.Lexer is function Take - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -598,7 +603,7 @@ package body Packrat.Lexer is function Take_While - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -621,7 +626,7 @@ package body Packrat.Lexer is function Take_Until - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is @@ -647,7 +652,7 @@ package body Packrat.Lexer is function Line_End - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin @@ -662,7 +667,7 @@ package body Packrat.Lexer is function Input_End - (Input : in Element_Array; + (Input : in Traits.Element_Array; Start : in Positive) return Combinator_Result is begin |