--# -path=.:present:prelude incomplete concrete MultiI of Multi = Lang - [ NP, Adv, VP, Cl, QCl, S, SC, QS, Imp, Utt, -- Cat DetCN, UsePN, UsePron, PredetNP, PPartNP, AdvNP, -- Noun PositAdvAdj, PrepNP, ComparAdvAdj, ComparAdvAdjS, AdAdv, SubjS, AdvSC, AdnCAdv, ComplV2, ComplV3, ComplVV, PredVP, UseCl, PhrUtt, UttS, UttQS, UttImpSg, UttImpPl, UttNP, UttAdv, UttVP ] ** open (Lang = Lang) in { flags optimize = all_subs ; lincat NP = Lang.NP ** {point : Str} ; Adv = Lang.Adv ** {point : Str} ; Det = Lang.Det ** {point : Str} ; Comp= Lang.Comp** {point : Str} ; VP = Lang.VP ** {point : Str} ; Cl = Lang.Cl ** {point : Str} ; QCl = Lang.QCl ** {point : Str} ; S = Lang.S ** {point : Str} ; SC = Lang.SC ** {point : Str} ; QS = Lang.QS ** {point : Str} ; Imp = Lang.Imp ** {point : Str} ; Utt = Lang.Utt ** {point : Str} ; Quant = Lang.Quant ** {point : Str} ; --- QuantSg = Lang.QuantSg ** {point : Str} ; --- QuantPl = Lang.QuantPl ** {point : Str} ; Point = {point : Str} ; Speech = {s : Str} ; lin DetCN det cn = Lang.DetCN det cn ** {point = det.point} ; UsePN pn = Lang.UsePN pn ** noPoint ; UsePron pn = Lang.UsePron pn ** noPoint ; PredetNP p np = Lang.PredetNP p np ** {point = np.point} ; PPartNP np v = Lang.PPartNP np v ** {point = np.point} ; AdvNP np adv = Lang.AdvNP np adv ** {point = np.point ++ adv.point} ; DetSg qu o = Lang.DetSg qu o ** {point = qu.point} ; DetPl qu n o = Lang.DetPl qu n o ** {point = qu.point} ; --- SgQuant qu = Lang.SgQuant qu ** {point = qu.point} ; --- PlQuant qu = Lang.PlQuant qu ** {point = qu.point} ; PossPron p = Lang.PossPron p ** noPoint ; DefArt = Lang.DefArt ** noPoint ; IndefArt = Lang.IndefArt ** noPoint ; MassDet = Lang.MassDet ** noPoint ; PositAdvAdj a = Lang.PositAdvAdj a ** noPoint ; PrepNP p np = Lang.PrepNP p np ** {point = np.point} ; ComparAdvAdj ca a np = Lang.ComparAdvAdj ca a np ** {point = np.point} ; ComparAdvAdjS ca a s = Lang.ComparAdvAdjS ca a s ** {point = s.point} ; AdAdv ad a = Lang.AdAdv ad a ** {point = a.point} ; SubjS su s = Lang.SubjS su s ** {point = s.point} ; AdvSC sc = Lang.AdvSC sc ** {point = sc.point} ; UseV v = Lang.UseV v ** noPoint ; ComplV2 v np = Lang.ComplV2 v np ** {point = np.point} ; ComplV3 v np p = Lang.ComplV3 v np p ** {point = np.point ++ p.point} ; ComplVV v vp = Lang.ComplVV v vp ** {point = vp.point} ; ComplVS v s = Lang.ComplVS v s ** {point = s.point} ; ComplVQ v s = Lang.ComplVQ v s ** {point = s.point} ; ComplVA v ap = Lang.ComplVA v ap ** noPoint ; ---- ComplV2A v np ap = Lang.ComplV2A v np ap ** {point = np.point} ; ---- ap ReflV2 v = Lang.ReflV2 v ** noPoint ; UseComp c = Lang.UseComp c ** {point = c.point} ; PassV2 v = Lang.PassV2 v ** noPoint ; AdvVP vp ad = Lang.AdvVP vp ad ** {point = vp.point ++ ad.point} ; AdVVP ad vp = Lang.AdVVP ad vp ** {point = vp.point} ; CompAP v = Lang.CompAP v ** noPoint ; CompNP c = Lang.CompNP c ** {point = c.point} ; CompAdv c = Lang.CompAdv c ** {point = c.point} ; PredVP np vp = Lang.PredVP np vp ** {point = np.point ++ vp.point} ; PredSCVP sc vp = Lang.PredSCVP sc vp ** {point = sc.point ++ vp.point} ; ImpVP vp = Lang.ImpVP vp ** {point = vp.point} ; EmbedS s = Lang.EmbedS s ** {point = s.point} ; EmbedQS s = Lang.EmbedQS s ** {point = s.point} ; EmbedVP s = Lang.EmbedVP s ** {point = s.point} ; UseCl t a p cl = Lang.UseCl t a p cl ** {point = cl.point} ; UseQCl t a p cl = Lang.UseQCl t a p cl ** {point = cl.point} ; QuestCl cl = Lang.QuestCl cl ** {point = cl.point} ; QuestVP ip cl = Lang.QuestVP ip cl ** {point = cl.point} ; QuestIAdv ip cl = Lang.QuestIAdv ip cl ** {point = cl.point} ; QuestIComp ip cl = Lang.QuestIComp ip cl ** {point = cl.point} ; QuestSlash ip cl = Lang.QuestSlash ip cl ** noPoint ; UttS s = Lang.UttS s ** {point = s.point} ; UttQS s = Lang.UttQS s ** {point = s.point} ; UttImpSg p s = Lang.UttImpSg p s ** {point = s.point} ; UttImpPl p s = Lang.UttImpPl p s ** {point = s.point} ; UttNP s = Lang.UttNP s ** {point = s.point} ; UttAdv s = Lang.UttAdv s ** {point = s.point} ; UttVP s = Lang.UttVP s ** {point = s.point} ; UttIP s = Lang.UttIP s ** noPoint ; UttIAdv s = Lang.UttIAdv s ** noPoint ; ---- to be completed with point ConjS c xs = Lang.ConjS c xs ** noPoint ; ConjNP c xs = Lang.ConjNP c xs ** noPoint ; ConjAdv c xs = Lang.ConjAdv c xs ** noPoint ; DConjS c xs = Lang.DConjS c xs ** noPoint ; DConjNP c xs = Lang.DConjNP c xs ** noPoint ; DConjAdv c xs = Lang.DConjAdv c xs ** noPoint ; ImpersCl vp = Lang.ImpersCl vp ** {point = vp.point} ; GenericCl vp = Lang.GenericCl vp ** {point = vp.point} ; ExistNP np = Lang.ExistNP np ** {point = np.point} ; ExistIP ip = Lang.ExistIP ip ** noPoint ; ProgrVP vp = Lang.ProgrVP vp ** {point = vp.point} ; ImpPl1 vp = Lang.ImpPl1 vp ** {point = vp.point} ; everybody_NP = Lang.everybody_NP ** noPoint ; everything_NP = Lang.everything_NP ** noPoint ; somebody_NP = Lang.somebody_NP ** noPoint ; something_NP = Lang.something_NP ** noPoint ; that_NP = Lang.that_NP ** noPoint ; these_NP = Lang.these_NP ** noPoint ; this_NP = Lang.this_NP ** noPoint ; those_NP = Lang.those_NP ** noPoint ; --- one_Quant = Lang.one_Quant ** noPoint ; that_Quant = Lang.that_Quant ** noPoint ; this_Quant = Lang.this_Quant ** noPoint ; everywhere_Adv = Lang.everywhere_Adv ** noPoint ; here_Adv = Lang.here_Adv ** noPoint ; here7to_Adv = Lang.here7to_Adv ** noPoint ; here7from_Adv = Lang.here7from_Adv ** noPoint ; somewhere_Adv = Lang.somewhere_Adv ** noPoint ; there_Adv = Lang.there_Adv ** noPoint ; there7to_Adv = Lang.there7to_Adv ** noPoint ; there7from_Adv = Lang.there7from_Adv ** noPoint ; every_Det = Lang.every_Det ** noPoint ; few_Det = Lang.few_Det ** noPoint ; many_Det = Lang.many_Det ** noPoint ; much_Det = Lang.much_Det ** noPoint ; someSg_Det = Lang.someSg_Det ** noPoint ; somePl_Det = Lang.somePl_Det ** noPoint ; already_Adv = Lang.already_Adv ** noPoint ; far_Adv = Lang.far_Adv ** noPoint ; now_Adv = Lang.now_Adv ** noPoint ; --2 New constructs --3 interface to top level PhrUtt pc utt voc = { s = Predef.toStr Phr (Lang.PhrUtt pc utt voc) ++ ";" ++ utt.point } ; SpeechUtt pc utt voc = { s = Predef.toStr Phr (Lang.PhrUtt pc utt voc) } ; --3 Demonstratives this8point_NP p = Lang.this_NP ** p ; that8point_NP p = Lang.that_NP ** p ; these8point_NP p = Lang.these_NP ** p ; those8point_NP p = Lang.those_NP ** p ; here8point_Adv p = Lang.here_Adv ** p ; here7to8point_Adv p = Lang.here7to_Adv ** p ; here7from8point_Adv p = Lang.here7from_Adv ** p ; this8point_Quant p = Lang.this_Quant ** p ; that8point_Quant p = Lang.that_Quant ** p ; MkPoint s = {point = s.s} ; oper noPoint = {point = []} ; }