1
0
forked from GitHub/gf-core

fixes in next resource needed for Attempto

This commit is contained in:
aarne
2008-10-28 14:05:11 +00:00
parent e44448bad0
commit 7408089e29
2 changed files with 18 additions and 9 deletions

View File

@@ -1631,7 +1631,7 @@ incomplete resource Constructors = open Grammar in {
ComplV2 : V2 -> NP -> VP = \v,np -> ComplSlash (SlashV2a v) np ;
ComplV2A : V2A -> NP -> AP -> VP = \v,np,ap -> ComplSlash (SlashV2A v ap) np ;
ComplV3 : V3 -> NP -> NP -> VP = \v,o,d -> ComplSlash (Slash2V3 v o) d ;
ComplV3 : V3 -> NP -> NP -> VP = \v,o,d -> ComplSlash (Slash3V3 v o) d ;
that_NP : NP = DetNP (DetQuant that_Quant sgNum) ;
this_NP : NP = DetNP (DetQuant this_Quant sgNum) ;

View File

@@ -149,11 +149,12 @@ oper
mkA : (good,better,best,well : Str) -> A
} ;
-- To force comparison to be formed by "more - most",
-- the following function is used:
compoundA : A -> A ; -- -/more/most ridiculous
-- Regular comparison is formed by "more - most" for words with two vowels separated
-- and terminated by some other letters. To force this or the opposite,
-- the following can be used:
compoundA : A -> A ; -- -/more/most ditto
simpleA : A -> A ; -- young,younger,youngest
--3 Two-place adjectives
@@ -240,8 +241,9 @@ oper
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : overload {
mkV2 : V -> Prep -> V2 ; -- believe in
mkV2 : V -> V2 -- kill
mkV2 : Str -> V2 ; -- kill
mkV2 : V -> V2 ; -- hit
mkV2 : V -> Prep -> V2 -- believe in
};
--3 Three-place verbs
@@ -355,7 +357,11 @@ oper
nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
mk2A a b = mkAdjective a a a b ** {lock_A = <>} ;
regA a = regADeg a ** {lock_A = <>} ;
regA a = case a of {
_ + ("a" | "e" | "i" | "o" | "u" | "y") + ? + _ +
("a" | "e" | "i" | "o" | "u" | "y") + ? + _ => compoundADeg (regADeg a) ;
_ => regADeg a
} ** {lock_A = <>} ;
mkA2 a p = a ** {c2 = p.s ; lock_A2 = <>} ;
@@ -506,7 +512,9 @@ oper
} ;
compoundA = compoundADeg ;
simpleA a =
let ad = (a.s ! AAdj Posit)
in regADeg ad ;
mk5V : (go, goes, went, gone, going : Str) -> V ;
regV : (cry : Str) -> V ;
@@ -531,6 +539,7 @@ oper
dirV2 : V -> V2 ;
mkV2 = overload {
mkV2 : Str -> V2 = \s -> dirV2 (regV s) ;
mkV2 : V -> Prep -> V2 = prepV2;
mkV2 : V -> V2 = dirV2
};