forked from GitHub/gf-core
84 lines
2.0 KiB
Plaintext
84 lines
2.0 KiB
Plaintext
--# -path=.:alltenses
|
|
|
|
concrete AdditionsSwe of Additions = CatSwe **
|
|
open CommonScand, Coordination, ResSwe, ParamX,
|
|
Prelude,
|
|
(E=ExtraSwe),
|
|
(M=MorphoSwe),
|
|
(P=ParadigmsSwe),
|
|
(I=IrregSwe),
|
|
(G=GrammarSwe),
|
|
(X=ParamX),
|
|
(C=Coordination)
|
|
in {
|
|
|
|
-- First we start with the contents of the RGL's ExtraSwe.gf, as it looked like in October 2011.
|
|
|
|
lin
|
|
GenNP = E.GenNP ;
|
|
ComplBareVS = E.ComplBareVS ;
|
|
StrandRelSlash = E.StrandRelSlash ;
|
|
EmptyRelSlash = E.EmptyRelSlash ;
|
|
|
|
lincat
|
|
VPI = E.VPI ;
|
|
[VPI] = E.ListVPI ;
|
|
|
|
lin
|
|
BaseVPI = E.BaseVPI ;
|
|
ConsVPI = E.ConsVPI ;
|
|
MkVPI = E.MkVPI ;
|
|
ConjVPI = E.ConjVPI ;
|
|
ComplVPIVV = E.ComplVPIVV ;
|
|
|
|
lincat
|
|
VPS = E.VPS ;
|
|
[VPS] = E.ListVPS ;
|
|
|
|
lin
|
|
BaseVPS = E.BaseVPS ;
|
|
ConsVPS = E.ConsVPS ;
|
|
PredVPS = E.PredVPS ;
|
|
MkVPS = E.MkVPS ;
|
|
ConjVPS = E.ConjVPS ;
|
|
|
|
lin
|
|
PassVPSlash vps = variants{} ; -- M.insertObj (\\a => "[??]") (UseV M.verbBecome) ;
|
|
PartVP vp = variants{} ; -- {s = \\ap => "[??]"; isPre = False} ;
|
|
EmbedPresPart vp = variants{} ;
|
|
|
|
-- And then we give some FraCaS-specific additions to the original ExtraSwe.gf.
|
|
|
|
lincat
|
|
[QS] = {s1,s2 : X.QForm => Str} ;
|
|
[Det] = {s1,s2,sp1,sp2 : Bool => M.NGender => Str ; n : M.Number ; det : M.DetSpecies} ;
|
|
|
|
lin
|
|
RelNPa np rs = {
|
|
s = \\c => np.s ! c ++ rs.s ! np.a ! M.RNom ;
|
|
a = np.a ;
|
|
isMod = np.isMod
|
|
} ;
|
|
|
|
UseComparA_prefix a = {s = (G.UseComparA a).s; isPre = True};
|
|
|
|
PassV2s v2 = predV (P.depV (lin V v2)) ;
|
|
|
|
SoDoI subj = M.mkClause "det" (M.agrP3 M.neutrum M.Sg)
|
|
(M.insertObj (\\_ => subj.s ! M.nominative ++ "också") (G.UseV I.göra_V)) ;
|
|
-- error in Anter: "det har gjort han också"
|
|
-- error in PNeg: "det gör inte han också" (better: "inte heller")
|
|
-- probably error in Inv/Sub word order too
|
|
|
|
ExtAdvQS a s = {s = \\q => a.s ++ "," ++ s.s ! q} ;
|
|
|
|
ConjQS conj ss = C.conjunctDistrTable X.QForm conj ss ;
|
|
BaseQS x y = C.twoTable X.QForm x y ;
|
|
ConsQS x xs = C.consrTable X.QForm C.comma x xs ;
|
|
|
|
ConjDet conj ss = variants{} ;
|
|
BaseDet x y = variants{} ;
|
|
ConsDet x xs = variants{} ;
|
|
|
|
}
|