diff --git a/lib/src/japanese/AdjectiveJap.gf b/lib/src/japanese/AdjectiveJpn.gf similarity index 95% rename from lib/src/japanese/AdjectiveJap.gf rename to lib/src/japanese/AdjectiveJpn.gf index fdba1e946..5e2a3479f 100644 --- a/lib/src/japanese/AdjectiveJap.gf +++ b/lib/src/japanese/AdjectiveJpn.gf @@ -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 ; diff --git a/lib/src/japanese/AdverbJap.gf b/lib/src/japanese/AdverbJpn.gf similarity index 90% rename from lib/src/japanese/AdverbJap.gf rename to lib/src/japanese/AdverbJpn.gf index a6fd8812a..8f6843cb9 100644 --- a/lib/src/japanese/AdverbJap.gf +++ b/lib/src/japanese/AdverbJpn.gf @@ -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 ; diff --git a/lib/src/japanese/AllJap.gf b/lib/src/japanese/AllJap.gf deleted file mode 100644 index 8e3200452..000000000 --- a/lib/src/japanese/AllJap.gf +++ /dev/null @@ -1,6 +0,0 @@ ---# -path=.:../abstract:../common:../prelude - -concrete AllJap of AllJapAbs = - LangJap, - ExtraJap - ** {} ; diff --git a/lib/src/japanese/AllJapAbs.gf b/lib/src/japanese/AllJapAbs.gf deleted file mode 100644 index 41c2a9ade..000000000 --- a/lib/src/japanese/AllJapAbs.gf +++ /dev/null @@ -1,4 +0,0 @@ -abstract AllJapAbs = - Lang, - ExtraJapAbs - ** {} ; diff --git a/lib/src/japanese/AllJpn.gf b/lib/src/japanese/AllJpn.gf new file mode 100644 index 000000000..bda23d0ce --- /dev/null +++ b/lib/src/japanese/AllJpn.gf @@ -0,0 +1,4 @@ +concrete AllJpn of AllJpnAbs = + LangJpn, + ExtraJpn + ** {} ; diff --git a/lib/src/japanese/AllJpnAbs.gf b/lib/src/japanese/AllJpnAbs.gf new file mode 100644 index 000000000..9b654c4f4 --- /dev/null +++ b/lib/src/japanese/AllJpnAbs.gf @@ -0,0 +1,4 @@ +abstract AllJpnAbs = + Lang, + ExtraJpnAbs + ** {} ; diff --git a/lib/src/japanese/CatJap.gf b/lib/src/japanese/CatJpn.gf similarity index 93% rename from lib/src/japanese/CatJap.gf rename to lib/src/japanese/CatJpn.gf index 4b40120ee..9de4eac60 100644 --- a/lib/src/japanese/CatJap.gf +++ b/lib/src/japanese/CatJpn.gf @@ -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 ; diff --git a/lib/src/japanese/CommonJap.gf b/lib/src/japanese/CommonJpn.gf similarity index 89% rename from lib/src/japanese/CommonJap.gf rename to lib/src/japanese/CommonJpn.gf index 8f150fec8..f5b0e1e0e 100644 --- a/lib/src/japanese/CommonJap.gf +++ b/lib/src/japanese/CommonJpn.gf @@ -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} ; - -} \ No newline at end of file +} diff --git a/lib/src/japanese/ConjunctionJap.gf b/lib/src/japanese/ConjunctionJpn.gf similarity index 71% rename from lib/src/japanese/ConjunctionJap.gf rename to lib/src/japanese/ConjunctionJpn.gf index 92e3a2917..712b0ff15 100644 --- a/lib/src/japanese/ConjunctionJap.gf +++ b/lib/src/japanese/ConjunctionJpn.gf @@ -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 of { - => x.s ! a ! st ++ "か" ++ "," ++ y.s ! a ! st ; - _ => x.te ! a ! st ++ "," ++ "あるいは" ++ y.s ! a ! st + => 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 of { - => xs.teOr ! a ! st ++ "か" ++ "," ++ x.s ! a ! st ; - _ => 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 ; - 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 of { => x.s ! st ++ y.s ! st ; - _ => x.s ! st ++ "," ++ y.s ! st + _ => x.s ! st ++ "、" ++ y.s ! st } ; or = \\st => case of { => x.s ! st ++ "か" ++ y.s ! st ; - _ => x.s ! st ++ "," ++ "あるいは" ++ y.s ! st + _ => x.s ! st ++ "、" ++ "あるいは" ++ y.s ! st } ; prepositive = case of { => False ; @@ -203,11 +203,11 @@ concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in { ConsAdv x xs = { and = \\st => case of { => xs.and ! st ++ x.s ! st ; - _ => xs.and ! st ++ "," ++ x.s ! st + _ => xs.and ! st ++ "、" ++ x.s ! st } ; or = \\st => case of { => x.s ! st ++ "か" ++ xs.or ! st ; - _ => xs.or ! st ++ "," ++ "あるいは" ++ x.s ! st + _ => xs.or ! st ++ "、" ++ "あるいは" ++ x.s ! st } ; prepositive = case of { => 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} ; - } diff --git a/lib/src/japanese/ExtraJap.gf b/lib/src/japanese/ExtraJpn.gf similarity index 90% rename from lib/src/japanese/ExtraJap.gf rename to lib/src/japanese/ExtraJpn.gf index 26ddaad57..05ac3839d 100644 --- a/lib/src/japanese/ExtraJap.gf +++ b/lib/src/japanese/ExtraJpn.gf @@ -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} ; diff --git a/lib/src/japanese/ExtraJapAbs.gf b/lib/src/japanese/ExtraJpnAbs.gf similarity index 84% rename from lib/src/japanese/ExtraJapAbs.gf rename to lib/src/japanese/ExtraJpnAbs.gf index 813062556..e19f8953a 100644 --- a/lib/src/japanese/ExtraJapAbs.gf +++ b/lib/src/japanese/ExtraJpnAbs.gf @@ -1,4 +1,4 @@ -abstract ExtraJapAbs = Cat ** { +abstract ExtraJpnAbs = Cat ** { cat Level ; -- style of speech Part ; -- particles wa/ga diff --git a/lib/src/japanese/GrammarJap.gf b/lib/src/japanese/GrammarJap.gf deleted file mode 100644 index 2802ef0bb..000000000 --- a/lib/src/japanese/GrammarJap.gf +++ /dev/null @@ -1,16 +0,0 @@ -concrete GrammarJap of Grammar = - NounJap, - VerbJap, - AdjectiveJap, - AdverbJap, - NumeralJap, - SentenceJap, - QuestionJap, - RelativeJap, - ConjunctionJap, - PhraseJap, - TextJap, - StructuralJap, - IdiomJap, - TenseJap - ; diff --git a/lib/src/japanese/GrammarJpn.gf b/lib/src/japanese/GrammarJpn.gf new file mode 100644 index 000000000..39b5a7cb7 --- /dev/null +++ b/lib/src/japanese/GrammarJpn.gf @@ -0,0 +1,16 @@ +concrete GrammarJpn of Grammar = + NounJpn, + VerbJpn, + AdjectiveJpn, + AdverbJpn, + NumeralJpn, + SentenceJpn, + QuestionJpn, + RelativeJpn, + ConjunctionJpn, + PhraseJpn, + TextJpn, + StructuralJpn, + IdiomJpn, + TenseJpn + ; diff --git a/lib/src/japanese/IdiomJap.gf b/lib/src/japanese/IdiomJpn.gf similarity index 97% rename from lib/src/japanese/IdiomJap.gf rename to lib/src/japanese/IdiomJpn.gf index aba91adef..10efabc5d 100644 --- a/lib/src/japanese/IdiomJap.gf +++ b/lib/src/japanese/IdiomJpn.gf @@ -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 ; diff --git a/lib/src/japanese/LangJap.gf b/lib/src/japanese/LangJap.gf deleted file mode 100644 index f52fb9e3e..000000000 --- a/lib/src/japanese/LangJap.gf +++ /dev/null @@ -1,7 +0,0 @@ ---# -path=.:../abstract:../common:../prelude - -concrete LangJap of Lang = - GrammarJap, - LexiconJap - ; - diff --git a/lib/src/japanese/LangJpn.gf b/lib/src/japanese/LangJpn.gf new file mode 100644 index 000000000..17053fdec --- /dev/null +++ b/lib/src/japanese/LangJpn.gf @@ -0,0 +1,5 @@ + concrete LangJpn of Lang = + GrammarJpn, + LexiconJpn + ; + diff --git a/lib/src/japanese/LexiconJap.gf b/lib/src/japanese/LexiconJpn.gf similarity index 97% rename from lib/src/japanese/LexiconJap.gf rename to lib/src/japanese/LexiconJpn.gf index 65d1f2962..380e58066 100644 --- a/lib/src/japanese/LexiconJap.gf +++ b/lib/src/japanese/LexiconJpn.gf @@ -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" ; diff --git a/lib/src/japanese/NounJap.gf b/lib/src/japanese/NounJpn.gf similarity index 91% rename from lib/src/japanese/NounJap.gf rename to lib/src/japanese/NounJpn.gf index fdcb5d5d8..1160d1e77 100644 --- a/lib/src/japanese/NounJap.gf +++ b/lib/src/japanese/NounJpn.gf @@ -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 of { - => cn.object ! st ++ det.quant ! st ++ det.num ++ det.postpositive ++ - "の" ++ cn.s ! det.n ! st ; + => 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 } diff --git a/lib/src/japanese/NumeralJap.gf b/lib/src/japanese/NumeralJpn.gf similarity index 94% rename from lib/src/japanese/NumeralJap.gf rename to lib/src/japanese/NumeralJpn.gf index b31e154af..d4f0cdeec 100644 --- a/lib/src/japanese/NumeralJap.gf +++ b/lib/src/japanese/NumeralJpn.gf @@ -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 ; diff --git a/lib/src/japanese/ParadigmsJap.gf b/lib/src/japanese/ParadigmsJpn.gf similarity index 94% rename from lib/src/japanese/ParadigmsJap.gf rename to lib/src/japanese/ParadigmsJpn.gf index 171469cae..6bef2b04d 100644 --- a/lib/src/japanese/ParadigmsJap.gf +++ b/lib/src/japanese/ParadigmsJpn.gf @@ -1,5 +1,5 @@ -resource ParadigmsJap = CatJap ** - open ResJap, CatJap, Prelude in { +resource ParadigmsJpn = CatJpn ** + open ResJpn, CatJpn, Prelude in { flags coding = utf8 ; diff --git a/lib/src/japanese/PhraseJap.gf b/lib/src/japanese/PhraseJpn.gf similarity index 84% rename from lib/src/japanese/PhraseJap.gf rename to lib/src/japanese/PhraseJpn.gf index e425edf23..f98d64c9e 100644 --- a/lib/src/japanese/PhraseJap.gf +++ b/lib/src/japanese/PhraseJpn.gf @@ -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 ; diff --git a/lib/src/japanese/QuestionJap.gf b/lib/src/japanese/QuestionJpn.gf similarity index 96% rename from lib/src/japanese/QuestionJap.gf rename to lib/src/japanese/QuestionJpn.gf index 70af91b1a..0073b0c49 100644 --- a/lib/src/japanese/QuestionJap.gf +++ b/lib/src/japanese/QuestionJpn.gf @@ -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 ; diff --git a/lib/src/japanese/RelativeJap.gf b/lib/src/japanese/RelativeJpn.gf similarity index 93% rename from lib/src/japanese/RelativeJap.gf rename to lib/src/japanese/RelativeJpn.gf index 26d0ac7e6..321e5d83b 100644 --- a/lib/src/japanese/RelativeJap.gf +++ b/lib/src/japanese/RelativeJpn.gf @@ -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 ; diff --git a/lib/src/japanese/ResJap.gf b/lib/src/japanese/ResJpn.gf similarity index 94% rename from lib/src/japanese/ResJap.gf rename to lib/src/japanese/ResJpn.gf index 31bf2ee2d..a68da2c41 100644 --- a/lib/src/japanese/ResJap.gf +++ b/lib/src/japanese/ResJpn.gf @@ -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 = [] ; diff --git a/lib/src/japanese/SentenceJap.gf b/lib/src/japanese/SentenceJpn.gf similarity index 96% rename from lib/src/japanese/SentenceJap.gf rename to lib/src/japanese/SentenceJpn.gf index c57ae2b24..c55a31609 100644 --- a/lib/src/japanese/SentenceJap.gf +++ b/lib/src/japanese/SentenceJpn.gf @@ -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 diff --git a/lib/src/japanese/StructuralJap.gf b/lib/src/japanese/StructuralJpn.gf similarity index 96% rename from lib/src/japanese/StructuralJap.gf rename to lib/src/japanese/StructuralJpn.gf index 30b423207..0972febef 100644 --- a/lib/src/japanese/StructuralJap.gf +++ b/lib/src/japanese/StructuralJpn.gf @@ -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 ; diff --git a/lib/src/japanese/SymbolJap.gf b/lib/src/japanese/SymbolJpn.gf similarity index 90% rename from lib/src/japanese/SymbolJap.gf rename to lib/src/japanese/SymbolJpn.gf index 5c253c0bb..9ed6fcc09 100644 --- a/lib/src/japanese/SymbolJap.gf +++ b/lib/src/japanese/SymbolJpn.gf @@ -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; {- diff --git a/lib/src/japanese/TenseJap.gf b/lib/src/japanese/TenseJpn.gf similarity index 55% rename from lib/src/japanese/TenseJap.gf rename to lib/src/japanese/TenseJpn.gf index b4881d901..4a47b214d 100644 --- a/lib/src/japanese/TenseJap.gf +++ b/lib/src/japanese/TenseJpn.gf @@ -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} ; -} \ No newline at end of file +} diff --git a/lib/src/japanese/TextJap.gf b/lib/src/japanese/TextJpn.gf similarity index 75% rename from lib/src/japanese/TextJap.gf rename to lib/src/japanese/TextJpn.gf index 4f21fb15f..72cff8827 100644 --- a/lib/src/japanese/TextJap.gf +++ b/lib/src/japanese/TextJpn.gf @@ -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 ; diff --git a/lib/src/japanese/VerbJap.gf b/lib/src/japanese/VerbJpn.gf similarity index 91% rename from lib/src/japanese/VerbJap.gf rename to lib/src/japanese/VerbJpn.gf index 1d0f9562c..bbca5f977 100644 --- a/lib/src/japanese/VerbJap.gf +++ b/lib/src/japanese/VerbJpn.gf @@ -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 } ;