summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2010-04-29 14:13:15 +0000
committeraarne <aarne@chalmers.se>2010-04-29 14:13:15 +0000
commit3d9d3a1811c4ed80b3917cc91e8d9da38d6d2790 (patch)
tree07450a04069905a6d05bfbeccc0b7bedda5e90a6 /examples
parentff95528799c271584fae918d62fe5f7fee11b5e8 (diff)
completed PhrasebookFin with new abstract
Diffstat (limited to 'examples')
-rw-r--r--examples/phrasebook/SentencesI.gf1
-rw-r--r--examples/phrasebook/WordsFin.gf72
-rw-r--r--examples/phrasebook/WordsSwe.gf5
3 files changed, 75 insertions, 3 deletions
diff --git a/examples/phrasebook/SentencesI.gf b/examples/phrasebook/SentencesI.gf
index aaf7bcfa6..9de5b2676 100644
--- a/examples/phrasebook/SentencesI.gf
+++ b/examples/phrasebook/SentencesI.gf
@@ -113,6 +113,7 @@ incomplete concrete SentencesI of Sentences = Numeral **
NNumeral n = mkCard <lin Numeral n : Numeral> ;
AHave p kind = mkCl p.name have_V2 (mkNP kind) ;
+ AHaveCurr p curr = mkCl p.name have_V2 (mkNP aPl_Det curr) ;
ACitizen p n = mkCl p.name n ;
ABePlace p place = mkCl p.name place.at ;
ByTransp t = t.by ;
diff --git a/examples/phrasebook/WordsFin.gf b/examples/phrasebook/WordsFin.gf
index 27e96e0ea..e4af6675f 100644
--- a/examples/phrasebook/WordsFin.gf
+++ b/examples/phrasebook/WordsFin.gf
@@ -40,6 +40,8 @@ concrete WordsFin of Words = SentencesFin **
-- places
Restaurant = mkPlace (mkN "ravintola") ssa ;
+ Bank = mkPlace (mkN "pankki") ssa ;
+ PostOffice = mkPlace (mkN "posti") ssa ;
Bar = mkPlace (mkN "baari") ssa ;
Toilet = mkPlace (mkN "vessa") ssa ;
Museum = mkPlace (mkN "museo") ssa ;
@@ -66,6 +68,7 @@ concrete WordsFin of Words = SentencesFin **
Disco = mkPlace (mkN "disko") ssa ;
Pub = mkPlace (mkN "pub") ssa ;
AmusementPark = mkPlace (mkN "huvi" (mkN "puisto")) ssa ;
+ Zoo = mkPlace (mkN "eläin" (mkN "tarha")) ssa ;
-- currencies
@@ -73,24 +76,53 @@ concrete WordsFin of Words = SentencesFin **
Dollar = mkCN (mkN "dollari") ;
Euro = mkCN (mkN "euro") ;
Lei = mkCN (mkN "lei") ;
+ Leva = mkCN (mkN "leva") ;
+ NorwegianCrown = mkCN (mkN "Norjan kruunu") | mkCN (mkN "kruunu") ;
+ Pound = mkCN (mkN "punta") ;
+ Rouble = mkCN (mkN "rupla") ;
SwedishCrown = mkCN (mkN "Ruotsin kruunu") | mkCN (mkN "kruunu") ;
+ Zloty = mkCN (mkN "zloty" "zlotyja") ;
-- nationalities
Belgian = mkA "belgialainen" ;
Belgium = mkNP (mkPN "Belgia") ;
+ Bulgarian = mkNat (mkPN "bulgaria") (mkPN "Bulgaria") (mkA "bulgarialainen") ;
+ Catalan = mkNat (mkPN "katalaani") (mkPN "Katalonia") (mkA "katalonialainen") ;
+ Danish = mkNat (mkPN "tanska") (mkPN "Tanska") (mkA "tanskalainen") ;
+ Dutch = mkNat (mkPN "hollanti") (mkPN "Hollanti") (mkA "hollantilainen") ;
English = mkNat (mkPN "englanti") (mkPN "Englanti") (mkA "englantilainen") ;
Finnish =
mkNat (mkPN (mkN "suomi" "suomia")) (mkPN (mkN "Suomi" "Suomia"))
(mkA "suomalainen") ;
Flemish = mkNP (mkPN "flaami") ;
French = mkNat (mkPN "ranska") (mkPN "Ranska") (mkA "ranskalainen") ;
+ German = mkNat (mkPN "saksa") (mkPN "Saksa") (mkA "saksalainen") ;
Italian = mkNat (mkPN "italia") (mkPN "Italia") (mkA "italialainen") ;
+ Norwegian = mkNat (mkPN "norja") (mkPN "Norja") (mkA "norjalainen") ;
+ Polish = mkNat (mkPN "puola") (mkPN "Puola") (mkA "puolalainen") ;
Romanian = mkNat (mkPN "romania") (mkPN "Romania") (mkA "romanialainen") ;
+ Russian = mkNat (mkPN "venäjä") (mkPN "Venäjä") (mkA "venäläinen") ;
+ Spanish = mkNat (mkPN "espanja") (mkPN "Espanja") (mkA "espanjalainen") ;
Swedish = mkNat (mkPN "ruotsi") (mkPN "Ruotsi") (mkA "ruotsalainen") ;
---- it would be nice to have a capitalization Predef function
+-- means of transportation
+
+ Bike = mkTransport L.bike_N ;
+ Bus = mkTransport (mkN "bussi") ;
+ Car = mkTransport L.car_N ;
+ Ferry = mkTransport (mkN "lautta") ;
+ Plane = mkTransport L.airplane_N ;
+ Subway = mkTransport (mkN "metro") ;
+ Taxi = mkTransport (mkN "taksi") ;
+ Train = mkTransport L.train_N ;
+ Tram = mkTransport (mkN "raitiovaunu") ;
+
+ ByFoot = ParadigmsFin.mkAdv "jalkaisin" ;
+
+
-- actions
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
@@ -159,6 +191,36 @@ concrete WordsFin of Words = SentencesFin **
Tomorrow = ParadigmsFin.mkAdv "huomenna" ;
+-- transports
+
+ HowFar place = mkQS (mkQCl far_IAdv place.name) ;
+ HowFarFrom place x =
+ mkQS (mkQCl far_IAdv (mkCl place.name (SyntaxFin.mkAdv from_Prep x.name))) ;
+ HowFarFromBy place x t =
+ mkQS (mkQCl far_IAdv (mkCl place.name
+ (mkVP (mkVP (SyntaxFin.mkAdv from_Prep x.name)) t))) ;
+ HowFarBy place t =
+ mkQS (mkQCl far_IAdv (mkCl place.name t)) ;
+ -- mkQS (mkQCl (mkIAdv far_IAdv t) y.name) ;
+
+ ---- TODO: meneekö keskustaan busseja
+ WhichTranspPlace trans place =
+ mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ;
+
+ IsTranspPlace trans place =
+ mkQS (mkQCl (mkCl (mkCN trans.name place.to))) ;
+
+-- modifiers of places
+
+ TheBest = mkSuperl L.good_A ;
+ TheClosest = mkSuperl L.near_A ;
+ TheCheapest = mkSuperl (mkA "halpa") ;
+ TheMostExpensive = mkSuperl (mkA "kallis") ;
+ TheMostPopular = mkSuperl (mkA "suosittu") ;
+ TheWorst = mkSuperl L.bad_A ;
+
+ SuperlPlace sup p = placeNP sup p ;
+
oper
mkNat : PN -> PN -> A ->
{lang : NP ; prop : A ; country : NP} = \nat,co,pro ->
@@ -192,11 +254,19 @@ concrete WordsFin of Words = SentencesFin **
-- 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 (E.PartCN a) ---- partitive works in questions )
(mkNP (mkNP a_Det a)
(SyntaxFin.mkAdv for_Prep (mkNP n (mkN "henki" "henkiä")))) ;
open_Adv = ParadigmsFin.mkAdv "avoinna" ;
closed_Adv = ParadigmsFin.mkAdv "kiinni" ;
+ mkTransport : N -> {name : CN ; by : Adv} = \n -> {
+ name = mkCN n ;
+ by = SyntaxFin.mkAdv (casePrep adessive) (mkNP n)
+ } ;
+
+ mkSuperl : A -> Det = \a -> mkDet the_Art (mkOrd a) ;
+
+ far_IAdv = E.IAdvAdv L.far_Adv ;
}
diff --git a/examples/phrasebook/WordsSwe.gf b/examples/phrasebook/WordsSwe.gf
index 1d2805d6b..edaede731 100644
--- a/examples/phrasebook/WordsSwe.gf
+++ b/examples/phrasebook/WordsSwe.gf
@@ -75,6 +75,7 @@ concrete WordsSwe of Words = SentencesSwe **
Lei = mkCN (mkN "lei" "lei") ;
Leva = mkCN (mkN "leva" "leva") ;
NorwegianCrown = mkCN (mkA "norsk") (mkN "krona") | mkCN (mkN "krona") ;
+ Pound = mkCN (mkN "pund" "pund") ; ---- ett pund ?
Rouble = mkCN (mkN "rubel" "rubeln" "rubel" "rubeln") ; ---- ?
SwedishCrown = mkCN (mkA "svensk") (mkN "krona") | mkCN (mkN "krona") ;
Zloty = mkCN (mkN "zloty" "zloty") ;
@@ -103,13 +104,13 @@ concrete WordsSwe of Words = SentencesSwe **
-- means of transportation
Bike = mkTransport L.bike_N ;
- Bus = mkTransport (mkN "bus" "bussar") ;
+ Bus = mkTransport (mkN "buss") ;
Car = mkTransport L.car_N ;
Ferry = mkTransport (mkN "färja") ;
Plane = mkTransport L.airplane_N ;
Subway = mkTransport (mkN "metro" "metron" "metro" "metrona") ; ----
Taxi = mkTransport (mkN "taxi" "taxin" "taxibilar" "taxibilarna") ; ----
- Train = mkTransport (mkN "tåg" "tåg") ;
+ Train = mkTransport L.train_N ;
Tram = mkTransport (mkN "spårvagn") ;
ByFoot = ParadigmsSwe.mkAdv "till fots" ;