mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-03 00:02:50 -06:00
70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
--# -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 = "[..]" ;
|
|
|
|
}
|