concrete RulesSwe of Rules = CategoriesSwe ** open Prelude, SyntaxSwe in { lin UseN = noun2CommNounPhrase ; ModAdj = modCommNounPhrase ; ModGenOne = npGenDet singular noNum ; ModGenNum = npGenDet plural ; UsePN = nameNounPhrase ; UseN2 = funAsCommNounPhrase ; AppN2 = appFunComm ; AppN3 = appFun2 ; UseA1 = adj2adjPhrase ; ComplA2 = complAdj ; PositADeg = positAdjPhrase ; ComparADeg = comparAdjPhrase ; SuperlNP = superlNounPhrase ; DetNP = detNounPhrase ; IndefOneNP = indefNounPhrase singular ; IndefNumNP = indefNounPhraseNum plural ; DefOneNP = defNounPhrase singular ; DefNumNP = defNounPhraseNum plural ; MassNP = detNounPhrase (mkDeterminerSg (detSgInvar []) IndefP) ; UseInt i = {s = table {Nom => i.s ; Gen => i.s ++ "s"}} ; --- NoNum = noNum ; SymbPN i = {s = \\_ => i.s ; g = Neutr ; x = NoMasc} ; SymbCN cn s = {s = \\a,n,c => cn.s ! a ! n ! c ++ s.s ; g = cn.g ; x = cn.x ; p = cn.p } ; IntCN cn s = {s = \\a,n,c => cn.s ! a ! n ! c ++ s.s ; g = cn.g ; x = cn.x ; p = cn.p } ; CNthatS = nounThatSentence ; PredVP = predVerbPhrase ; PosVG = predVerbGroup True ; NegVG = predVerbGroup False ; PredVG = predVerbGroupClause ; PredV = predVerb ; PredAP = predAdjective ; PredSuperl a = predAdjective (superlAdjPhrase a) ; PredCN = predCommNoun ; PredV2 = complTransVerb ; PredV3 = complDitransVerb ; PredPassV = passVerb ; PredNP = predNounPhrase ; PredPP = predAdverb ; PredVS = complSentVerb ; PredVV = complVerbVerb ; VTrans = transAsVerb ; AdjAdv a = advPost (a.s ! adverbForm ! Nom) ; AdvPP p = p ; PrepNP p = prepPhrase p.s ; --- AdvVP = adVerbPhrase ; AdvCN = advCommNounPhrase ; AdvAP = advAdjPhrase ; ThereNP A = predVerbPhrase npDet (predVerbGroup True (complTransVerb (mkDirectVerb (deponentVerb verbFinnas)) A)) ; PosSlashV2 = slashTransVerb True ; NegSlashV2 = slashTransVerb False ; OneVP = predVerbPhrase npMan ; IdRP = identRelPron ; FunRP = funRelPron ; RelVP = relVerbPhrase ; RelSlash = relSlash ; ModRC = modRelClause ; RelSuch = relSuch ; WhoOne = intPronWho singular ; WhoMany = intPronWho plural ; WhatOne = intPronWhat singular ; WhatMany = intPronWhat plural ; FunIP = funIntPron ; NounIPOne = nounIntPron singular ; NounIPMany = nounIntPron plural ; QuestVP = questVerbPhrase ; IntVP = intVerbPhrase ; IntSlash = intSlash ; QuestAdv = questAdverbial ; IsThereNP A = questVerbPhrase npDet (predVerbGroup True (complTransVerb (mkDirectVerb (deponentVerb verbFinnas)) A)) ; ImperVP = imperVerbPhrase ; IndicPhrase = indicUtt ; QuestPhrase = interrogUtt ; ImperOne = imperUtterance singular ; ImperMany = imperUtterance plural ; PrepS p = ss (p.s ++ ",") ; AdvS = advSentence ; TwoS = twoSentence ; ConsS = consSentence ; ConjS = conjunctSentence ; ConjDS = conjunctDistrSentence ; TwoAP = twoAdjPhrase ; ConsAP = consAdjPhrase ; ConjAP = conjunctAdjPhrase ; ConjDAP = conjunctDistrAdjPhrase ; TwoNP = twoNounPhrase ; ConsNP = consNounPhrase ; ConjNP = conjunctNounPhrase ; ConjDNP = conjunctDistrNounPhrase ; SubjS = subjunctSentence ; SubjImper = subjunctImperative ; SubjQu = subjunctQuestion ; SubjVP = subjunctVerbPhrase ; PhrNP = useNounPhrase ; PhrOneCN = useCommonNounPhrase singular ; PhrManyCN = useCommonNounPhrase plural ; PhrIP ip = ip ; PhrIAdv ia = ia ; OnePhr p = p ; ConsPhr = cc2 ; } ;