summaryrefslogtreecommitdiff
path: root/test/rat_tests-lexers.adb
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2020-12-04 20:17:43 +1100
committerJed Barber <jjbarber@y7mail.com>2020-12-04 20:17:43 +1100
commita21cc8153592700ae7cb2cdfbb24b377e096a22a (patch)
tree9dec048f52576a9881241e509fee72f8b91ac090 /test/rat_tests-lexers.adb
parent0abd0d9444164cbb85df0e5a50451b5f98fef3db (diff)
Scan/Parse functions are now packages, tests broken with linker errors
Diffstat (limited to 'test/rat_tests-lexers.adb')
-rw-r--r--test/rat_tests-lexers.adb86
1 files changed, 36 insertions, 50 deletions
diff --git a/test/rat_tests-lexers.adb b/test/rat_tests-lexers.adb
index 0087f60..95324a9 100644
--- a/test/rat_tests-lexers.adb
+++ b/test/rat_tests-lexers.adb
@@ -571,8 +571,8 @@ package body Rat_Tests.Lexers is
Test_Str1 : String := "abcdefghi";
Test_Str2 : String := "ab";
- Context1 : Slexy.Lexer_Context := Slexy.Empty_Context;
- Context2 : Slexy.Lexer_Context := Slexy.Empty_Context;
+ Context1 : Slexy.Lexer_Context := Slebug.Empty_Context;
+ Context2 : Slexy.Lexer_Context := Slebug.Empty_Context;
Comp_Code : Slexy.Component_Result;
begin
@@ -615,8 +615,8 @@ package body Rat_Tests.Lexers is
Test_Str1 : String := "abcdefghi";
Test_Str2 : String := "ab";
- Context1 : Slexy.Lexer_Context := Slexy.Empty_Context;
- Context2 : Slexy.Lexer_Context := Slexy.Empty_Context;
+ Context1 : Slexy.Lexer_Context := Slebug.Empty_Context;
+ Context2 : Slexy.Lexer_Context := Slebug.Empty_Context;
Comp_Code : Slexy.Component_Result;
begin
@@ -666,14 +666,13 @@ package body Rat_Tests.Lexers is
function Ignore_Whitespace is new Swordy.Ignore (Whitespace, Many_Whitespace);
- function Scan_Check
+ function Scan_Parts_Check
return Test_Result
is
- function My_Scan is new Swordy.Scan
+ package My_Scanner is new Swordy.Scan_Parts
((Stamp_Word'Access, Ignore_Whitespace'Access));
Test_Str : String := "one fine day";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Intended_Result1 : Swordy_Traits.Tokens.Token_Array :=
(1 => Swordy_Traits.Tokens.Create (Word, 1, "one"),
@@ -682,25 +681,24 @@ package body Rat_Tests.Lexers is
(1 => Swordy_Traits.Tokens.Create (Word, 10, "day"));
Actual_Result1 : Swordy_Traits.Tokens.Token_Array :=
- My_Scan (Test_Str, Test_Context);
+ My_Scanner.Scan (Test_Str);
Actual_Result2 : Swordy_Traits.Tokens.Token_Array :=
- My_Scan ("", Test_Context);
+ My_Scanner.Scan ("");
begin
if Actual_Result1 /= Intended_Result1 or Actual_Result2 /= Intended_Result2 then
return Fail;
end if;
return Pass;
- end Scan_Check;
+ end Scan_Parts_Check;
- function Scan_Only_Check
+ function Scan_Once_Check
return Test_Result
is
- function My_Scan is new Swordy.Scan_Only
+ package My_Scanner is new Swordy.Scan_Once
((Stamp_Word'Access, Ignore_Whitespace'Access));
Test_Str : String := "one fine day";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Intended_Result : Swordy_Traits.Tokens.Token_Array :=
(1 => Swordy_Traits.Tokens.Create (Word, 1, "one"),
@@ -708,13 +706,13 @@ package body Rat_Tests.Lexers is
3 => Swordy_Traits.Tokens.Create (Word, 10, "day"));
Actual_Result : Swordy_Traits.Tokens.Token_Array :=
- My_Scan (Test_Str, Test_Context);
+ My_Scanner.Scan (Test_Str);
begin
if Actual_Result /= Intended_Result then
return Fail;
end if;
return Pass;
- end Scan_Only_Check;
+ end Scan_Once_Check;
function Scan_With_Check
@@ -735,11 +733,9 @@ package body Rat_Tests.Lexers is
end if;
end More_Input;
- function My_Scan is new Swordy.Scan_With
+ package My_Scanner is new Swordy.Scan_With
((Stamp_Word'Access, Ignore_Whitespace'Access));
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
-
Intended_Result : Swordy_Traits.Tokens.Token_Array :=
(1 => Swordy_Traits.Tokens.Create (Word, 1, "it"),
2 => Swordy_Traits.Tokens.Create (Word, 4, "will"),
@@ -751,7 +747,7 @@ package body Rat_Tests.Lexers is
8 => Swordy_Traits.Tokens.Create (Word, 37, "again"));
Actual_Result : Swordy_Traits.Tokens.Token_Array :=
- My_Scan (More_Input'Unrestricted_Access, Test_Context);
+ My_Scanner.Scan (More_Input'Unrestricted_Access);
begin
if Actual_Result /= Intended_Result then
return Fail;
@@ -763,14 +759,13 @@ package body Rat_Tests.Lexers is
function Scan_Set_Check
return Test_Result
is
- procedure My_Scan is new Swordy.Scan_Set
+ package My_Scanner is new Swordy.Scan_Set
((Stamp_Word'Access, Ignore_Whitespace'Access),
Latin.EOT, Swordy_Traits.Tokens.Create (Blank, 1, ""));
Test_Str1 : String (1 .. 10) := "one tw";
Test_Str2 : String (1 .. 10) := "o three";
Test_Str3 : String (1 .. 10) := Latin.EOT & " ";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Intended_Result1 : Swordy_Traits.Tokens.Token_Array :=
(1 => Swordy_Traits.Tokens.Create (Word, 1, "one"),
@@ -787,15 +782,15 @@ package body Rat_Tests.Lexers is
Actual_Result : Swordy_Traits.Tokens.Token_Array (1 .. 3);
begin
- My_Scan (Test_Str1, Test_Context, Actual_Result);
+ My_Scanner.Scan (Test_Str1, Actual_Result);
if Actual_Result /= Intended_Result1 then
return Fail;
end if;
- My_Scan (Test_Str2, Test_Context, Actual_Result);
+ My_Scanner.Scan (Test_Str2, Actual_Result);
if Actual_Result /= Intended_Result2 then
return Fail;
end if;
- My_Scan (Test_Str3, Test_Context, Actual_Result);
+ My_Scanner.Scan (Test_Str3, Actual_Result);
if Actual_Result /= Intended_Result3 then
return Fail;
end if;
@@ -821,12 +816,10 @@ package body Rat_Tests.Lexers is
end if;
end More_Input;
- procedure My_Scan is new Swordy.Scan_Set_With
+ package My_Scanner is new Swordy.Scan_Set_With
((Stamp_Word'Access, Ignore_Whitespace'Access),
Latin.EOT, Swordy_Traits.Tokens.Create (Blank, 1, ""));
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
-
Intended_Result1 : Swordy_Traits.Tokens.Token_Array :=
(1 => Swordy_Traits.Tokens.Create (Word, 1, "it"),
2 => Swordy_Traits.Tokens.Create (Word, 4, "will"),
@@ -842,11 +835,11 @@ package body Rat_Tests.Lexers is
Actual_Result : Swordy_Traits.Tokens.Token_Array (1 .. 5);
begin
- My_Scan (More_Input'Unrestricted_Access, Test_Context, Actual_Result);
+ My_Scanner.Scan (More_Input'Unrestricted_Access, Actual_Result);
if Actual_Result /= Intended_Result1 then
return Fail;
end if;
- My_Scan (More_Input'Unrestricted_Access, Test_Context, Actual_Result);
+ My_Scanner.Scan (More_Input'Unrestricted_Access, Actual_Result);
if Actual_Result /= Intended_Result2 then
return Fail;
end if;
@@ -854,22 +847,21 @@ package body Rat_Tests.Lexers is
end Scan_Set_With_Check;
- function Scan_Error_Check
+ function Scan_Parts_Error_Check
return Test_Result
is
use type Packrat.Errors.Error_Info_Array;
- function My_Scan is new Swordy.Scan
+ package My_Scanner is new Swordy.Scan_Parts
((Stamp_Word'Access, Ignore_Whitespace'Access));
Test_Str : String := "()()";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Expected_Errors : Packrat.Errors.Error_Info_Array :=
((+"WORD", 1), (+"WHITESPACE", 1));
begin
declare
- Result : Swordy_Traits.Tokens.Token_Array := My_Scan (Test_Str, Test_Context);
+ Result : Swordy_Traits.Tokens.Token_Array := My_Scanner.Scan (Test_Str);
begin
return Fail;
end;
@@ -879,25 +871,24 @@ package body Rat_Tests.Lexers is
return Fail;
end if;
return Pass;
- end Scan_Error_Check;
+ end Scan_Parts_Error_Check;
- function Scan_Only_Error_Check
+ function Scan_Once_Error_Check
return Test_Result
is
use type Packrat.Errors.Error_Info_Array;
- function My_Scan is new Swordy.Scan_Only
+ package My_Scanner is new Swordy.Scan_Once
((Stamp_Word'Access, Ignore_Whitespace'Access));
Test_Str : String := "()()";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Expected_Errors : Packrat.Errors.Error_Info_Array :=
((+"WORD", 1), (+"WHITESPACE", 1));
begin
declare
- Result : Swordy_Traits.Tokens.Token_Array := My_Scan (Test_Str, Test_Context);
+ Result : Swordy_Traits.Tokens.Token_Array := My_Scanner.Scan (Test_Str);
begin
return Fail;
end;
@@ -907,7 +898,7 @@ package body Rat_Tests.Lexers is
return Fail;
end if;
return Pass;
- end Scan_Only_Error_Check;
+ end Scan_Once_Error_Check;
function Scan_With_Error_Check
@@ -927,17 +918,15 @@ package body Rat_Tests.Lexers is
end if;
end Get_Input;
- function My_Scan is new Swordy.Scan_With
+ package My_Scanner is new Swordy.Scan_With
((Stamp_Word'Access, Ignore_Whitespace'Access));
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
-
Expected_Errors : Packrat.Errors.Error_Info_Array :=
((+"WORD", 1), (+"WHITESPACE", 1));
begin
declare
Result : Swordy_Traits.Tokens.Token_Array :=
- My_Scan (Get_Input'Unrestricted_Access, Test_Context);
+ My_Scanner.Scan (Get_Input'Unrestricted_Access);
begin
return Fail;
end;
@@ -955,19 +944,18 @@ package body Rat_Tests.Lexers is
is
use type Packrat.Errors.Error_Info_Array;
- procedure My_Scan is new Swordy.Scan_Set
+ package My_Scanner is new Swordy.Scan_Set
((Stamp_Word'Access, Ignore_Whitespace'Access),
Latin.EOT, Swordy_Traits.Tokens.Create (Blank, 1, ""));
Test_Str : String := "()()";
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
Result : Swordy_Traits.Tokens.Token_Array (1 .. 5);
Expected_Errors : Packrat.Errors.Error_Info_Array :=
((+"WORD", 1), (+"WHITESPACE", 1));
begin
- My_Scan (Test_Str, Test_Context, Result);
+ My_Scanner.Scan (Test_Str, Result);
return Fail;
exception
when Msg : Packrat.Lexer_Error =>
@@ -995,18 +983,16 @@ package body Rat_Tests.Lexers is
end if;
end Get_Input;
- procedure My_Scan is new Swordy.Scan_Set_With
+ package My_Scanner is new Swordy.Scan_Set_With
((Stamp_Word'Access, Ignore_Whitespace'Access),
Latin.EOT, Swordy_Traits.Tokens.Create (Blank, 1, ""));
- Test_Context : Swordy.Lexer_Context := Swordy.Empty_Context;
-
Result : Swordy_Traits.Tokens.Token_Array (1 .. 5);
Expected_Errors : Packrat.Errors.Error_Info_Array :=
((+"WORD", 1), (+"WHITESPACE", 1));
begin
- My_Scan (Get_Input'Unrestricted_Access, Test_Context, Result);
+ My_Scanner.Scan (Get_Input'Unrestricted_Access, Result);
return Fail;
exception
when Msg : Packrat.Lexer_Error =>