diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-09-22 11:49:15 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-09-22 11:49:15 +0000 |
| commit | 98665df78b8018af30051cb4a9a31f845e0ba19d (patch) | |
| tree | 67ba30b09e2b9590a00a4b193bf7611caa935af8 /next-lib/src/english/SentenceEng.gf | |
| parent | 4862018f140a1bdcc7961d445ed9aa92facd742f (diff) | |
moved lib/next-resource to next-lib/src, to enable linking with next-lib as value of GF_LIB_PATH
Diffstat (limited to 'next-lib/src/english/SentenceEng.gf')
| -rw-r--r-- | next-lib/src/english/SentenceEng.gf | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/next-lib/src/english/SentenceEng.gf b/next-lib/src/english/SentenceEng.gf new file mode 100644 index 000000000..4ab0dcc87 --- /dev/null +++ b/next-lib/src/english/SentenceEng.gf @@ -0,0 +1,67 @@ +concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in { + + flags optimize=all_subs ; + + lin + + PredVP np vp = mkClause (np.s ! Nom) np.a vp ; + + PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ; + + ImpVP vp = { + s = \\pol,n => + let + agr = AgP2 (numImp n) ; + verb = infVP True vp agr ; + dont = case pol of { + CNeg True => "don't" ; + CNeg False => "do" ++ "not" ; + _ => [] + } + in + dont ++ verb + } ; + + SlashVP np vp = + mkClause (np.s ! Nom) np.a vp ** {c2 = vp.c2} ; + + AdvSlash slash adv = { + s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ; + c2 = slash.c2 + } ; + + SlashPrep cl prep = cl ** {c2 = prep.s} ; + + SlashVS np vs slash = + mkClause (np.s ! Nom) np.a + (insertObj (\\_ => conjThat ++ slash.s) (predV vs)) ** + {c2 = slash.c2} ; + + EmbedS s = {s = conjThat ++ s.s} ; + EmbedQS qs = {s = qs.s ! QIndir} ; + EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr + + UseCl t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir + } ; + UseQCl t p cl = { + s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! q + } ; + UseRCl t p cl = { + s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ; + c = cl.c + } ; + UseSlash t p cl = { + s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir ; + c2 = cl.c2 + } ; + + AdvS a s = {s = a.s ++ "," ++ s.s} ; + + RelS s r = {s = s.s ++ "," ++ r.s ! agrP3 Sg} ; + + oper + ctr = contrNeg True ; -- contracted negations + +} + |
