diff options
Diffstat (limited to 'test/rat_tests-parse_graphs.adb')
-rw-r--r-- | test/rat_tests-parse_graphs.adb | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/test/rat_tests-parse_graphs.adb b/test/rat_tests-parse_graphs.adb index e445f1b..981bb2c 100644 --- a/test/rat_tests-parse_graphs.adb +++ b/test/rat_tests-parse_graphs.adb @@ -1,6 +1,9 @@ -with Packrat.Parse_Graphs; +with + + Packrat.Traits, + Packrat.Parse_Graphs; package body Rat_Tests.Parse_Graphs is @@ -10,38 +13,38 @@ package body Rat_Tests.Parse_Graphs is (Noun, Determiner, Noun_Phrase, Preposition, Prepositional_Phrase, Verb, Verb_Phrase, Sentence); - package String_Tokens is new Packrat.Tokens (My_Labels, Character, String); - package Graphs is new Packrat.Parse_Graphs (My_Labels, Character, String, "<", String_Tokens); + package My_Traits is new Packrat.Traits (My_Labels, Character, String); + package Graphs is new Packrat.Parse_Graphs (My_Traits); -- These tokens are defined here purely to reduce verbosity when -- manually constructing the various test graphs in the package initialisation. - Noun_1 : String_Tokens.Token := String_Tokens.Create (Noun, 1, "i"); - Noun_4 : String_Tokens.Token := String_Tokens.Create (Noun, 4, "man"); - Noun_7 : String_Tokens.Token := String_Tokens.Create (Noun, 7, "park"); - Noun_10 : String_Tokens.Token := String_Tokens.Create (Noun, 10, "bat"); + Noun_1 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun, 1, "i"); + Noun_4 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun, 4, "man"); + Noun_7 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun, 7, "park"); + Noun_10 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun, 10, "bat"); - Det_3 : String_Tokens.Token := String_Tokens.Create (Determiner, 3, "a"); - Det_6 : String_Tokens.Token := String_Tokens.Create (Determiner, 6, "the"); - Det_9 : String_Tokens.Token := String_Tokens.Create (Determiner, 9, "a"); + Det_3 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Determiner, 3, "a"); + Det_6 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Determiner, 6, "the"); + Det_9 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Determiner, 9, "a"); - NP_1 : String_Tokens.Token := String_Tokens.Create (Noun_Phrase, 1, ""); - NP_3 : String_Tokens.Token := String_Tokens.Create (Noun_Phrase, 3, ""); - NP_6 : String_Tokens.Token := String_Tokens.Create (Noun_Phrase, 6, ""); - NP_9 : String_Tokens.Token := String_Tokens.Create (Noun_Phrase, 9, ""); + NP_1 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun_Phrase, 1, ""); + NP_3 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun_Phrase, 3, ""); + NP_6 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun_Phrase, 6, ""); + NP_9 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Noun_Phrase, 9, ""); - Prep_5 : String_Tokens.Token := String_Tokens.Create (Preposition, 5, "in"); - Prep_8 : String_Tokens.Token := String_Tokens.Create (Preposition, 8, "with"); + Prep_5 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Preposition, 5, "in"); + Prep_8 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Preposition, 8, "with"); - PP_5 : String_Tokens.Token := String_Tokens.Create (Prepositional_Phrase, 5, ""); - PP_8 : String_Tokens.Token := String_Tokens.Create (Prepositional_Phrase, 8, ""); + PP_5 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Prepositional_Phrase, 5, ""); + PP_8 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Prepositional_Phrase, 8, ""); - Verb_2 : String_Tokens.Token := String_Tokens.Create (Verb, 2, "saw"); + Verb_2 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Verb, 2, "saw"); - VP_2 : String_Tokens.Token := String_Tokens.Create (Verb_Phrase, 2, ""); + VP_2 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Verb_Phrase, 2, ""); - Sen_1 : String_Tokens.Token := String_Tokens.Create (Sentence, 1, ""); + Sen_1 : My_Traits.Tokens.Token := My_Traits.Tokens.Create (Sentence, 1, ""); -- This should be set up to be identical to the example parse in the paper |