mirror of
https://github.com/GrammaticalFramework/comp-syntax-gu-mlt.git
synced 2026-02-08 22:41:05 -07:00
148 lines
2.9 KiB
Plaintext
148 lines
2.9 KiB
Plaintext
incomplete resource MiniSyntax =
|
|
open MiniGrammar
|
|
|
|
in {
|
|
|
|
oper
|
|
|
|
mkUtt = overload {
|
|
mkUtt : S -> Utt
|
|
= UttS ;
|
|
mkUtt : QS -> Utt
|
|
= UttQS ;
|
|
mkUtt : NP -> Utt
|
|
= UttNP ;
|
|
mkUtt : Adv -> Utt
|
|
= UttAdv ;
|
|
mkUtt : Pol -> Imp -> Utt
|
|
= UttImpSg ;
|
|
mkUtt : Imp -> Utt
|
|
= UttImpSg PPos
|
|
} ;
|
|
|
|
mkImp = overload {
|
|
mkImp : VP -> Imp
|
|
= ImpVP ;
|
|
} ;
|
|
|
|
mkS = overload {
|
|
mkS : Temp -> Pol -> Cl -> S
|
|
= UseCl ;
|
|
mkS : Pol -> Cl -> S
|
|
= UseCl TSim ;
|
|
mkS : Temp -> Cl -> S
|
|
= \t -> UseCl t PPos ;
|
|
mkS : Cl -> S
|
|
= UseCl TSim PPos ;
|
|
mkS : Conj -> S -> S -> S
|
|
= CoordS ;
|
|
} ;
|
|
|
|
mkQS = overload {
|
|
mkQS : Temp -> Pol -> QCl -> QS
|
|
= UseQCl ;
|
|
mkQS : Pol -> QCl -> QS
|
|
= UseQCl TSim ;
|
|
mkQS : Temp -> QCl -> QS
|
|
= \t -> UseQCl t PPos ;
|
|
mkQS : QCl -> QS
|
|
= UseQCl TSim PPos ;
|
|
} ;
|
|
|
|
positivePol : Pol
|
|
= PPos ;
|
|
negativePol : Pol
|
|
= PNeg ;
|
|
|
|
simultaneousAnt : Temp
|
|
= TSim ;
|
|
anteriorAnt : Temp
|
|
= TAnt ;
|
|
|
|
mkCl = overload {
|
|
mkCl : NP -> VP -> Cl
|
|
= PredVP ;
|
|
mkCl : NP -> V -> Cl
|
|
= \np,v -> PredVP np (UseV v) ;
|
|
mkCl : NP -> V2 -> NP -> Cl
|
|
= \np,v,obj -> PredVP np (ComplV2 v obj) ;
|
|
mkCl : NP -> VS -> S -> Cl
|
|
= \np,v,obj -> PredVP np (ComplVS v obj) ;
|
|
mkCl : NP -> VV -> VP -> Cl
|
|
= \np,v,obj -> PredVP np (ComplVV v obj) ;
|
|
mkCl : NP -> AP -> Cl
|
|
= \np,ap -> PredVP np (UseComp (CompAP ap)) ;
|
|
mkCl : NP -> A -> Cl
|
|
= \np,a -> PredVP np (UseComp (CompAP (PositA a))) ;
|
|
} ;
|
|
|
|
mkQCl = overload {
|
|
mkQCl : Cl -> QCl
|
|
= QuestCl ;
|
|
mkQCl : IP -> VP -> QCl
|
|
= QuestVP ;
|
|
} ;
|
|
|
|
mkVP = overload {
|
|
mkVP : V -> VP
|
|
= UseV ;
|
|
mkVP : V2 -> NP -> VP
|
|
= ComplV2 ;
|
|
mkVP : AP -> VP
|
|
= \ap -> UseComp (CompAP ap) ;
|
|
mkVP : A -> VP
|
|
= \a -> UseComp (CompAP (PositA a)) ;
|
|
mkVP : NP -> VP
|
|
= \np -> UseComp (CompNP np) ;
|
|
mkVP : Adv -> VP
|
|
= \adv -> UseComp (CompAdv adv) ;
|
|
mkVP : VP -> Adv -> VP
|
|
= AdvVP ;
|
|
} ;
|
|
|
|
mkNP = overload {
|
|
mkNP : Det -> CN -> NP
|
|
= DetCN ;
|
|
mkNP : Det -> N -> NP
|
|
= \det,n -> DetCN det (UseN n) ;
|
|
mkNP : Pron -> NP
|
|
= UsePron ;
|
|
mkNP : PN -> NP
|
|
= UsePN ;
|
|
mkNP : CN -> NP
|
|
= MassNP ;
|
|
mkNP : N -> NP
|
|
= \n -> MassNP (UseN n) ;
|
|
} ;
|
|
|
|
i_NP : NP
|
|
= UsePron i_Pron ;
|
|
you_NP : NP
|
|
= UsePron youSg_Pron ;
|
|
he_NP : NP
|
|
= UsePron he_Pron ;
|
|
she_NP : NP
|
|
= UsePron she_Pron ;
|
|
|
|
mkCN = overload {
|
|
mkCN : N -> CN
|
|
= UseN ;
|
|
mkCN : AP -> CN -> CN
|
|
= AdjCN ;
|
|
mkCN : A -> N -> CN
|
|
= \a,n -> AdjCN (PositA a) (UseN n) ;
|
|
mkCN : A -> CN -> CN
|
|
= \a,cn -> AdjCN (PositA a) cn ;
|
|
} ;
|
|
|
|
mkAP = overload {
|
|
mkAP : A -> AP
|
|
= PositA ;
|
|
} ;
|
|
|
|
mkAdv = overload {
|
|
mkAdv : Prep -> NP -> Adv
|
|
= PrepNP ;
|
|
} ;
|
|
|
|
} |