mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-02 15:52:50 -06:00
completed PhrasebookFin with new abstract
This commit is contained in:
@@ -113,6 +113,7 @@ incomplete concrete SentencesI of Sentences = Numeral **
|
|||||||
NNumeral n = mkCard <lin Numeral n : Numeral> ;
|
NNumeral n = mkCard <lin Numeral n : Numeral> ;
|
||||||
|
|
||||||
AHave p kind = mkCl p.name have_V2 (mkNP kind) ;
|
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 ;
|
ACitizen p n = mkCl p.name n ;
|
||||||
ABePlace p place = mkCl p.name place.at ;
|
ABePlace p place = mkCl p.name place.at ;
|
||||||
ByTransp t = t.by ;
|
ByTransp t = t.by ;
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
-- places
|
-- places
|
||||||
|
|
||||||
Restaurant = mkPlace (mkN "ravintola") ssa ;
|
Restaurant = mkPlace (mkN "ravintola") ssa ;
|
||||||
|
Bank = mkPlace (mkN "pankki") ssa ;
|
||||||
|
PostOffice = mkPlace (mkN "posti") ssa ;
|
||||||
Bar = mkPlace (mkN "baari") ssa ;
|
Bar = mkPlace (mkN "baari") ssa ;
|
||||||
Toilet = mkPlace (mkN "vessa") ssa ;
|
Toilet = mkPlace (mkN "vessa") ssa ;
|
||||||
Museum = mkPlace (mkN "museo") ssa ;
|
Museum = mkPlace (mkN "museo") ssa ;
|
||||||
@@ -66,6 +68,7 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
Disco = mkPlace (mkN "disko") ssa ;
|
Disco = mkPlace (mkN "disko") ssa ;
|
||||||
Pub = mkPlace (mkN "pub") ssa ;
|
Pub = mkPlace (mkN "pub") ssa ;
|
||||||
AmusementPark = mkPlace (mkN "huvi" (mkN "puisto")) ssa ;
|
AmusementPark = mkPlace (mkN "huvi" (mkN "puisto")) ssa ;
|
||||||
|
Zoo = mkPlace (mkN "eläin" (mkN "tarha")) ssa ;
|
||||||
|
|
||||||
-- currencies
|
-- currencies
|
||||||
|
|
||||||
@@ -73,24 +76,53 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
Dollar = mkCN (mkN "dollari") ;
|
Dollar = mkCN (mkN "dollari") ;
|
||||||
Euro = mkCN (mkN "euro") ;
|
Euro = mkCN (mkN "euro") ;
|
||||||
Lei = mkCN (mkN "lei") ;
|
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") ;
|
SwedishCrown = mkCN (mkN "Ruotsin kruunu") | mkCN (mkN "kruunu") ;
|
||||||
|
Zloty = mkCN (mkN "zloty" "zlotyja") ;
|
||||||
|
|
||||||
-- nationalities
|
-- nationalities
|
||||||
|
|
||||||
Belgian = mkA "belgialainen" ;
|
Belgian = mkA "belgialainen" ;
|
||||||
Belgium = mkNP (mkPN "Belgia") ;
|
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") ;
|
English = mkNat (mkPN "englanti") (mkPN "Englanti") (mkA "englantilainen") ;
|
||||||
Finnish =
|
Finnish =
|
||||||
mkNat (mkPN (mkN "suomi" "suomia")) (mkPN (mkN "Suomi" "Suomia"))
|
mkNat (mkPN (mkN "suomi" "suomia")) (mkPN (mkN "Suomi" "Suomia"))
|
||||||
(mkA "suomalainen") ;
|
(mkA "suomalainen") ;
|
||||||
Flemish = mkNP (mkPN "flaami") ;
|
Flemish = mkNP (mkPN "flaami") ;
|
||||||
French = mkNat (mkPN "ranska") (mkPN "Ranska") (mkA "ranskalainen") ;
|
French = mkNat (mkPN "ranska") (mkPN "Ranska") (mkA "ranskalainen") ;
|
||||||
|
German = mkNat (mkPN "saksa") (mkPN "Saksa") (mkA "saksalainen") ;
|
||||||
Italian = mkNat (mkPN "italia") (mkPN "Italia") (mkA "italialainen") ;
|
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") ;
|
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") ;
|
Swedish = mkNat (mkPN "ruotsi") (mkPN "Ruotsi") (mkA "ruotsalainen") ;
|
||||||
|
|
||||||
---- it would be nice to have a capitalization Predef function
|
---- 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
|
-- actions
|
||||||
|
|
||||||
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
|
AHasAge p num = mkCl p.name (mkNP num L.year_N) ;
|
||||||
@@ -159,6 +191,36 @@ concrete WordsFin of Words = SentencesFin **
|
|||||||
|
|
||||||
Tomorrow = ParadigmsFin.mkAdv "huomenna" ;
|
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
|
oper
|
||||||
mkNat : PN -> PN -> A ->
|
mkNat : PN -> PN -> A ->
|
||||||
{lang : NP ; prop : A ; country : NP} = \nat,co,pro ->
|
{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
|
-- do you have a table for five persons
|
||||||
haveForPerson : NP -> CN -> Card -> Cl = \p,a,n ->
|
haveForPerson : NP -> CN -> Card -> Cl = \p,a,n ->
|
||||||
mkCl p have_V2
|
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)
|
(mkNP (mkNP a_Det a)
|
||||||
(SyntaxFin.mkAdv for_Prep (mkNP n (mkN "henki" "henkiä")))) ;
|
(SyntaxFin.mkAdv for_Prep (mkNP n (mkN "henki" "henkiä")))) ;
|
||||||
|
|
||||||
open_Adv = ParadigmsFin.mkAdv "avoinna" ;
|
open_Adv = ParadigmsFin.mkAdv "avoinna" ;
|
||||||
closed_Adv = ParadigmsFin.mkAdv "kiinni" ;
|
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 ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ concrete WordsSwe of Words = SentencesSwe **
|
|||||||
Lei = mkCN (mkN "lei" "lei") ;
|
Lei = mkCN (mkN "lei" "lei") ;
|
||||||
Leva = mkCN (mkN "leva" "leva") ;
|
Leva = mkCN (mkN "leva" "leva") ;
|
||||||
NorwegianCrown = mkCN (mkA "norsk") (mkN "krona") | mkCN (mkN "krona") ;
|
NorwegianCrown = mkCN (mkA "norsk") (mkN "krona") | mkCN (mkN "krona") ;
|
||||||
|
Pound = mkCN (mkN "pund" "pund") ; ---- ett pund ?
|
||||||
Rouble = mkCN (mkN "rubel" "rubeln" "rubel" "rubeln") ; ---- ?
|
Rouble = mkCN (mkN "rubel" "rubeln" "rubel" "rubeln") ; ---- ?
|
||||||
SwedishCrown = mkCN (mkA "svensk") (mkN "krona") | mkCN (mkN "krona") ;
|
SwedishCrown = mkCN (mkA "svensk") (mkN "krona") | mkCN (mkN "krona") ;
|
||||||
Zloty = mkCN (mkN "zloty" "zloty") ;
|
Zloty = mkCN (mkN "zloty" "zloty") ;
|
||||||
@@ -103,13 +104,13 @@ concrete WordsSwe of Words = SentencesSwe **
|
|||||||
-- means of transportation
|
-- means of transportation
|
||||||
|
|
||||||
Bike = mkTransport L.bike_N ;
|
Bike = mkTransport L.bike_N ;
|
||||||
Bus = mkTransport (mkN "bus" "bussar") ;
|
Bus = mkTransport (mkN "buss") ;
|
||||||
Car = mkTransport L.car_N ;
|
Car = mkTransport L.car_N ;
|
||||||
Ferry = mkTransport (mkN "färja") ;
|
Ferry = mkTransport (mkN "färja") ;
|
||||||
Plane = mkTransport L.airplane_N ;
|
Plane = mkTransport L.airplane_N ;
|
||||||
Subway = mkTransport (mkN "metro" "metron" "metro" "metrona") ; ----
|
Subway = mkTransport (mkN "metro" "metron" "metro" "metrona") ; ----
|
||||||
Taxi = mkTransport (mkN "taxi" "taxin" "taxibilar" "taxibilarna") ; ----
|
Taxi = mkTransport (mkN "taxi" "taxin" "taxibilar" "taxibilarna") ; ----
|
||||||
Train = mkTransport (mkN "tåg" "tåg") ;
|
Train = mkTransport L.train_N ;
|
||||||
Tram = mkTransport (mkN "spårvagn") ;
|
Tram = mkTransport (mkN "spårvagn") ;
|
||||||
|
|
||||||
ByFoot = ParadigmsSwe.mkAdv "till fots" ;
|
ByFoot = ParadigmsSwe.mkAdv "till fots" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user