abstract Demonstrative = Cat, PredefAbs ** { -- Naming convention: $M$ prepended to 'unimodal' names. -- Exceptions: lexical units, those without unimodal counterparts. cat MS ; -- multimodal sentence or question MQS ; -- multimodal wh question MImp ; -- multimodal imperative MVP ; -- multimodal verb phrase MComp ; -- multimodal complement to copula (MAP, MNP, MAdv) MAP ; -- multimodal adjectival phrase MNP ; -- multimodal (demonstrative) noun phrase MAdv ; -- multimodal (demonstrative) adverbial Point ; -- pointing gesture fun -- A pointing gesture is constructed from a string. MkPoint : String -> Point ; -- Construction of sentences, questions, and imperatives. MPredVP : MNP -> MVP -> MS ; -- he flies here MQPredVP : MNP -> MVP -> MQS ; -- does he fly here MQuestVP : IP -> MVP -> MQS ; -- who flies here MImpVP : MVP -> MImp ; -- fly here! -- Construction of verb phrases from verb + complements. MUseV : V -> MVP ; -- flies (here) MComplV2 : V2 -> MNP -> MVP ; -- takes this (here) MComplVV : VV -> MVP -> MVP ; -- wants to fly (here) MUseComp : MComp -> MVP ; -- is here ; is bigger than this MCompAP : MAP -> MComp ; -- bigger than this MCompNP : MNP -> MComp ; -- the price of this MCompAdv : MAdv -> MComp ; -- here MPositA : A -> MAP ; -- big MComparA : A -> MNP -> MAP ; -- bigger than this -- Adverbial modification of a verb phrase. MAdvVP : MVP -> MAdv -> MVP ; -- fly here -- Demonstrative pronouns as NPs and determiners. this_MNP : Point -> MNP ; -- this that_MNP : Point -> MNP ; -- that thisDet_MNP : CN -> Point -> MNP ; -- this car thatDet_MNP : CN -> Point -> MNP ; -- that car -- Demonstrative adverbs. here_MAdv : Point -> MAdv ; -- here here7from_MAdv : Point -> MAdv ; -- from here here7to_MAdv : Point -> MAdv ; -- to here -- Building an adverb as prepositional phrase. MPrepNP : Prep -> MNP -> MAdv ; -- in this car -- Using ordinary categories. -- Mounting nondemonstrative expressions. DemNP : NP -> MNP ; DemAdv : Adv -> MAdv ; -- Top-level phrases. PhrMS : Pol -> MS -> Phr ; PhrMS : Pol -> MS -> Phr ; PhrMQS : Pol -> MQS -> Phr ; PhrMImp : Pol -> MImp -> Phr ; -- For testing and example-based grammar writing. point1, point2 : Point ; x_MAdv, y_MAdv : MAdv ; }