diff options
| author | aarne <aarne@chalmers.se> | 2010-04-07 14:59:55 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2010-04-07 14:59:55 +0000 |
| commit | aeb0a5b7e073bec56365185beed3311cf65c65aa (patch) | |
| tree | 4571bed3ec0c6248372cefe1583fb269687d08b2 /examples/phrasebook/WordsEng.gf | |
| parent | 1f4f43748a681324b4335c43b4ca905bd025ef54 (diff) | |
a script for cloning (Phrasebook) grammars
Diffstat (limited to 'examples/phrasebook/WordsEng.gf')
| -rw-r--r-- | examples/phrasebook/WordsEng.gf | 98 |
1 files changed, 63 insertions, 35 deletions
diff --git a/examples/phrasebook/WordsEng.gf b/examples/phrasebook/WordsEng.gf index ab0d6ce99..8bc647264 100644 --- a/examples/phrasebook/WordsEng.gf +++ b/examples/phrasebook/WordsEng.gf @@ -2,72 +2,92 @@ concrete WordsEng of Words = SentencesEng ** open - SyntaxEng, ParadigmsEng, (P = ParadigmsEng), + SyntaxEng, ParadigmsEng, (L = LexiconEng), (P = ParadigmsEng), IrregEng, Prelude in { lin - Wine = mkCN (mkN "wine") ; - Beer = mkCN (mkN "beer") ; - Water = mkCN (mkN "water") ; + Apple = mkCN L.apple_N ; + Beer = mkCN L.beer_N ; + Bread = mkCN L.bread_N ; + Milk = mkCN L.milk_N ; + Salt = mkCN L.salt_N ; + Water = mkCN L.water_N ; + Wine = mkCN L.wine_N ; Coffee = mkCN (mkN "coffee") ; Tea = mkCN (mkN "tea") ; - Pizza = mkCN (mkN "pizza") ; Cheese = mkCN (mkN "cheese") ; - Fish = mkCN (mkN "fish" "fish") ; + Chicken = mkCN (mkN "chicken") ; + Meat = mkCN (mkN "meat") ; + Fish = mkCN L.fish_N ; + Fresh = mkA "fresh" ; - Warm = mkA "warm" ; + Warm = L.warm_A ; Expensive = mkA "expensive" ; Delicious = mkA "delicious" ; Boring = mkA "boring" ; - Good = mkA "good" "better" "best" "well" ; + Good = L.good_A ; + Bad = L.bad_A ; + Cold = L.cold_A ; + Cheap = mkA "cheap" ; + Suspect = mkA "suspect" ; - Restaurant = mkPlace "restaurant" "in" ; + Fresh = mkA "fresh" ; + Warm = L.warm_A ; + Expensive = mkA "expensive" ; + Delicious = mkA "delicious" ; + Boring = mkA "boring" ; + Good = L.good_A ; + Bad = L.bad_A ; + Cold = L.cold_A ; + Cheap = mkA "cheap" ; + Suspect = mkA "suspect" ; + + Airport = mkPlace "airport" "at" ; Bar = mkPlace "bar" "in" ; - Toilet = mkPlace "toilet" "in" ; + Church = mkPlace "church" "in" ; + Cinema = mkPlace "cinema" "at" ; + Hospital = mkPlace "hospital" "in" ; + Hotel = mkPlace "hotel" "in" ; Museum = mkPlace "museum" "in" ; - Airport = mkPlace "airport" "at" ; + Park = mkPlace "park" "in" ; + Restaurant = mkPlace "restaurant" "in" ; + School = mkPlace "school" "at" ; + Shop = mkPlace "shop" "in" ; Station = mkPlace "station" "at" ; - Hospital = mkPlace "hospital" "in" ; - Church = mkPlace "church" "in" ; + Theatre = mkPlace "theatre" "at" ; + Toilet = mkPlace "toilet" "in" ; + University = mkPlace "university" "at" ; - Euro = mkCN (mkN "euro" "euros") ; -- to prevent euroes + DanishCrown = mkCN (mkA "Danish") (mkN "crown") ; Dollar = mkCN (mkN "dollar") ; + Euro = mkCN (mkN "euro" "euros") ; -- to prevent euroes Lei = mkCN (mkN "leu" "lei") ; + SwedishCrown = mkCN (mkA "Swedish") (mkN "crown") ; + Belgian = mkA "Belgian" ; + Belgium = mkNP (mkPN "Belgium") ; English = mkNat "English" "England" ; Finnish = mkNat "Finnish" "Finland" ; + Flemish = mkNP (mkPN "Flemish") ; French = mkNat "French" "France" ; Italian = mkNat "Italian" "Italy" ; Romanian = mkNat "Romanian" "Romania" ; Swedish = mkNat "Swedish" "Sweden" ; - Belgian = mkA "Belgian" ; - Flemish = mkNP (mkPN "Flemish") ; - Belgium = mkNP (mkPN "Belgium") ; - - Monday = mkDay "Monday" ; - Tuesday = mkDay "Tuesday" ; - Wednesday = mkDay "Wednesday" ; - Thursday = mkDay "Thursday" ; - Friday = mkDay "Friday" ; - Saturday = mkDay "Saturday" ; - Sunday = mkDay "Sunday" ; - - AWant p obj = mkCl p.name (mkV2 (mkV "want")) obj ; + AHasName p name = mkCl (nameOf p) name ; + AHungry p = mkCl p.name (mkA "hungry") ; + AIll p = mkCl p.name (mkA "ill") ; + AKnow p = mkCl p.name IrregEng.know_V ; ALike p item = mkCl p.name (mkV2 (mkV "like")) item ; - ASpeak p lang = mkCl p.name (mkV2 IrregEng.speak_V) lang ; + ALive p co = mkCl p.name (mkVP (mkVP (mkV "live")) (SyntaxEng.mkAdv in_Prep co)) ; ALove p q = mkCl p.name (mkV2 (mkV "love")) q.name ; - AHungry p = mkCl p.name (mkA "hungry") ; + AScared p = mkCl p.name (mkA "scared") ; + ASpeak p lang = mkCl p.name (mkV2 IrregEng.speak_V) lang ; AThirsty p = mkCl p.name (mkA "thirsty") ; ATired p = mkCl p.name (mkA "tired") ; - AScared p = mkCl p.name (mkA "scared") ; - AIll p = mkCl p.name (mkA "ill") ; AUnderstand p = mkCl p.name IrregEng.understand_V ; - AKnow p = mkCl p.name IrregEng.know_V ; + AWant p obj = mkCl p.name (mkV2 (mkV "want")) obj ; AWantGo p place = mkCl p.name want_VV (mkVP (mkVP IrregEng.go_V) place.to) ; - AHasName p name = mkCl (nameOf p) name ; - ALive p co = - mkCl p.name (mkVP (mkVP (mkV "live")) (SyntaxEng.mkAdv in_Prep co)) ; QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ; @@ -80,6 +100,14 @@ concrete WordsEng of Words = SentencesEng ** HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item IrregEng.cost_V)) ; ItCost item price = mkCl item (mkV2 IrregEng.cost_V) price ; + + Monday = mkDay "Monday" ; + Tuesday = mkDay "Tuesday" ; + Wednesday = mkDay "Wednesday" ; + Thursday = mkDay "Thursday" ; + Friday = mkDay "Friday" ; + Saturday = mkDay "Saturday" ; + Sunday = mkDay "Sunday" ; oper mkNat : Str -> Str -> {lang : NP ; prop : A ; country : NP} = \nat,co -> |
