forked from GitHub/gf-core
comparative adverbs generalized to cover more of Attempto
This commit is contained in:
@@ -20,6 +20,10 @@ concrete AdjectiveEng of Adjective = CatEng ** open ResEng, Prelude in {
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
CAdvAP ad ap np = {
|
||||
s = \\a => ad.s ++ ap.s ! a ++ ad.p ++ np.s ! Nom ;
|
||||
isPre = False
|
||||
} ;
|
||||
|
||||
ComplA2 a np = {
|
||||
s = \\_ => a.s ! AAdj Posit ++ a.c2 ++ np.s ! Acc ;
|
||||
|
||||
@@ -3,10 +3,10 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in {
|
||||
lin
|
||||
PositAdvAdj a = {s = a.s ! AAdv} ;
|
||||
ComparAdvAdj cadv a np = {
|
||||
s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
||||
s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ np.s ! Nom
|
||||
} ;
|
||||
ComparAdvAdjS cadv a s = {
|
||||
s = cadv.s ++ a.s ! AAdv ++ "than" ++ s.s
|
||||
s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ s.s
|
||||
} ;
|
||||
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc} ;
|
||||
@@ -14,8 +14,7 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in {
|
||||
AdAdv = cc2 ;
|
||||
|
||||
SubjS = cc2 ;
|
||||
---b AdvSC s = s ; --- this rule give stack overflow in ordinary parsing
|
||||
|
||||
AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
||||
AdnCAdv cadv = {s = cadv.s ++ cadv.p} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ lin
|
||||
stone_N = regN "stone" ;
|
||||
stove_N = regN "stove" ;
|
||||
student_N = mkN human (regN "student") ;
|
||||
stupid_A = regADeg "stupid" ;
|
||||
stupid_A = mkA "stupid" ;
|
||||
sun_N = regN "sun" ;
|
||||
switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
||||
switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
||||
@@ -193,7 +193,7 @@ lin
|
||||
travel_V = (regDuplV "travel") ;
|
||||
tree_N = regN "tree" ;
|
||||
---- trousers_N = regN "trousers" ;
|
||||
ugly_A = regADeg "ugly" ;
|
||||
ugly_A = mkA "ugly" ;
|
||||
understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
||||
university_N = regN "university" ;
|
||||
village_N = regN "village" ;
|
||||
@@ -203,7 +203,7 @@ lin
|
||||
war_N = regN "war" ;
|
||||
watch_V2 = dirV2 (regV "watch") ;
|
||||
water_N = regN "water" ;
|
||||
white_A = regADeg "white" ;
|
||||
white_A = mkA "white" ;
|
||||
window_N = regN "window" ;
|
||||
wine_N = regN "wine" ;
|
||||
win_V2 = dirV2 (irregDuplV "win" "won" "won") ;
|
||||
@@ -211,7 +211,7 @@ lin
|
||||
wonder_VQ = mkVQ (regV "wonder") ;
|
||||
wood_N = regN "wood" ;
|
||||
write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
||||
yellow_A = regADeg "yellow" ;
|
||||
yellow_A = mkA "yellow" ;
|
||||
young_A = regADeg "young" ;
|
||||
|
||||
do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ;
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
--# -path=.:../common:../abstract
|
||||
|
||||
resource MakeStructuralEng = open CatEng, ParadigmsEng, MorphoEng, Prelude in {
|
||||
resource MakeStructuralEng = open CatEng, ParadigmsEng, ResEng, MorphoEng, Prelude in {
|
||||
|
||||
oper
|
||||
mkConj : Str -> Str -> Number -> Conj = \x,y,n ->
|
||||
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
|
||||
mkSubj : Str -> Subj = \x ->
|
||||
{s = x ; lock_Subj = <>} ;
|
||||
mkNP : Str -> Number -> NP = \s,n ->
|
||||
regNP s n ** {lock_NP = <>} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete StructuralEng of Structural = CatEng **
|
||||
open MorphoEng, ResEng, ParadigmsEng, Prelude in {
|
||||
open MorphoEng, ResEng, ParadigmsEng, (C = ConstructX), Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
@@ -54,9 +54,9 @@ concrete StructuralEng of Structural = CatEng **
|
||||
i_Pron = mkPron "I" "me" "my" "mine" singular P1 human ;
|
||||
in_Prep = mkPrep "in" ;
|
||||
it_Pron = mkPron "it" "it" "its" "its" singular P3 nonhuman ;
|
||||
less_CAdv = ss "less" ;
|
||||
less_CAdv = C.mkCAdv "less" "than" ;
|
||||
many_Det = mkDeterminer plural "many" ;
|
||||
more_CAdv = ss "more" ;
|
||||
more_CAdv = C.mkCAdv "more" "than" ;
|
||||
most_Predet = ss "most" ;
|
||||
much_Det = mkDeterminer singular "much" ;
|
||||
must_VV = {
|
||||
@@ -132,5 +132,8 @@ concrete StructuralEng of Structural = CatEng **
|
||||
at_most_AdN = mkAdN "at most" ;
|
||||
|
||||
except_Prep = mkPrep "except" ;
|
||||
|
||||
as_CAdv = C.mkCAdv "as" "as" ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user