summaryrefslogtreecommitdiff
path: root/next-lib/src/english
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-11-15 11:19:10 +0000
committeraarne <aarne@cs.chalmers.se>2008-11-15 11:19:10 +0000
commit3ff57f6184963acde7f3cc2dcf0638c0e819929a (patch)
treee5c975ae99dd3e45f9a4e700658b39d9bf90e68f /next-lib/src/english
parent6b4f9715e6acb87e05b8229bafd1f41d906e6409 (diff)
comparative adverbs generalized to cover more of Attempto
Diffstat (limited to 'next-lib/src/english')
-rw-r--r--next-lib/src/english/AdjectiveEng.gf4
-rw-r--r--next-lib/src/english/AdverbEng.gf7
-rw-r--r--next-lib/src/english/LexiconEng.gf8
-rw-r--r--next-lib/src/english/MakeStructuralEng.gf4
-rw-r--r--next-lib/src/english/StructuralEng.gf9
5 files changed, 20 insertions, 12 deletions
diff --git a/next-lib/src/english/AdjectiveEng.gf b/next-lib/src/english/AdjectiveEng.gf
index 2306f5d9c..a060860dd 100644
--- a/next-lib/src/english/AdjectiveEng.gf
+++ b/next-lib/src/english/AdjectiveEng.gf
@@ -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 ;
diff --git a/next-lib/src/english/AdverbEng.gf b/next-lib/src/english/AdverbEng.gf
index ec7d46321..178f85e4c 100644
--- a/next-lib/src/english/AdverbEng.gf
+++ b/next-lib/src/english/AdverbEng.gf
@@ -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} ;
}
diff --git a/next-lib/src/english/LexiconEng.gf b/next-lib/src/english/LexiconEng.gf
index 92319b8b2..301f0d683 100644
--- a/next-lib/src/english/LexiconEng.gf
+++ b/next-lib/src/english/LexiconEng.gf
@@ -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") ;
diff --git a/next-lib/src/english/MakeStructuralEng.gf b/next-lib/src/english/MakeStructuralEng.gf
index 31f3c0960..7871cb3c6 100644
--- a/next-lib/src/english/MakeStructuralEng.gf
+++ b/next-lib/src/english/MakeStructuralEng.gf
@@ -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 = <>} ;
}
diff --git a/next-lib/src/english/StructuralEng.gf b/next-lib/src/english/StructuralEng.gf
index bbad3efdd..893ca2e82 100644
--- a/next-lib/src/english/StructuralEng.gf
+++ b/next-lib/src/english/StructuralEng.gf
@@ -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" ;
+
}