diff --git a/examples/phrasebook/Greetings.gf b/examples/phrasebook/Greetings.gf index 15b650f42..614824dc4 100644 --- a/examples/phrasebook/Greetings.gf +++ b/examples/phrasebook/Greetings.gf @@ -1,7 +1,4 @@ -abstract Greetings = { - -cat - Greeting ; -- idiomatic phrase, not inflected, e.g. "hello" +abstract Greetings = Sentences [Greeting] ** { fun GBye : Greeting ; diff --git a/examples/phrasebook/GreetingsBul.gf b/examples/phrasebook/GreetingsBul.gf index 8dc2a3cd5..69da7a4e7 100644 --- a/examples/phrasebook/GreetingsBul.gf +++ b/examples/phrasebook/GreetingsBul.gf @@ -1,33 +1,30 @@ -concrete GreetingsBul of Greetings = open Prelude in { +concrete GreetingsBul of Greetings = SentencesBul [Greeting,mkGreeting] ** open Prelude in { flags coding=utf8; -lincat - Greeting = SS ; - lin - GBye = ss "чао" ; - GCheers = ss "наздраве" ; - GDamn = ss "по дяволите" ; - GExcuse, GExcusePol = ss "извинете" ; - GGoodDay = ss "добър ден" ; - GGoodEvening = ss "добра вечер" ; - GGoodMorning = ss "добро утро" ; - GGoodNight = ss "лека нощ" ; - GGoodbye = ss "довиждане" ; - GHello = ss "здравей" ; - GHelp = ss "помощ" ; - GHowAreYou = ss "как си" ; - GLookOut = ss "погледни" ; - GNiceToMeetYou = ss "радвам се да се видим" ; - GPleaseGive, GPleaseGivePol = ss "моля" ; - GSeeYouSoon = ss "до скоро" ; - GSorry, GSorryPol = ss "извинете" ; - GThanks = ss "благодаря ти" ; - GTheCheck = ss "сметката" ; - GCongratulations = ss "поздравления"; - GHappyBirthday = ss "честит рожден ден" ; - GGoodLuck = ss "успех" ; + GBye = mkGreeting "чао" ; + GCheers = mkGreeting "наздраве" ; + GDamn = mkGreeting "по дяволите" ; + GExcuse, GExcusePol = mkGreeting "извинете" ; + GGoodDay = mkGreeting "добър ден" ; + GGoodEvening = mkGreeting "добра вечер" ; + GGoodMorning = mkGreeting "добро утро" ; + GGoodNight = mkGreeting "лека нощ" ; + GGoodbye = mkGreeting "довиждане" ; + GHello = mkGreeting "здравей" ; + GHelp = mkGreeting "помощ" ; + GHowAreYou = mkGreeting "как си" ; + GLookOut = mkGreeting "погледни" ; + GNiceToMeetYou = mkGreeting "радвам се да се видим" ; + GPleaseGive, GPleaseGivePol = mkGreeting "моля" ; + GSeeYouSoon = mkGreeting "до скоро" ; + GSorry, GSorryPol = mkGreeting "извинете" ; + GThanks = mkGreeting "благодаря ти" ; + GTheCheck = mkGreeting "сметката" ; + GCongratulations = mkGreeting "поздравления"; + GHappyBirthday = mkGreeting "честит рожден ден" ; + GGoodLuck = mkGreeting "успех" ; } diff --git a/examples/phrasebook/GreetingsCat.gf b/examples/phrasebook/GreetingsCat.gf index 4ee32d333..bdb44f78c 100644 --- a/examples/phrasebook/GreetingsCat.gf +++ b/examples/phrasebook/GreetingsCat.gf @@ -1,33 +1,30 @@ -concrete GreetingsCat of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsCat of Greetings = SentencesCat [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "adu" ; - GCheers = ss "salut" ; - GDamn = ss "merda" ; - GExcuse = ss "perdona" ; - GExcusePol = ss ("perdoni" | "disculpi") ; - GCongratulations = ss "felicitats" ; - GHappyBirthday = ss "feli aniversari" ; - GGoodLuck = ss "sort" ; - GGoodDay = ss "bon dia" ; - GGoodEvening = ss "bona tarda" ; - GGoodMorning = ss "bon dia" ; - GGoodNight = ss "bona nit" ; - GGoodbye = ss "a reveure" ; - GHello = ss "hola" ; - GHelp = ss "socors" ; - GHowAreYou = ss "qu tal" ; - GLookOut = ss "compte" ; - GNiceToMeetYou = ss "encantat de conixer-lo" ; -- make distinction Masc/Fem - GPleaseGive = ss "si et plau" ; - GPleaseGivePol = ss "si us plau" ; - GSeeYouSoon = ss "fins aviat" ; - GSorry = ss "perdoni" ; - GSorryPol = ss "em sap greu" ; - GThanks = ss "grcies" ; - GTheCheck = ss "el compte" ; + GBye = mkGreeting "adu" ; + GCheers = mkGreeting "salut" ; + GDamn = mkGreeting "merda" ; + GExcuse = mkGreeting "perdona" ; + GExcusePol = mkGreeting ("perdoni" | "disculpi") ; + GCongratulations = mkGreeting "felicitats" ; + GHappyBirthday = mkGreeting "feli aniversari" ; + GGoodLuck = mkGreeting "sort" ; + GGoodDay = mkGreeting "bon dia" ; + GGoodEvening = mkGreeting "bona tarda" ; + GGoodMorning = mkGreeting "bon dia" ; + GGoodNight = mkGreeting "bona nit" ; + GGoodbye = mkGreeting "a reveure" ; + GHello = mkGreeting "hola" ; + GHelp = mkGreeting "socors" ; + GHowAreYou = mkGreeting "qu tal" ; + GLookOut = mkGreeting "compte" ; + GNiceToMeetYou = mkGreeting "encantat de conixer-lo" ; -- make distinction Masc/Fem + GPleaseGive = mkGreeting "si et plau" ; + GPleaseGivePol = mkGreeting "si us plau" ; + GSeeYouSoon = mkGreeting "fins aviat" ; + GSorry = mkGreeting "perdoni" ; + GSorryPol = mkGreeting "em sap greu" ; + GThanks = mkGreeting "grcies" ; + GTheCheck = mkGreeting "el compte" ; } diff --git a/examples/phrasebook/GreetingsDan.gf b/examples/phrasebook/GreetingsDan.gf index 531750f29..6b2cdb3a7 100644 --- a/examples/phrasebook/GreetingsDan.gf +++ b/examples/phrasebook/GreetingsDan.gf @@ -1,31 +1,28 @@ -concrete GreetingsDan of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsDan of Greetings = SentencesDan [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "hej hej" ; -- not google translate - GCheers = ss "skl" ; - GDamn = ss "satans" ; -- X - GExcuse, GExcusePol = ss "undskyld mig" ; - GGoodDay = ss "god dag" ; - GGoodEvening = ss "god aften" ; - GGoodMorning = ss "god morgen" ; - GGoodNight = ss "godnat" ; - GGoodbye = ss "farvel" ; - GHello = ss "hej" ; - GHelp = ss "hjlp" ; - GHowAreYou = ss "hvordan har du det" ; - GLookOut = ss "pas p" ; - GNiceToMeetYou, GNiceToMeetYouPol = ss "hyggeligt at mde dig" ; -- more common than rart (google translate) - GPleaseGive = ss "vr s sd" ; -- can also have flink instead of sod - GPleaseGivePol = ss "venligst" ; -- X not behage - GSeeYouSoon = ss "vi ses snart" ; -- X se dig snart - GSorry, GSorryPol = ss "undskyld" ; - GThanks = ss "tak" ; - GTheCheck = ss "regningen" ; - GCongratulations = ss "tillykke"; - GHappyBirthday = ss "tillykke med fdselsdagen" ; - GGoodLuck = ss "held og lykke" ; + GBye = mkGreeting "hej hej" ; -- not google translate + GCheers = mkGreeting "skl" ; + GDamn = mkGreeting "satans" ; -- X + GExcuse, GExcusePol = mkGreeting "undskyld mig" ; + GGoodDay = mkGreeting "god dag" ; + GGoodEvening = mkGreeting "god aften" ; + GGoodMorning = mkGreeting "god morgen" ; + GGoodNight = mkGreeting "godnat" ; + GGoodbye = mkGreeting "farvel" ; + GHello = mkGreeting "hej" ; + GHelp = mkGreeting "hjlp" ; + GHowAreYou = mkGreeting "hvordan har du det" ; + GLookOut = mkGreeting "pas p" ; + GNiceToMeetYou, GNiceToMeetYouPol = mkGreeting "hyggeligt at mde dig" ; -- more common than rart (google translate) + GPleaseGive = mkGreeting "vr s sd" ; -- can also have flink instead of sod + GPleaseGivePol = mkGreeting "venligst" ; -- X not behage + GSeeYouSoon = mkGreeting "vi ses snart" ; -- X se dig snart + GSorry, GSorryPol = mkGreeting "undskyld" ; + GThanks = mkGreeting "tak" ; + GTheCheck = mkGreeting "regningen" ; + GCongratulations = mkGreeting "tillykke"; + GHappyBirthday = mkGreeting "tillykke med fdselsdagen" ; + GGoodLuck = mkGreeting "held og lykke" ; } diff --git a/examples/phrasebook/GreetingsDut.gf b/examples/phrasebook/GreetingsDut.gf index c7fb0a6ca..80dee6a9f 100644 --- a/examples/phrasebook/GreetingsDut.gf +++ b/examples/phrasebook/GreetingsDut.gf @@ -1,31 +1,29 @@ -concrete GreetingsDut of Greetings = open Prelude in { +concrete GreetingsDut of Greetings = SentencesDut [Greeting,mkGreeting] ** open Prelude in { -lincat - Greeting = SS ; lin - GBye = ss "doei" ; - GCheers = ss "proost" ; - GDamn = ss "verdomme" ; - GExcuse, GExcusePol = ss "pardon" ; - GGoodDay = ss "goedendag" ; - GGoodEvening = ss "goedenavond" ; - GGoodMorning = ss "goedemorgen" ; - GGoodNight = ss "goedenacht" ; - GGoodbye = ss "tot ziens" ; - GHello = ss "hallo" ; - GHelp = ss "help" ; - GHowAreYou = ss "hoe gaat het" ; - GLookOut = ss "kijk uit" ; - GNiceToMeetYou = ss "leuk je te ontmoeten" ; - GNiceToMeetYouPol = ss "leuk je u ontmoeten" ; - GPleaseGive, GPleaseGivePol = ss "alstublieft" ; - GSeeYouSoon = ss "tot ziens" ; - GSorry = ss "sorry"; - GSorryPol = ss "mijn verontschuldiging" ; - GThanks = ss "dank je wel" ; - GTheCheck = ss "rekening" ; - GCongratulations = ss "gefeliciteerd"; - GHappyBirthday = ss "gelukkige verjaardag" ; - GGoodLuck = ss "veel geluk" ; + GBye = mkGreeting "doei" ; + GCheers = mkGreeting "proost" ; + GDamn = mkGreeting "verdomme" ; + GExcuse, GExcusePol = mkGreeting "pardon" ; + GGoodDay = mkGreeting "goedendag" ; + GGoodEvening = mkGreeting "goedenavond" ; + GGoodMorning = mkGreeting "goedemorgen" ; + GGoodNight = mkGreeting "goedenacht" ; + GGoodbye = mkGreeting "tot ziens" ; + GHello = mkGreeting "hallo" ; + GHelp = mkGreeting "help" ; + GHowAreYou = mkGreeting "hoe gaat het" ; + GLookOut = mkGreeting "kijk uit" ; + GNiceToMeetYou = mkGreeting "leuk je te ontmoeten" ; + GNiceToMeetYouPol = mkGreeting "leuk je u ontmoeten" ; + GPleaseGive, GPleaseGivePol = mkGreeting "alstublieft" ; + GSeeYouSoon = mkGreeting "tot ziens" ; + GSorry = mkGreeting "sorry"; + GSorryPol = mkGreeting "mijn verontschuldiging" ; + GThanks = mkGreeting "dank je wel" ; + GTheCheck = mkGreeting "rekening" ; + GCongratulations = mkGreeting "gefeliciteerd"; + GHappyBirthday = mkGreeting "gelukkige verjaardag" ; + GGoodLuck = mkGreeting "veel geluk" ; } diff --git a/examples/phrasebook/GreetingsEng.gf b/examples/phrasebook/GreetingsEng.gf index bf1540779..f00f2938b 100644 --- a/examples/phrasebook/GreetingsEng.gf +++ b/examples/phrasebook/GreetingsEng.gf @@ -1,29 +1,26 @@ -concrete GreetingsEng of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsEng of Greetings = SentencesEng [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "bye" ; - GCheers = ss "cheers" ; - GDamn = ss "damn" ; - GExcuse, GExcusePol = ss "excuse me" ; - GGoodDay = ss "good afternoon" ; ---- - GGoodEvening = ss "good evening" ; - GGoodMorning = ss "good morning" ; - GGoodNight = ss "good night" ; - GGoodbye = ss "goodbye" ; - GHello = ss "hello" ; - GHelp = ss "help" ; - GHowAreYou = ss "how are you" ; - GLookOut = ss "look out" ; - GNiceToMeetYou, GNiceToMeetYouPol = ss "nice to meet you" ; - GPleaseGive, GPleaseGivePol = ss "please" ; - GSeeYouSoon = ss "see you soon" ; - GSorry, GSorryPol = ss "sorry" ; - GThanks = ss "thank you" ; - GTheCheck = ss "the bill" ; - GCongratulations = ss "congratulations"; - GHappyBirthday = ss "happy birthday" ; - GGoodLuck = ss "good luck" ; + GBye = mkGreeting "bye" ; + GCheers = mkGreeting "cheers" ; + GDamn = mkGreeting "damn" ; + GExcuse, GExcusePol = mkGreeting "excuse me" ; + GGoodDay = mkGreeting "good afternoon" ; ---- + GGoodEvening = mkGreeting "good evening" ; + GGoodMorning = mkGreeting "good morning" ; + GGoodNight = mkGreeting "good night" ; + GGoodbye = mkGreeting "goodbye" ; + GHello = mkGreeting "hello" ; + GHelp = mkGreeting "help" ; + GHowAreYou = mkGreeting "how are you" ; + GLookOut = mkGreeting "look out" ; + GNiceToMeetYou, GNiceToMeetYouPol = mkGreeting "nice to meet you" ; + GPleaseGive, GPleaseGivePol = mkGreeting "please" ; + GSeeYouSoon = mkGreeting "see you soon" ; + GSorry, GSorryPol = mkGreeting "sorry" ; + GThanks = mkGreeting "thank you" ; + GTheCheck = mkGreeting "the bill" ; + GCongratulations = mkGreeting "congratulations"; + GHappyBirthday = mkGreeting "happy birthday" ; + GGoodLuck = mkGreeting "good luck" ; } diff --git a/examples/phrasebook/GreetingsFin.gf b/examples/phrasebook/GreetingsFin.gf index 5900ee899..804ee8282 100644 --- a/examples/phrasebook/GreetingsFin.gf +++ b/examples/phrasebook/GreetingsFin.gf @@ -1,30 +1,27 @@ -concrete GreetingsFin of Greetings = open Prelude in { - -lincat - Greeting, Politeness = SS ; +concrete GreetingsFin of Greetings = SentencesFin [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "hei hei" ; - GCheers = ss "terveydeksi" ; - GDamn = ss "hitto" ; - GExcuse, GExcusePol = ss "anteeksi" ; - GGoodDay = ss "hyv piv" ; - GGoodEvening = ss "hyv iltaa" ; - GGoodMorning = ss "hyv huomenta" ; - GGoodNight = ss "hyv yt" ; - GGoodbye = ss "nkemiin" ; - GHello = ss "hei" ; - GHelp = ss "apua" ; - GHowAreYou = ss "mit kuuluu" ; - GLookOut = ss "varo" ; - GNiceToMeetYou = ss "hauska tutustua" ; - GPleaseGive = ss "ole hyv" ; - GPleaseGivePol = ss "olkaa hyv" ; - GSeeYouSoon = ss "nhdn pian" ; - GSorry, GSorryPol = ss "anteeksi" ; - GThanks = ss "kiitos" ; - GTheCheck = ss "lasku" ; - GCongratulations = ss "onnittelut"; - GHappyBirthday = ss "hyv syntympiv" ; - GGoodLuck = ss "onnea" ; + GBye = mkGreeting "hei hei" ; + GCheers = mkGreeting "terveydeksi" ; + GDamn = mkGreeting "hitto" ; + GExcuse, GExcusePol = mkGreeting "anteeksi" ; + GGoodDay = mkGreeting "hyv piv" ; + GGoodEvening = mkGreeting "hyv iltaa" ; + GGoodMorning = mkGreeting "hyv huomenta" ; + GGoodNight = mkGreeting "hyv yt" ; + GGoodbye = mkGreeting "nkemiin" ; + GHello = mkGreeting "hei" ; + GHelp = mkGreeting "apua" ; + GHowAreYou = mkGreeting "mit kuuluu" ; + GLookOut = mkGreeting "varo" ; + GNiceToMeetYou = mkGreeting "hauska tutustua" ; + GPleaseGive = mkGreeting "ole hyv" ; + GPleaseGivePol = mkGreeting "olkaa hyv" ; + GSeeYouSoon = mkGreeting "nhdn pian" ; + GSorry, GSorryPol = mkGreeting "anteeksi" ; + GThanks = mkGreeting "kiitos" ; + GTheCheck = mkGreeting "lasku" ; + GCongratulations = mkGreeting "onnittelut"; + GHappyBirthday = mkGreeting "hyv syntympiv" ; + GGoodLuck = mkGreeting "onnea" ; } diff --git a/examples/phrasebook/GreetingsFre.gf b/examples/phrasebook/GreetingsFre.gf index f6efdbeb3..1e2743ec2 100644 --- a/examples/phrasebook/GreetingsFre.gf +++ b/examples/phrasebook/GreetingsFre.gf @@ -1,32 +1,29 @@ -concrete GreetingsFre of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsFre of Greetings = SentencesFre [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "au revoir" ; - GCheers = ss "sant" ; - GDamn = ss "maudit" ; - GExcuse = ss "excuse-moi" ; - GExcusePol = ss "excusez-moi" ; - GGoodDay = ss "bonjour" ; - GGoodEvening = ss "bon soir" ; - GGoodMorning = ss "bonjour" ; - GGoodNight = ss "bonne nuit" ; - GGoodbye = ss "au revoir" ; - GHello = ss "salut" ; - GHelp = ss "au secours" ; - GHowAreYou = ss "comment a va" ; - GLookOut = ss "attention" ; - GNiceToMeetYou = ss "enchant" ; - GPleaseGive = ss "s'il te plat" ; - GPleaseGivePol = ss "s'il vous plat" ; - GSeeYouSoon = ss " bientt" ; - GSorry, GSorryPol = ss "pardon" ; - GThanks = ss "merci" ; - GTheCheck = ss "l'addition" ; - GCongratulations = ss "flicitations"; - GHappyBirthday = ss "joyeux anniversaire" ; - GGoodLuck = ss "bonne chance" ; + GBye = mkGreeting "au revoir" ; + GCheers = mkGreeting "sant" ; + GDamn = mkGreeting "maudit" ; + GExcuse = mkGreeting "excuse-moi" ; + GExcusePol = mkGreeting "excusez-moi" ; + GGoodDay = mkGreeting "bonjour" ; + GGoodEvening = mkGreeting "bon soir" ; + GGoodMorning = mkGreeting "bonjour" ; + GGoodNight = mkGreeting "bonne nuit" ; + GGoodbye = mkGreeting "au revoir" ; + GHello = mkGreeting "salut" ; + GHelp = mkGreeting "au secours" ; + GHowAreYou = mkGreeting "comment a va" ; + GLookOut = mkGreeting "attention" ; + GNiceToMeetYou = mkGreeting "enchant" ; + GPleaseGive = mkGreeting "s'il te plat" ; + GPleaseGivePol = mkGreeting "s'il vous plat" ; + GSeeYouSoon = mkGreeting " bientt" ; + GSorry, GSorryPol = mkGreeting "pardon" ; + GThanks = mkGreeting "merci" ; + GTheCheck = mkGreeting "l'addition" ; + GCongratulations = mkGreeting "flicitations"; + GHappyBirthday = mkGreeting "joyeux anniversaire" ; + GGoodLuck = mkGreeting "bonne chance" ; } diff --git a/examples/phrasebook/GreetingsGer.gf b/examples/phrasebook/GreetingsGer.gf index f68f5ad15..1a3026ad2 100644 --- a/examples/phrasebook/GreetingsGer.gf +++ b/examples/phrasebook/GreetingsGer.gf @@ -1,32 +1,29 @@ --# -path=.:abstract:prelude:german:api:common -concrete GreetingsGer of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsGer of Greetings = SentencesGer [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "tsch" ; - GCheers = ss "zum Wohl" ; - GDamn = ss "verdammt" ; - GExcuse, GExcusePol = ss "Entschuldigung" ; - GGoodDay = ss "guten Tag" ; - GGoodEvening = ss "guten Abend" ; - GGoodMorning = ss "guten Morgen" ; - GGoodNight = ss "gute Nacht" ; - GGoodbye = ss "auf Wiedersehen" ; - GHello = ss "Hallo" ; - GHelp = ss "Hilfe" ; - GHowAreYou = ss "wie geht's" ; - GLookOut = ss "Achtung" ; - GNiceToMeetYou = ss "nett, Sie zu treffen" ; - GPleaseGive, GPleaseGivePol = ss "bitte" ; - GSeeYouSoon = ss "bis bald" ; - GSorry, GSorryPol = ss "Entschuldigung" ; - GThanks = ss "Danke" ; - GTheCheck = ss "die Rechnung" ; - GCongratulations = ss "herzlichen Glckwunsch"; - GHappyBirthday = ss "alles Gute zum Geburtstag" ; - GGoodLuck = ss "viel Glck" ; + GBye = mkGreeting "tsch" ; + GCheers = mkGreeting "zum Wohl" ; + GDamn = mkGreeting "verdammt" ; + GExcuse, GExcusePol = mkGreeting "Entschuldigung" ; + GGoodDay = mkGreeting "guten Tag" ; + GGoodEvening = mkGreeting "guten Abend" ; + GGoodMorning = mkGreeting "guten Morgen" ; + GGoodNight = mkGreeting "gute Nacht" ; + GGoodbye = mkGreeting "auf Wiedersehen" ; + GHello = mkGreeting "Hallo" ; + GHelp = mkGreeting "Hilfe" ; + GHowAreYou = mkGreeting "wie geht's" ; + GLookOut = mkGreeting "Achtung" ; + GNiceToMeetYou = mkGreeting "nett, Sie zu treffen" ; + GPleaseGive, GPleaseGivePol = mkGreeting "bitte" ; + GSeeYouSoon = mkGreeting "bis bald" ; + GSorry, GSorryPol = mkGreeting "Entschuldigung" ; + GThanks = mkGreeting "Danke" ; + GTheCheck = mkGreeting "die Rechnung" ; + GCongratulations = mkGreeting "herzlichen Glckwunsch"; + GHappyBirthday = mkGreeting "alles Gute zum Geburtstag" ; + GGoodLuck = mkGreeting "viel Glck" ; } diff --git a/examples/phrasebook/GreetingsIta.gf b/examples/phrasebook/GreetingsIta.gf index b8d281eef..4263416f5 100644 --- a/examples/phrasebook/GreetingsIta.gf +++ b/examples/phrasebook/GreetingsIta.gf @@ -1,33 +1,30 @@ -concrete GreetingsIta of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsIta of Greetings = SentencesIta [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "ciao" ; - GCheers = ss "cincin" ; - GDamn = ss "maledizione" ; - GExcuse = ss "scusa" ; - GExcusePol = ss "scusi" ; - GGoodDay = ss "buongiorno" ; - GGoodEvening = ss "buona sera" ; - GGoodMorning = ss "buongiorno" ; - GGoodNight = ss "buona notte" ; - GGoodbye = ss "arrivederci" ; - GHello = ss "ciao" ; - GHelp = ss "aiuto" ; - GHowAreYou = ss "come sta" ; - GLookOut = ss "attenzione" ; - GNiceToMeetYou = ss "piacere di conoscerti" ; - GNiceToMeetYouPol = ss "piacere di conoscerLa" ; - GPleaseGive, GPleaseGivePol = ss "per favore" ; - GSeeYouSoon = ss "a presto" ; ---- - GSorry = ss "scusami" ; ---- - GSorryPol = ss "scusimi" ; ---- - GThanks = ss "grazie" ; - GTheCheck = ss "il conto" ; - GCongratulations = ss "congratulazioni"; - GHappyBirthday = ss "buon compleanno" ; - GGoodLuck = ss "buona fortuna" ; + GBye = mkGreeting "ciao" ; + GCheers = mkGreeting "cincin" ; + GDamn = mkGreeting "maledizione" ; + GExcuse = mkGreeting "scusa" ; + GExcusePol = mkGreeting "scusi" ; + GGoodDay = mkGreeting "buongiorno" ; + GGoodEvening = mkGreeting "buona sera" ; + GGoodMorning = mkGreeting "buongiorno" ; + GGoodNight = mkGreeting "buona notte" ; + GGoodbye = mkGreeting "arrivederci" ; + GHello = mkGreeting "ciao" ; + GHelp = mkGreeting "aiuto" ; + GHowAreYou = mkGreeting "come sta" ; + GLookOut = mkGreeting "attenzione" ; + GNiceToMeetYou = mkGreeting "piacere di conoscerti" ; + GNiceToMeetYouPol = mkGreeting "piacere di conoscerLa" ; + GPleaseGive, GPleaseGivePol = mkGreeting "per favore" ; + GSeeYouSoon = mkGreeting "a presto" ; ---- + GSorry = mkGreeting "scusami" ; ---- + GSorryPol = mkGreeting "scusimi" ; ---- + GThanks = mkGreeting "grazie" ; + GTheCheck = mkGreeting "il conto" ; + GCongratulations = mkGreeting "congratulazioni"; + GHappyBirthday = mkGreeting "buon compleanno" ; + GGoodLuck = mkGreeting "buona fortuna" ; } diff --git a/examples/phrasebook/GreetingsNor.gf b/examples/phrasebook/GreetingsNor.gf index 1f6bfb698..a93317d83 100644 --- a/examples/phrasebook/GreetingsNor.gf +++ b/examples/phrasebook/GreetingsNor.gf @@ -1,30 +1,27 @@ -concrete GreetingsNor of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsNor of Greetings = SentencesNor [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "ha det" ; - GCheers = ss "skl" ; -- google translate ! - GDamn = ss "faen" ; - GExcuse, GExcusePol = ss "unnskyld" ; - GGoodDay = ss "god dag" ; - GGoodEvening = ss "god kveld" ; - GGoodMorning = ss "god morgen" ; - GGoodNight = ss "god natt" ; - GGoodbye = ss "ha det bra" ; - GHello = ss "hei" ; - GHelp = ss "hjelp" ; - GHowAreYou = ss "hvordan gr det" ; - GLookOut = ss "se opp" ; -- google translate ! - GNiceToMeetYou, GNiceToMeetYouPol = ss "hyggelig treffe deg" ; - GPleaseGive, GPleaseGivePol = ss "vr s snill" ; - GSeeYouSoon = ss "se deg snart" ; -- google translate ! - GSorry, GSorryPol = ss "beklager" ; - GThanks = ss "takk" ; - GTheCheck = ss "regningen" ; - GCongratulations = ss "gratulerer"; - GHappyBirthday = ss "gratulerer med dagen" ; - GGoodLuck = ss "lykke til" ; + GBye = mkGreeting "ha det" ; + GCheers = mkGreeting "skl" ; -- google translate ! + GDamn = mkGreeting "faen" ; + GExcuse, GExcusePol = mkGreeting "unnskyld" ; + GGoodDay = mkGreeting "god dag" ; + GGoodEvening = mkGreeting "god kveld" ; + GGoodMorning = mkGreeting "god morgen" ; + GGoodNight = mkGreeting "god natt" ; + GGoodbye = mkGreeting "ha det bra" ; + GHello = mkGreeting "hei" ; + GHelp = mkGreeting "hjelp" ; + GHowAreYou = mkGreeting "hvordan gr det" ; + GLookOut = mkGreeting "se opp" ; -- google translate ! + GNiceToMeetYou, GNiceToMeetYouPol = mkGreeting "hyggelig treffe deg" ; + GPleaseGive, GPleaseGivePol = mkGreeting "vr s snill" ; + GSeeYouSoon = mkGreeting "se deg snart" ; -- google translate ! + GSorry, GSorryPol = mkGreeting "beklager" ; + GThanks = mkGreeting "takk" ; + GTheCheck = mkGreeting "regningen" ; + GCongratulations = mkGreeting "gratulerer"; + GHappyBirthday = mkGreeting "gratulerer med dagen" ; + GGoodLuck = mkGreeting "lykke til" ; } diff --git a/examples/phrasebook/GreetingsPol.gf b/examples/phrasebook/GreetingsPol.gf index 722d96ef3..9c561c500 100644 --- a/examples/phrasebook/GreetingsPol.gf +++ b/examples/phrasebook/GreetingsPol.gf @@ -1,30 +1,27 @@ -concrete GreetingsPol of Greetings = open Prelude in { +concrete GreetingsPol of Greetings = SentencesPol [Greeting,mkGreeting] ** open Prelude in { flags optimize =values ; coding =utf8 ; -lincat - Greeting = SS ; - lin - GBye = ss "cześć" ; - GCheers = ss "na zdrowie" ; - GDamn = ss "cholera" ; -- not polite - GExcuse, GExcusePol, GSorry, GSorryPol = ss "przepraszam" ; - GGoodDay, GGoodMorning = ss "dzień dobry" ; - GGoodEvening = ss "dobry wieczór" ; - GGoodNight = ss "dobranoc" ; - GGoodbye = ss "do widzenia" ; - GHello = ss "cześć" ; - GHelp = ss "pomocy" ; - GHowAreYou = ss "jak się masz" ; - GLookOut = ss "uwaga" ; - GNiceToMeetYou = ss "miło mi" ; - GPleaseGive, GPleaseGivePol = ss "poproszę" ; - GSeeYouSoon = ss "do zobaczenia" ; - GThanks = ss "dziękuję" ; - GTheCheck = ss "rachunek" ; - GCongratulations = ss "gratulacje"; - GHappyBirthday = ss "wszystkiego najlepszego z okazji urodzin" ; - GGoodLuck = ss "powodzenia" ; + GBye = mkGreeting "cześć" ; + GCheers = mkGreeting "na zdrowie" ; + GDamn = mkGreeting "cholera" ; -- not polite + GExcuse, GExcusePol, GSorry, GSorryPol = mkGreeting "przepraszam" ; + GGoodDay, GGoodMorning = mkGreeting "dzień dobry" ; + GGoodEvening = mkGreeting "dobry wieczór" ; + GGoodNight = mkGreeting "dobranoc" ; + GGoodbye = mkGreeting "do widzenia" ; + GHello = mkGreeting "cześć" ; + GHelp = mkGreeting "pomocy" ; + GHowAreYou = mkGreeting "jak się masz" ; + GLookOut = mkGreeting "uwaga" ; + GNiceToMeetYou = mkGreeting "miło mi" ; + GPleaseGive, GPleaseGivePol = mkGreeting "poproszę" ; + GSeeYouSoon = mkGreeting "do zobaczenia" ; + GThanks = mkGreeting "dziękuję" ; + GTheCheck = mkGreeting "rachunek" ; + GCongratulations = mkGreeting "gratulacje"; + GHappyBirthday = mkGreeting "wszystkiego najlepszego z okazji urodzin" ; + GGoodLuck = mkGreeting "powodzenia" ; } diff --git a/examples/phrasebook/GreetingsRon.gf b/examples/phrasebook/GreetingsRon.gf index 9451fbce1..380e8dbc5 100644 --- a/examples/phrasebook/GreetingsRon.gf +++ b/examples/phrasebook/GreetingsRon.gf @@ -1,34 +1,31 @@ -concrete GreetingsRon of Greetings = open Prelude in { +concrete GreetingsRon of Greetings = SentencesRon [Greeting,mkGreeting] ** open Prelude in { flags coding = utf8 ; -lincat - Greeting, Politeness = SS ; - lin - GBye = ss "pa" ; - GCheers = ss "noroc" ; - GDamn = ss "ptiu" ; - GExcuse = ss "pardon" ; - GExcusePol = ss "mă scuzați" ; - GGoodDay = ss "bună ziua" ; - GGoodEvening = ss "bună seara" ; - GGoodMorning = ss "bună dimineaţa" ; - GGoodNight = ss "noapte bună" ; - GGoodbye = ss "la revedere" ; - GHello = ss "salut" ; - GHelp = ss "ajutor" ; - GHowAreYou = ss "ce faci" ; - GLookOut = ss "atenţie" ; - GNiceToMeetYou = ss "încântat" ; - GPleaseGive = ss "te rog" ; - GPleaseGivePol = ss "vă rog" ; - GSeeYouSoon = ss "pe curând" ; - GSorry, GSorryPol = ss "îmi pare rău" ; - GThanks = ss "mulţumesc" ; - GTheCheck = ss "nota de plată" ; - GCongratulations = ss "felicitări"; - GHappyBirthday = ss "la mulți ani" ; - GGoodLuck = ss "baftă" ; + GBye = mkGreeting "pa" ; + GCheers = mkGreeting "noroc" ; + GDamn = mkGreeting "ptiu" ; + GExcuse = mkGreeting "pardon" ; + GExcusePol = mkGreeting "mă scuzați" ; + GGoodDay = mkGreeting "bună ziua" ; + GGoodEvening = mkGreeting "bună seara" ; + GGoodMorning = mkGreeting "bună dimineaţa" ; + GGoodNight = mkGreeting "noapte bună" ; + GGoodbye = mkGreeting "la revedere" ; + GHello = mkGreeting "salut" ; + GHelp = mkGreeting "ajutor" ; + GHowAreYou = mkGreeting "ce faci" ; + GLookOut = mkGreeting "atenţie" ; + GNiceToMeetYou = mkGreeting "încântat" ; + GPleaseGive = mkGreeting "te rog" ; + GPleaseGivePol = mkGreeting "vă rog" ; + GSeeYouSoon = mkGreeting "pe curând" ; + GSorry, GSorryPol = mkGreeting "îmi pare rău" ; + GThanks = mkGreeting "mulţumesc" ; + GTheCheck = mkGreeting "nota de plată" ; + GCongratulations = mkGreeting "felicitări"; + GHappyBirthday = mkGreeting "la mulți ani" ; + GGoodLuck = mkGreeting "baftă" ; } diff --git a/examples/phrasebook/GreetingsSpa.gf b/examples/phrasebook/GreetingsSpa.gf index 673bac85e..604765a33 100644 --- a/examples/phrasebook/GreetingsSpa.gf +++ b/examples/phrasebook/GreetingsSpa.gf @@ -1,34 +1,31 @@ -concrete GreetingsSpa of Greetings = open Prelude in { +concrete GreetingsSpa of Greetings = SentencesSpa [Greeting,mkGreeting] ** open Prelude in { flags coding = utf8 ; -lincat - Greeting = SS ; - lin - GBye = ss "adiós" ; - GCheers = ss "salud" ; - GDamn = ss "joder" ; - GExcuse = ss "perdón" ; - GExcusePol = ss "perdone" ; - GCongratulations = ss "felicitaciones" ; - GGoodLuck = ss "buena suerte" ; - GHappyBirthday = ss "feliz cumpleaños" ; - GGoodMorning, GGoodDay = ss "buenos días" ; - GGoodEvening = ss "buenas tardes" ; - GGoodNight = ss "buenas noches" ; - GGoodbye = ss "hasta luego" ; - GHello = ss "hola" ; - GHelp = ss "socorro" ; - GHowAreYou = ss "cómo está" ; -- the polite singular "you" - GLookOut = ss "atención" ; - GNiceToMeetYou = ss "encantado de conocerle" ; -- the polite singular "you" - GPleaseGive, GPleaseGivePol = ss "por favor" ; - GSeeYouSoon = ss "nos vemos pronto" ; - GSorry = ss "disculpa" ; - GSorryPol = ss "disculpe" ; - GThanks = ss "gracias" ; - GTheCheck = ss "la cuenta" ; + GBye = mkGreeting "adiós" ; + GCheers = mkGreeting "salud" ; + GDamn = mkGreeting "joder" ; + GExcuse = mkGreeting "perdón" ; + GExcusePol = mkGreeting "perdone" ; + GCongratulations = mkGreeting "felicitaciones" ; + GGoodLuck = mkGreeting "buena suerte" ; + GHappyBirthday = mkGreeting "feliz cumpleaños" ; + GGoodMorning, GGoodDay = mkGreeting "buenos días" ; + GGoodEvening = mkGreeting "buenas tardes" ; + GGoodNight = mkGreeting "buenas noches" ; + GGoodbye = mkGreeting "hasta luego" ; + GHello = mkGreeting "hola" ; + GHelp = mkGreeting "socorro" ; + GHowAreYou = mkGreeting "cómo está¡" ; -- the polite singular "you" + GLookOut = mkGreeting "atención" ; + GNiceToMeetYou = mkGreeting "encantado de conocerle" ; -- the polite singular "you" + GPleaseGive, GPleaseGivePol = mkGreeting "por favor" ; + GSeeYouSoon = mkGreeting "nos vemos pronto" ; + GSorry = mkGreeting "disculpa" ; + GSorryPol = mkGreeting "disculpe" ; + GThanks = mkGreeting "gracias" ; + GTheCheck = mkGreeting "la cuenta" ; } diff --git a/examples/phrasebook/GreetingsSwe.gf b/examples/phrasebook/GreetingsSwe.gf index 7f6764f09..15dd59a0c 100644 --- a/examples/phrasebook/GreetingsSwe.gf +++ b/examples/phrasebook/GreetingsSwe.gf @@ -1,30 +1,27 @@ -concrete GreetingsSwe of Greetings = open Prelude in { - -lincat - Greeting = SS ; +concrete GreetingsSwe of Greetings = SentencesSwe [Greeting,mkGreeting] ** open Prelude in { lin - GBye = ss "hej d" ; - GCheers = ss "skl" ; - GDamn = ss "fan" ; - GExcuse, GExcusePol = ss "urskta" ; - GGoodDay = ss "god dag" ; - GGoodEvening = ss "god afton" ; - GGoodMorning = ss "god morgon" ; - GGoodNight = ss "god natt" ; - GGoodbye = ss "hej d" ; - GHello = ss "hej" ; - GHelp = ss "hjlp" ; - GHowAreYou = ss "hur str det till" ; - GLookOut = ss "se upp" ; - GNiceToMeetYou, GNiceToMeetYouPol = ss "trevligt att trffas" ; - GPleaseGive, GPleaseGivePol = ss "var s god" ; - GSeeYouSoon = ss "vi ses snart" ; - GSorry, GSorryPol = ss "frlt" ; - GThanks = ss "tack" ; - GTheCheck = ss "notan" ; - GCongratulations = ss "grattis"; - GHappyBirthday = ss "grattis p fdelsedagen" ; - GGoodLuck = ss "lycka till" ; + GBye = mkGreeting "hej d" ; + GCheers = mkGreeting "skl" ; + GDamn = mkGreeting "fan" ; + GExcuse, GExcusePol = mkGreeting "urskta" ; + GGoodDay = mkGreeting "god dag" ; + GGoodEvening = mkGreeting "god afton" ; + GGoodMorning = mkGreeting "god morgon" ; + GGoodNight = mkGreeting "god natt" ; + GGoodbye = mkGreeting "hej d" ; + GHello = mkGreeting "hej" ; + GHelp = mkGreeting "hjlp" ; + GHowAreYou = mkGreeting "hur str det till" ; + GLookOut = mkGreeting "se upp" ; + GNiceToMeetYou, GNiceToMeetYouPol = mkGreeting "trevligt att trffas" ; + GPleaseGive, GPleaseGivePol = mkGreeting "var s god" ; + GSeeYouSoon = mkGreeting "vi ses snart" ; + GSorry, GSorryPol = mkGreeting "frlt" ; + GThanks = mkGreeting "tack" ; + GTheCheck = mkGreeting "notan" ; + GCongratulations = mkGreeting "grattis"; + GHappyBirthday = mkGreeting "grattis p fdelsedagen" ; + GGoodLuck = mkGreeting "lycka till" ; } diff --git a/examples/phrasebook/Phrasebook.gf b/examples/phrasebook/Phrasebook.gf index 6872a9ace..9ebc13106 100644 --- a/examples/phrasebook/Phrasebook.gf +++ b/examples/phrasebook/Phrasebook.gf @@ -5,7 +5,4 @@ abstract Phrasebook = flags startcat = Phrase ; -fun - PGreeting : Greeting -> Phrase ; - } diff --git a/examples/phrasebook/PhrasebookBul.gf b/examples/phrasebook/PhrasebookBul.gf index 312b0522f..bbc092963 100644 --- a/examples/phrasebook/PhrasebookBul.gf +++ b/examples/phrasebook/PhrasebookBul.gf @@ -6,7 +6,4 @@ concrete PhrasebookBul of Phrasebook = SyntaxBul, Prelude in { -lin - PGreeting g = lin Text g ; - } diff --git a/examples/phrasebook/PhrasebookCat.gf b/examples/phrasebook/PhrasebookCat.gf index af18904ac..5021079d8 100644 --- a/examples/phrasebook/PhrasebookCat.gf +++ b/examples/phrasebook/PhrasebookCat.gf @@ -7,8 +7,5 @@ concrete PhrasebookCat of Phrasebook = SyntaxCat, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; - } diff --git a/examples/phrasebook/PhrasebookDan.gf b/examples/phrasebook/PhrasebookDan.gf index 62267dc2b..d362d1b39 100644 --- a/examples/phrasebook/PhrasebookDan.gf +++ b/examples/phrasebook/PhrasebookDan.gf @@ -6,7 +6,4 @@ concrete PhrasebookDan of Phrasebook = SyntaxDan, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; - } diff --git a/examples/phrasebook/PhrasebookDut.gf b/examples/phrasebook/PhrasebookDut.gf index fb1cae33d..c8b4fd969 100644 --- a/examples/phrasebook/PhrasebookDut.gf +++ b/examples/phrasebook/PhrasebookDut.gf @@ -6,7 +6,5 @@ concrete PhrasebookDut of Phrasebook = SyntaxDut, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/PhrasebookEng.gf b/examples/phrasebook/PhrasebookEng.gf index b9cfd0998..ab4f05d0d 100644 --- a/examples/phrasebook/PhrasebookEng.gf +++ b/examples/phrasebook/PhrasebookEng.gf @@ -9,7 +9,4 @@ concrete PhrasebookEng of Phrasebook = flags language = en_US ; -lin - PGreeting g = lin Text g ; - } diff --git a/examples/phrasebook/PhrasebookFin.gf b/examples/phrasebook/PhrasebookFin.gf index adae2240e..e0728ab10 100644 --- a/examples/phrasebook/PhrasebookFin.gf +++ b/examples/phrasebook/PhrasebookFin.gf @@ -6,7 +6,4 @@ concrete PhrasebookFin of Phrasebook = SyntaxFin, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; - } diff --git a/examples/phrasebook/PhrasebookFre.gf b/examples/phrasebook/PhrasebookFre.gf index 1c7b7a4c2..ecbd74c9a 100644 --- a/examples/phrasebook/PhrasebookFre.gf +++ b/examples/phrasebook/PhrasebookFre.gf @@ -7,7 +7,5 @@ concrete PhrasebookFre of Phrasebook = SyntaxFre, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/PhrasebookGer.gf b/examples/phrasebook/PhrasebookGer.gf index f134e57b7..69a61187c 100644 --- a/examples/phrasebook/PhrasebookGer.gf +++ b/examples/phrasebook/PhrasebookGer.gf @@ -6,7 +6,5 @@ concrete PhrasebookGer of Phrasebook = SyntaxGer, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/PhrasebookIta.gf b/examples/phrasebook/PhrasebookIta.gf index bb08b0b45..00d3f5488 100644 --- a/examples/phrasebook/PhrasebookIta.gf +++ b/examples/phrasebook/PhrasebookIta.gf @@ -9,8 +9,5 @@ concrete PhrasebookIta of Phrasebook = flags language = it_IT ; -lin - PGreeting g = lin Text (ss g.s) ; - } diff --git a/examples/phrasebook/PhrasebookNor.gf b/examples/phrasebook/PhrasebookNor.gf index 09f77895c..eb4f76d8e 100644 --- a/examples/phrasebook/PhrasebookNor.gf +++ b/examples/phrasebook/PhrasebookNor.gf @@ -6,7 +6,4 @@ concrete PhrasebookNor of Phrasebook = SyntaxNor, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; - } diff --git a/examples/phrasebook/PhrasebookPol.gf b/examples/phrasebook/PhrasebookPol.gf index 4a25c8caa..d933d6b55 100644 --- a/examples/phrasebook/PhrasebookPol.gf +++ b/examples/phrasebook/PhrasebookPol.gf @@ -10,8 +10,4 @@ flags language = pl_PL ; optimize =values ; coding =utf8 ; - -lin - PGreeting g = lin Text g ; - } diff --git a/examples/phrasebook/PhrasebookRon.gf b/examples/phrasebook/PhrasebookRon.gf index ccf531634..810b09b0a 100644 --- a/examples/phrasebook/PhrasebookRon.gf +++ b/examples/phrasebook/PhrasebookRon.gf @@ -7,7 +7,5 @@ concrete PhrasebookRon of Phrasebook = SyntaxRon, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/PhrasebookSpa.gf b/examples/phrasebook/PhrasebookSpa.gf index 5605826d6..75b7ae8bf 100644 --- a/examples/phrasebook/PhrasebookSpa.gf +++ b/examples/phrasebook/PhrasebookSpa.gf @@ -7,8 +7,6 @@ concrete PhrasebookSpa of Phrasebook = SyntaxSpa, Prelude in { -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/PhrasebookSwe.gf b/examples/phrasebook/PhrasebookSwe.gf index 288ca2714..6b7c99194 100644 --- a/examples/phrasebook/PhrasebookSwe.gf +++ b/examples/phrasebook/PhrasebookSwe.gf @@ -7,7 +7,5 @@ concrete PhrasebookSwe of Phrasebook = Prelude in { flags language = sv_SE ; -lin - PGreeting g = lin Text (ss g.s) ; } diff --git a/examples/phrasebook/Sentences.gf b/examples/phrasebook/Sentences.gf index a58728d4a..47b5d0f1b 100644 --- a/examples/phrasebook/Sentences.gf +++ b/examples/phrasebook/Sentences.gf @@ -14,9 +14,11 @@ abstract Sentences = Numeral ** { cat Phrase ; -- complete phrase, the unit of translation e.g. "Where are you?" + Word ; -- word that could be used as phrase e.g. "Monday" + Message ; -- sequence of phrases, longest unit e.g. "Hello! Where are you?" + Greeting ; -- idiomatic greeting e.g. "hello" Sentence ; -- declarative sentence e.g. "I am in the bar" Question ; -- question, either yes/no or wh e.g. "where are you" - -- Greeting ; -- idiomatic phrase, not inflected, e.g. "hello" Proposition ; -- can be turned into sentence or question e.g. "this pizza is good" Object ; -- the object of wanting, ordering, etc e.g. "three pizzas and a beer" PrimObject ; -- single object of wanting, ordering, etc e.g. "three pizzas" @@ -43,30 +45,45 @@ abstract Sentences = Numeral ** { ByTransport ; -- mean of transportation e.g. "by tram" Superlative ; -- superlative modifiers of places e.g. "the best restaurant" - --- Many of the categories are accessible as Phrases, i.e. as translation units. - fun + fun + +-- To build a whole message + + MPhrase : Phrase -> Message ; + MContinue : Phrase -> Message -> Message ; + +-- Many of the categories are accessible as Phrases, i.e. as translation units. +-- To regulate whether words appear on the top level, change their status between +-- Word and Phrase, or uncomment PWord, + + -- PWord : Word -> Phrase ; + + PGreeting : Greeting -> Phrase ; PSentence : Sentence -> Phrase ; PQuestion : Question -> Phrase ; - PObject : Object -> Phrase ; - PKind : Kind -> Phrase ; - PMassKind : MassKind -> Phrase ; - PQuality : Quality -> Phrase ; PNumber : Number -> Phrase ; - PPlace : Place -> Phrase ; - PPlaceKind : PlaceKind -> Phrase ; - PCurrency : Currency -> Phrase ; PPrice : Price -> Phrase ; - PLanguage : Language -> Phrase ; - PCitizenship : Citizenship -> Phrase ; - PCountry : Country -> Phrase ; - PDay : Day -> Phrase ; - PByTransport : ByTransport -> Phrase ; - PTransport : Transport -> Phrase ; + PObject : Object -> Word ; + PKind : Kind -> Word ; + PMassKind : MassKind -> Word ; + PQuality : Quality -> Word ; + PPlace : Place -> Word ; + PPlaceKind : PlaceKind -> Word ; + PCurrency : Currency -> Word ; + PLanguage : Language -> Word ; + PCitizenship : Citizenship -> Word ; + PCountry : Country -> Word ; + PDay : Day -> Word ; + PByTransport : ByTransport -> Word ; + PTransport : Transport -> Word ; - PYes, PNo, PYesToNo : Phrase ; -- yes, no, si/doch (pos. answer to neg. question) + PYes, PNo, PYesToNo : Greeting ; -- yes, no, si/doch (pos. answer to neg. question) + +-- To order something. + + GObjectPlease : Object -> Greeting ; -- a pizza and beer, please! -- This is the way to build propositions about inanimate items. diff --git a/examples/phrasebook/SentencesFin.gf b/examples/phrasebook/SentencesFin.gf index 62ccf7247..1b1febf6a 100644 --- a/examples/phrasebook/SentencesFin.gf +++ b/examples/phrasebook/SentencesFin.gf @@ -1,10 +1,12 @@ concrete SentencesFin of Sentences = NumeralFin ** SentencesI - [Is, IsMass, NameNN, ObjMass, - IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale + IFemale, YouFamFemale, YouPolFemale, IMale, YouFamMale, YouPolMale, + GObjectPlease ] with (Syntax = SyntaxFin), (Symbolic = SymbolicFin), - (Lexicon = LexiconFin) ** open SyntaxFin, ExtraFin, (P = ParadigmsFin), (V = VerbFin) in { + (Lexicon = LexiconFin) ** + open SyntaxFin, ExtraFin, (P = ParadigmsFin), (V = VerbFin), Prelude in { lin Is item prop = mkCl item (V.UseComp (CompPartAP prop)) ; -- tm pizza on herkullista @@ -20,4 +22,7 @@ concrete SentencesFin of Sentences = NumeralFin ** SentencesI - ObjMass = PartCN ; + GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) (lin Voc (ss "kiitos"))) ; + + } diff --git a/examples/phrasebook/SentencesI.gf b/examples/phrasebook/SentencesI.gf index 415682e4e..cf6f6400e 100644 --- a/examples/phrasebook/SentencesI.gf +++ b/examples/phrasebook/SentencesI.gf @@ -11,6 +11,9 @@ incomplete concrete SentencesI of Sentences = Numeral ** in { lincat Phrase = Text ; + Word = Text ; + Message = Text ; + Greeting = Text ; Sentence = S ; Question = QS ; Proposition = Cl ; @@ -39,18 +42,26 @@ incomplete concrete SentencesI of Sentences = Numeral ** Transport = {name : CN ; by : Adv} ; Superlative = Det ; lin + MPhrase p = p ; + MContinue p m = mkText p m ; + PSentence s = mkText s | lin Text (mkUtt s) ; -- optional '.' PQuestion s = mkText s | lin Text (mkUtt s) ; -- optional '?' + PGreeting g = mkText (lin Phr g) exclMarkPunct | g ; + + -- PWord w = w ; + + PNumber x = mkSentence (mkUtt x) ; + PPrice x = mkSentence (mkUtt x) ; + PObject x = mkPhrase (mkUtt x) ; PKind x = mkPhrase (mkUtt x) ; PMassKind x = mkPhrase (mkUtt x) ; PQuality x = mkPhrase (mkUtt x) ; - PNumber x = mkPhrase (mkUtt x) ; PPlace x = mkPhrase (mkUtt x.name) ; PPlaceKind x = mkPhrase (mkUtt x.name) ; PCurrency x = mkPhrase (mkUtt x) ; - PPrice x = mkPhrase (mkUtt x) ; PLanguage x = mkPhrase (mkUtt x) ; PCountry x = mkPhrase (mkUtt x) ; PCitizenship x = mkPhrase (mkUtt (mkAP x)) ; @@ -62,6 +73,8 @@ incomplete concrete SentencesI of Sentences = Numeral ** PNo = mkPhrase no_Utt ; PYesToNo = mkPhrase yes_Utt ; + GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) please_Voc) ; + Is = mkCl ; IsMass m q = mkCl (mkNP m) q ; @@ -143,6 +156,8 @@ oper -- These operations are used internally in Sentences. mkPhrase : Utt -> Text = \u -> lin Text u ; -- no punctuation + mkGreeting : Str -> Text = \s -> lin Text (ss s) ; -- no punctuation + mkSentence : Utt -> Text = \t -> lin Text (postfixSS "." t | t) ; -- optional . mkPerson : Pron -> {name : NP ; isPron : Bool ; poss : Quant} = \p -> {name = mkNP p ; isPron = True ; poss = mkQuant p} ; diff --git a/examples/phrasebook/Words.gf b/examples/phrasebook/Words.gf index 748189d62..6964a022c 100644 --- a/examples/phrasebook/Words.gf +++ b/examples/phrasebook/Words.gf @@ -157,11 +157,9 @@ abstract Words = Sentences ** { PropOpenDay : Place -> Day -> Proposition ; -- the museum is open on Mondays PropClosedDay : Place -> Day -> Proposition ; -- the museum is closed on Mondays - PSeeYouPlaceDate : Place -> Date -> Phrase ; -- see you in the bar on Monday - PSeeYouPlace : Place -> Phrase ; -- see you in the bar - PSeeYouDate : Date -> Phrase ; -- see you on Monday - - + PSeeYouPlaceDate : Place -> Date -> Greeting ; -- see you in the bar on Monday + PSeeYouPlace : Place -> Greeting ; -- see you in the bar + PSeeYouDate : Date -> Greeting ; -- see you on Monday -- family relations