adjustments in Phrasebook

This commit is contained in:
aarne
2010-05-27 20:44:39 +00:00
parent 27ff25e82d
commit 327ffc420e
7 changed files with 34 additions and 23 deletions

View File

@@ -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 = <>};
}

View File

@@ -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 ;
}

View File

@@ -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))) ;

View File

@@ -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))) ;

View File

@@ -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 ;

View File

@@ -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

View File

@@ -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