diff --git a/lib/src/japanese/ExtraJap.gf b/lib/src/japanese/ExtraJap.gf new file mode 100644 index 000000000..26ddaad57 --- /dev/null +++ b/lib/src/japanese/ExtraJap.gf @@ -0,0 +1,33 @@ +concrete ExtraJap of ExtraJapAbs = CatJap ** open ResJap, Prelude, ParadigmsJap in { + + lincat + Level = {s : Str ; l : Style} ; + Part = {s : Str ; p : Particle} ; + + lin + Honorific = {s = [] ; l = Resp} ; + Informal = {s = [] ; l = Plain} ; + + PartWA = {s = [] ; p = Wa} ; + PartGA = {s = [] ; p = Ga} ; + + StylePartPhr level part pconj utt voc = { + s = case voc.type of { + Please => case utt.type of { + ImpPolite => level.s ++ part.s ++ pconj.s ++ utt.s ! part.p ! Resp ++ voc.null ; + (Imper|NoImp) => level.s ++ part.s ++ pconj.s ++ utt.s ! part.p ! Resp ++ voc.s ! Resp + } ; + VocPres => case utt.type of { + (Imper|ImpPolite) => level.s ++ part.s ++ voc.s ! Plain ++ "," ++ pconj.s ++ + utt.s ! part.p ! Plain ; + NoImp => level.s ++ part.s ++ voc.s ! level.l ++ "," ++ pconj.s ++ + utt.s ! part.p ! level.l + } ; + VocAbs => case utt.type of { + (Imper|ImpPolite) => level.s ++ part.s ++ voc.s ! Plain ++ pconj.s ++ + utt.s ! part.p ! Plain ; + NoImp => level.s ++ part.s ++ voc.s ! level.l ++ pconj.s ++ utt.s ! part.p ! level.l + } + } + } ; + } ;