forked from GitHub/gf-core
Liza's patch to Jap
This commit is contained in:
@@ -6,47 +6,58 @@ flags coding = utf8 ;
|
||||
lin
|
||||
|
||||
PhrUtt pconj utt voc = {
|
||||
s = case voc.please of {
|
||||
True => pconj.s ++ utt.s ! Resp ++ voc.s ! Resp ;
|
||||
False => (voc.s ! Resp ++ pconj.s ++ utt.s ! Resp |
|
||||
voc.s ! Plain ++ pconj.s ++ utt.s ! Plain)
|
||||
s = case voc.type of {
|
||||
Please => case utt.type of {
|
||||
ImpPolite => pconj.s ++ utt.s ! Wa ! Resp ++ voc.null ;
|
||||
(Imper|NoImp) => pconj.s ++ utt.s ! Wa ! Resp ++ voc.s ! Resp
|
||||
} ;
|
||||
VocPres => case utt.type of {
|
||||
ImpPolite => voc.s ! Resp ++ "," ++ pconj.s ++ utt.s ! Wa ! Resp ;
|
||||
Imper => voc.s ! Plain ++ "," ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
||||
NoImp => voc.s ! Plain ++ "," ++ pconj.s ++ utt.s ! Wa ! Plain
|
||||
} ;
|
||||
VocAbs => case utt.type of {
|
||||
(Imper|ImpPolite) => voc.s ! Plain ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
||||
NoImp => voc.s ! Plain ++ pconj.s ++ utt.s ! Wa ! Plain
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
UttS sent = {s = \\st => sent.s ! (Wa|Ga) ! st} ;
|
||||
UttS sent = {s = \\part,st => sent.s ! part ! st ; type = NoImp} ;
|
||||
|
||||
UttQS s = {s = \\st => s.s ! (Wa | Ga) ! st ++ "か"} ;
|
||||
UttQS s = {s = \\part,st => s.s ! part ! st ; type = NoImp} ;
|
||||
|
||||
UttImpSg p imp = {s = \\st => p.s ++ imp.s ! st ! p.b} ;
|
||||
UttImpSg p imp = {s = \\part,st => p.s ++ imp.s ! st ! p.b ; type = Imper} ;
|
||||
|
||||
UttImpPl = UttImpSg ;
|
||||
|
||||
UttImpPol p imp = {s = \\st => p.s ++ imp.s ! Resp ! p.b} ;
|
||||
UttImpPol p imp = {s = \\part,st => p.s ++ imp.s ! Resp ! p.b ++ "ください" ; type = ImpPolite} ;
|
||||
|
||||
UttIP ip = {s = \\st => ip.s ! st ++ "ですか"} ;
|
||||
UttIP ip = {s = \\part,st => ip.s_subj ! st ; type = NoImp} ;
|
||||
|
||||
UttIAdv iadv = {s = \\st => iadv.s ! st ++ "ですか"} ;
|
||||
UttIAdv iadv = {s = \\part,st => iadv.s ! st ; type = NoImp} ;
|
||||
|
||||
UttNP np = {s = \\st => np.prepositive ! st ++ np.s ! st} ;
|
||||
UttNP np = {s = \\part,st => np.prepositive ! st ++ np.s ! st ; type = NoImp} ;
|
||||
|
||||
UttAdv adv = {s = \\st => adv.s ! st} ;
|
||||
UttAdv adv = {s = \\part,st => adv.s ! st ; type = NoImp} ;
|
||||
|
||||
UttVP vp = {s = \\st => vp.prepositive ! st ++ vp.obj ! st ++ vp.prep ++
|
||||
vp.verb ! (Anim | Inanim) ! st ! (TPres | TPast | TFut) ! (Pos | Neg)} ;
|
||||
UttVP vp = {s = \\part,st => vp.prepositive ! st ++ vp.obj ! st ++ vp.prep ++
|
||||
vp.verb ! SomeoneElse ! Inanim ! st ! TPres ! Pos ; type = NoImp} ;
|
||||
|
||||
UttCN cn = {s = \\st => cn.prepositive ! st ++ cn.object ! st ++ cn.s ! (Sg | Pl) ! st} ;
|
||||
UttCN cn = {s = \\part,st => cn.prepositive ! st ++ cn.object ! st ++ cn.s ! Sg ! st ;
|
||||
type = NoImp} ;
|
||||
|
||||
UttCard card = {s = \\st => card.s ++ card.postpositive} ;
|
||||
UttCard card = {s = \\part,st => card.s ++ card.postpositive ; type = NoImp} ;
|
||||
|
||||
UttAP ap = {s = \\st => ap.prepositive ! st ++ ap.attr ! st} ;
|
||||
UttAP ap = {s = \\part,st => ap.prepositive ! st ++ ap.attr ! st ; type = NoImp} ;
|
||||
|
||||
UttInterj interj = {s = \\st => interj.s} ;
|
||||
UttInterj interj = {s = \\part,st => interj.s ; type = NoImp} ;
|
||||
|
||||
NoPConj = ss "" ;
|
||||
|
||||
PConjConj conj = {s = conj.s} ;
|
||||
|
||||
NoVoc = {s = \\st => [] ; please = False} ;
|
||||
NoVoc = {s = \\st => [] ; type = VocAbs ; null = ""} ;
|
||||
|
||||
VocNP np = {s = \\st => np.prepositive ! st ++ np.s ! st ; please = False} ;
|
||||
VocNP np = {s = \\st => np.prepositive ! st ++ np.s ! st ; type = VocPres ; null = ""} ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user