mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-06 17:52:51 -06:00
nounless determiner NPs added; started Backward module - both in exper so far
This commit is contained in:
49
lib/resource/exper/english/BackwardEng.gf
Normal file
49
lib/resource/exper/english/BackwardEng.gf
Normal file
@@ -0,0 +1,49 @@
|
||||
concrete BackwardEng of Backward = CatEng ** open ResEng in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
|
||||
-- A repository of obsolete constructs, needed for backward compatibility.
|
||||
-- They create spurious ambiguities if used in combination with Lang.
|
||||
|
||||
-- from Verb 19/4/2008
|
||||
|
||||
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ;
|
||||
ComplV3 v np np2 =
|
||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
||||
ComplV2V v np vp =
|
||||
insertObj (\\a => infVP v.isAux vp a)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2S v np s =
|
||||
insertObj (\\_ => conjThat ++ s.s)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2Q v np q =
|
||||
insertObj (\\_ => q.s ! QIndir)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2A v np ap =
|
||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
||||
|
||||
-- from Sentence 19/4/2008
|
||||
|
||||
SlashV2 np v2 =
|
||||
mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
||||
|
||||
SlashVVV2 np vv v2 =
|
||||
mkClause (np.s ! Nom) np.a
|
||||
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
||||
{c2 = v2.c2} ;
|
||||
|
||||
-- from Noun 19/4/2008
|
||||
|
||||
NumInt n = {s = n.s ; n = Pl} ;
|
||||
OrdInt n = {s = n.s ++ "th"} ; --- DEPRECATED
|
||||
|
||||
-- from Structural 19/4/2008
|
||||
|
||||
that_NP = regNP "that" Sg ;
|
||||
these_NP = regNP "these" Pl ;
|
||||
this_NP = regNP "this" Sg ;
|
||||
those_NP = regNP "those" Pl ;
|
||||
|
||||
}
|
||||
@@ -49,7 +49,7 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
|
||||
Det = {s : Str ; n : Number} ;
|
||||
Predet, Ord = {s : Str} ;
|
||||
Num = {s : Str; n : Number } ;
|
||||
Quant = {s : Number => Str} ;
|
||||
Quant, Art = {s : Number => Str} ;
|
||||
|
||||
-- Numeral
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
s = \\c => det.s ++ cn.s ! det.n ! c ;
|
||||
a = agrP3 det.n
|
||||
} ;
|
||||
|
||||
UsePN pn = pn ** {a = agrP3 Sg} ;
|
||||
UsePron p = p ;
|
||||
|
||||
@@ -35,8 +36,17 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
n = num.n
|
||||
} ;
|
||||
|
||||
--- SgQuant quant = {s = quant.s ! Sg} ; DEPRECATED
|
||||
--- PlQuant quant = {s = quant.s ! Pl} ;
|
||||
DetSgNP quant ord = {
|
||||
s = \\c => quant.s ! Sg ++ ord.s ; ---- case
|
||||
a = agrP3 Sg
|
||||
} ;
|
||||
|
||||
DetPlNP quant num ord = {
|
||||
s = \\c => quant.s ! num.n ++ num.s ++ ord.s ; ---- case
|
||||
a = agrP3 num.n
|
||||
} ;
|
||||
|
||||
ArtQuant q = q ;
|
||||
|
||||
PossPron p = {s = \\_ => p.s ! Gen} ;
|
||||
|
||||
@@ -45,7 +55,6 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
|
||||
NumDigits n = {s = n.s ! NCard ; n = n.n} ;
|
||||
|
||||
NumInt n = {s = n.s ; n = Pl} ;
|
||||
--table (Predef.Ints 1 * Predef.Ints 9) {
|
||||
-- <0,1> => Sg ;
|
||||
-- _ => Pl -- DEPRECATED
|
||||
@@ -53,7 +62,6 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
-- ---- <n.size,n.last>
|
||||
-- } ;
|
||||
|
||||
OrdInt n = {s = n.s ++ "th"} ; --- DEPRECATED
|
||||
OrdDigits n = {s = n.s ! NOrd} ;
|
||||
|
||||
NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ;
|
||||
@@ -63,6 +71,21 @@ concrete NounEng of Noun = CatEng ** open ResEng, Prelude in {
|
||||
|
||||
OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
||||
|
||||
NumNumeralNP num = {
|
||||
s = \\c => num.s ! NCard ; ---- case
|
||||
a = agrP3 num.n
|
||||
} ;
|
||||
|
||||
OrdNumeralNP ord = {
|
||||
s = \\c => "the" ++ ord.s ! NOrd ; ---- case
|
||||
a = agrP3 Sg
|
||||
} ;
|
||||
|
||||
OrdSuperlNP a = {
|
||||
s = \\c => "the" ++ a.s ! AAdj Superl ; ---- case
|
||||
a = agrP3 Sg
|
||||
} ;
|
||||
|
||||
DefArt = {s = \\_ => artDef} ;
|
||||
|
||||
IndefArt = {
|
||||
|
||||
@@ -25,11 +25,6 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
||||
SlashVP np vp =
|
||||
mkClause (np.s ! Nom) np.a vp ** {c2 = vp.c2} ;
|
||||
|
||||
SlashVVV2 np vv v2 =
|
||||
mkClause (np.s ! Nom) np.a
|
||||
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
||||
{c2 = v2.c2} ;
|
||||
|
||||
AdvSlash slash adv = {
|
||||
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
||||
c2 = slash.c2
|
||||
@@ -66,16 +61,6 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
||||
oper
|
||||
ctr = contrNeg True ; -- contracted negations
|
||||
|
||||
-- obsolete
|
||||
lin
|
||||
SlashV2 np v2 =
|
||||
mkClause (np.s ! Nom) np.a (predV v2) ** {c2 = v2.c2} ;
|
||||
|
||||
SlashVVV2 np vv v2 =
|
||||
mkClause (np.s ! Nom) np.a
|
||||
(insertObj (\\a => infVP vv.isAux (predV v2) a) (predVV vv)) **
|
||||
{c2 = v2.c2} ;
|
||||
|
||||
}
|
||||
|
||||
{-
|
||||
|
||||
@@ -87,16 +87,12 @@ concrete StructuralEng of Structural = CatEng **
|
||||
something_NP = regNP "something" Sg ;
|
||||
somewhere_Adv = ss "somewhere" ;
|
||||
that_Quant = mkQuant "that" "those" ;
|
||||
that_NP = regNP "that" Sg ;
|
||||
there_Adv = ss "there" ;
|
||||
there7to_Adv = ss "there" ;
|
||||
there7from_Adv = ss ["from there"] ;
|
||||
therefore_PConj = ss "therefore" ;
|
||||
these_NP = regNP "these" Pl ;
|
||||
they_Pron = mkNP "they" "them" "their" Pl P3 ;
|
||||
this_Quant = mkQuant "this" "these" ;
|
||||
this_NP = regNP "this" Sg ;
|
||||
those_NP = regNP "those" Pl ;
|
||||
through_Prep = ss "through" ;
|
||||
too_AdA = ss "too" ;
|
||||
to_Prep = ss "to" ;
|
||||
|
||||
@@ -47,21 +47,4 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
|
||||
CompNP np = {s = \\_ => np.s ! Acc} ;
|
||||
CompAdv a = {s = \\_ => a.s} ;
|
||||
|
||||
-- obsolete, just creating spurious ambiguity now
|
||||
|
||||
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ;
|
||||
ComplV3 v np np2 =
|
||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
||||
ComplV2V v np vp =
|
||||
insertObj (\\a => infVP v.isAux vp a)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2S v np s =
|
||||
insertObj (\\_ => conjThat ++ s.s)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2Q v np q =
|
||||
insertObj (\\_ => q.s ! QIndir)
|
||||
(insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v)) ;
|
||||
ComplV2A v np ap =
|
||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user