diff options
| author | John J. Camilleri <john@digitalgrammars.com> | 2018-07-04 10:09:58 +0200 |
|---|---|---|
| committer | John J. Camilleri <john@digitalgrammars.com> | 2018-07-04 10:09:58 +0200 |
| commit | c6f4edaea5f1074ba682fac5d711016f0136998f (patch) | |
| tree | bb49b8bac2e3cafd3c1f997115bf5bb841554eab /examples/phrasebook/WordsEst.gf | |
| parent | 00476ae38687fb7d33081130822cbd4e8f34cfd3 (diff) | |
Remove examples directory; these now live in gf-contrib
All changes have been reflected in the gf-contrib repository:
https://github.com/GrammaticalFramework/gf-contrib
Now, for WebSetup to build the example grammars, one must have gf-contrib
cloned in the same top-level directory as GF. When this isn't the case,
WebSetup displays a notice without failing.
Diffstat (limited to 'examples/phrasebook/WordsEst.gf')
| -rw-r--r-- | examples/phrasebook/WordsEst.gf | 372 |
1 files changed, 0 insertions, 372 deletions
diff --git a/examples/phrasebook/WordsEst.gf b/examples/phrasebook/WordsEst.gf deleted file mode 100644 index 442c79341..000000000 --- a/examples/phrasebook/WordsEst.gf +++ /dev/null @@ -1,372 +0,0 @@ --- (c) 2010 Aarne Ranta under LGPL --- Estonian port by Kaarel Kaljurand - -concrete WordsEst of Words = SentencesEst ** - open - SyntaxEst, ParadigmsEst, (L = LexiconEst), (R = ResEst), - Prelude, (E = ExtraEst) in { - - flags optimize = noexpand ; - - lin - --- kinds - - Apple = mkCN L.apple_N ; - Beer = mkCN L.beer_N ; - Bread = mkCN L.bread_N ; - Cheese = mkCN (mkN "juust" "juustu" "juustu" "juustu" "juustude" "juuste") ; - Chicken = mkCN (mkN "kana") ; - Coffee = mkCN (mkN "kohv" "kohvi" "kohvi" "kohvi" "kohvide" "kohve") ; - Fish = mkCN L.fish_N ; - Meat = mkCN (mkN "liha") ; - Milk = mkCN L.milk_N ; - Pizza = mkCN (mkN "pitsa" "pitsa" "pitsat" "pitsasse" "pitsade" "pitsasid") ; - Salt = mkCN L.salt_N ; - Tea = mkCN (mkN "tee") ; - Water = mkCN L.water_N ; - Wine = mkCN L.wine_N ; - --- qualities - - Bad = L.bad_A ; - Boring = mkA "igav" ; - Cheap = mkA "odav" ; - Cold = L.cold_A ; - Delicious = mkA "maitsev" ; - Expensive = mkA (mkN "kallis" "kalli" "kallist" "kallisse" "kallite" "kalleid"); - Fresh = mkA "toores" ; - Good = L.good_A ; - Suspect = mkA "kahtlane" ; - Warm = L.warm_A ; - --- places - - Restaurant = mkPlace (mkN "restoran") ssa ; - Bank = mkPlace (mkN "pank") ssa ; - PostOffice = mkPlace (mkN "post" (mkN "kontor")) ssa ; - Bar = mkPlace (mkN "baar") ssa ; - Toilet = mkPlace (mkN "tualett") ssa ; - Museum = mkPlace (mkN "muuseum") ssa ; - Airport = mkPlace (mkN "lennu" (mkN "jaam" "jaama" "jaama" "jaama" "jaamade" "jaamu")) ssa ; -- different in Fin - Station = mkPlace (mkN "jaam" "jaama" "jaama" "jaama" "jaamade" "jaamu") ssa ; -- different in Fin - Hospital = mkPlace (mkN "haigla") ssa ; - Church = mkPlace (mkN "kirik") ssa ; - Cinema = mkPlace (mkN "kino") ssa ; - Theatre = mkPlace (mkN "teater") ssa ; - Shop = mkPlace (mkN "pood" "poe" "poodi" "poodi" "poodide" "poode") ssa ; - Park = mkPlace (mkN "park") ssa ; - Hotel = mkPlace (mkN "hotell" "hotelli" "hotelli" "hotelli" "hotellide" "hotelle") ssa ; - University = mkPlace (mkN "üli" (mkN "kool")) ssa ; -- different in Fin - School = mkPlace (mkN "kool") ssa ; -- different in Fin - - CitRestaurant cit = { - name = mkCN cit.prop (mkN "restoran") ; - at = casePrep inessive ; - to = casePrep illative; - from = casePrep elative ; - isPl = False - } ; - - Parking = mkPlace (mkN "parkla") ssa ; -- different in Fin - Supermarket = mkPlace (mkN "super" (mkN "market")) ssa ; - Pharmacy = mkPlace (mkN "apteek") ssa ; - Center = mkPlace (mkN "keskus") ssa ; - Cafeteria = mkPlace (mkN "kohvik") ssa ; - Disco = mkPlace (mkN "diskoteek") ssa ; - Pub = mkPlace (mkN "kõrts") ssa ; - AmusementPark = mkPlace (mkN "lõbustus" (mkN "park")) ssa ; - Zoo = mkPlace (mkN "looma" (mkN "aed" "aia" "aeda" "aeda" "aedade" "aedu")) ssa ; - --- currencies - - DanishCrown = mkCN (kroon2 "taani") ; - Dollar = mkCN (mkN "dollar") ; - Euro = mkCN (mkN "euro") ; - Lei = mkCN (mkN "leu") ; - Leva = mkCN (mkN "leev") ; - NorwegianCrown = mkCN (kroon2 "norra") ; - Pound = mkCN (mkN "nael" "naela") ; - Rouble = mkCN (mkN "rubla") ; - Rupee = mkCN (mkN "ruupia") ; - SwedishCrown = mkCN (kroon2 "rootsi") ; - Zloty = mkCN (mkN "zlott") ; - Yuan = mkCN (mkN "jüään") ; - --- Citizenship - Belgian = { prop = invA "belgia" ; nat = mkA "belglane" } ; - Indian = { prop = invA "india" ; nat = mkA "indialane" } ; - --- Country - Belgium = mkNP (mkPN "Belgia") ; - India = mkNP (mkPN "India") ; - --- Nationality - Bulgarian = mkNat "bulgaaria" "bulgaarlane" (mkPN "Bulgaaria") ; - Catalan = mkNat "katalaani" "kataloonlane" (mkPN "Kataloonia") ; - Chinese = mkNat "hiina" "hiinlane" (mkPN "Hiina") ; - Danish = mkNat "taani" "taanlane" (mkPN "Taani") ; - Dutch = mkNat "hollandi" "hollandlane" (mkPN "Holland") ; - English = mkNat "inglise" "inglane" (mkPN "Inglismaa") ; - Finnish = mkNat "soome" "soomlane" (mkPN "Soome") ; - Flemish = mkNP (mkPN "flaami keel") ; -- Language - Hindi = mkNP (mkPN "hindi keel") ; -- Language - French = mkNat "prantsuse" "prantslane" (mkPN "Prantsusmaa") ; - German = mkNat "saksa" "sakslane" (mkPN "Saksamaa") ; - Italian = mkNat "itaalia" "itaallane" (mkPN "Itaalia") ; - Norwegian = mkNat "norra" "norralane" (mkPN "Norra") ; - Polish = mkNat "poola" "poolakas" (mkPN "Poola") ; - Romanian = mkNat "rumeenia" "rumeenlane" (mkPN "Rumeenia") ; - Russian = mkNat "vene" "venelane" (mkPN "Venemaa") ; - Spanish = mkNat "hispaania" "hispaanlane" (mkPN "Hispaania") ; - Swedish = mkNat "rootsi" "rootslane" (mkPN "Rootsi") ; - - ---- it would be nice to have a capitalization Predef function - --- means of transportation - - Bike = mkTransport L.bike_N ; - Bus = mkTransport (mkN "buss" "bussi" "bussi" "bussi" "busside" "busse") ; - Car = mkTransport L.car_N ; - Ferry = mkTransport (mkN "praam") ; - Plane = mkTransport L.airplane_N ; - Subway = mkTransport (mkN "metroo") ; - Taxi = mkTransport (mkN "takso") ; - Train = mkTransport L.train_N ; - Tram = mkTransport (mkN "tramm") ; - - ByFoot = ParadigmsEst.mkAdv "jalgsi" ; - - --- actions - - AHasAge p num = mkCl p.name (mkNP num L.year_N) ; - AHasChildren p num = mkCl p.name have_V2 (mkNP num L.child_N) ; - AHasName p name = mkCl (nameOf p) name ; - AHasRoom p = haveForPerson p.name (mkCN (mkN "tuba")) ; - AHasTable p = haveForPerson p.name (mkCN (mkN "laud")) ; - AHungry p = E.AdvExistNP (SyntaxEst.mkAdv on_Prep p.name) (mkNP (mkN "nälg")) ; - AIll p = mkCl p.name (mkA "haige") ; - --AKnow p = mkCl p.name (mkV "teadma") ; - AKnow p = mkCl p.name L.know_VS ; - ALike p item = mkCl p.name L.like_V2 item ; - ALive p co = mkCl p.name (mkVP (mkVP L.live_V) (SyntaxEst.mkAdv in_Prep co)) ; - ALove p q = mkCl p.name L.love_V2 q.name ; - AMarried p = mkCl p.name (ParadigmsEst.mkAdv "abielus") ; - AReady p = mkCl p.name (ParadigmsEst.invA "valmis" ) ; - -- Eng: I am scared - -- Fin: Minua pelottaa (partitive) - -- Est: Mina kardan (nominative) - -- Est: Mul on hirm (nominative) - -- AScared p = mkCl p.name (caseV nominative (mkV "kartma")) ; - AScared p = E.AdvExistNP (SyntaxEst.mkAdv on_Prep p.name) (mkNP (mkN "hirm")) ; - -- Fin: puhua: Puhun hollantia (partitive) - -- Est: Mina räägin hollandi keelt (partitive) - ASpeak p lang = mkCl p.name L.speak_V2 lang ; - AThirsty p = E.AdvExistNP (SyntaxEst.mkAdv on_Prep p.name) (mkNP (mkN "janu")) ; - -- Eng: I am tired - -- Fin: Minua väsyttää. (partitive) - -- Ger: Ich bin müde. - -- Est: Mina olen väsinud. - -- ATired p = mkCl p.name (caseV partitive (mkV "väsitada")) ; - ATired p = mkCl p.name (ParadigmsEst.mkA "väsinud") ; - AUnderstand p = mkCl p.name (mkV "aru" (mkV "saama")) ; - AWant p obj = mkCl p.name (mkV2 "tahtma") obj ; - AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to) ; - --- miscellaneous - - QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ; - QWhatAge p = mkQS (mkQCl (E.ICompAP (mkAP L.old_A)) p.name) ; - HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item maksma_V)) ; - ItCost item price = mkCl item (mkV2 maksma_V) price ; - - PropOpen p = mkCl p.name open_Adv ; - PropClosed p = mkCl p.name closed_Adv ; - PropOpenDate p d = mkCl p.name (mkVP (mkVP open_Adv) d) ; - PropClosedDate p d = mkCl p.name (mkVP (mkVP closed_Adv) d) ; - PropOpenDay p d = mkCl p.name (mkVP (mkVP open_Adv) d.habitual) ; - PropClosedDay p d = mkCl p.name (mkVP (mkVP closed_Adv) d.habitual) ; - - --- Building phrases from strings is complicated: the solution is to use --- mkText : Text -> Text -> Text ; - - PSeeYouDate d = mkText (lin Text (ss ("kohtumiseni"))) (mkPhrase (mkUtt d)) ; - PSeeYouPlace p = mkText (lin Text (ss ("kohtumiseni"))) (mkPhrase (mkUtt p.at)) ; - PSeeYouPlaceDate p d = - mkText (lin Text (ss ("kohtumiseni"))) - (mkText (mkPhrase (mkUtt p.at)) (mkPhrase (mkUtt d))) ; - --- Relations are expressed as "my wife" or "my son's wife", as defined by $xOf$ --- below. Languages without productive genitives must use an equivalent of --- "the wife of my son" for non-pronouns. - - Wife = xOf sing (mkN "naine") ; - Husband = xOf sing L.man_N ; - Son = xOf sing (mkN "poeg" "poja" "poega" "poegadesse" "poegade" "poegi") ; - Daughter = xOf sing (mkN "tütar" "tütre" "tütart" "tütresse" "tütarde" "tütreid") ; - Children = xOf plur L.child_N ; - --- week days - - Monday = mkDayPaev "esmas" ; - Tuesday = mkDayPaev "teisi" ; - Wednesday = mkDayPaev "kolma" ; - Thursday = mkDayPaev "nelja" ; - Friday = mkDay (mkPN (mkN "reede" "reede")) ("reedeti") ; - Saturday = mkDayPaev "lau" ; - Sunday = mkDayPaev "püha" ; - - Tomorrow = ParadigmsEst.mkAdv "homme" ; - --- transports - - HowFar place = mkQS (mkQCl far_IAdv place.name) ; - HowFarFrom x y = - mkQS (mkQCl far_IAdv (mkCl y.name x.from)) ; - HowFarFromBy x y t = - mkQS (mkQCl far_IAdv (mkCl y.name - (mkVP (mkVP x.from) t))) ; - HowFarBy place t = - mkQS (mkQCl far_IAdv (mkCl place.name t)) ; - -- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ; - - WhichTranspPlace trans place = - mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ; - - IsTranspPlace trans place = - mkQS (mkQCl (mkCl (mkVP (mkVP (mkVP (mkV "saama")) trans.by) place.to))) ; - -- pääseekö keskustaan bussilla - -- mkQS (mkQCl (E.AdvPredNP place.to L.go_V (E.PartCN (trans.name)))) ; - -- meneekö keskustaan bussia - --- modifiers of places - - TheBest = mkSuperl L.good_A ; - TheClosest = mkSuperl (mkA (mkN "lähedal asuv") "lähem" "lähim") ; - TheCheapest = mkSuperl (mkA "odav") ; - TheMostExpensive = mkSuperl (mkA (mkN "kallis" "kalli" "kallist" "kallisse" "kallite" "kalleid")) ; - TheMostPopular = mkSuperl (mkA "populaarne") ; - TheWorst = mkSuperl (L.bad_A) ; - - SuperlPlace sup p = placeNP sup p ; - - oper - kroon : N = mkN "kroon" "krooni" "krooni" "krooni" "kroonide" "kroone" ; - kroon2 : Str -> N = \taani -> mkN (taani + " ") kroon ; - maksma_V : V = mkV "maksma" "maksta" "maksab" ; - - mkNat : Str -> Str -> PN -> NPNationality - = \attr,pred,co -> - {lang = mkNP (mkCN (mkN (attr + " ") (mkN "keel" "keele" "keelt" "keelde" "keelte" "keeli"))); - prop = invA attr ; - nat = mkA pred ; - country = mkNP co - } ; - - ---- using overloaded paradigms slows down compilation dramatically - -- Eng: See you on Monday! - -- Est: Kohtumiseni esmaspäeval! (adessive) - -- Fin: Nähdään maanantaina! (essive) - -- TODO: use StructuralEst.gf: on_Prep = casePrep adessive - mkDay : PN -> Str -> {name : NP ; point : Adv ; habitual : Adv} = \d,s -> - let day = mkNP d in - {name = day ; - point = SyntaxEst.mkAdv (casePrep adessive) day ; - habitual = ParadigmsEst.mkAdv s - } ; - - mkDayPaev : Str -> {name : NP ; point : Adv ; habitual : Adv} = \s -> - mkDay (mkPN (mkN (s + "päev") (s + "päeva"))) (s + "päeviti") ; - - mkPlace : N -> Bool -> {name : CN ; at : Prep ; to : Prep; from : Prep ; isPl : Bool} = \p,e -> { - name = mkCN p ; - at = casePrep (if_then_else Case e adessive inessive) ; -- True: external - to = casePrep (if_then_else Case e allative illative) ; - from = casePrep (if_then_else Case e ablative elative) ; - isPl = False - } ; - - ssa = False ; - lla = True ; - - -- Ger-grammar uses this xOf (mis on nimi minu naise) - -- xOf : GNumber -> N -> NPPerson -> NPPerson = \n,x,p -> mkRelative n (mkCN x) p ; - - -- (mis on minu naise nimi) - xOf : GNumber -> N -> NPPerson -> NPPerson = \n,x,p -> - relativePerson n (mkCN x) (\a,b,c -> mkNP (E.GenNP b) a c) p ; - - nameOf : NPPerson -> NP = \p -> (xOf sing L.name_N p).name ; - - oper - -- do you have a table for five persons - haveForPerson : NP -> CN -> Card -> Cl = \p,a,n -> - mkCl p have_V2 ----- (mkNP (E.PartCN a) ---- partitive works in questions ) - (mkNP (mkNP a_Det a) - (SyntaxEst.mkAdv for_Prep (mkNP n L.person_N))) ; ----- (SyntaxEst.mkAdv for_Prep (mkNP (mkDet n)))) ; -- 60s faster compile 25/10/2010 - - open_Adv = ParadigmsEst.mkAdv "avatud" ; - closed_Adv = ParadigmsEst.mkAdv "suletud" ; - - -- Fin: casePrep adessive - -- Est: casePrep comitative - mkTransport : N -> {name : CN ; by : Adv} = \n -> { - name = mkCN n ; - by = SyntaxEst.mkAdv (casePrep comitative) (mkNP n) - } ; - - mkSuperl : A -> Det = \a -> mkDet the_Quant (mkOrd a) ; - - far_IAdv = E.IAdvAdv L.far_Adv ; - --------------------------------------------------- --- New 30/11/2011 AR --------------------------------------------------- - - lin - Thai = mkNat ("tai") "tailane" (mkPN "Tai") ; - Baht = mkCN (mkN "baht") ; - - Rice = mkCN (mkN "riis") ; - Pork = mkCN (mkN "siga") ; - Beef = mkCN (mkN "veis") ; - Egg = mkCN L.egg_N ; - Noodles = mkCN (mkN "nuudel") ; - Shrimps = mkCN (mkN "krevet") ; - Chili = mkCN (mkN "tšilli") ; - Garlic = mkCN (mkN "küüs" (mkN "lauk")) ; - Durian = mkCN (mkN "duurian") ; - Mango = mkCN (mkN "mango") ; - Pineapple = mkCN (mkN "ananass") ; - Coke = mkCN (mkN "coca-cola") ; - IceCream = mkCN (mkN "jäätis") ; - Salad = mkCN (mkN "salat") ; - OrangeJuice = mkCN (mkN "apelsiini" (mkN "mahl")) ; - Lemonade = mkCN (mkN "limonaad") ; - - Beach = mkPlace (mkN "supel" (mkN "rand")) ssa ; - - ItsRaining = mkCl (mkVP L.rain_V0) ; - ItsCold = mkCl (mkVP L.cold_A) ; - ItsWarm = mkCl (mkVP L.warm_A) ; - ItsWindy = mkCl (mkNP the_Det L.wind_N) (mkVP (mkV "puhuma")) ; - SunShine = mkCl (mkNP the_Det L.sun_N) (mkVP (mkV "paistma")) ; - - Smoke = mkVP (mkV "suitsetama") ; - - ADoctor = mkProfession (mkN "arst") ; - AProfessor = mkProfession (mkN "professor") ; - ALawyer = mkProfession (mkN "jurist") ; - AEngineer = mkProfession (mkN "insener") ; - ATeacher = mkProfession (mkN "õpetaja") ; - ACook = mkProfession (mkN "kokk") ; - AStudent = mkProfession (mkN "õpilane") ; - ABusinessman = mkProfession (mkN "äri" L.man_N) ; - - oper - mkProfession : N -> NPPerson -> Cl = \n,p -> mkCl p.name n ; -} |
