mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-15 15:59:32 -06:00
adjustments in Phrasebook
This commit is contained in:
@@ -212,11 +212,17 @@ concrete WordsDan of Words = SentencesDan **
|
||||
|
||||
-- transports
|
||||
|
||||
HowFar place = mkQS (mkQCl long_IAdv (mkCl (mkVP (SyntaxDan.mkAdv to_Prep place.name)))) ;
|
||||
HowFarFrom place x = mkQS (mkQCl long_IAdv (mkCl place.name (SyntaxDan.mkAdv from_Prep x.name))) ;
|
||||
HowFar place =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP place.to))) ;
|
||||
HowFarFrom x y =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP y.to)
|
||||
(SyntaxDan.mkAdv from_Prep x.name)))) ;
|
||||
HowFarFromBy x y t =
|
||||
mkQS (mkQCl long_IAdv (mkNP (mkNP y.name (SyntaxDan.mkAdv from_Prep x.name)) t)) ;
|
||||
HowFarBy y t = mkQS (mkQCl long_IAdv (mkNP y.name t)) ;
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP (mkVP y.to)
|
||||
(SyntaxDan.mkAdv from_Prep x.name)) t))) ;
|
||||
HowFarBy place t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP place.to) t))) ;
|
||||
|
||||
-- not sure !
|
||||
WhichTranspPlace trans place =
|
||||
mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ;
|
||||
@@ -250,7 +256,6 @@ concrete WordsDan of Words = SentencesDan **
|
||||
by = SyntaxDan.mkAdv by8means_Prep (mkNP n)
|
||||
} ;
|
||||
|
||||
far_IAdv = ExtraDan.IAdvAdv L.far_Adv ;
|
||||
long_IAdv : IAdv = ss "hvor langt" ** {lock_IAdv = <>};
|
||||
far_IAdv : IAdv = ss "hvor langt" ** {lock_IAdv = <>};
|
||||
how8much_IAdv : IAdv = ss "hvad" ** {lock_IAdv = <>};
|
||||
}
|
||||
|
||||
@@ -214,11 +214,11 @@ concrete WordsFin of Words = SentencesFin **
|
||||
-- modifiers of places
|
||||
|
||||
TheBest = mkSuperl L.good_A ;
|
||||
TheClosest = mkSuperl L.near_A ;
|
||||
TheCheapest = mkSuperl (mkA "halpa") ;
|
||||
TheMostExpensive = mkSuperl (mkA "kallis") ;
|
||||
TheClosest = mkSuperl (mkA (mkN "läheinen") "lähempi" "lähin") ;
|
||||
TheCheapest = mkSuperl (mkA (mkN "halpa") "halvempi" "halvin") ;
|
||||
TheMostExpensive = mkSuperl (mkA (mkN "kallis") "kalliimpi" "kallein") ;
|
||||
TheMostPopular = mkSuperl (mkA "suosittu") ;
|
||||
TheWorst = mkSuperl L.bad_A ;
|
||||
TheWorst = mkSuperl (mkA "huono") ;
|
||||
|
||||
SuperlPlace sup p = placeNP sup p ;
|
||||
|
||||
@@ -267,7 +267,7 @@ concrete WordsFin of Words = SentencesFin **
|
||||
by = SyntaxFin.mkAdv (casePrep adessive) (mkNP n)
|
||||
} ;
|
||||
|
||||
mkSuperl : A -> Det = \a -> mkDet the_Art (mkOrd a) ;
|
||||
mkSuperl : A -> Det = \a -> mkDet the_Quant (mkOrd a) ;
|
||||
|
||||
far_IAdv = E.IAdvAdv L.far_Adv ;
|
||||
}
|
||||
|
||||
@@ -213,11 +213,11 @@ concrete WordsNor of Words = SentencesNor **
|
||||
|
||||
HowFar place =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP place.to))) ;
|
||||
HowFarFrom place x =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP place.to)
|
||||
HowFarFrom x y =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP y.to)
|
||||
(SyntaxNor.mkAdv from_Prep x.name)))) ;
|
||||
HowFarFromBy place x t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP (mkVP place.to)
|
||||
HowFarFromBy x y t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP (mkVP y.to)
|
||||
(SyntaxNor.mkAdv from_Prep x.name)) t))) ;
|
||||
HowFarBy place t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP place.to) t))) ;
|
||||
|
||||
@@ -191,11 +191,11 @@ concrete WordsSwe of Words = SentencesSwe **
|
||||
|
||||
HowFar place =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP place.to))) ;
|
||||
HowFarFrom place x =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP place.to)
|
||||
HowFarFrom x y =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP y.to)
|
||||
(SyntaxSwe.mkAdv from_Prep x.name)))) ;
|
||||
HowFarFromBy place x t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP (mkVP place.to)
|
||||
HowFarFromBy x y t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP (mkVP y.to)
|
||||
(SyntaxSwe.mkAdv from_Prep x.name)) t))) ;
|
||||
HowFarBy place t =
|
||||
mkQS (mkQCl far_IAdv (mkCl (mkVP (mkVP place.to) t))) ;
|
||||
|
||||
@@ -82,8 +82,8 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, Prelude in {
|
||||
} ;
|
||||
|
||||
DetQuantOrd quant num ord = {
|
||||
s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase Pl c ;
|
||||
sp = \\c => quant.sp ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase Pl c ;
|
||||
s1 = \\c => quant.s1 ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ;
|
||||
sp = \\c => quant.sp ! num.n ! c ++ num.s ! Sg ! c ++ ord.s ! NCase num.n c ;
|
||||
s2 = quant.s2 ;
|
||||
n = num.n ;
|
||||
isNum = num.isNum ;
|
||||
|
||||
@@ -385,7 +385,8 @@ mkV2 : overload {
|
||||
regA : Str -> A = \a -> case a of {
|
||||
teu + "er" => mk3A a (teu + "rer") (teu + "reste") ;
|
||||
_ + "e" => mk3A a (a + "r") (a + "ste") ;
|
||||
_ => mk3A a (a + "er") (a + "este")
|
||||
_ + ("t" | "d" | "s" | "sch" | "z") => mk3A a (a + "er") (a + "este") ;
|
||||
_ => mk3A a (a + "er") (a + "ste")
|
||||
} ;
|
||||
|
||||
invarA = \s -> {s = \\_,_ => s ; lock_A = <>} ; ---- comparison
|
||||
|
||||
@@ -320,7 +320,12 @@ resource ResGer = ParamX ** open Prelude in {
|
||||
mkN wein wein wein weines weine weinen ;
|
||||
|
||||
regA : Str -> Adjective = \blau ->
|
||||
mkA blau blau (blau + "er") (blau + "est") ;
|
||||
let blauest : Str = case blau of {
|
||||
_ + ("t" | "d" | "s" | "sch" | "z") => blau + "est" ;
|
||||
_ => blau + "st"
|
||||
}
|
||||
in
|
||||
mkA blau blau (blau + "er") blauest ;
|
||||
|
||||
regV : Str -> Verb = \legen ->
|
||||
let
|
||||
|
||||
Reference in New Issue
Block a user