diff --git a/lib/src/experimental/SmallNDPredFunctor.gf b/lib/src/experimental/SmallNDPredFunctor.gf new file mode 100644 index 000000000..144592933 --- /dev/null +++ b/lib/src/experimental/SmallNDPredFunctor.gf @@ -0,0 +1,230 @@ +incomplete concrete NDPredFunctor of NDPred = + Cat [Ant,NP,Utt,IP,IAdv,Conj,RS,RP,Subj] ** + open + PredInterface, + Pred, + ParamX, + Prelude + in { + +------------------------------------ +-- lincats +------------------------------------- + +lincat + Tense = Pred.Tense ; + Pol = Pred.Pol ; + + PrV_none, PrV_np, PrV_v, PrV_s, PrV_q, PrV_a, PrV_n, + PrV_np_np, PrV_np_v, PrV_np_s, PrV_np_q, PrV_np_a, PrV_np_n = Pred.PrV ; + + PrVP_none, PrVP_np, PrVP_v, PrVP_s, PrVP_q, PrVP_a, PrVP_n, + PrVP_np_np, PrVP_np_v, PrVP_np_s, PrVP_np_q, PrVP_np_a, PrVP_np_n = Pred.PrVP ; + + PrVPI_none, PrVPI_np = Pred.PrVPI ; + + PrCl_none, PrCl_np = Pred.PrCl ; + + PrQCl_none, PrQCl_np = Pred.PrQCl ; + + VPC_none, VPC_np = Pred.VPC ; + + ClC_none, ClC_np = Pred.ClC ; + + PrAdv_none, PrAdv_np = Pred.PrAdv ; + + PrS = Pred.PrS ; + + PrAP_none, PrAP_np = Pred.PrAP ; + + PrCN_none, PrCN_np = Pred.PrCN ; + +-- reference linearizations for chunking +---- should be by functor as well + +linref + PrVP_none, PrVP_np, PrVP_v, PrVP_s, PrVP_q, PrVP_a, PrVP_n, + PrVP_np_np, PrVP_np_v, PrVP_np_s, PrVP_np_q, PrVP_np_a, PrVP_np_n + = linrefPrVP ; + PrCl_none, PrCl_np = linrefPrCl ; + PrQCl_none, PrQCl_np = linrefPrQCl ; + PrAdv_none, PrAdv_np = linrefPrAdv ; +---- PrAP_none, PrAP_np = \ap -> ap.s ! defaultAgr ++ ap.obj1 ! defaultAgr ; +---- PrCN_none, PrCN_np = \cn -> cn.s ! Sg ++ cn.obj1 ! defaultAgr ; + +---------------------------- +--- linearization rules ---- +---------------------------- + +lin + +-- standard general + + TPres = Pred.TPres ; + TPast = Pred.TPast ; + TFut = Pred.TFut ; + TCond = Pred.TCond ; + ASimul = Pred.ASimul ; + AAnter = Pred.AAnter ; + PPos = Pred.PPos ; + PNeg = Pred.PNeg ; + + UseV_none, UseV_np, UseV_v, UseV_s, UseV_q, UseV_a, UseV_n, UseV_np_np, UseV_np_v, UseV_np_s, UseV_np_q, UseV_np_a, UseV_np_n + = Pred.UseV Pred.aNone ; +{- + PassUseV_none, PassUseV_np, PassUseV_v, PassUseV_s, PassUseV_q, PassUseV_a, PassUseV_n + = Pred.PassUseV Pred.aNone ; + AgentPassUseV_none, AgentPassUseV_np, AgentPassUseV_v, AgentPassUseV_s, AgentPassUseV_q, AgentPassUseV_a, AgentPassUseV_n + = Pred.AgentPassUseV Pred.aNone ; +-} + UseAP_none, UseAP_np + = Pred.UseAP Pred.aNone ; + UseCN_none, UseCN_np + = Pred.UseCN Pred.aNone ; + UseAdv_none, UseAdv_np + = Pred.UseAdv Pred.aNone ; + UseNP_none + = Pred.UseNP ; +{- + UseS_none + = Pred.UseS ; + UseQ_none + = Pred.UseQ ; + UseVP_none + = Pred.UseVP ; +-} + ComplV2_none + = Pred.ComplV2 Pred.aNone ; +{- + ComplVV_none, ComplVV_np + = Pred.ComplVV Pred.aNone ; + ComplVS_none, ComplVS_np + = Pred.ComplVS Pred.aNone ; + ComplVA_none + = Pred.ComplVA Pred.aNone ; + ComplVQ_none + = Pred.ComplVQ Pred.aNone ; + ComplVN_none + = Pred.ComplVN Pred.aNone ; + + SlashV3_none + = Pred.SlashV3 Pred.aNone ; + SlashV2V_none, SlashV2V_np + = Pred.SlashV2V Pred.aNone ; + SlashV2S_none + = Pred.SlashV2S Pred.aNone ; + SlashV2Q_none + = Pred.SlashV2Q Pred.aNone ; + SlashV2A_none + = Pred.SlashV2A Pred.aNone ; + SlashV2N_none + = Pred.SlashV2N Pred.aNone ; + + ReflVP_none, ReflVP_np, ReflVP_v, ReflVP_s, ReflVP_q, ReflVP_a, ReflVP_n + = Pred.ReflVP Pred.aNone ; + ReflVP2_np + = Pred.ReflVP2 Pred.aNone ; + + InfVP_none, InfVP_np + = Pred.InfVP Pred.aNone ; +-} + PredVP_none, PredVP_np + = Pred.PredVP Pred.aNone ; +{- + SlashClNP_none + = Pred.SlashClNP Pred.aNone ; +-} + QuestCl_none, QuestCl_np + = Pred.QuestCl Pred.aNone ; + + QuestIAdv_none + = Pred.QuestIAdv Pred.aNone ; + + QuestIComp_none + = Pred.QuestIComp ; + + QuestVP_none + = Pred.QuestVP Pred.aNone ; +{- + QuestSlash_none + = Pred.QuestSlash Pred.aNone ; + + UseCl_none + = Pred.UseCl ; + UseQCl_none + = Pred.UseQCl ; + + UseAdvCl_none + = Pred.UseAdvCl ; +-} + UttPrS + = Pred.UttPrS ; + + AdvCl_none, AdvCl_np + = Pred.AdvCl Pred.aNone ; +{- + AdvQCl_none, AdvQCl_np + = Pred.AdvQCl Pred.aNone ; + +---- RelCl_none +---- = Pred.RelCl Pred.aNone ; + RelVP_none + = Pred.RelVP ; + RelSlash_none + = Pred.RelSlash ; + + PrImpSg + = Pred.PrImpSg ; + PrImpPl + = Pred.PrImpPl ; + + PresPartAP_none, PresPartAP_np + = Pred.PresPartAP Pred.aNone ; + + PastPartAP_none + = Pred.PastPartAP Pred.aNone ; + + AgentPastPartAP_none + = Pred.AgentPastPartAP Pred.aNone ; + + NomVPNP_none + = Pred.NomVPNP ; + + ByVP_none + = Pred.ByVP Pred.aNone ; + WhenVP_none + = Pred.WhenVP Pred.aNone ; + BeforeVP_none + = Pred.BeforeVP Pred.aNone ; + AfterVP_none + = Pred.AfterVP Pred.aNone ; + InOrderVP_none + = Pred.InOrderVP Pred.aNone ; + WithoutVP_none + = Pred.WithoutVP Pred.aNone ; + + StartVPC_none, StartVPC_np + = Pred.StartVPC Pred.aNone ; + ContVPC_none, ContVPC_np + = Pred.ContVPC Pred.aNone ; + UseVPC_none, UseVPC_np + = Pred.UseVPC Pred.aNone ; + + StartClC_none, StartClC_np + = Pred.StartClC Pred.aNone ; + ContClC_none, ContClC_np + = Pred.ContClC Pred.aNone ; + UseClC_none, UseClC_np + = Pred.UseClC Pred.aNone ; + + ComplAdv_none + = Pred.ComplAdv Pred.aNone ; + + SubjUttPreS + = Pred.SubjUttPreS ; + SubjUttPreQ + = Pred.SubjUttPreQ ; + SubjUttPost + = Pred.SubjUttPost ; +-} +} \ No newline at end of file