diff options
| author | peter.ljunglof <peter.ljunglof@gu.se> | 2012-01-27 22:56:14 +0000 |
|---|---|---|
| committer | peter.ljunglof <peter.ljunglof@gu.se> | 2012-01-27 22:56:14 +0000 |
| commit | 582c6cc92f6f3e2a17071beb59c4c3861b751a2a (patch) | |
| tree | aa930b80928e163e9e0427e45ad01a798d461a22 /examples/fracas/src/FraCaSEng.gf | |
| parent | 6f0795d8a37749293beb54fc0209af8d7c285157 (diff) | |
Added the FraCaS Treebank to the examples
Diffstat (limited to 'examples/fracas/src/FraCaSEng.gf')
| -rw-r--r-- | examples/fracas/src/FraCaSEng.gf | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/examples/fracas/src/FraCaSEng.gf b/examples/fracas/src/FraCaSEng.gf new file mode 100644 index 000000000..25e94777b --- /dev/null +++ b/examples/fracas/src/FraCaSEng.gf @@ -0,0 +1,69 @@ +--# -path=.:alltenses + +concrete FraCaSEng of FraCaS = GrammarEng, AdditionsEng, FraCaSLexEng ** open + Prelude, + (G=GrammarEng), + (A=AdditionsEng), + (E=ExtraEng), + (R=ResEng), + (P=ParadigmsEng), + (X=ParamX), + (C=Coordination) + in { + +-- language independent functions + +lin + ComparAsAs x0 x1 = (G.CAdvAP (G.as_CAdv) (G.PositA x0) x1); + +lin + Adverbial x0 = (PAdverbial (G.NoPConj) x0); + PAdverbial x0 x1 = (G.PhrUtt x0 (G.UttAdv x1) (G.NoVoc)); + Nounphrase x0 = (PNounphrase (G.NoPConj) x0); + PNounphrase x0 x1 = (G.PhrUtt x0 (G.UttNP x1) (G.NoVoc)); + Question x0 = (PQuestion (G.NoPConj) x0); + PQuestion x0 x1 = (G.PhrUtt x0 (G.UttQS x1) (G.NoVoc)); + Sentence x0 = (PSentence (G.NoPConj) x0); + PSentence x0 x1 = (G.PhrUtt x0 (G.UttS x1) (G.NoVoc)); + +lin + Past = (G.TTAnt (G.TPast) (G.ASimul)); + PastPerfect = (G.TTAnt (G.TPast) (G.AAnter)); + Present = (G.TTAnt (G.TPres) (G.ASimul)); + PresentPerfect = (G.TTAnt (G.TPres) (G.AAnter)); + Future = (G.TTAnt (G.TFut) (G.ASimul)); + FuturePerfect = (G.TTAnt (G.TFut) (G.AAnter)); + Conditional = (G.TTAnt (G.TCond) (G.ASimul)); + +lin + ConjCN2 c n1 n2 = (G.ConjCN c (G.BaseCN n1 n2)); + ConjNP2 c n1 n2 = (G.ConjNP c (G.BaseNP n1 n2)); + ConjNP3 c n1 n2 n3 = (G.ConjNP c (G.ConsNP n1 (G.BaseNP n2 n3))); + ConjQS2 c q1 q2 = (A.ConjQS c (A.BaseQS q1 q2)); + ConjS2 c s1 s2 = (G.ConjS c (G.BaseS s1 s2)); + ConjVPI2 c v1 v2 = (A.ConjVPI c (A.BaseVPI (A.MkVPI v1) (A.MkVPI v2))); + ConjVPS2 c t1 p1 v1 t2 p2 v2 = (A.ConjVPS c (A.BaseVPS (A.MkVPS t1 p1 v1) (A.MkVPS t2 p2 v2))); + +-- language dependent functions + +lin + UncNeg = E.UncNeg ; + +lin + ComplVSa = A.ComplBareVS ; + ProgrVPa = G.ProgrVP ; + +lin + elliptic_V = P.mkV ellipsis ellipsis ellipsis ellipsis ellipsis ; + elliptic_NP_Sg = {s = \\c => ellipsis; a = R.AgP3Sg R.Neutr} ; + elliptic_NP_Pl = {s = \\c => ellipsis; a = R.AgP3Pl} ; + elliptic_VP = R.predV elliptic_V ; + elliptic_Cl = {s = \\_,_,_,_ => ellipsis} ; + elliptic_VPSlash = R.predV elliptic_V ** {c2 = ""}; + elliptic_V2V = P.mkV2V elliptic_V P.noPrep P.noPrep ; + elliptic_CN = {s = \\n,c => ellipsis; g = R.Neutr} ; + +oper + ellipsis : Str = "[..]" ; + +} |
