mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 17:42:51 -06:00
JPN
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
concrete AdjectiveJap of Adjective = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete AdjectiveJpn of Adjective = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete AdverbJap of Adverb = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete AdverbJpn of Adverb = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
|
||||||
|
|
||||||
concrete AllJap of AllJapAbs =
|
|
||||||
LangJap,
|
|
||||||
ExtraJap
|
|
||||||
** {} ;
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
abstract AllJapAbs =
|
|
||||||
Lang,
|
|
||||||
ExtraJapAbs
|
|
||||||
** {} ;
|
|
||||||
4
lib/src/japanese/AllJpn.gf
Normal file
4
lib/src/japanese/AllJpn.gf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
concrete AllJpn of AllJpnAbs =
|
||||||
|
LangJpn,
|
||||||
|
ExtraJpn
|
||||||
|
** {} ;
|
||||||
4
lib/src/japanese/AllJpnAbs.gf
Normal file
4
lib/src/japanese/AllJpnAbs.gf
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
abstract AllJpnAbs =
|
||||||
|
Lang,
|
||||||
|
ExtraJpnAbs
|
||||||
|
** {} ;
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
concrete CatJap of Cat = CommonJap ** open ResJap, Prelude in {
|
concrete CatJpn of Cat = CommonJpn ** open ResJpn, Prelude in {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
|
|
||||||
S = {s, te, ba, subj : Particle => Style => Str ; pred, pred_te, pred_ba : Style => Str} ;
|
S = {s, te, ba, subj : Particle => Style => Str ; pred, pred_te, pred_ba : Style => Str} ;
|
||||||
@@ -29,7 +25,7 @@ flags coding = utf8 ;
|
|||||||
te, pred_te, pred_ba : Animateness => Style => Polarity => Str ;
|
te, pred_te, pred_ba : Animateness => Style => Polarity => Str ;
|
||||||
subj : Particle => Style => Str ; changePolar : Bool ; missingSubj : Bool} ;
|
subj : Particle => Style => Str ; changePolar : Bool ; missingSubj : Bool} ;
|
||||||
RP = {s : Style => Str ; null : Bool} ;
|
RP = {s : Style => Str ; null : Bool} ;
|
||||||
VP = ResJap.VP ; -- {verb : Speaker => Animateness => Style => TTense => Polarity => Str ;
|
VP = ResJpn.VP ; -- {verb : Speaker => Animateness => Style => TTense => Polarity => Str ;
|
||||||
-- a_stem, i_stem : Speaker => Animateness => Style => Str ;
|
-- a_stem, i_stem : Speaker => Animateness => Style => Str ;
|
||||||
-- te, ba : Speaker => Animateness => Style => Polarity => Str ;
|
-- te, ba : Speaker => Animateness => Style => Polarity => Str ;
|
||||||
-- prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
-- prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
||||||
@@ -42,7 +38,7 @@ flags coding = utf8 ;
|
|||||||
prep : Str ; obj : Style => Str ; prepositive : Style => Str ; v2vType : Bool} ;
|
prep : Str ; obj : Style => Str ; prepositive : Style => Str ; v2vType : Bool} ;
|
||||||
AP = {pred : Style => TTense => Polarity => Str ; attr, adv, dropNaEnging, prepositive :
|
AP = {pred : Style => TTense => Polarity => Str ; attr, adv, dropNaEnging, prepositive :
|
||||||
Style => Str ; te, ba : Style => Polarity => Str ; needSubject : Bool} ;
|
Style => Str ; te, ba : Style => Polarity => Str ; needSubject : Bool} ;
|
||||||
NP = ResJap.NP ; -- {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
NP = ResJpn.NP ; -- {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
||||||
-- changePolar : Bool ; meaning : Speaker ; anim : Animateness} ;
|
-- changePolar : Bool ; meaning : Speaker ; anim : Animateness} ;
|
||||||
CN = Noun ** {object : Style => Str ; prepositive : Style => Str ; hasAttr : Bool} ;
|
CN = Noun ** {object : Style => Str ; prepositive : Style => Str ; hasAttr : Bool} ;
|
||||||
Pron = Pronoun ; -- {s : Style => Str ; Pron1Sg : Bool ; anim : Animateness} ;
|
Pron = Pronoun ; -- {s : Style => Str ; Pron1Sg : Bool ; anim : Animateness} ;
|
||||||
@@ -50,7 +46,7 @@ flags coding = utf8 ;
|
|||||||
-- n : Number ; inclCard : Bool ; sp : Style => Str ; no : Bool ; tenPlus : Bool} ;
|
-- n : Number ; inclCard : Bool ; sp : Style => Str ; no : Bool ; tenPlus : Bool} ;
|
||||||
Predet = {s : Str ; not : Bool} ;
|
Predet = {s : Str ; not : Bool} ;
|
||||||
Quant = {s : Style => Str ; sp : Style => Str ; no : Bool} ;
|
Quant = {s : Style => Str ; sp : Style => Str ; no : Bool} ;
|
||||||
Num = ResJap.Num ; -- {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool ;
|
Num = ResJpn.Num ; -- {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool ;
|
||||||
-- tenPlus : Bool} ;
|
-- tenPlus : Bool} ;
|
||||||
Card = {s : Str ; postpositive : Str ; n : Number ; tenPlus : Bool} ;
|
Card = {s : Str ; postpositive : Str ; n : Number ; tenPlus : Bool} ;
|
||||||
Ord = Adj ; -- {pred : Style => TTense => Polarity => Str ; attr, adv,
|
Ord = Adj ; -- {pred : Style => TTense => Polarity => Str ; attr, adv,
|
||||||
@@ -68,7 +64,7 @@ flags coding = utf8 ;
|
|||||||
V3 = Verb3 ; -- {s : Speaker => Style => TTense => Polarity => Str ; a_stem,
|
V3 = Verb3 ; -- {s : Speaker => Style => TTense => Polarity => Str ; a_stem,
|
||||||
-- i_stem : Speaker => Str ; te, ba : Speaker => Polarity =>
|
-- i_stem : Speaker => Str ; te, ba : Speaker => Polarity =>
|
||||||
-- Str ; prep1, prep2 : Str} ;
|
-- Str ; prep1, prep2 : Str} ;
|
||||||
VV = ResJap.VV ; -- {s : Speaker => Style => TTense => Polarity => Str ; te,
|
VV = ResJpn.VV ; -- {s : Speaker => Style => TTense => Polarity => Str ; te,
|
||||||
-- a_stem, i_stem, ba, te_neg, ba_neg : Speaker => Str ;
|
-- a_stem, i_stem, ba, te_neg, ba_neg : Speaker => Str ;
|
||||||
-- sense : ModSense} ;
|
-- sense : ModSense} ;
|
||||||
VS = Verb2 ;
|
VS = Verb2 ;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete CommonJap of Common = open ResJap, Prelude in {
|
concrete CommonJpn of Common = open ResJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -26,5 +26,4 @@ flags coding = utf8 ;
|
|||||||
Tense = {s : Str ; t : TTense} ;
|
Tense = {s : Str ; t : TTense} ;
|
||||||
Pol = {s : Str ; b : Polarity} ;
|
Pol = {s : Str ; b : Polarity} ;
|
||||||
Ant = {s : Str ; a : Anteriority} ;
|
Ant = {s : Str ; a : Anteriority} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
concrete ConjunctionJpn of Conjunction = CatJpn ** open ResJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -114,72 +114,72 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
BaseS x y = {
|
BaseS x y = {
|
||||||
and = \\part,st => x.s ! part ! st ++ "," ++ "そして" ++ y.s ! Ga ! st ;
|
and = \\part,st => x.s ! part ! st ++ "、" ++ "そして" ++ y.s ! Ga ! st ;
|
||||||
or = \\part,st => x.s ! part ! st ++ "," ++ "それとも" ++ y.s ! Ga ! st ;
|
or = \\part,st => x.s ! part ! st ++ "、" ++ "それとも" ++ y.s ! Ga ! st ;
|
||||||
teAnd = \\part,st => x.te ! part ! st ++ "," ++ y.te ! Ga ! st ;
|
teAnd = \\part,st => x.te ! part ! st ++ "、" ++ y.te ! Ga ! st ;
|
||||||
teOr = \\part,st => x.s ! part ! st ++ "," ++ "それとも" ++ y.te ! Ga ! st ;
|
teOr = \\part,st => x.s ! part ! st ++ "、" ++ "それとも" ++ y.te ! Ga ! st ;
|
||||||
baAnd = \\part,st => x.ba ! part ! st ++ "," ++ y.ba ! Ga ! st ;
|
baAnd = \\part,st => x.ba ! part ! st ++ "、" ++ y.ba ! Ga ! st ;
|
||||||
baOr = \\part,st => x.s ! part ! st ++ "," ++ "それとも" ++ y.ba ! Ga ! st ;
|
baOr = \\part,st => x.s ! part ! st ++ "、" ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||||
subj = \\part,st => x.subj ! part ! st ;
|
subj = \\part,st => x.subj ! part ! st ;
|
||||||
predAnd = \\st => x.pred ! st ++ "," ++ "そして" ++ y.s ! Ga ! st ;
|
predAnd = \\st => x.pred ! st ++ "、" ++ "そして" ++ y.s ! Ga ! st ;
|
||||||
predOr = \\st => x.pred ! st ++ "," ++ "それとも" ++ y.s ! Ga ! st ;
|
predOr = \\st => x.pred ! st ++ "、" ++ "それとも" ++ y.s ! Ga ! st ;
|
||||||
pred_teAnd = \\st => x.pred_te ! st ++ "," ++ y.te ! Ga ! st ;
|
pred_teAnd = \\st => x.pred_te ! st ++ "、" ++ y.te ! Ga ! st ;
|
||||||
pred_teOr = \\st => x.pred ! st ++ "," ++ "それとも" ++ y.te ! Ga ! st ;
|
pred_teOr = \\st => x.pred ! st ++ "、" ++ "それとも" ++ y.te ! Ga ! st ;
|
||||||
pred_baAnd = \\st => x.pred_ba ! st ++ "," ++ y.ba ! Ga ! st ;
|
pred_baAnd = \\st => x.pred_ba ! st ++ "、" ++ y.ba ! Ga ! st ;
|
||||||
pred_baOr = \\st => x.pred ! st ++ "," ++ "それとも" ++ y.ba ! Ga ! st ;
|
pred_baOr = \\st => x.pred ! st ++ "、" ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ConsS x xs = {
|
ConsS x xs = {
|
||||||
and = \\part,st => xs.and ! part ! st ++ "," ++ "そして" ++ x.s ! Ga ! st ;
|
and = \\part,st => xs.and ! part ! st ++ "、" ++ "そして" ++ x.s ! Ga ! st ;
|
||||||
or = \\part,st => xs.or ! part ! st ++ "," ++ "それとも" ++ x.s ! Ga ! st ;
|
or = \\part,st => xs.or ! part ! st ++ "、" ++ "それとも" ++ x.s ! Ga ! st ;
|
||||||
teAnd = \\part,st => xs.teAnd ! part ! st ++ "," ++ x.te ! Ga ! st ;
|
teAnd = \\part,st => xs.teAnd ! part ! st ++ "、" ++ x.te ! Ga ! st ;
|
||||||
teOr = \\part,st => xs.or ! part ! st ++ "," ++ "それとも" ++ x.te ! Ga ! st ;
|
teOr = \\part,st => xs.or ! part ! st ++ "、" ++ "それとも" ++ x.te ! Ga ! st ;
|
||||||
baAnd = \\part,st => xs.baAnd ! part ! st ++ "," ++ x.ba ! Ga ! st ;
|
baAnd = \\part,st => xs.baAnd ! part ! st ++ "、" ++ x.ba ! Ga ! st ;
|
||||||
baOr = \\part,st => xs.or ! part ! st ++ "," ++ "それとも" ++ x.ba ! Ga ! st ;
|
baOr = \\part,st => xs.or ! part ! st ++ "、" ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||||
subj = xs.subj ;
|
subj = xs.subj ;
|
||||||
predAnd = \\st => xs.predAnd ! st ++ "," ++ "そして" ++ x.s ! Ga ! st ;
|
predAnd = \\st => xs.predAnd ! st ++ "、" ++ "そして" ++ x.s ! Ga ! st ;
|
||||||
predOr = \\st => xs.predOr ! st ++ "," ++ "それとも" ++ x.s ! Ga ! st ;
|
predOr = \\st => xs.predOr ! st ++ "、" ++ "それとも" ++ x.s ! Ga ! st ;
|
||||||
pred_teAnd = \\st => xs.pred_teAnd ! st ++ "," ++ x.te ! Ga ! st ;
|
pred_teAnd = \\st => xs.pred_teAnd ! st ++ "、" ++ x.te ! Ga ! st ;
|
||||||
pred_teOr = \\st => xs.predOr ! st ++ "," ++ "それとも" ++ x.te ! Ga ! st ;
|
pred_teOr = \\st => xs.predOr ! st ++ "、" ++ "それとも" ++ x.te ! Ga ! st ;
|
||||||
pred_baAnd = \\st => xs.pred_baAnd ! st ++ "," ++ x.ba ! Ga ! st ;
|
pred_baAnd = \\st => xs.pred_baAnd ! st ++ "、" ++ x.ba ! Ga ! st ;
|
||||||
pred_baOr = \\st => xs.predOr ! st ++ "," ++ "それとも" ++ x.ba ! Ga ! st ;
|
pred_baOr = \\st => xs.predOr ! st ++ "、" ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
BaseRS x y = {
|
BaseRS x y = {
|
||||||
and = \\a,st => x.te ! a ! st ++ "," ++ y.s ! a ! st ;
|
and = \\a,st => x.te ! a ! st ++ "、" ++ y.s ! a ! st ;
|
||||||
or = \\a,st => case <x.missingSubj, y.missingSubj> of {
|
or = \\a,st => case <x.missingSubj, y.missingSubj> of {
|
||||||
<True, True> => x.s ! a ! st ++ "か" ++ "," ++ y.s ! a ! st ;
|
<True, True> => x.s ! a ! st ++ "か" ++ "、" ++ y.s ! a ! st ;
|
||||||
_ => x.te ! a ! st ++ "," ++ "あるいは" ++ y.s ! a ! st
|
_ => x.te ! a ! st ++ "、" ++ "あるいは" ++ y.s ! a ! st
|
||||||
} ;
|
} ;
|
||||||
teAnd = \\a,st => x.te ! a ! st ++ "," ++ y.te ! a ! st ;
|
teAnd = \\a,st => x.te ! a ! st ++ "、" ++ y.te ! a ! st ;
|
||||||
teOr = \\a,st => x.te ! a ! st ++ "," ++ "あるいは" ++ y.te ! a ! st ;
|
teOr = \\a,st => x.te ! a ! st ++ "、" ++ "あるいは" ++ y.te ! a ! st ;
|
||||||
predAnd = \\a,st => x.pred_te ! a ! st ++ "," ++ y.s ! a ! st ;
|
predAnd = \\a,st => x.pred_te ! a ! st ++ "、" ++ y.s ! a ! st ;
|
||||||
predOr = \\a,st => x.pred_te ! a ! st ++ "," ++ "あるいは" ++ y.s ! a ! st ;
|
predOr = \\a,st => x.pred_te ! a ! st ++ "、" ++ "あるいは" ++ y.s ! a ! st ;
|
||||||
pred_teAnd = \\a,st => x.pred_te ! a ! st ++ "," ++ y.te ! a ! st ;
|
pred_teAnd = \\a,st => x.pred_te ! a ! st ++ "、" ++ y.te ! a ! st ;
|
||||||
pred_teOr = \\a,st => x.pred_te ! a ! st ++ "," ++ "あるいは" ++ y.te ! a ! st ;
|
pred_teOr = \\a,st => x.pred_te ! a ! st ++ "、" ++ "あるいは" ++ y.te ! a ! st ;
|
||||||
pred_baAnd = \\a,st => x.pred_te ! a ! st ++ "," ++ y.subj ! Ga ! st ++
|
pred_baAnd = \\a,st => x.pred_te ! a ! st ++ "、" ++ y.subj ! Ga ! st ++
|
||||||
y.pred_ba ! a ! st ;
|
y.pred_ba ! a ! st ;
|
||||||
pred_baOr = \\a,st => x.pred_te ! a ! st ++ "," ++ "あるいは" ++ y.subj ! Ga ! st ++
|
pred_baOr = \\a,st => x.pred_te ! a ! st ++ "、" ++ "あるいは" ++ y.subj ! Ga ! st ++
|
||||||
y.pred_ba ! a ! st ;
|
y.pred_ba ! a ! st ;
|
||||||
subj = x.subj ;
|
subj = x.subj ;
|
||||||
missingSubj = x.missingSubj
|
missingSubj = x.missingSubj
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ConsRS x xs = {
|
ConsRS x xs = {
|
||||||
and = \\a,st => xs.teAnd ! a ! st ++ "," ++ x.s ! a ! st ;
|
and = \\a,st => xs.teAnd ! a ! st ++ "、" ++ x.s ! a ! st ;
|
||||||
or = \\a,st => case <xs.missingSubj, x.missingSubj> of {
|
or = \\a,st => case <xs.missingSubj, x.missingSubj> of {
|
||||||
<True, True> => xs.teOr ! a ! st ++ "か" ++ "," ++ x.s ! a ! st ;
|
<True, True> => xs.teOr ! a ! st ++ "か" ++ "、" ++ x.s ! a ! st ;
|
||||||
_ => xs.teOr ! a ! st ++ "," ++ "あるいは" ++ x.s ! a ! st
|
_ => xs.teOr ! a ! st ++ "、" ++ "あるいは" ++ x.s ! a ! st
|
||||||
} ;
|
} ;
|
||||||
teAnd = \\a,st => xs.teAnd ! a ! st ++ "," ++ x.te ! a ! st ;
|
teAnd = \\a,st => xs.teAnd ! a ! st ++ "、" ++ x.te ! a ! st ;
|
||||||
teOr = \\a,st => xs.teOr ! a ! st ++ "," ++ "あるいは" ++ x.te ! a ! st ;
|
teOr = \\a,st => xs.teOr ! a ! st ++ "、" ++ "あるいは" ++ x.te ! a ! st ;
|
||||||
predAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "," ++ x.s ! a ! st ;
|
predAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "、" ++ x.s ! a ! st ;
|
||||||
predOr = \\a,st => xs.pred_teOr ! a ! st ++ "," ++ "あるいは" ++ x.s ! a ! st ;
|
predOr = \\a,st => xs.pred_teOr ! a ! st ++ "、" ++ "あるいは" ++ x.s ! a ! st ;
|
||||||
pred_teAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "," ++ x.te ! a ! st ;
|
pred_teAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "、" ++ x.te ! a ! st ;
|
||||||
pred_teOr = \\a,st => xs.pred_teOr ! a ! st ++ "," ++ "あるいは" ++ x.te ! a ! st ;
|
pred_teOr = \\a,st => xs.pred_teOr ! a ! st ++ "、" ++ "あるいは" ++ x.te ! a ! st ;
|
||||||
pred_baAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "," ++ x.subj ! Ga ! st ++
|
pred_baAnd = \\a,st => xs.pred_teAnd ! a ! st ++ "、" ++ x.subj ! Ga ! st ++
|
||||||
x.pred_ba ! a ! st ;
|
x.pred_ba ! a ! st ;
|
||||||
pred_baOr = \\a,st => xs.pred_teOr ! a ! st ++ "," ++ "あるいは" ++ x.subj ! Ga ! st ++
|
pred_baOr = \\a,st => xs.pred_teOr ! a ! st ++ "、" ++ "あるいは" ++ x.subj ! Ga ! st ++
|
||||||
x.pred_ba ! a ! st ;
|
x.pred_ba ! a ! st ;
|
||||||
subj = xs.subj ;
|
subj = xs.subj ;
|
||||||
missingSubj = xs.missingSubj
|
missingSubj = xs.missingSubj
|
||||||
@@ -188,11 +188,11 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
|||||||
BaseAdv x y = {
|
BaseAdv x y = {
|
||||||
and = \\st => case <x.prepositive, y.prepositive> of {
|
and = \\st => case <x.prepositive, y.prepositive> of {
|
||||||
<False, False> => x.s ! st ++ y.s ! st ;
|
<False, False> => x.s ! st ++ y.s ! st ;
|
||||||
_ => x.s ! st ++ "," ++ y.s ! st
|
_ => x.s ! st ++ "、" ++ y.s ! st
|
||||||
} ;
|
} ;
|
||||||
or = \\st => case <x.prepositive, y.prepositive> of {
|
or = \\st => case <x.prepositive, y.prepositive> of {
|
||||||
<False, False> => x.s ! st ++ "か" ++ y.s ! st ;
|
<False, False> => x.s ! st ++ "か" ++ y.s ! st ;
|
||||||
_ => x.s ! st ++ "," ++ "あるいは" ++ y.s ! st
|
_ => x.s ! st ++ "、" ++ "あるいは" ++ y.s ! st
|
||||||
} ;
|
} ;
|
||||||
prepositive = case <x.prepositive, y.prepositive> of {
|
prepositive = case <x.prepositive, y.prepositive> of {
|
||||||
<False, False> => False ;
|
<False, False> => False ;
|
||||||
@@ -203,11 +203,11 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
|||||||
ConsAdv x xs = {
|
ConsAdv x xs = {
|
||||||
and = \\st => case <x.prepositive, xs.prepositive> of {
|
and = \\st => case <x.prepositive, xs.prepositive> of {
|
||||||
<False, False> => xs.and ! st ++ x.s ! st ;
|
<False, False> => xs.and ! st ++ x.s ! st ;
|
||||||
_ => xs.and ! st ++ "," ++ x.s ! st
|
_ => xs.and ! st ++ "、" ++ x.s ! st
|
||||||
} ;
|
} ;
|
||||||
or = \\st => case <x.prepositive, xs.prepositive> of {
|
or = \\st => case <x.prepositive, xs.prepositive> of {
|
||||||
<False, False> => x.s ! st ++ "か" ++ xs.or ! st ;
|
<False, False> => x.s ! st ++ "か" ++ xs.or ! st ;
|
||||||
_ => xs.or ! st ++ "," ++ "あるいは" ++ x.s ! st
|
_ => xs.or ! st ++ "、" ++ "あるいは" ++ x.s ! st
|
||||||
} ;
|
} ;
|
||||||
prepositive = case <x.prepositive, xs.prepositive> of {
|
prepositive = case <x.prepositive, xs.prepositive> of {
|
||||||
<False, False> => False ;
|
<False, False> => False ;
|
||||||
@@ -356,5 +356,4 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
|||||||
[CN] = {and, or : Number => Style => Str ; anim : Animateness ; counter : Str ;
|
[CN] = {and, or : Number => Style => Str ; anim : Animateness ; counter : Str ;
|
||||||
counterReplace : Bool ; object : Style => Str ; prepositive : Style => Str ;
|
counterReplace : Bool ; object : Style => Str ; prepositive : Style => Str ;
|
||||||
hasAttr : Bool ; counterTsu : Bool} ;
|
hasAttr : Bool ; counterTsu : Bool} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete ExtraJap of ExtraJapAbs = CatJap ** open ResJap, Prelude, ParadigmsJap in {
|
concrete ExtraJpn of ExtraJpnAbs = CatJpn ** open ResJpn, Prelude, ParadigmsJpn in {
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
Level = {s : Str ; l : Style} ;
|
Level = {s : Str ; l : Style} ;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
abstract ExtraJapAbs = Cat ** {
|
abstract ExtraJpnAbs = Cat ** {
|
||||||
cat
|
cat
|
||||||
Level ; -- style of speech
|
Level ; -- style of speech
|
||||||
Part ; -- particles wa/ga
|
Part ; -- particles wa/ga
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
concrete GrammarJap of Grammar =
|
|
||||||
NounJap,
|
|
||||||
VerbJap,
|
|
||||||
AdjectiveJap,
|
|
||||||
AdverbJap,
|
|
||||||
NumeralJap,
|
|
||||||
SentenceJap,
|
|
||||||
QuestionJap,
|
|
||||||
RelativeJap,
|
|
||||||
ConjunctionJap,
|
|
||||||
PhraseJap,
|
|
||||||
TextJap,
|
|
||||||
StructuralJap,
|
|
||||||
IdiomJap,
|
|
||||||
TenseJap
|
|
||||||
;
|
|
||||||
16
lib/src/japanese/GrammarJpn.gf
Normal file
16
lib/src/japanese/GrammarJpn.gf
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
concrete GrammarJpn of Grammar =
|
||||||
|
NounJpn,
|
||||||
|
VerbJpn,
|
||||||
|
AdjectiveJpn,
|
||||||
|
AdverbJpn,
|
||||||
|
NumeralJpn,
|
||||||
|
SentenceJpn,
|
||||||
|
QuestionJpn,
|
||||||
|
RelativeJpn,
|
||||||
|
ConjunctionJpn,
|
||||||
|
PhraseJpn,
|
||||||
|
TextJpn,
|
||||||
|
StructuralJpn,
|
||||||
|
IdiomJpn,
|
||||||
|
TenseJpn
|
||||||
|
;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete IdiomJap of Idiom = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete IdiomJpn of Idiom = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
|
||||||
|
|
||||||
concrete LangJap of Lang =
|
|
||||||
GrammarJap,
|
|
||||||
LexiconJap
|
|
||||||
;
|
|
||||||
|
|
||||||
5
lib/src/japanese/LangJpn.gf
Normal file
5
lib/src/japanese/LangJpn.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
concrete LangJpn of Lang =
|
||||||
|
GrammarJpn,
|
||||||
|
LexiconJpn
|
||||||
|
;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete LexiconJap of Lexicon = CatJap ** open ParadigmsJap, ResJap, Prelude in {
|
concrete LexiconJpn of Lexicon = GrammarJpn ** open ParadigmsJpn, ResJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ lin
|
|||||||
glove_N = mkN "手袋" Inanim ; -- "tebukuro"
|
glove_N = mkN "手袋" Inanim ; -- "tebukuro"
|
||||||
gold_N = mkN "金" Inanim ; -- "kin"
|
gold_N = mkN "金" Inanim ; -- "kin"
|
||||||
good_A = mkA "良い" ; -- "ii" ;
|
good_A = mkA "良い" ; -- "ii" ;
|
||||||
go_V = mkV "行く" Gr1 ; -- "iku"
|
go_V = mkGo ;
|
||||||
grammar_N = mkN "文法" Inanim ; -- "bumpou"
|
grammar_N = mkN "文法" Inanim ; -- "bumpou"
|
||||||
grass_N = mkN "草" Inanim ; -- "kusa"
|
grass_N = mkN "草" Inanim ; -- "kusa"
|
||||||
green_A = mkA "緑色の" ; -- "midoriirono" ;
|
green_A = mkA "緑色の" ; -- "midoriirono" ;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete NounJap of Noun = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete NounJpn of Noun = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -7,10 +7,14 @@ flags coding = utf8 ;
|
|||||||
DetCN det cn = {
|
DetCN det cn = {
|
||||||
s = \\st => case det.inclCard of {
|
s = \\st => case det.inclCard of {
|
||||||
True => case cn.counterReplace of {
|
True => case cn.counterReplace of {
|
||||||
True => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive ;
|
True => case cn.hasAttr of {
|
||||||
|
True => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive
|
||||||
|
++ "の" ++ cn.s ! det.n ! st ;
|
||||||
|
False => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive
|
||||||
|
} ;
|
||||||
False => case <det.tenPlus, cn.counterTsu> of {
|
False => case <det.tenPlus, cn.counterTsu> of {
|
||||||
<True, True> => cn.object ! st ++ det.quant ! st ++ det.num ++ det.postpositive ++
|
<True, True> => cn.object ! st ++ det.quant ! st ++ det.num ++ "個" ++ det.postpositive
|
||||||
"の" ++ cn.s ! det.n ! st ;
|
++ "の" ++ cn.s ! det.n ! st ;
|
||||||
_ => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive
|
_ => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive
|
||||||
++ "の" ++ cn.s ! det.n ! st
|
++ "の" ++ cn.s ! det.n ! st
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete NumeralJap of Numeral = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete NumeralJpn of Numeral = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
resource ParadigmsJap = CatJap **
|
resource ParadigmsJpn = CatJpn **
|
||||||
open ResJap, CatJap, Prelude in {
|
open ResJpn, CatJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete PhraseJap of Phrase = CatJap
|
concrete PhraseJpn of Phrase = CatJpn
|
||||||
** open ResJap, ParadigmsJap, Prelude in {
|
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -12,9 +12,9 @@ flags coding = utf8 ;
|
|||||||
(Imper|NoImp) => pconj.s ++ utt.s ! Wa ! Resp ++ voc.s ! Resp
|
(Imper|NoImp) => pconj.s ++ utt.s ! Wa ! Resp ++ voc.s ! Resp
|
||||||
} ;
|
} ;
|
||||||
VocPres => case utt.type of {
|
VocPres => case utt.type of {
|
||||||
ImpPolite => voc.s ! Resp ++ "," ++ pconj.s ++ utt.s ! Wa ! Resp ;
|
ImpPolite => voc.s ! Resp ++ "、" ++ pconj.s ++ utt.s ! Wa ! Resp ;
|
||||||
Imper => voc.s ! Plain ++ "," ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
Imper => voc.s ! Plain ++ "、" ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
||||||
NoImp => voc.s ! Plain ++ "," ++ pconj.s ++ utt.s ! Wa ! Plain
|
NoImp => voc.s ! Plain ++ "、" ++ pconj.s ++ utt.s ! Wa ! Plain
|
||||||
} ;
|
} ;
|
||||||
VocAbs => case utt.type of {
|
VocAbs => case utt.type of {
|
||||||
(Imper|ImpPolite) => voc.s ! Plain ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
(Imper|ImpPolite) => voc.s ! Plain ++ pconj.s ++ utt.s ! Wa ! Plain ;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete QuestionJap of Question = CatJap
|
concrete QuestionJpn of Question = CatJpn
|
||||||
** open ResJap, ParadigmsJap, Prelude in {
|
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete RelativeJap of Relative = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete RelativeJpn of Relative = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
resource ResJap = open Prelude in {
|
resource ResJpn = open Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -507,6 +507,27 @@ oper
|
|||||||
prep2 = "を"
|
prep2 = "を"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkGo : Verb = {
|
||||||
|
s = table {
|
||||||
|
Resp => (mkVerb "行く" Gr1).s ! Resp ;
|
||||||
|
Plain => table {
|
||||||
|
(TPres|TFut) => (mkVerb "行く" Gr1).s ! Plain ! TPres ;
|
||||||
|
TPast => table {
|
||||||
|
Pos => "行った" ;
|
||||||
|
Neg => "行かなかった"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
te = table {
|
||||||
|
Pos => "行って" ;
|
||||||
|
Neg => "行かないで"
|
||||||
|
} ;
|
||||||
|
a_stem = "行か" ;
|
||||||
|
i_stem = "行き" ;
|
||||||
|
ba = (mkVerb "行く" Gr1).ba ;
|
||||||
|
needSubject = True
|
||||||
|
} ;
|
||||||
|
|
||||||
mkNum : Str -> Number -> Num = \s,n -> {
|
mkNum : Str -> Number -> Num = \s,n -> {
|
||||||
s = s ;
|
s = s ;
|
||||||
postpositive = [] ;
|
postpositive = [] ;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete SentenceJap of Sentence = CatJap
|
concrete SentenceJpn of Sentence = CatJpn
|
||||||
** open ResJap, ParadigmsJap, Prelude in {
|
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -359,10 +359,10 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
ExtAdvS adv s = {
|
ExtAdvS adv s = {
|
||||||
s = \\part,st => adv.s ! st ++ "," ++ s.s ! part ! st ;
|
s = \\part,st => adv.s ! st ++ "、" ++ s.s ! part ! st ;
|
||||||
te = \\part,st => adv.s ! st ++ "," ++ s.te ! part ! st ;
|
te = \\part,st => adv.s ! st ++ "、" ++ s.te ! part ! st ;
|
||||||
ba = \\part,st => adv.s ! st ++ "," ++ s.ba ! part ! st ;
|
ba = \\part,st => adv.s ! st ++ "、" ++ s.ba ! part ! st ;
|
||||||
subj = \\part,st => adv.s ! st ++ "," ++ s.subj ! part ! st ;
|
subj = \\part,st => adv.s ! st ++ "、" ++ s.subj ! part ! st ;
|
||||||
pred = s.pred ;
|
pred = s.pred ;
|
||||||
pred_te = s.pred_te ;
|
pred_te = s.pred_te ;
|
||||||
pred_ba = s.pred_ba
|
pred_ba = s.pred_ba
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete StructuralJap of Structural = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete StructuralJpn of Structural = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--# -path=.:../abstract:../common
|
--# -path=.:../abstract:../common
|
||||||
|
|
||||||
concrete SymbolJap of Symbol = CatJap ** open Prelude, ResJap in {
|
concrete SymbolJpn of Symbol = CatJpn ** open Prelude, ResJpn in {
|
||||||
|
|
||||||
flags coding = utf8;
|
flags coding = utf8;
|
||||||
{-
|
{-
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete TenseJap of Tense = CatJap ** open ResJap, ParadigmsJap, Prelude in {
|
concrete TenseJpn of Tense = CatJpn ** open ResJpn, ParadigmsJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -13,9 +13,9 @@ flags coding = utf8 ;
|
|||||||
PPos = {s = [] ; b = Pos} ;
|
PPos = {s = [] ; b = Pos} ;
|
||||||
PNeg = {s = [] ; b = Neg} ;
|
PNeg = {s = [] ; b = Neg} ;
|
||||||
|
|
||||||
TPres, TCond = {s = [] ; t = ResJap.TPres} ;
|
TPres, TCond = {s = [] ; t = ResJpn.TPres} ;
|
||||||
TPast = {s = [] ; t = ResJap.TPast} ;
|
TPast = {s = [] ; t = ResJpn.TPast} ;
|
||||||
TFut = {s = [] ; t = ResJap.TFut} ;
|
TFut = {s = [] ; t = ResJpn.TFut} ;
|
||||||
|
|
||||||
ASimul = {s = [] ; a = Simul} ;
|
ASimul = {s = [] ; a = Simul} ;
|
||||||
AAnter = {s = [] ; a = Anter} ;
|
AAnter = {s = [] ; a = Anter} ;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete TextJap of Text = CatJap ** open ResJap, Prelude in {
|
concrete TextJpn of Text = CatJpn ** open ResJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
concrete VerbJpn of Verb = CatJpn ** open ResJpn, Prelude in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -18,15 +18,15 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
|
|
||||||
ComplVV v vp = case v.sense of {
|
ComplVV v vp = case v.sense of {
|
||||||
Abil => {
|
Abil => {
|
||||||
verb = \\sp,a,st,t,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJap.Pos ++
|
verb = \\sp,a,st,t,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ことが" ++ v.s ! sp ! st ! t ! p ;
|
"ことが" ++ v.s ! sp ! st ! t ! p ;
|
||||||
te = \\sp,a,st,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
te = \\sp,a,st,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.te ! sp ! p ;
|
v.te ! sp ! p ;
|
||||||
a_stem = \\sp,a,st => vp.verb ! sp ! a ! Plain ! TPres ! ResJap.Pos ++
|
a_stem = \\sp,a,st => vp.verb ! sp ! a ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ことが" ++ v.a_stem ! sp ;
|
"ことが" ++ v.a_stem ! sp ;
|
||||||
i_stem = \\sp,a,st => vp.verb ! sp ! a ! Plain ! TPres ! ResJap.Pos ++
|
i_stem = \\sp,a,st => vp.verb ! sp ! a ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ことが" ++ v.i_stem ! sp ;
|
"ことが" ++ v.i_stem ! sp ;
|
||||||
ba = \\sp,a,st,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
ba = \\sp,a,st,p => vp.verb ! sp ! a ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.ba ! sp ! p ;
|
v.ba ! sp ! p ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => vp.obj ! st ;
|
obj = \\st => vp.obj ! st ;
|
||||||
@@ -129,17 +129,17 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
Slash3V3 = Slash2V3 ;
|
Slash3V3 = Slash2V3 ;
|
||||||
|
|
||||||
SlashV2V v2v vp = {
|
SlashV2V v2v vp = {
|
||||||
s = \\sp,st,t,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように"
|
s = \\sp,st,t,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJpn.Pos ++ "ように"
|
||||||
++ v2v.s ! st ! t ! p ;
|
++ v2v.s ! st ! t ! p ;
|
||||||
a_stem = \\sp => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJap.Pos ++
|
a_stem = \\sp => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ように" ++ v2v.a_stem ;
|
"ように" ++ v2v.a_stem ;
|
||||||
i_stem = \\sp => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJap.Pos ++
|
i_stem = \\sp => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ように" ++ v2v.i_stem ;
|
"ように" ++ v2v.i_stem ;
|
||||||
ba = \\sp,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++
|
ba = \\sp,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++
|
||||||
v2v.ba ! p ;
|
v2v.ba ! p ;
|
||||||
prep = "に" ;
|
prep = "に" ;
|
||||||
obj = \\st => vp.obj ! st ++ vp.prep ;
|
obj = \\st => vp.obj ! st ++ vp.prep ;
|
||||||
te = \\sp,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++
|
te = \\sp,p => vp.verb ! SomeoneElse ! Anim ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++
|
||||||
v2v.te ! p ;
|
v2v.te ! p ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
v2vType = True
|
v2vType = True
|
||||||
@@ -207,15 +207,15 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
|
|
||||||
SlashVV v vpslash = case v.sense of {
|
SlashVV v vpslash = case v.sense of {
|
||||||
Abil => {
|
Abil => {
|
||||||
s = \\sp,st,t,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++
|
s = \\sp,st,t,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++
|
||||||
"ことが" ++ v.s ! sp ! st ! t ! p ;
|
"ことが" ++ v.s ! sp ! st ! t ! p ;
|
||||||
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.te ! sp ! p ;
|
v.te ! sp ! p ;
|
||||||
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.a_stem ! sp ;
|
v.a_stem ! sp ;
|
||||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.i_stem ! sp ;
|
v.i_stem ! sp ;
|
||||||
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||||
v.ba ! sp ! p ;
|
v.ba ! sp ! p ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = vpslash.obj ;
|
obj = vpslash.obj ;
|
||||||
@@ -256,14 +256,14 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
SlashV2VNP v2v np vpslash = {
|
SlashV2VNP v2v np vpslash = {
|
||||||
s = \\sp,st,t,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように"
|
s = \\sp,st,t,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように"
|
||||||
++ v2v.s ! st ! t ! p ;
|
++ v2v.s ! st ! t ! p ;
|
||||||
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.a_stem ;
|
||||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.i_stem ;
|
||||||
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.ba ! p ;
|
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.ba ! p ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = \\st => np.s ! st ++ "に" ++ vpslash.obj ! st ;
|
obj = \\st => np.s ! st ++ "に" ++ vpslash.obj ! st ;
|
||||||
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.te ! p ;
|
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.te ! p ;
|
||||||
prepositive = \\st => np.prepositive ! st ++ vpslash.prepositive ! st ;
|
prepositive = \\st => np.prepositive ! st ++ vpslash.prepositive ! st ;
|
||||||
v2vType = True
|
v2vType = True
|
||||||
} ;
|
} ;
|
||||||
Reference in New Issue
Block a user