mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-08 14:46:31 -06:00
patchJpn
This commit is contained in:
@@ -7,26 +7,26 @@ flags coding = utf8 ;
|
||||
ImpersCl vp = case vp.needSubject of {
|
||||
True => {
|
||||
s = table {
|
||||
Wa => \\st,t,p => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
||||
Wa => \\st,t,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.verb ! SomeoneElse ! Inanim ! st ! t ! p ;
|
||||
Ga => \\st,t,p => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
||||
Ga => \\st,t,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.verb ! SomeoneElse ! Inanim ! st ! t ! p
|
||||
} ;
|
||||
te = table {
|
||||
Wa => \\st,p => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
||||
Wa => \\st,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.te ! SomeoneElse ! Inanim ! st ! p ;
|
||||
Ga => \\st,p => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
||||
Ga => \\st,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.te ! SomeoneElse ! Inanim ! st ! p
|
||||
} ;
|
||||
ba = table {
|
||||
Wa => \\st,p => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
||||
Wa => \\st,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.ba ! SomeoneElse ! Inanim ! st ! p ;
|
||||
Ga => \\st,p => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
||||
Ga => \\st,p => vp.prepositive ! st ++ vp.obj ! st ++
|
||||
vp.prep ++ vp.ba ! SomeoneElse ! Inanim ! st ! p
|
||||
} ;
|
||||
subj = table {
|
||||
Wa => \\st => vp.prepositive ! st ++ "これは" ;
|
||||
Ga => \\st => vp.prepositive ! st ++ "これが"
|
||||
Wa => \\st => vp.prepositive ! st ;
|
||||
Ga => \\st => vp.prepositive ! st
|
||||
} ;
|
||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! SomeoneElse ! Inanim ! st ! t ! p ;
|
||||
pred_te = \\st,p => vp.obj ! st ++ vp.prep ++ vp.te ! SomeoneElse ! Inanim ! st ! p ;
|
||||
@@ -134,6 +134,50 @@ flags coding = utf8 ;
|
||||
} ;
|
||||
changePolar = False
|
||||
} ;
|
||||
|
||||
ExistNPAdv np adv = case np.needPart of {
|
||||
True => {
|
||||
s = \\part,st,t,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||
mkExistV.verb ! SomeoneElse ! np.anim ! st ! t ! p ;
|
||||
te = \\part,st,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||
mkExistV.te ! SomeoneElse ! np.anim ! st ! p ;
|
||||
ba = \\part,st,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||
mkExistV.ba ! SomeoneElse ! np.anim ! st ! p ;
|
||||
subj = \\part,st => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ;
|
||||
pred = \\st,t,p => mkExistV.verb ! SomeoneElse ! np.anim ! st ! t ! p ;
|
||||
pred_te = \\st,p => mkExistV.te ! SomeoneElse ! np.anim ! st ! p ;
|
||||
pred_ba = \\st,p => mkExistV.ba ! SomeoneElse ! np.anim ! st ! p ;
|
||||
changePolar = np.changePolar
|
||||
} ;
|
||||
False => {
|
||||
s = \\part,st,t,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++
|
||||
mkExistV.verb ! SomeoneElse ! np.anim ! st ! t ! p ;
|
||||
te = \\part,st,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++
|
||||
mkExistV.te ! SomeoneElse ! np.anim ! st ! p ;
|
||||
ba = \\part,st,p => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ++
|
||||
mkExistV.ba ! SomeoneElse ! np.anim ! st ! p ;
|
||||
subj = \\part,st => adv.s ! st ++ np.prepositive ! st ++ np.s ! st ;
|
||||
pred = \\st,t,p => mkExistV.verb ! SomeoneElse ! np.anim ! st ! t ! p ;
|
||||
pred_te = \\st,p => mkExistV.te ! SomeoneElse ! np.anim ! st ! p ;
|
||||
pred_ba = \\st,p => mkExistV.ba ! SomeoneElse ! np.anim ! st ! p ;
|
||||
changePolar = np.changePolar
|
||||
}
|
||||
} ;
|
||||
|
||||
ExistIPAdv ip adv = {
|
||||
s = \\part,st,t,p => case ip.how8many of {
|
||||
True => adv.s ! st ++ ip.s_subj ! st ++ mkExistV.verb ! SomeoneElse ! ip.anim ! st ! t ! p ++ "か" ;
|
||||
False => adv.s ! st ++ ip.s_subj ! st ++ "が" ++ mkExistV.verb ! SomeoneElse ! ip.anim ! st ! t ! p
|
||||
++ "か"
|
||||
} ;
|
||||
s_plain_pred = \\part,st,t,p => case ip.how8many of {
|
||||
True => adv.s ! st ++ ip.s_subj ! st ++
|
||||
mkExistV.verb ! SomeoneElse ! ip.anim ! Plain ! t ! p ++ "か" ;
|
||||
False => adv.s ! st ++ ip.s_subj ! st ++ "が" ++
|
||||
mkExistV.verb ! SomeoneElse ! ip.anim ! Plain ! t ! p ++ "か"
|
||||
} ;
|
||||
changePolar = False
|
||||
} ;
|
||||
|
||||
ProgrVP vp = {
|
||||
verb = \\sp,a,st,t,p => vp.te ! sp ! a ! st ! Pos ++ (mkVerb "いる" Gr2).s ! st ! t ! p ;
|
||||
@@ -159,4 +203,27 @@ flags coding = utf8 ;
|
||||
} ;
|
||||
type = Imper
|
||||
} ;
|
||||
|
||||
SelfAdvVP vp = {
|
||||
verb = \\sp,a,st,t,p => "自分 は" ++ vp.verb ! sp ! a ! st ! t ! p ;
|
||||
a_stem = \\sp,a,st => "自分 は" ++ vp.a_stem ! sp ! a ! st ;
|
||||
i_stem = \\sp,a,st => "自分 は" ++ vp.i_stem ! sp ! a ! st ;
|
||||
te = \\sp,a,st,p => "自分 は" ++ vp.te ! sp ! a ! st ! p ;
|
||||
ba = \\sp,a,st,p => "自分 は" ++ vp.ba ! sp ! a ! st ! p ;
|
||||
prep = vp.prep ;
|
||||
obj = vp.obj ;
|
||||
prepositive = vp.prepositive ;
|
||||
needSubject = vp.needSubject
|
||||
} ;
|
||||
|
||||
SelfAdVVP = SelfAdvVP ;
|
||||
|
||||
SelfNP np = {
|
||||
s = \\st => np.s ! st ++ "自分 は" ;
|
||||
prepositive = np.prepositive ;
|
||||
needPart = np.needPart ;
|
||||
changePolar = np.changePolar ;
|
||||
meaning = np.meaning ;
|
||||
anim = np.anim
|
||||
} ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user