mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-12 06:19:33 -06:00
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
incomplete concrete SimpleI of Simple =
|
|
open Predef, Prelude, SimpleAux, Categories, Rules, Structural, Verbphrase in {
|
|
|
|
lincat
|
|
|
|
Sentence = {s : SentenceForm => Str} ;
|
|
|
|
lin
|
|
PAffirm sent = ss (sent.s ! SAffirm) ** {lock_Phr = <>} ;
|
|
PNegate sent = ss (sent.s ! SNegate) ** {lock_Phr = <>} ;
|
|
PQuestion sent = ss (sent.s ! SQuestion) ** {lock_Phr = <>} ;
|
|
PCommand = ImperOne ;
|
|
|
|
SVerb np v = {s = table {
|
|
SAffirm => toStr S (UseCl (PosTP TPresent ASimul) (PredVP np (UseV v))) ;
|
|
SNegate => toStr S (UseCl (NegTP TPresent ASimul) (PredVP np (UseV v))) ;
|
|
SQuestion => toStr QS (UseQCl (PosTP TPresent ASimul) (QuestCl (PredVP np
|
|
(UseV v))))
|
|
}
|
|
} ;
|
|
|
|
STransVerb np tv obj = {s = table {
|
|
SAffirm => toStr S (UseCl (PosTP TPresent ASimul) (PredVP np (ComplV2 tv obj))) ;
|
|
SNegate => toStr S (UseCl (PosTP TPresent ASimul) (PredVP np (ComplV2 tv obj))) ;
|
|
SQuestion =>
|
|
toStr QS (UseQCl (PosTP TPresent ASimul) (QuestCl (PredVP np (ComplV2 tv obj))))
|
|
}
|
|
} ;
|
|
|
|
SAdjective np ap = {s = table {
|
|
SAffirm => toStr S (UseCl (PosTP TPresent ASimul) (PredVP np (PredAP ap))) ;
|
|
SNegate => toStr S (UseCl (NegTP TPresent ASimul) (PredVP np (PredAP ap))) ;
|
|
SQuestion => toStr QS (UseQCl (PosTP TPresent ASimul) (QuestCl (PredVP np
|
|
(PredAP ap))))
|
|
}
|
|
} ;
|
|
|
|
SAdverb np ap = {s = table {
|
|
SAffirm => toStr S (UseCl (PosTP TPresent ASimul) (PredVP np (PredAdv ap))) ;
|
|
SNegate => toStr S (UseCl (NegTP TPresent ASimul) (PredVP np (PredAdv ap))) ;
|
|
SQuestion => toStr QS (UseQCl (PosTP TPresent ASimul) (QuestCl (PredVP np
|
|
(PredAdv ap))))
|
|
}
|
|
} ;
|
|
|
|
SModified s a = {s = \\f => s.s ! f ++ a.s ; lock_S = <>} ; ---
|
|
|
|
PIntV ip v =
|
|
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntVP ip (UseV v))) ;
|
|
PIntSubjV2 ip v np =
|
|
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntVP ip (ComplV2 v np))) ;
|
|
PIntObjV2 ip np v =
|
|
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntSlash ip (SlashV2 np v))) ;
|
|
PIntAP ip v =
|
|
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntVP ip (PredAP v))) ;
|
|
PIntAdv ip v =
|
|
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntVP ip (PredAdv v))) ;
|
|
|
|
NPDef = DefOneNP ;
|
|
NPIndef = IndefOneNP ;
|
|
NPGroup = IndefNumNP NoNum ;
|
|
NPMass = MassNP ;
|
|
NPName = UsePN ;
|
|
|
|
NSimple = UseN ;
|
|
NModified = ModAP ;
|
|
|
|
ASimple = PositADeg ;
|
|
AVery a = AdvAP very_Adv (PositADeg a) ;
|
|
|
|
AdvPrep p np = AdvPP (PrepNP p np) ;
|
|
|
|
}
|