mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
|
||||
|
||||
lincat
|
||||
|
||||
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 ;
|
||||
subj : Particle => Style => Str ; changePolar : Bool ; missingSubj : 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 ;
|
||||
-- te, ba : Speaker => Animateness => Style => Polarity => 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} ;
|
||||
AP = {pred : Style => TTense => Polarity => Str ; attr, adv, dropNaEnging, prepositive :
|
||||
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} ;
|
||||
CN = Noun ** {object : Style => Str ; prepositive : Style => Str ; hasAttr : Bool} ;
|
||||
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} ;
|
||||
Predet = {s : Str ; not : 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} ;
|
||||
Card = {s : Str ; postpositive : Str ; n : Number ; tenPlus : Bool} ;
|
||||
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,
|
||||
-- i_stem : Speaker => Str ; te, ba : Speaker => Polarity =>
|
||||
-- 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 ;
|
||||
-- sense : ModSense} ;
|
||||
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 ;
|
||||
|
||||
@@ -26,5 +26,4 @@ flags coding = utf8 ;
|
||||
Tense = {s : Str ; t : TTense} ;
|
||||
Pol = {s : Str ; b : Polarity} ;
|
||||
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 ;
|
||||
|
||||
@@ -114,72 +114,72 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
||||
} ;
|
||||
|
||||
BaseS x y = {
|
||||
and = \\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 ;
|
||||
teOr = \\part,st => x.s ! part ! st ++ "," ++ "それとも" ++ y.te ! Ga ! st ;
|
||||
baAnd = \\part,st => x.ba ! part ! st ++ "," ++ y.ba ! Ga ! st ;
|
||||
baOr = \\part,st => x.s ! part ! st ++ "," ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||
and = \\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 ;
|
||||
teOr = \\part,st => x.s ! part ! st ++ "、" ++ "それとも" ++ y.te ! Ga ! st ;
|
||||
baAnd = \\part,st => x.ba ! part ! st ++ "、" ++ y.ba ! Ga ! st ;
|
||||
baOr = \\part,st => x.s ! part ! st ++ "、" ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||
subj = \\part,st => x.subj ! part ! st ;
|
||||
predAnd = \\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_teOr = \\st => x.pred ! st ++ "," ++ "それとも" ++ y.te ! Ga ! st ;
|
||||
pred_baAnd = \\st => x.pred_ba ! st ++ "," ++ y.ba ! Ga ! st ;
|
||||
pred_baOr = \\st => x.pred ! st ++ "," ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||
predAnd = \\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_teOr = \\st => x.pred ! st ++ "、" ++ "それとも" ++ y.te ! Ga ! st ;
|
||||
pred_baAnd = \\st => x.pred_ba ! st ++ "、" ++ y.ba ! Ga ! st ;
|
||||
pred_baOr = \\st => x.pred ! st ++ "、" ++ "それとも" ++ y.ba ! Ga ! st ;
|
||||
} ;
|
||||
|
||||
ConsS x xs = {
|
||||
and = \\part,st => xs.and ! 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 ;
|
||||
teOr = \\part,st => xs.or ! part ! st ++ "," ++ "それとも" ++ x.te ! Ga ! st ;
|
||||
baAnd = \\part,st => xs.baAnd ! part ! st ++ "," ++ x.ba ! Ga ! st ;
|
||||
baOr = \\part,st => xs.or ! part ! st ++ "," ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||
and = \\part,st => xs.and ! 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 ;
|
||||
teOr = \\part,st => xs.or ! part ! st ++ "、" ++ "それとも" ++ x.te ! Ga ! st ;
|
||||
baAnd = \\part,st => xs.baAnd ! part ! st ++ "、" ++ x.ba ! Ga ! st ;
|
||||
baOr = \\part,st => xs.or ! part ! st ++ "、" ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||
subj = xs.subj ;
|
||||
predAnd = \\st => xs.predAnd ! 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_teOr = \\st => xs.predOr ! st ++ "," ++ "それとも" ++ x.te ! Ga ! st ;
|
||||
pred_baAnd = \\st => xs.pred_baAnd ! st ++ "," ++ x.ba ! Ga ! st ;
|
||||
pred_baOr = \\st => xs.predOr ! st ++ "," ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||
predAnd = \\st => xs.predAnd ! 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_teOr = \\st => xs.predOr ! st ++ "、" ++ "それとも" ++ x.te ! Ga ! st ;
|
||||
pred_baAnd = \\st => xs.pred_baAnd ! st ++ "、" ++ x.ba ! Ga ! st ;
|
||||
pred_baOr = \\st => xs.predOr ! st ++ "、" ++ "それとも" ++ x.ba ! Ga ! st ;
|
||||
} ;
|
||||
|
||||
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 {
|
||||
<True, True> => x.s ! a ! st ++ "か" ++ "," ++ y.s ! a ! st ;
|
||||
_ => x.te ! a ! st ++ "," ++ "あるいは" ++ y.s ! a ! st
|
||||
<True, True> => x.s ! 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 ;
|
||||
teOr = \\a,st => x.te ! a ! st ++ "," ++ "あるいは" ++ y.te ! 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 ;
|
||||
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_baAnd = \\a,st => x.pred_te ! a ! st ++ "," ++ y.subj ! Ga ! st ++
|
||||
teAnd = \\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 ;
|
||||
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_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 ++
|
||||
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 ;
|
||||
subj = x.subj ;
|
||||
missingSubj = x.missingSubj
|
||||
} ;
|
||||
|
||||
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 {
|
||||
<True, True> => xs.teOr ! a ! st ++ "か" ++ "," ++ x.s ! a ! st ;
|
||||
_ => 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
|
||||
} ;
|
||||
teAnd = \\a,st => xs.teAnd ! 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 ;
|
||||
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_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 ++
|
||||
teAnd = \\a,st => xs.teAnd ! 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 ;
|
||||
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_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 ++
|
||||
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 ;
|
||||
subj = xs.subj ;
|
||||
missingSubj = xs.missingSubj
|
||||
@@ -188,11 +188,11 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
||||
BaseAdv x y = {
|
||||
and = \\st => case <x.prepositive, y.prepositive> of {
|
||||
<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 {
|
||||
<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 {
|
||||
<False, False> => False ;
|
||||
@@ -203,11 +203,11 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
||||
ConsAdv x xs = {
|
||||
and = \\st => case <x.prepositive, xs.prepositive> of {
|
||||
<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 {
|
||||
<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 {
|
||||
<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 ;
|
||||
counterReplace : Bool ; object : Style => Str ; prepositive : Style => Str ;
|
||||
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
|
||||
Level = {s : Str ; l : Style} ;
|
||||
@@ -1,4 +1,4 @@
|
||||
abstract ExtraJapAbs = Cat ** {
|
||||
abstract ExtraJpnAbs = Cat ** {
|
||||
cat
|
||||
Level ; -- style of speech
|
||||
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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -129,7 +129,7 @@ lin
|
||||
glove_N = mkN "手袋" Inanim ; -- "tebukuro"
|
||||
gold_N = mkN "金" Inanim ; -- "kin"
|
||||
good_A = mkA "良い" ; -- "ii" ;
|
||||
go_V = mkV "行く" Gr1 ; -- "iku"
|
||||
go_V = mkGo ;
|
||||
grammar_N = mkN "文法" Inanim ; -- "bumpou"
|
||||
grass_N = mkN "草" Inanim ; -- "kusa"
|
||||
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 ;
|
||||
|
||||
@@ -7,10 +7,14 @@ flags coding = utf8 ;
|
||||
DetCN det cn = {
|
||||
s = \\st => case det.inclCard 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 {
|
||||
<True, True> => cn.object ! st ++ det.quant ! st ++ det.num ++ det.postpositive ++
|
||||
"の" ++ cn.s ! det.n ! st ;
|
||||
<True, True> => cn.object ! st ++ det.quant ! st ++ det.num ++ "個" ++ det.postpositive
|
||||
++ "の" ++ cn.s ! det.n ! st ;
|
||||
_ => cn.object ! st ++ det.quant ! st ++ det.num ++ cn.counter ++ det.postpositive
|
||||
++ "の" ++ 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 ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
resource ParadigmsJap = CatJap **
|
||||
open ResJap, CatJap, Prelude in {
|
||||
resource ParadigmsJpn = CatJpn **
|
||||
open ResJpn, CatJpn, Prelude in {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete PhraseJap of Phrase = CatJap
|
||||
** open ResJap, ParadigmsJap, Prelude in {
|
||||
concrete PhraseJpn of Phrase = CatJpn
|
||||
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
@@ -12,9 +12,9 @@ flags coding = utf8 ;
|
||||
(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
|
||||
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 ;
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete QuestionJap of Question = CatJap
|
||||
** open ResJap, ParadigmsJap, Prelude in {
|
||||
concrete QuestionJpn of Question = CatJpn
|
||||
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||
|
||||
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 ;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
resource ResJap = open Prelude in {
|
||||
resource ResJpn = open Prelude in {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
@@ -507,6 +507,27 @@ oper
|
||||
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 -> {
|
||||
s = s ;
|
||||
postpositive = [] ;
|
||||
@@ -1,5 +1,5 @@
|
||||
concrete SentenceJap of Sentence = CatJap
|
||||
** open ResJap, ParadigmsJap, Prelude in {
|
||||
concrete SentenceJpn of Sentence = CatJpn
|
||||
** open ResJpn, ParadigmsJpn, Prelude in {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
@@ -359,10 +359,10 @@ flags coding = utf8 ;
|
||||
} ;
|
||||
|
||||
ExtAdvS adv s = {
|
||||
s = \\part,st => adv.s ! st ++ "," ++ s.s ! part ! st ;
|
||||
te = \\part,st => adv.s ! st ++ "," ++ s.te ! part ! st ;
|
||||
ba = \\part,st => adv.s ! st ++ "," ++ s.ba ! part ! st ;
|
||||
subj = \\part,st => adv.s ! st ++ "," ++ s.subj ! part ! st ;
|
||||
s = \\part,st => adv.s ! st ++ "、" ++ s.s ! part ! st ;
|
||||
te = \\part,st => adv.s ! st ++ "、" ++ s.te ! part ! st ;
|
||||
ba = \\part,st => adv.s ! st ++ "、" ++ s.ba ! part ! st ;
|
||||
subj = \\part,st => adv.s ! st ++ "、" ++ s.subj ! part ! st ;
|
||||
pred = s.pred ;
|
||||
pred_te = s.pred_te ;
|
||||
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 ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--# -path=.:../abstract:../common
|
||||
|
||||
concrete SymbolJap of Symbol = CatJap ** open Prelude, ResJap in {
|
||||
concrete SymbolJpn of Symbol = CatJpn ** open Prelude, ResJpn in {
|
||||
|
||||
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 ;
|
||||
|
||||
@@ -13,11 +13,11 @@ flags coding = utf8 ;
|
||||
PPos = {s = [] ; b = Pos} ;
|
||||
PNeg = {s = [] ; b = Neg} ;
|
||||
|
||||
TPres, TCond = {s = [] ; t = ResJap.TPres} ;
|
||||
TPast = {s = [] ; t = ResJap.TPast} ;
|
||||
TFut = {s = [] ; t = ResJap.TFut} ;
|
||||
TPres, TCond = {s = [] ; t = ResJpn.TPres} ;
|
||||
TPast = {s = [] ; t = ResJpn.TPast} ;
|
||||
TFut = {s = [] ; t = ResJpn.TFut} ;
|
||||
|
||||
ASimul = {s = [] ; a = Simul} ;
|
||||
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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -18,15 +18,15 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
||||
|
||||
ComplVV v vp = case v.sense of {
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
prep = vp.prep ;
|
||||
obj = \\st => vp.obj ! st ;
|
||||
@@ -129,17 +129,17 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
||||
Slash3V3 = Slash2V3 ;
|
||||
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
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 ;
|
||||
prepositive = vp.prepositive ;
|
||||
v2vType = True
|
||||
@@ -207,15 +207,15 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
||||
|
||||
SlashVV v vpslash = case v.sense of {
|
||||
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 ;
|
||||
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
||||
te = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||
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 ;
|
||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++
|
||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ことが" ++
|
||||
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 ;
|
||||
prep = vpslash.prep ;
|
||||
obj = vpslash.obj ;
|
||||
@@ -256,14 +256,14 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
||||
} ;
|
||||
|
||||
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 ;
|
||||
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
||||
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.ba ! p ;
|
||||
a_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.a_stem ;
|
||||
i_stem = \\sp => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.i_stem ;
|
||||
ba = \\sp,p => vpslash.s ! sp ! Plain ! TPres ! ResJpn.Pos ++ "ように" ++ v2v.ba ! p ;
|
||||
prep = vpslash.prep ;
|
||||
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 ;
|
||||
v2vType = True
|
||||
} ;
|
||||
Reference in New Issue
Block a user