mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-27 03:38:55 -06:00
new japanese from Liza 30 April
This commit is contained in:
@@ -8,100 +8,110 @@ flags coding = utf8 ;
|
|||||||
pred = adj.pred ;
|
pred = adj.pred ;
|
||||||
attr = \\st => adj.attr ;
|
attr = \\st => adj.attr ;
|
||||||
te = \\st => adj.te ;
|
te = \\st => adj.te ;
|
||||||
tara = \\st => adj.tara ;
|
ba = \\st => adj.ba ;
|
||||||
adv = \\st => adj.adv ;
|
adv = \\st => adj.adv ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
compar = NoCompar
|
compar = NoCompar ;
|
||||||
|
dropNaEnging = \\st => adj.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ComparA adj np = {
|
ComparA adj np = {
|
||||||
pred = \\st,t,p => np.s ! st ++ "より" ++ adj.pred ! st ! t ! p ;
|
pred = \\st,t,p => np.s ! st ++ "より" ++ adj.pred ! st ! t ! p ;
|
||||||
attr = \\st => np.s ! st ++ "より" ++ adj.attr ;
|
attr = \\st => np.s ! st ++ "より" ++ adj.attr ;
|
||||||
te = \\st => np.s ! st ++ "より" ++ adj.te ;
|
te = \\st => np.s ! st ++ "より" ++ adj.te ;
|
||||||
tara = \\st => np.s ! st ++ "より" ++ adj.tara ;
|
ba = \\st => np.s ! st ++ "より" ++ adj.ba ;
|
||||||
adv = \\st => np.s ! st ++ "より" ++ adj.adv ;
|
adv = \\st => np.s ! st ++ "より" ++ adj.adv ;
|
||||||
prepositive = np.prepositive ;
|
prepositive = np.prepositive ;
|
||||||
compar = More
|
compar = More ;
|
||||||
|
dropNaEnging = \\st => np.s ! st ++ "より" ++ adj.dropNaEnging ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ComplA2 a2 np = {
|
ComplA2 a2 np = {
|
||||||
pred = \\st,t,p => np.s ! st ++ a2.prep ++ a2.pred ! st ! t ! p ;
|
pred = \\st,t,p => np.s ! st ++ a2.prep ++ a2.pred ! st ! t ! p ;
|
||||||
attr = \\st => np.s ! st ++ a2.prep ++ a2.attr ;
|
attr = \\st => np.s ! st ++ a2.prep ++ a2.attr ;
|
||||||
te = \\st => np.s ! st ++ a2.prep ++ a2.te ;
|
te = \\st => np.s ! st ++ a2.prep ++ a2.te ;
|
||||||
tara = \\st => np.s ! st ++ a2.prep ++ a2.tara ;
|
ba = \\st => np.s ! st ++ a2.prep ++ a2.ba ;
|
||||||
prepositive = np.prepositive ;
|
prepositive = np.prepositive ;
|
||||||
adv = \\st => [] ;
|
adv = \\st => [] ;
|
||||||
compar = NoCompar
|
compar = NoCompar ;
|
||||||
|
dropNaEnging = \\st => np.s ! st ++ a2.prep ++ a2.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ReflA2 a2 = {
|
ReflA2 a2 = {
|
||||||
pred = \\st,t,p => "自分" ++ a2.prep ++ a2.pred ! st ! t ! p ; -- "jibun"
|
pred = \\st,t,p => "自分" ++ a2.prep ++ a2.pred ! st ! t ! p ; -- "jibun"
|
||||||
attr = \\st => "自分" ++ a2.prep ++ a2.attr ;
|
attr = \\st => "自分" ++ a2.prep ++ a2.attr ;
|
||||||
te = \\st => "自分" ++ a2.prep ++ a2.te ;
|
te = \\st => "自分" ++ a2.prep ++ a2.te ;
|
||||||
tara = \\st => "自分" ++ a2.prep ++ a2.tara ;
|
ba = \\st => "自分" ++ a2.prep ++ a2.ba ;
|
||||||
adv = \\st => [] ;
|
adv = \\st => [] ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
compar = NoCompar
|
compar = NoCompar ;
|
||||||
|
dropNaEnging = \\st => "自分" ++ a2.prep ++ a2.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseA2 a2 = {
|
UseA2 a2 = {
|
||||||
pred = a2.pred ;
|
pred = a2.pred ;
|
||||||
attr = \\st => a2.attr ;
|
attr = \\st => a2.attr ;
|
||||||
te = \\st => a2.te ;
|
te = \\st => a2.te ;
|
||||||
tara = \\st => a2.tara ;
|
ba = \\st => a2.ba ;
|
||||||
adv = \\st => [] ;
|
adv = \\st => [] ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
compar = NoCompar
|
compar = NoCompar ;
|
||||||
|
dropNaEnging = \\st => a2.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseComparA adj = {
|
UseComparA adj = {
|
||||||
pred = \\st,t,p => "もっと" ++ adj.pred ! st ! t ! p ;
|
pred = \\st,t,p => "もっと" ++ adj.pred ! st ! t ! p ;
|
||||||
attr = \\st => "もっと" ++ adj.attr ;
|
attr = \\st => "もっと" ++ adj.attr ;
|
||||||
te = \\st => "もっと" ++ adj.te ;
|
te = \\st => "もっと" ++ adj.te ;
|
||||||
tara = \\st => "もっと" ++ adj.tara ;
|
ba = \\st => "もっと" ++ adj.ba ;
|
||||||
adv = \\st => "もっと" ++ adj.adv ;
|
adv = \\st => "もっと" ++ adj.adv ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
compar = NoCompar -- "motto" does not change the main NP's particle
|
compar = NoCompar ; -- "motto" does not change the main NP's particle
|
||||||
|
dropNaEnging = \\st => "もっと" ++ adj.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
CAdvAP cadv ap np = {
|
CAdvAP cadv ap np = {
|
||||||
pred = \\st,t,p => np.s ! st ++ cadv.s ++ ap.pred ! st ! t ! p ;
|
pred = \\st,t,p => np.s ! st ++ cadv.s ++ ap.pred ! st ! t ! p ;
|
||||||
attr = \\st => np.s ! st ++ cadv.s ++ ap.attr ! st ;
|
attr = \\st => np.s ! st ++ cadv.s ++ ap.attr ! st ;
|
||||||
te = \\st => np.s ! st ++ cadv.s ++ ap.te ! st ;
|
te = \\st => np.s ! st ++ cadv.s ++ ap.te ! st ;
|
||||||
tara = \\st => np.s ! st ++ cadv.s ++ ap.tara ! st ;
|
ba = \\st => np.s ! st ++ cadv.s ++ ap.ba ! st ;
|
||||||
adv = \\st => np.s ! st ++ cadv.s ++ ap.adv ! st ;
|
adv = \\st => np.s ! st ++ cadv.s ++ ap.adv ! st ;
|
||||||
prepositive = np.prepositive ;
|
prepositive = np.prepositive ;
|
||||||
compar = cadv.compar
|
compar = cadv.compar ;
|
||||||
|
dropNaEnging = \\st => np.s ! st ++ cadv.s ++ ap.dropNaEnging ! st
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdjOrd ord = {
|
AdjOrd ord = {
|
||||||
pred = ord.pred ;
|
pred = ord.pred ;
|
||||||
attr = \\st => ord.attr ;
|
attr = \\st => ord.attr ;
|
||||||
te = \\st => ord.te ;
|
te = \\st => ord.te ;
|
||||||
tara = \\st => ord.tara ;
|
ba = \\st => ord.ba ;
|
||||||
adv = \\st => ord.adv ;
|
adv = \\st => ord.adv ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
compar = NoCompar
|
compar = NoCompar ;
|
||||||
|
dropNaEnging = \\st => ord.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SentAP ap sc = {
|
SentAP ap sc = {
|
||||||
pred = \\st,t,p => sc.s ! Ga ! st ++ "ことを" ++ ap.pred ! st ! t ! p ;
|
pred = \\st,t,p => sc.s ! Ga ! st ++ "ことを" ++ ap.pred ! st ! t ! p ;
|
||||||
attr = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.attr ! st ;
|
attr = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.attr ! st ;
|
||||||
te = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.te ! st ;
|
te = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.te ! st ;
|
||||||
tara = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.tara ! st ;
|
ba = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.ba ! st ;
|
||||||
adv = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.adv ! st ;
|
adv = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.adv ! st ;
|
||||||
prepositive = ap.prepositive ;
|
prepositive = ap.prepositive ;
|
||||||
compar = ap.compar
|
compar = ap.compar ;
|
||||||
|
dropNaEnging = \\st => sc.s ! Ga ! st ++ "ことを" ++ ap.dropNaEnging ! st
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdAP ada ap = {
|
AdAP ada ap = {
|
||||||
pred = \\st,t,p => ada.s ++ ap.pred ! st ! t ! p ;
|
pred = \\st,t,p => ada.s ++ ap.pred ! st ! t ! p ;
|
||||||
attr = \\st => ada.s ++ ap.attr ! st ;
|
attr = \\st => ada.s ++ ap.attr ! st ;
|
||||||
te = \\st => ada.s ++ ap.te ! st ;
|
te = \\st => ada.s ++ ap.te ! st ;
|
||||||
tara = \\st => ada.s ++ ap.tara ! st ;
|
ba = \\st => ada.s ++ ap.ba ! st ;
|
||||||
adv = \\st => ada.s ++ ap.adv ! st ;
|
adv = \\st => ada.s ++ ap.adv ! st ;
|
||||||
prepositive = ap.prepositive ;
|
prepositive = ap.prepositive ;
|
||||||
compar = ap.compar
|
compar = ap.compar ;
|
||||||
|
dropNaEnging = \\st => ada.s ++ ap.dropNaEnging ! st
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvAP ap adv = {
|
AdvAP ap adv = {
|
||||||
@@ -117,9 +127,9 @@ flags coding = utf8 ;
|
|||||||
True => ap.te ! st ;
|
True => ap.te ! st ;
|
||||||
False => adv.s ! st ++ ap.te ! st
|
False => adv.s ! st ++ ap.te ! st
|
||||||
} ;
|
} ;
|
||||||
tara = \\st => case adv.prepositive of {
|
ba = \\st => case adv.prepositive of {
|
||||||
True => ap.tara ! st ;
|
True => ap.ba ! st ;
|
||||||
False => adv.s ! st ++ ap.tara ! st
|
False => adv.s ! st ++ ap.ba ! st
|
||||||
} ;
|
} ;
|
||||||
adv = \\st => case adv.prepositive of {
|
adv = \\st => case adv.prepositive of {
|
||||||
True => ap.adv ! st ;
|
True => ap.adv ! st ;
|
||||||
@@ -129,6 +139,10 @@ flags coding = utf8 ;
|
|||||||
True => adv.s ! st ;
|
True => adv.s ! st ;
|
||||||
False => []
|
False => []
|
||||||
} ;
|
} ;
|
||||||
compar = ap.compar
|
compar = ap.compar ;
|
||||||
|
dropNaEnging = \\st => case adv.prepositive of {
|
||||||
|
True => ap.dropNaEnging ! st ;
|
||||||
|
False => adv.s ! st ++ ap.dropNaEnging ! st
|
||||||
|
}
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ flags coding = utf8 ;
|
|||||||
PositAdAAdj a = {s = a.adv} ;
|
PositAdAAdj a = {s = a.adv} ;
|
||||||
|
|
||||||
SubjS subj s = {
|
SubjS subj s = {
|
||||||
s = \\st => case subj.when of {
|
s = \\st => case subj.type of {
|
||||||
True => s.tara ! (Wa | Ga) ! st ;
|
If => s.ba ! (Wa | Ga) ! st ++ subj.s ;
|
||||||
False => s.s ! (Wa | Ga) ! st ++ subj.s
|
_ => s.s ! (Wa | Ga) ! st ++ subj.s
|
||||||
} ;
|
} ;
|
||||||
prepositive = True ;
|
prepositive = True ;
|
||||||
compar = NoCompar
|
compar = NoCompar
|
||||||
|
|||||||
@@ -8,34 +8,21 @@ flags coding = utf8 ;
|
|||||||
|
|
||||||
lincat
|
lincat
|
||||||
|
|
||||||
S = {s : Particle => Style => Str ;
|
S = {s, te, ba, subj : Particle => Style => Str ; pred, pred_te, pred_ba : Style => Str} ;
|
||||||
te : Particle => Style => Str ;
|
|
||||||
tara : Particle => Style => Str ;
|
|
||||||
subj : Particle => Style => Str ;
|
|
||||||
pred : Style => Str ;
|
|
||||||
} ;
|
|
||||||
QS = {s : Particle => Style => Str} ;
|
QS = {s : Particle => Style => Str} ;
|
||||||
RS = {s : Animateness => Style => Str ;
|
RS = {s, te, pred, pred_te, pred_ba : Animateness => Style => Str ;
|
||||||
te : Animateness => Style => Str ;
|
subj : Particle => Style => Str ; missingSubj : Bool} ;
|
||||||
subj : Particle => Style => Str ;
|
|
||||||
pred : Animateness => Style => Str ;
|
|
||||||
pred_te : Animateness => Style => Str ;
|
|
||||||
pred_tara : Animateness => Style => Str ;
|
|
||||||
missingSubj : Bool} ;
|
|
||||||
Cl = {s : Particle => Style => TTense => Polarity => Str ;
|
Cl = {s : Particle => Style => TTense => Polarity => Str ;
|
||||||
te : Particle => Style => Str ;
|
te, ba, subj : Particle => Style => Str ;
|
||||||
tara : Particle => Style => Str ;
|
|
||||||
subj : Particle => Style => Str ;
|
|
||||||
pred : Style => TTense => Polarity => Str ;
|
pred : Style => TTense => Polarity => Str ;
|
||||||
pred_te : Style => Str ;
|
pred_te, pred_ba : Style => Str ;
|
||||||
pred_tara : Style => Str ;
|
|
||||||
changePolar : Bool} ;
|
changePolar : Bool} ;
|
||||||
ClSlash = {s : Style => TTense => Polarity => Str ;
|
ClSlash = {s : Style => TTense => Polarity => Str ;
|
||||||
te : Style => Str ;
|
te : Style => Str ;
|
||||||
subj : Particle => Style => Str ;
|
subj : Particle => Style => Str ;
|
||||||
pred : Style => TTense => Polarity => Str ;
|
pred : Style => TTense => Polarity => Str ;
|
||||||
pred_te : Style => Str ;
|
pred_te : Style => Str ;
|
||||||
pred_tara : Style => Str ;
|
pred_ba : Style => Str ;
|
||||||
changePolar : Bool} ;
|
changePolar : Bool} ;
|
||||||
SSlash = {s : Style => Str ; te : Style => Str} ;
|
SSlash = {s : Style => Str ; te : Style => Str} ;
|
||||||
Imp = {s : Style => Polarity => Str} ;
|
Imp = {s : Style => Polarity => Str} ;
|
||||||
@@ -48,45 +35,44 @@ flags coding = utf8 ;
|
|||||||
te : Animateness => Style => Str ;
|
te : Animateness => Style => Str ;
|
||||||
subj : Particle => Style => Str ;
|
subj : Particle => Style => Str ;
|
||||||
pred : Animateness => Style => TTense => Polarity => Str ;
|
pred : Animateness => Style => TTense => Polarity => Str ;
|
||||||
pred_te : Animateness => Style => Str ;
|
pred_te, pred_ba : Animateness => Style => Str ;
|
||||||
pred_tara : Animateness => Style => Str ;
|
|
||||||
changePolar : Bool ;
|
changePolar : Bool ;
|
||||||
missingSubj : Bool} ;
|
missingSubj : Bool} ;
|
||||||
RP = {s : Style => Str ; prep : Str} ;
|
RP = {s : Style => Str ; prep : Str} ;
|
||||||
VP = ResJap.VP ; -- {verb : Animateness => Style => TTense => Polarity => Str ;
|
VP = ResJap.VP ; -- {verb : Animateness => Style => TTense => Polarity => Str ;
|
||||||
-- te : Animateness => Style => Str; a_stem : Animateness => Style => Str ;
|
-- te : Animateness => Style => Str; a_stem : Animateness => Style => Str ;
|
||||||
-- i_stem : Animateness => Style => Str ; tara : Animateness => Style => Str ;
|
-- i_stem : Animateness => Style => Str ; ba : Animateness => Style => Str ;
|
||||||
-- prep : Str ; obj : Style => Str ; prepositive : Style => Str ; compar : ComparSense} ;
|
-- prep : Str ; obj : Style => Str ; prepositive : Style => Str ; compar : ComparSense} ;
|
||||||
Comp = {verb : Animateness => Style => TTense => Polarity => Str ;
|
Comp = {verb : Animateness => Style => TTense => Polarity => Str ;
|
||||||
te : Animateness => Style => Str ; a_stem : Animateness => Style => Str ;
|
te : Animateness => Style => Str ; a_stem : Animateness => Style => Str ;
|
||||||
i_stem : Animateness => Style => Str ; tara : Animateness => Style => Str ;
|
i_stem : Animateness => Style => Str ; ba : Animateness => Style => Str ;
|
||||||
obj : Style => Str ; prepositive : Style => Str ; compar : ComparSense} ;
|
obj : Style => Str ; prepositive : Style => Str ; compar : ComparSense} ;
|
||||||
VPSlash = Verb ** {prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
VPSlash = Verb ** {prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
||||||
v2vType : Bool ; compar : ComparSense} ;
|
v2vType : Bool ; compar : ComparSense} ;
|
||||||
AP = {pred : Style => TTense => Polarity => Str ; attr : Style => Str ; te : Style => Str ;
|
AP = {pred : Style => TTense => Polarity => Str ; attr : Style => Str ; te : Style => Str ;
|
||||||
tara : Style => Str ; adv : Style => Str ; prepositive : Style => Str ;
|
ba : Style => Str ; adv : Style => Str ; dropNaEnging : Style => Str ;
|
||||||
compar : ComparSense} ;
|
prepositive : Style => Str ; compar : ComparSense} ;
|
||||||
NP = ResJap.NP ; -- {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
NP = ResJap.NP ; -- {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
||||||
-- changePolar : Bool ; Pron1Sg : Bool ; anim : Animateness} ;
|
-- changePolar : Bool ; Pron1Sg : Bool ; 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} ;
|
||||||
Det = Determiner ; -- {quant : Style => Str ; num : Str ; postpositive : Str ;
|
Det = Determiner ; -- {quant : Style => Str ; num : Str ; postpositive : Str ;
|
||||||
-- n : Number ; inclCard : Bool} ;
|
-- n : Number ; inclCard : Bool ; sp : Style => Str ; no : Bool} ;
|
||||||
Predet = {s : Str} ;
|
Predet = {s : Str ; not : Bool} ;
|
||||||
Quant = {s : Style => Str} ;
|
Quant = {s : Style => Str ; sp : Style => Str ; no : Bool} ;
|
||||||
Num = ResJap.Num ; -- {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool} ;
|
Num = ResJap.Num ; -- {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool} ;
|
||||||
Card = {s : Str ; postpositive : Str ; n : Number} ;
|
Card = {s : Str ; postpositive : Str ; n : Number} ;
|
||||||
Ord = Adj ; -- {pred : Style => TTense => Polarity => Str ;
|
Ord = Adj ; -- {pred : Style => TTense => Polarity => Str ; attr : Str ;
|
||||||
-- attr : Str; te : Str ; tara : Str ; adv : Str} ;
|
-- te : Str ; ba : Str ; adv : Str ; dropNaEnging : Str} ;
|
||||||
Numeral = {s : Str ; n : Number} ;
|
Numeral = {s : Str ; n : Number} ;
|
||||||
Digits = {s : Str ; n : Number} ;
|
Digits = {s : Str ; n : Number} ;
|
||||||
Conj = Conjunction ;
|
Conj = Conjunction ; -- {s : Str ; null : Str ; type : ConjType} ;
|
||||||
Subj = {s : Str ; when : Bool} ;
|
Subj = Subjunction ; -- {s : Str ; type : SubjType} ;
|
||||||
Prep = Preposition ; -- {s : Str ; relPrep : Str} ;
|
Prep = Preposition ; -- {s : Str ; relPrep : Str} ;
|
||||||
V = Verb ; -- {s : Style => TTense => Polarity => Str ; te : Str ;
|
V = Verb ; -- {s : Style => TTense => Polarity => Str ; te : Str ;
|
||||||
-- a_stem : Str ; i_stem : Str ; tara : Str}
|
-- a_stem : Str ; i_stem : Str ; ba : Str}
|
||||||
V2 = Verb ** {pass: Style => TTense => Polarity => Str ; pass_te : Str ; pass_a_stem : Str ;
|
V2 = Verb ** {pass: Style => TTense => Polarity => Str ; pass_te : Str ; pass_a_stem : Str ;
|
||||||
pass_i_stem : Str ; pass_tara : Str ; prep : Str} ;
|
pass_i_stem : Str ; pass_ba : Str ; prep : Str} ;
|
||||||
V3 = Verb ** {prep1 : Str ; prep2 : Str ; give : Bool} ; -- "give" is a special case
|
V3 = Verb ** {prep1 : Str ; prep2 : Str ; give : Bool} ; -- "give" is a special case
|
||||||
VV = Verb ** {sense : ModSense} ;
|
VV = Verb ** {sense : ModSense} ;
|
||||||
VS = Verb ** {prep : Str} ;
|
VS = Verb ** {prep : Str} ;
|
||||||
@@ -96,8 +82,8 @@ flags coding = utf8 ;
|
|||||||
V2S = Verb ;
|
V2S = Verb ;
|
||||||
V2Q = Verb ;
|
V2Q = Verb ;
|
||||||
V2A = Verb ;
|
V2A = Verb ;
|
||||||
A = Adj ; -- {pred : Style => TTense => Polarity => Str ;
|
A = Adj ; -- {pred : Style => TTense => Polarity => Str ; attr : Str;
|
||||||
-- attr : Str; te : Str ; tara : Str ; adv : Str} ;
|
-- te : Str ; ba : Str ; adv : Str ; dropNaEnging : Str} ;
|
||||||
A2 = Adj2 ; -- Adj ** {prep : Str} ;
|
A2 = Adj2 ; -- Adj ** {prep : Str} ;
|
||||||
N = Noun ; -- {s : Number => Style => Str ; anim : Animateness ;
|
N = Noun ; -- {s : Number => Style => Str ; anim : Animateness ;
|
||||||
-- counter : Str ; counterReplace : Bool} ;
|
-- counter : Str ; counterReplace : Bool} ;
|
||||||
|
|||||||
354
lib/src/japanese/ConjunctionJap.gf
Normal file
354
lib/src/japanese/ConjunctionJap.gf
Normal file
@@ -0,0 +1,354 @@
|
|||||||
|
concrete ConjunctionJap of Conjunction = CatJap ** open ResJap, Prelude in {
|
||||||
|
|
||||||
|
flags coding = utf8 ;
|
||||||
|
|
||||||
|
lin
|
||||||
|
|
||||||
|
ConjS conj s = case conj.type of {
|
||||||
|
(And | Both) => {
|
||||||
|
s = \\part,st => conj.null ++ s.and ! part ! st ;
|
||||||
|
te = \\part,st => conj.null ++ s.teAnd ! part ! st ;
|
||||||
|
ba = \\part,st => conj.null ++ s.baAnd ! part ! st ;
|
||||||
|
subj = \\part,st => conj.null ++ s.subj ! part ! st ;
|
||||||
|
pred = s.predAnd ;
|
||||||
|
pred_te = s.pred_teAnd ;
|
||||||
|
pred_ba = s.pred_baAnd
|
||||||
|
} ;
|
||||||
|
Or => {
|
||||||
|
s = \\part,st => conj.null ++ s.or ! part ! st ;
|
||||||
|
te = \\part,st => conj.null ++ s.teOr ! part ! st ;
|
||||||
|
ba = \\part,st => conj.null ++ s.baOr ! part ! st ;
|
||||||
|
subj = \\part,st => conj.null ++ s.subj ! part ! st ;
|
||||||
|
pred = s.predOr ;
|
||||||
|
pred_te = s.pred_teOr ;
|
||||||
|
pred_ba = s.pred_baOr
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjRS conj rs = case conj.type of {
|
||||||
|
(And | Both) => {
|
||||||
|
s = \\a,st => conj.null ++ rs.and ! a ! st ;
|
||||||
|
te = \\a,st => conj.null ++ rs.teAnd ! a ! st ;
|
||||||
|
pred = \\a,st => conj.null ++ rs.predAnd ! a ! st ;
|
||||||
|
pred_te = \\a,st => conj.null ++ rs.pred_teAnd ! a ! st ;
|
||||||
|
pred_ba = \\a,st => conj.null ++ rs.pred_baAnd ! a ! st ;
|
||||||
|
subj = rs.subj ;
|
||||||
|
missingSubj = rs.missingSubj
|
||||||
|
} ;
|
||||||
|
Or => {
|
||||||
|
s = \\a,st => conj.null ++ rs.or ! a ! st ;
|
||||||
|
te = \\a,st => conj.null ++ rs.teOr ! a ! st ;
|
||||||
|
pred = \\a,st => conj.null ++ rs.predOr ! a ! st ;
|
||||||
|
pred_te = \\a,st => conj.null ++ rs.pred_teOr ! a ! st ;
|
||||||
|
pred_ba = \\a,st => conj.null ++ rs.pred_baOr ! a ! st ;
|
||||||
|
subj = rs.subj ;
|
||||||
|
missingSubj = rs.missingSubj
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjAP conj ap = case conj.type of {
|
||||||
|
(And | Both) => {
|
||||||
|
pred = \\st,t,p => conj.null ++ ap.s1and ! st ++ ap.s2pred ! st ! t ! p ;
|
||||||
|
attr = \\st => conj.null ++ ap.s1and ! st ++ ap.s2attr ! st ;
|
||||||
|
te = \\st => conj.null ++ ap.s1and ! st ++ ap.s2te ! st ;
|
||||||
|
ba = \\st => conj.null ++ ap.s1and ! st ++ ap.s2ba ! st ;
|
||||||
|
adv = \\st => conj.null ++ ap.s1and ! st ++ ap.s2adv ! st ;
|
||||||
|
dropNaEnging = \\st => conj.null ++ ap.s1and ! st ++ ap.s2dropNaEnging ! st ;
|
||||||
|
prepositive = ap.prepositive ;
|
||||||
|
compar = ap.compar
|
||||||
|
} ;
|
||||||
|
Or => {
|
||||||
|
pred = \\st,t,p => conj.null ++ ap.s1or ! st ++ ap.s2pred ! st ! t ! p ;
|
||||||
|
attr = \\st => conj.null ++ ap.s1or ! st ++ ap.s2attr ! st ;
|
||||||
|
te = \\st => conj.null ++ ap.s1or ! st ++ ap.s2te ! st ;
|
||||||
|
ba = \\st => conj.null ++ ap.s1or ! st ++ ap.s2ba ! st ;
|
||||||
|
adv = \\st => conj.null ++ ap.s1or ! st ++ ap.s2adv ! st ;
|
||||||
|
dropNaEnging = \\st => conj.null ++ ap.s1or ! st ++ ap.s2dropNaEnging ! st ;
|
||||||
|
prepositive = ap.prepositive ;
|
||||||
|
compar = ap.compar
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjAdv conj adv = {
|
||||||
|
s = \\st => case conj.type of {
|
||||||
|
(And | Both) => conj.null ++ adv.and ! st ;
|
||||||
|
Or => conj.null ++ adv.or ! st
|
||||||
|
} ;
|
||||||
|
prepositive = adv.prepositive ;
|
||||||
|
compar = adv.compar
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjNP conj np = {
|
||||||
|
s = \\st => case conj.type of {
|
||||||
|
And => conj.null ++ np.and ! st ;
|
||||||
|
Or => conj.null ++ np.or ! st ;
|
||||||
|
Both => conj.null ++ np.both ! st
|
||||||
|
} ;
|
||||||
|
prepositive = np.prepositive ;
|
||||||
|
needPart = case conj.type of {
|
||||||
|
(And|Or) => np.needPart ;
|
||||||
|
Both => False
|
||||||
|
} ;
|
||||||
|
changePolar = np.changePolar ;
|
||||||
|
Pron1Sg = np.Pron1Sg ;
|
||||||
|
anim = np.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjIAdv conj iadv = {
|
||||||
|
s = \\st => conj.null ++ iadv.s ! st ;
|
||||||
|
particle = iadv.particle
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConjCN conj cn = {
|
||||||
|
s = \\n,st => case conj.type of {
|
||||||
|
(And|Both) => conj.null ++ cn.and ! n ! st ;
|
||||||
|
Or => conj.null ++ cn.or ! n ! st
|
||||||
|
} ;
|
||||||
|
anim = cn.anim ;
|
||||||
|
counter = cn.counter ;
|
||||||
|
counterReplace = cn.counterReplace ;
|
||||||
|
object = cn.object ;
|
||||||
|
prepositive = cn.prepositive ;
|
||||||
|
hasAttr = cn.hasAttr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
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 ;
|
||||||
|
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 ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
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 ;
|
||||||
|
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 ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
BaseRS x y = {
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
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 ++
|
||||||
|
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 ;
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
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 ++
|
||||||
|
x.pred_ba ! a ! st ;
|
||||||
|
subj = xs.subj ;
|
||||||
|
missingSubj = xs.missingSubj
|
||||||
|
} ;
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
or = \\st => case <x.prepositive, y.prepositive> of {
|
||||||
|
<False, False> => x.s ! st ++ "か" ++ y.s ! st ;
|
||||||
|
_ => x.s ! st ++ "," ++ "あるいは" ++ y.s ! st
|
||||||
|
} ;
|
||||||
|
prepositive = case <x.prepositive, y.prepositive> of {
|
||||||
|
<False, False> => False ;
|
||||||
|
_ => True
|
||||||
|
} ;
|
||||||
|
compar = case <x.compar, y.compar> of {
|
||||||
|
<NoCompar, NoCompar> => NoCompar ;
|
||||||
|
(<More, _> | <_, More>) => More ;
|
||||||
|
_ => Less
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
or = \\st => case <x.prepositive, xs.prepositive> of {
|
||||||
|
<False, False> => xs.or ! st ++ "か" ++ x.s ! st ;
|
||||||
|
_ => xs.or ! st ++ "," ++ "あるいは" ++ x.s ! st
|
||||||
|
} ;
|
||||||
|
prepositive = case <x.prepositive, xs.prepositive> of {
|
||||||
|
<False, False> => False ;
|
||||||
|
_ => True
|
||||||
|
} ;
|
||||||
|
compar = case <x.compar, xs.compar> of {
|
||||||
|
<NoCompar, NoCompar> => NoCompar ;
|
||||||
|
(<More, _> | <_, More>) => More ;
|
||||||
|
_ => Less
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
BaseNP x y = {
|
||||||
|
and = \\st => x.s ! st ++ "と" ++ y.s ! st ;
|
||||||
|
or = \\st => x.s ! st ++ "か" ++ y.s ! st ;
|
||||||
|
both = \\st => x.s ! st ++ "も" ++ y.s ! st ++ "も" ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ y.prepositive ! st ;
|
||||||
|
needPart = case <x.needPart, y.needPart> of {
|
||||||
|
<True, True> => True ;
|
||||||
|
_ => False
|
||||||
|
} ;
|
||||||
|
changePolar = case <x.changePolar, y.changePolar> of {
|
||||||
|
<False, False> => False ;
|
||||||
|
_ => True
|
||||||
|
} ;
|
||||||
|
Pron1Sg = False ;
|
||||||
|
anim = case <x.anim, y.anim> of {
|
||||||
|
<Inanim, Inanim> => Inanim ;
|
||||||
|
_ => Anim
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConsNP x xs = {
|
||||||
|
and = \\st => x.s ! st ++ "と" ++ xs.and ! st ;
|
||||||
|
or = \\st => x.s ! st ++ "か" ++ xs.or ! st ;
|
||||||
|
both = \\st => x.s ! st ++ "も" ++ xs.both ! st ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ xs.prepositive ! st ;
|
||||||
|
needPart = case <xs.needPart, x.needPart> of {
|
||||||
|
<True, True> => True ;
|
||||||
|
_ => False
|
||||||
|
} ;
|
||||||
|
changePolar = case <xs.changePolar, x.changePolar> of {
|
||||||
|
<False, False> => False ;
|
||||||
|
_ => True
|
||||||
|
} ;
|
||||||
|
Pron1Sg = False ;
|
||||||
|
anim = case <xs.anim, x.anim> of {
|
||||||
|
<Inanim, Inanim> => Inanim ;
|
||||||
|
_ => Anim
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
BaseAP x y = {
|
||||||
|
s1and = x.te ;
|
||||||
|
s1or = \\st => x.dropNaEnging ! st ++ "か" ;
|
||||||
|
s2pred = y.pred ;
|
||||||
|
s2attr = y.attr ;
|
||||||
|
s2te = y.te ;
|
||||||
|
s2ba = y.ba ;
|
||||||
|
s2adv = y.adv ;
|
||||||
|
s2dropNaEnging = y.dropNaEnging ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ y.prepositive ! st ;
|
||||||
|
compar = y.compar
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConsAP x xs = {
|
||||||
|
s1and = \\st => xs.s1and ! st ++ xs.s2te ! st ;
|
||||||
|
s1or = \\st => xs.s1or ! st ++ xs.s2dropNaEnging ! st ++ "か" ;
|
||||||
|
s2pred = x.pred ;
|
||||||
|
s2attr = x.attr ;
|
||||||
|
s2te = x.te ;
|
||||||
|
s2ba = x.ba ;
|
||||||
|
s2adv = x.adv ;
|
||||||
|
s2dropNaEnging = x.dropNaEnging ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ xs.prepositive ! st ;
|
||||||
|
compar = x.compar
|
||||||
|
} ;
|
||||||
|
|
||||||
|
BaseIAdv x y = {
|
||||||
|
s = \\st => x.s ! st ++ x.particle ++ y.s ! st ;
|
||||||
|
particle = y.particle
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConsIAdv x xs = {
|
||||||
|
s = \\st => x.s ! st ++ x.particle ++ xs.s ! st ;
|
||||||
|
particle = xs.particle
|
||||||
|
} ;
|
||||||
|
|
||||||
|
BaseCN x y = {
|
||||||
|
and = \\n,st => x.s ! n ! st ++ "と" ++ y.object ! st ++ y.s ! n ! st ;
|
||||||
|
or = \\n,st => x.s ! n ! st ++ "か" ++ y.object ! st ++ y.s ! n ! st ;
|
||||||
|
anim = case <x.anim, y.anim> of {
|
||||||
|
<Inanim, Inanim> => Inanim ;
|
||||||
|
_ => Anim
|
||||||
|
} ;
|
||||||
|
counter = y.counter ;
|
||||||
|
counterReplace = y.counterReplace ;
|
||||||
|
object = x.object ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ y.prepositive ! st ;
|
||||||
|
hasAttr = x.hasAttr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ConsCN x xs = {
|
||||||
|
and = \\n,st => x.s ! n ! st ++ "と" ++ xs.object ! st ++ xs.and ! n ! st ;
|
||||||
|
or = \\n,st => x.s ! n ! st ++ "か" ++ xs.object ! st ++ xs.or ! n ! st ;
|
||||||
|
anim = case <x.anim, xs.anim> of {
|
||||||
|
<Inanim, Inanim> => Inanim ;
|
||||||
|
_ => Anim
|
||||||
|
} ;
|
||||||
|
counter = xs.counter ;
|
||||||
|
counterReplace = xs.counterReplace ;
|
||||||
|
object = x.object ;
|
||||||
|
prepositive = \\st => x.prepositive ! st ++ xs.prepositive ! st ;
|
||||||
|
hasAttr = x.hasAttr
|
||||||
|
} ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
|
||||||
|
[S] = {and, or, teAnd, teOr, baAnd, baOr, subj : Particle => Style => Str ;
|
||||||
|
predAnd, predOr, pred_teAnd, pred_teOr, pred_baAnd, pred_baOr : Style => Str} ;
|
||||||
|
|
||||||
|
[RS] = {and, or, teAnd, teOr, predAnd, predOr, pred_teAnd, pred_teOr, pred_baAnd,
|
||||||
|
pred_baOr : Animateness => Style => Str ; subj : Particle => Style => Str ;
|
||||||
|
missingSubj : Bool} ;
|
||||||
|
|
||||||
|
[Adv] = {and, or : Style => Str ; prepositive : Bool ; compar : ComparSense} ;
|
||||||
|
|
||||||
|
[NP] = {and, or, both : Style => Str ; prepositive : Style => Str ;
|
||||||
|
needPart : Bool ; changePolar : Bool ; Pron1Sg : Bool ; anim : Animateness} ;
|
||||||
|
|
||||||
|
[AP] = {s1and, s1or : Style => Str ; s2pred : Style => TTense => Polarity => Str ;
|
||||||
|
s2attr, s2te, s2ba, s2adv, s2dropNaEnging, prepositive : Style => Str ;
|
||||||
|
compar : ComparSense} ;
|
||||||
|
|
||||||
|
[IAdv] = {s : Style => Str ; particle : Str} ;
|
||||||
|
|
||||||
|
[CN] = {and, or : Number => Style => Str ; anim : Animateness ; counter : Str ;
|
||||||
|
counterReplace : Bool ; object : Style => Str ; prepositive : Style => Str ;
|
||||||
|
hasAttr : Bool} ;
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ concrete GrammarJap of Grammar =
|
|||||||
SentenceJap,
|
SentenceJap,
|
||||||
QuestionJap,
|
QuestionJap,
|
||||||
RelativeJap,
|
RelativeJap,
|
||||||
-- ConjunctionJap,
|
ConjunctionJap,
|
||||||
PhraseJap,
|
PhraseJap,
|
||||||
TextJap,
|
TextJap,
|
||||||
StructuralJap,
|
StructuralJap,
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => vp.prepositive ! st ++ "これのほうが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "これのほうが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Inanim ! st
|
vp.prep ++ vp.te ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
Wa => \\st => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st ;
|
vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
Ga => \\st => vp.prepositive ! st ++ "これのほうが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "これのほうが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st
|
vp.prep ++ vp.ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "これは" ;
|
Wa => \\st => vp.prepositive ! st ++ "これは" ;
|
||||||
@@ -30,7 +30,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Inanim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
Less => {
|
Less => {
|
||||||
@@ -38,12 +38,12 @@ flags coding = utf8 ;
|
|||||||
vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
te = \\part,st => vp.prepositive ! st ++ "これより" ++ vp.obj ! st ++
|
te = \\part,st => vp.prepositive ! st ++ "これより" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Inanim ! st ;
|
vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
tara = \\part,st => vp.prepositive ! st ++ "これより" ++ vp.obj ! st ++
|
ba = \\part,st => vp.prepositive ! st ++ "これより" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st ;
|
vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
subj = \\part,st => vp.prepositive ! st ++ "これより" ;
|
subj = \\part,st => vp.prepositive ! st ++ "これより" ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Inanim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
NoCompar => {
|
NoCompar => {
|
||||||
@@ -59,11 +59,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Inanim ! st
|
vp.prep ++ vp.te ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
Wa => \\st => vp.prepositive ! st ++ "これは" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st ;
|
vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
Ga => \\st => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "これが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st
|
vp.prep ++ vp.ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "これは" ;
|
Wa => \\st => vp.prepositive ! st ++ "これは" ;
|
||||||
@@ -71,7 +71,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Inanim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -79,7 +79,7 @@ flags coding = utf8 ;
|
|||||||
GenericCl vp = case vp.compar of {
|
GenericCl vp = case vp.compar of {
|
||||||
More => {
|
More => {
|
||||||
s = table {
|
s = table {
|
||||||
Wa => \\st,t,p => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++ -- "dareka"
|
Wa => \\st,t,p => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
Ga => \\st,t,p => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
Ga => \\st,t,p => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.verb ! Anim ! st ! t ! p
|
vp.prep ++ vp.verb ! Anim ! st ! t ! p
|
||||||
@@ -90,11 +90,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Anim ! st
|
vp.prep ++ vp.te ! Anim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
Wa => \\st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Anim ! st ;
|
vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
Ga => \\st => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
Ga => \\st => vp.prepositive ! st ++ "誰かのほうが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Anim ! st
|
vp.prep ++ vp.ba ! Anim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => vp.prepositive ! st ++ "誰か" ;
|
Wa => \\st => vp.prepositive ! st ++ "誰か" ;
|
||||||
@@ -102,7 +102,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
Less => {
|
Less => {
|
||||||
@@ -110,12 +110,12 @@ flags coding = utf8 ;
|
|||||||
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
te = \\part,st => vp.prepositive ! st ++ "誰かより" ++ vp.obj ! st ++
|
te = \\part,st => vp.prepositive ! st ++ "誰かより" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Anim ! st ;
|
vp.prep ++ vp.te ! Anim ! st ;
|
||||||
tara = \\part,st => vp.prepositive ! st ++ "誰かより" ++ vp.obj ! st ++
|
ba = \\part,st => vp.prepositive ! st ++ "誰かより" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Anim ! st ;
|
vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
subj = \\part,st => vp.prepositive ! st ++ "誰かより" ;
|
subj = \\part,st => vp.prepositive ! st ++ "誰かより" ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
NoCompar => {
|
NoCompar => {
|
||||||
@@ -123,12 +123,12 @@ flags coding = utf8 ;
|
|||||||
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
te = \\part,st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
te = \\part,st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Anim ! st ;
|
vp.prep ++ vp.te ! Anim ! st ;
|
||||||
tara = \\part,st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
ba = \\part,st => vp.prepositive ! st ++ "誰か" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Anim ! st ;
|
vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
subj = \\part,st => vp.prepositive ! st ++ "誰か" ;
|
subj = \\part,st => vp.prepositive ! st ++ "誰か" ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Anim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -139,26 +139,27 @@ flags coding = utf8 ;
|
|||||||
mkCopula.s ! st ! t ! p ;
|
mkCopula.s ! st ! t ! p ;
|
||||||
te = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
te = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
||||||
rs.pred ! np.anim ! Plain ++ "のは" ++ np.s ! st ++ "だって" ;
|
rs.pred ! np.anim ! Plain ++ "のは" ++ np.s ! st ++ "だって" ;
|
||||||
tara = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
ba = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
||||||
rs.pred ! np.anim ! Plain ++ "のは" ++ np.s ! st ++ "だったら" ;
|
rs.pred ! np.anim ! Plain ++ "のは" ++ np.s ! st ++ "であれば" ;
|
||||||
subj = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
subj = \\part,st => np.prepositive ! st ++ rs.subj ! Ga ! st ++
|
||||||
rs.pred ! np.anim ! Plain ++ "のは" ;
|
rs.pred ! np.anim ! Plain ++ "のは" ;
|
||||||
pred = \\st,t,p => np.s ! st ++ mkCopula.s ! st ! t ! p ;
|
pred = \\st,t,p => np.s ! st ++ mkCopula.s ! st ! t ! p ;
|
||||||
pred_te = \\st => np.s ! st ++ "だって" ;
|
pred_te = \\st => np.s ! st ++ "だって" ;
|
||||||
pred_tara = \\st => np.s ! st ++ "だったら" ;
|
pred_ba = \\st => np.s ! st ++ "であれば" ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
CleftAdv adv s = {
|
CleftAdv adv s = {
|
||||||
s = \\part,st,t,p => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++
|
s = \\part,st,t,p => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++
|
||||||
mkCopula.s ! st ! t ! p ;
|
mkCopula.s ! st ! t ! p ;
|
||||||
te = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++ "だって" ;
|
te = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++
|
||||||
tara = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++
|
"だって" ;
|
||||||
"だったら" ;
|
ba = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ++ adv.s ! st ++
|
||||||
|
"であれば" ;
|
||||||
subj = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ;
|
subj = \\part,st => s.subj ! Ga ! st ++ s.pred ! Plain ++ "のは" ;
|
||||||
pred = \\st,t,p => adv.s ! st ++ mkCopula.s ! st ! t ! p ;
|
pred = \\st,t,p => adv.s ! st ++ mkCopula.s ! st ! t ! p ;
|
||||||
pred_te = \\st => adv.s ! st ++ "だって" ;
|
pred_te = \\st => adv.s ! st ++ "だって" ;
|
||||||
pred_tara = \\st => adv.s ! st ++ "だったら" ;
|
pred_ba = \\st => adv.s ! st ++ "であれば" ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -174,9 +175,9 @@ flags coding = utf8 ;
|
|||||||
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ++ mkExistV.te ! np.anim ! st ;
|
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ++ mkExistV.te ! np.anim ! st ;
|
||||||
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ mkExistV.te ! np.anim ! st
|
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ mkExistV.te ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ++ mkExistV.tara ! np.anim ! st ;
|
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ++ mkExistV.ba ! np.anim ! st ;
|
||||||
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ mkExistV.tara ! np.anim ! st
|
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ mkExistV.ba ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ;
|
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ;
|
||||||
@@ -184,18 +185,18 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => mkExistV.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => mkExistV.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => mkExistV.te ! np.anim ! st ;
|
pred_te = \\st => mkExistV.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => mkExistV.tara ! np.anim ! st ;
|
pred_ba = \\st => mkExistV.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
False => {
|
False => {
|
||||||
s = \\part,st,t,p => np.prepositive ! st ++ np.s ! st ++
|
s = \\part,st,t,p => np.prepositive ! st ++ np.s ! st ++
|
||||||
mkExistV.verb ! np.anim ! st ! t ! p ;
|
mkExistV.verb ! np.anim ! st ! t ! p ;
|
||||||
te = \\part,st => np.prepositive ! st ++ np.s ! st ++ mkExistV.te ! np.anim ! st ;
|
te = \\part,st => np.prepositive ! st ++ np.s ! st ++ mkExistV.te ! np.anim ! st ;
|
||||||
tara = \\part,st => np.prepositive ! st ++ np.s ! st ++ mkExistV.tara ! np.anim ! st ;
|
ba = \\part,st => np.prepositive ! st ++ np.s ! st ++ mkExistV.ba ! np.anim ! st ;
|
||||||
subj = \\part,st => np.prepositive ! st ++ np.s ! st ;
|
subj = \\part,st => np.prepositive ! st ++ np.s ! st ;
|
||||||
pred = \\st,t,p => mkExistV.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => mkExistV.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => mkExistV.te ! np.anim ! st ;
|
pred_te = \\st => mkExistV.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => mkExistV.tara ! np.anim ! st ;
|
pred_ba = \\st => mkExistV.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -210,7 +211,7 @@ flags coding = utf8 ;
|
|||||||
te = \\a,st => vp.te ! a ! st ++ "いて" ;
|
te = \\a,st => vp.te ! a ! st ++ "いて" ;
|
||||||
a_stem = \\a,st => vp.te ! a ! st ++ "い" ;
|
a_stem = \\a,st => vp.te ! a ! st ++ "い" ;
|
||||||
i_stem = \\a,st => vp.te ! a ! st ++ "い" ;
|
i_stem = \\a,st => vp.te ! a ! st ++ "い" ;
|
||||||
tara = \\a,st => vp.te ! a ! st ++ "いたら" ;
|
ba = \\a,st => vp.te ! a ! st ++ "いれば" ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = vp.obj ;
|
obj = vp.obj ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
--# -path=.:../common:../abstract
|
--# -path=.:../abstract:../common:../prelude
|
||||||
|
|
||||||
concrete LangJap of Lang =
|
concrete LangJap of Lang =
|
||||||
GrammarJap,
|
GrammarJap,
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
prepositive = cn.prepositive ;
|
prepositive = cn.prepositive ;
|
||||||
needPart = True ;
|
needPart = True ;
|
||||||
changePolar = False ;
|
changePolar = case det.no of {
|
||||||
|
True => True ;
|
||||||
|
False => False
|
||||||
|
} ;
|
||||||
Pron1Sg = False ;
|
Pron1Sg = False ;
|
||||||
anim = cn.anim
|
anim = cn.anim
|
||||||
} ;
|
} ;
|
||||||
@@ -42,7 +45,10 @@ flags coding = utf8 ;
|
|||||||
s = \\st => p.s ++ np.s ! st ;
|
s = \\st => p.s ++ np.s ! st ;
|
||||||
prepositive = np.prepositive ;
|
prepositive = np.prepositive ;
|
||||||
needPart = np.needPart ;
|
needPart = np.needPart ;
|
||||||
changePolar = np.changePolar ;
|
changePolar = case p.not of {
|
||||||
|
True => True ;
|
||||||
|
False => np.changePolar
|
||||||
|
} ;
|
||||||
Pron1Sg = np.Pron1Sg ;
|
Pron1Sg = np.Pron1Sg ;
|
||||||
anim = np.anim
|
anim = np.anim
|
||||||
} ;
|
} ;
|
||||||
@@ -81,13 +87,13 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetNP det = {
|
DetNP det = {
|
||||||
s = \\st => case det.inclCard of {
|
s = det.sp ;
|
||||||
True => det.quant ! st ++ det.num ++ "つ" ++ det.postpositive ;
|
|
||||||
False => det.quant ! st ++ det.num
|
|
||||||
} ;
|
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
needPart = True ;
|
needPart = True ;
|
||||||
changePolar = False ;
|
changePolar = case det.no of {
|
||||||
|
True => True ;
|
||||||
|
False => False
|
||||||
|
} ;
|
||||||
Pron1Sg = False ;
|
Pron1Sg = False ;
|
||||||
anim = Inanim -- not always, depends on the context
|
anim = Inanim -- not always, depends on the context
|
||||||
} ;
|
} ;
|
||||||
@@ -97,7 +103,12 @@ flags coding = utf8 ;
|
|||||||
postpositive = num.postpositive ;
|
postpositive = num.postpositive ;
|
||||||
num = num.s ;
|
num = num.s ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
inclCard = num.inclCard
|
inclCard = num.inclCard ;
|
||||||
|
sp = \\st => case num.inclCard of {
|
||||||
|
True => quant.s ! st ++ num.s ++ "つ" ++ num.postpositive ;
|
||||||
|
False => quant.sp ! st ++ num.s
|
||||||
|
} ;
|
||||||
|
no = quant.no
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetQuantOrd quant num ord = {
|
DetQuantOrd quant num ord = {
|
||||||
@@ -105,7 +116,12 @@ flags coding = utf8 ;
|
|||||||
postpositive = num.postpositive ;
|
postpositive = num.postpositive ;
|
||||||
num = num.s ;
|
num = num.s ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
inclCard = num.inclCard
|
inclCard = num.inclCard ;
|
||||||
|
sp = \\st => case num.inclCard of {
|
||||||
|
True => quant.s ! st ++ ord.attr ++ num.s ++ "つ" ++ num.postpositive ;
|
||||||
|
False => quant.s ! st ++ ord.attr ++ num.s
|
||||||
|
} ;
|
||||||
|
no = quant.no
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
NumSg = mkNum "" Sg False ;
|
NumSg = mkNum "" Sg False ;
|
||||||
@@ -133,31 +149,34 @@ flags coding = utf8 ;
|
|||||||
|
|
||||||
OrdDigits d = {
|
OrdDigits d = {
|
||||||
pred = \\st,t,p => d.s ++ "番目" ++ mkCopula.s ! st ! t ! p ; -- "banme"
|
pred = \\st,t,p => d.s ++ "番目" ++ mkCopula.s ! st ! t ! p ; -- "banme"
|
||||||
attr = d.s ++ "番目の" ;
|
attr = d.s ++ "番目の" ;
|
||||||
te = d.s ++ "番目" ++ mkCopula.te ;
|
te = d.s ++ "番目" ++ mkCopula.te ;
|
||||||
tara = d.s ++ "番目" ++ mkCopula.tara ;
|
ba = d.s ++ "番目" ++ mkCopula.ba ;
|
||||||
adv = d.s ++ "番目"
|
adv = d.s ++ "番目" ;
|
||||||
|
dropNaEnging = d.s ++ "番目の"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
OrdNumeral num = {
|
OrdNumeral num = {
|
||||||
pred = \\st,t,p => num.s ++ "番目" ++ mkCopula.s ! st ! t ! p ;
|
pred = \\st,t,p => num.s ++ "番目" ++ mkCopula.s ! st ! t ! p ;
|
||||||
attr = num.s ++ "番目の" ;
|
attr = num.s ++ "番目の" ;
|
||||||
te = num.s ++ "番目" ++ mkCopula.te ;
|
te = num.s ++ "番目" ++ mkCopula.te ;
|
||||||
tara = num.s ++ "番目" ++ mkCopula.tara ;
|
ba = num.s ++ "番目" ++ mkCopula.ba ;
|
||||||
adv = num.s ++ "番目"
|
adv = num.s ++ "番目" ;
|
||||||
|
dropNaEnging = num.s ++ "番目の"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
OrdSuperl a = {
|
OrdSuperl a = {
|
||||||
pred = \\st,t,p => "一番" ++ a.pred ! st ! t ! p ; -- "ichiban"
|
pred = \\st,t,p => "一番" ++ a.pred ! st ! t ! p ; -- "ichiban"
|
||||||
attr = "一番" ++ a.attr ;
|
attr = "一番" ++ a.attr ;
|
||||||
te = "一番" ++ a.te ;
|
te = "一番" ++ a.te ;
|
||||||
tara = "一番" ++ a.tara ;
|
ba = "一番" ++ a.ba ;
|
||||||
adv = "一番" ++ a.adv
|
adv = "一番" ++ a.adv ;
|
||||||
|
dropNaEnging = "一番" ++ a.dropNaEnging
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IndefArt = {s = \\st => ""} ;
|
IndefArt = {s = \\st => "" ; sp = \\st => "何か" ; no = False} ;
|
||||||
|
|
||||||
DefArt = {s = \\st => ""} ;
|
DefArt = {s = \\st => "" ; sp = \\st => "これ" ; no = False} ;
|
||||||
|
|
||||||
MassNP cn = {
|
MassNP cn = {
|
||||||
s = \\st => cn.object ! st ++ cn.s ! Pl ! st ;
|
s = \\st => cn.object ! st ++ cn.s ! Pl ! st ;
|
||||||
@@ -169,7 +188,8 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
PossPron pron = {
|
PossPron pron = {
|
||||||
s = \\st => pron.s ! st ++ "の" ;
|
s, sp = \\st => pron.s ! st ++ "の" ;
|
||||||
|
no = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseN n = {
|
UseN n = {
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ flags coding = utf8 ;
|
|||||||
|
|
||||||
NoPConj = ss "" ;
|
NoPConj = ss "" ;
|
||||||
|
|
||||||
PConjConj conj = {s = conj.pconj} ;
|
PConjConj conj = {s = conj.s} ;
|
||||||
|
|
||||||
NoVoc = {s = \\st => [] ; please = False} ;
|
NoVoc = {s = \\st => [] ; please = False} ;
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ flags coding = utf8 ;
|
|||||||
QuestIComp icomp np = {
|
QuestIComp icomp np = {
|
||||||
s = table {
|
s = table {
|
||||||
Wa => \\st,t,p => case np.needPart of {
|
Wa => \\st,t,p => case np.needPart of {
|
||||||
True => np.prepositive ! st ++ np.s ! st ++ "わ" ++ icomp.s ! st ++
|
True => np.prepositive ! st ++ np.s ! st ++ "は" ++ icomp.s ! st ++
|
||||||
mkCopula.s ! st ! t ! p ;
|
mkCopula.s ! st ! t ! p ;
|
||||||
False => np.prepositive ! st ++ np.s ! st ++ icomp.s ! st ++ mkCopula.s ! st ! t ! p
|
False => np.prepositive ! st ++ np.s ! st ++ icomp.s ! st ++ mkCopula.s ! st ! t ! p
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ flags coding = utf8 ;
|
|||||||
subj = cl.subj ;
|
subj = cl.subj ;
|
||||||
pred = \\_,st,t,p => cl.pred ! st ! t ! p ;
|
pred = \\_,st,t,p => cl.pred ! st ! t ! p ;
|
||||||
pred_te = \\a,st => cl.pred_te ! st ;
|
pred_te = \\a,st => cl.pred_te ! st ;
|
||||||
pred_tara = \\a,st => cl.pred_tara ! st ;
|
pred_ba = \\a,st => cl.pred_ba ! st ;
|
||||||
missingSubj = False
|
missingSubj = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ flags coding = utf8 ;
|
|||||||
subj = \\part,st => vp.prepositive ! st ++ rp.s ! st ;
|
subj = \\part,st => vp.prepositive ! st ++ rp.s ! st ;
|
||||||
pred = \\a,st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! a ! st ! t ! p ++ rp.prep ;
|
pred = \\a,st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! a ! st ! t ! p ++ rp.prep ;
|
||||||
pred_te = \\a,st => vp.obj ! st ++ vp.prep ++ vp.te ! a ! st ++ rp.prep ;
|
pred_te = \\a,st => vp.obj ! st ++ vp.prep ++ vp.te ! a ! st ++ rp.prep ;
|
||||||
pred_tara = \\a,st => vp.obj ! st ++ vp.prep ++ vp.tara ! a ! st ++ rp.prep ;
|
pred_ba = \\a,st => vp.obj ! st ++ vp.prep ++ vp.ba ! a ! st ++ rp.prep ;
|
||||||
missingSubj = True
|
missingSubj = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ flags coding = utf8 ;
|
|||||||
subj = \\part,st => rp.s ! st ++ clslash.subj ! part ! st ;
|
subj = \\part,st => rp.s ! st ++ clslash.subj ! part ! st ;
|
||||||
pred = \\_,st,t,p => clslash.pred ! st ! t ! p ++ rp.prep ;
|
pred = \\_,st,t,p => clslash.pred ! st ! t ! p ++ rp.prep ;
|
||||||
pred_te = \\a,st => clslash.pred_te ! st ++ rp.prep ;
|
pred_te = \\a,st => clslash.pred_te ! st ++ rp.prep ;
|
||||||
pred_tara = \\a,st => clslash.pred_tara ! st ++ rp.prep ;
|
pred_ba = \\a,st => clslash.pred_ba ! st ++ rp.prep ;
|
||||||
missingSubj = False
|
missingSubj = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -45,4 +45,4 @@ flags coding = utf8 ;
|
|||||||
s = \\st => np.prepositive ! st ++ np.s ! st ;
|
s = \\st => np.prepositive ! st ++ np.s ! st ;
|
||||||
prep = prep.relPrep
|
prep = prep.relPrep
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ param
|
|||||||
Anteriority = Simul | Anter ;
|
Anteriority = Simul | Anter ;
|
||||||
NumeralType = Tens | TensPlus | Other ;
|
NumeralType = Tens | TensPlus | Other ;
|
||||||
ComparSense = Less | More | NoCompar ;
|
ComparSense = Less | More | NoCompar ;
|
||||||
|
ConjType = And | Or | Both ;
|
||||||
|
SubjType = That | If | OtherSubj ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
@@ -21,7 +23,7 @@ oper
|
|||||||
changePolar : Bool ; Pron1Sg : Bool ; anim : Animateness} ;
|
changePolar : Bool ; Pron1Sg : Bool ; anim : Animateness} ;
|
||||||
VP : Type = {verb : Animateness => Style => TTense => Polarity => Str ;
|
VP : Type = {verb : Animateness => Style => TTense => Polarity => Str ;
|
||||||
te : Animateness => Style => Str; a_stem : Animateness => Style => Str ;
|
te : Animateness => Style => Str; a_stem : Animateness => Style => Str ;
|
||||||
i_stem : Animateness => Style => Str ; tara : Animateness => Style => Str ;
|
i_stem : Animateness => Style => Str ; ba : Animateness => Style => Str ;
|
||||||
prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
||||||
compar : ComparSense} ;
|
compar : ComparSense} ;
|
||||||
|
|
||||||
@@ -29,23 +31,24 @@ oper
|
|||||||
counter : Str ; counterReplace : Bool} ;
|
counter : Str ; counterReplace : Bool} ;
|
||||||
PropNoun : Type = {s : Style => Str ; anim : Animateness} ;
|
PropNoun : Type = {s : Style => Str ; anim : Animateness} ;
|
||||||
Adj : Type = {pred : Style => TTense => Polarity => Str;
|
Adj : Type = {pred : Style => TTense => Polarity => Str;
|
||||||
attr : Str; te : Str ; tara : Str ; adv : Str} ;
|
attr : Str; te : Str ; ba : Str ; adv : Str ; dropNaEnging : Str} ;
|
||||||
Adj2 : Type = {pred : Style => TTense => Polarity => Str;
|
Adj2 : Type = {pred : Style => TTense => Polarity => Str ; attr : Str;
|
||||||
attr : Str; te : Str ; tara : Str ; adv : Str ; prep : Str} ;
|
te : Str ; ba : Str ; adv : Str ; prep : Str ; dropNaEnging : Str} ;
|
||||||
Adverb : Type = {s : Style => Str ; prepositive : Bool ; compar : ComparSense} ;
|
Adverb : Type = {s : Style => Str ; prepositive : Bool ; compar : ComparSense} ;
|
||||||
Pronoun : Type = {s : Style => Str ; Pron1Sg : Bool ; anim : Animateness} ;
|
Pronoun : Type = {s : Style => Str ; Pron1Sg : Bool ; anim : Animateness} ;
|
||||||
Determiner : Type = {quant : Style => Str ; postpositive : Str ;
|
Determiner : Type = {quant : Style => Str ; postpositive : Str ; num : Str ;
|
||||||
num : Str ; n : Number ; inclCard : Bool} ;
|
n : Number ; inclCard : Bool ; sp : Style => Str ; no : Bool} ;
|
||||||
Num : Type = {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool} ;
|
Num : Type = {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool} ;
|
||||||
Preposition : Type = {s : Str ; relPrep : Str} ;
|
Preposition : Type = {s : Str ; relPrep : Str} ;
|
||||||
Verb : Type = {s : Style => TTense => Polarity => Str ; te : Str ;
|
Verb : Type = {s : Style => TTense => Polarity => Str ; te : Str ;
|
||||||
a_stem : Str ; i_stem : Str ; tara : Str} ;
|
a_stem : Str ; i_stem : Str ; ba : Str} ;
|
||||||
Verb2 : Type = {s : Style => TTense => Polarity => Str ; te : Str ;
|
Verb2 : Type = {s : Style => TTense => Polarity => Str ; te : Str ;
|
||||||
a_stem : Str ; i_stem : Str ; tara : Str ;
|
a_stem : Str ; i_stem : Str ; ba : Str ;
|
||||||
pass : Style => TTense => Polarity => Str ; pass_te : Str ;
|
pass : Style => TTense => Polarity => Str ; pass_te : Str ;
|
||||||
pass_a_stem : Str ; pass_i_stem : Str ; pass_tara : Str ;
|
pass_a_stem : Str ; pass_i_stem : Str ; pass_ba : Str ;
|
||||||
prep : Str} ;
|
prep : Str} ;
|
||||||
Conjunction : Type = {s : Str ; pconj : Str ; disj : Bool} ;
|
Conjunction : Type = {s : Str ; null : Str ; type : ConjType} ;
|
||||||
|
Subjunction : Type = {s : Str ; type : SubjType} ;
|
||||||
|
|
||||||
mkNoun : Str -> Str -> Str -> Str -> Animateness -> Str -> Bool -> Noun =
|
mkNoun : Str -> Str -> Str -> Str -> Animateness -> Str -> Bool -> Noun =
|
||||||
\man1,man2,man3,man4,a,c,b -> {
|
\man1,man2,man3,man4,a,c,b -> {
|
||||||
@@ -70,7 +73,7 @@ oper
|
|||||||
mkNoun kane okane kane okane a c b ;
|
mkNoun kane okane kane okane a c b ;
|
||||||
|
|
||||||
regAdj : Str -> Adj = \a -> case a of {
|
regAdj : Str -> Adj = \a -> case a of {
|
||||||
chiisa + "い" => i_mkAdj a ;
|
chiisa + "い" => i_mkAdj a ;
|
||||||
ooki + ("な"|"の") => na_mkAdj a
|
ooki + ("な"|"の") => na_mkAdj a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -113,8 +116,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
attr = chiisai ;
|
attr = chiisai ;
|
||||||
te = chiisa + "くて" ;
|
te = chiisa + "くて" ;
|
||||||
tara = chiisa + "かったら" ;
|
ba = chiisa + "ければ" ;
|
||||||
adv = chiisa + "く"
|
adv = chiisa + "く" ;
|
||||||
|
dropNaEnging = chiisai
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
na_mkAdj : Str -> Adj = \ookina ->
|
na_mkAdj : Str -> Adj = \ookina ->
|
||||||
@@ -153,8 +157,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
attr = ookina ;
|
attr = ookina ;
|
||||||
te = ooki + "で" ;
|
te = ooki + "で" ;
|
||||||
tara = ooki + "だったら" ;
|
ba = ooki + "であれば" ;
|
||||||
adv = ooki + "に"
|
adv = ooki + "に" ;
|
||||||
|
dropNaEnging = ooki
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
VerbalA : Str -> Str -> Adj = \kekkonshiteiru,kikonno ->
|
VerbalA : Str -> Str -> Adj = \kekkonshiteiru,kikonno ->
|
||||||
@@ -193,8 +198,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
attr = kikonno ;
|
attr = kikonno ;
|
||||||
te = kekkonshite + "いて" ;
|
te = kekkonshite + "いて" ;
|
||||||
tara = kekkonshite + "いたら" ;
|
ba = kekkonshite + "いれば" ;
|
||||||
adv = kekkonshite + "に"
|
adv = init kikonno + "で" ;
|
||||||
|
dropNaEnging = init kikonno
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb : Str -> Str -> Str -> Str -> Verb =
|
mkVerb : Str -> Str -> Str -> Str -> Verb =
|
||||||
@@ -237,55 +243,21 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
a_stem = yoma ;
|
a_stem = yoma ;
|
||||||
i_stem = yomi ;
|
i_stem = yomi ;
|
||||||
tara = yomi + "たら"
|
ba = mkBaForm yomu
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb2 : Str -> Str -> Str -> Str -> Str -> Verb2 =
|
mkVerb2 : Str -> Str -> Str -> Str -> Str -> Verb2 =
|
||||||
\yoma,yomi,yomu,yonda,p ->
|
\yoma,yomi,yomu,yonda,p -> {
|
||||||
let yon = init yonda ;
|
s = (mkVerb yoma yomi yomu yonda).s ;
|
||||||
in {
|
te = (mkVerb yoma yomi yomu yonda).te ;
|
||||||
s = table {
|
a_stem = yoma ;
|
||||||
Resp => table {
|
i_stem = yomi ;
|
||||||
TPres => table {
|
ba = mkBaForm yomu ;
|
||||||
Pos => yomi + "ます" ;
|
prep = p ;
|
||||||
Neg => yomi + "ません"
|
pass = table {
|
||||||
} ;
|
Resp => table {
|
||||||
TPast => table {
|
TPres => table {
|
||||||
Pos => yomi + "ました" ;
|
Pos => case yomu of {
|
||||||
Neg => yomi + "ませんでした"
|
|
||||||
} ;
|
|
||||||
TFut => table {
|
|
||||||
Pos => yomi + "ます" ;
|
|
||||||
Neg => yomi + "ません"
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
Plain => table {
|
|
||||||
TPres => table {
|
|
||||||
Pos => yomu ;
|
|
||||||
Neg => yoma + "ない"
|
|
||||||
} ;
|
|
||||||
TPast => table {
|
|
||||||
Pos => yonda ;
|
|
||||||
Neg => yoma + "なかった"
|
|
||||||
} ;
|
|
||||||
TFut => table {
|
|
||||||
Pos => yomu ;
|
|
||||||
Neg => yoma + "ない"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
te = case yonda of {
|
|
||||||
yon + "だ" => yon + "で" ;
|
|
||||||
yon + "た" => yon + "て"
|
|
||||||
} ;
|
|
||||||
a_stem = yoma ;
|
|
||||||
i_stem = yomi ;
|
|
||||||
tara = yomi + "たら" ;
|
|
||||||
prep = p ;
|
|
||||||
pass = table {
|
|
||||||
Resp => table {
|
|
||||||
TPres => table {
|
|
||||||
Pos => case yomu of {
|
|
||||||
x + "する" => x + "されます" ;
|
x + "する" => x + "されます" ;
|
||||||
_ => yoma + "れます"
|
_ => yoma + "れます"
|
||||||
} ;
|
} ;
|
||||||
@@ -360,9 +332,9 @@ oper
|
|||||||
x + "する" => x + "され" ;
|
x + "する" => x + "され" ;
|
||||||
_ => yoma + "れ"
|
_ => yoma + "れ"
|
||||||
} ;
|
} ;
|
||||||
pass_tara = case yomu of {
|
pass_ba = case yomu of {
|
||||||
x + "する" => x + "されたら" ;
|
x + "する" => x + "されれば" ;
|
||||||
_ => yoma + "れたら"
|
_ => yoma + "れれば"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -400,7 +372,7 @@ oper
|
|||||||
te = "だって" ;
|
te = "だって" ;
|
||||||
a_stem = "で" ;
|
a_stem = "で" ;
|
||||||
i_stem = "で" ;
|
i_stem = "で" ;
|
||||||
tara = "だったら"
|
ba = "であれば"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkExistV : VP = {
|
mkExistV : VP = {
|
||||||
@@ -420,9 +392,9 @@ oper
|
|||||||
Anim => \\st => "い" ;
|
Anim => \\st => "い" ;
|
||||||
Inanim => \\st => "あり"
|
Inanim => \\st => "あり"
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Anim => \\st => "いたら" ;
|
Anim => \\st => "いれば" ;
|
||||||
Inanim => \\st => "あったら"
|
Inanim => \\st => "あれば"
|
||||||
} ;
|
} ;
|
||||||
prep = [] ;
|
prep = [] ;
|
||||||
prepositive, obj = \\st => [] ;
|
prepositive, obj = \\st => [] ;
|
||||||
@@ -442,12 +414,14 @@ oper
|
|||||||
anim = a
|
anim = a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkDet : Str -> Number -> Determiner = \q,n -> {
|
mkDet : Str -> Str -> Number -> Determiner = \q,sp,n -> {
|
||||||
quant = \\st => q ;
|
quant = \\st => q ;
|
||||||
postpositive = [] ;
|
postpositive = [] ;
|
||||||
num = [] ;
|
num = [] ;
|
||||||
n = n ;
|
n = n ;
|
||||||
inclCard = False
|
inclCard = False ;
|
||||||
|
sp = \\st => sp ;
|
||||||
|
no = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
stylePron : Str -> Str -> Bool -> Animateness -> Pronoun = \boku,watashi,b,a -> {
|
stylePron : Str -> Str -> Bool -> Animateness -> Pronoun = \boku,watashi,b,a -> {
|
||||||
@@ -490,10 +464,10 @@ oper
|
|||||||
anim = a
|
anim = a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkConj : Str -> Str -> Bool -> Conjunction = \c,p,b -> {
|
mkConj : Str -> ConjType -> Conjunction = \c,t -> {
|
||||||
s = c ;
|
s = c ;
|
||||||
pconj = p ;
|
null = "" ;
|
||||||
disj = b
|
type = t
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkPrep : Str -> Str -> Preposition = \p,r -> {
|
mkPrep : Str -> Str -> Preposition = \p,r -> {
|
||||||
@@ -501,5 +475,22 @@ oper
|
|||||||
relPrep = r ;
|
relPrep = r ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkSubj : Str -> SubjType -> Subjunction = \s,t -> {
|
||||||
|
s = s ;
|
||||||
|
type = t ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkBaForm : Str -> Str = \neru ->
|
||||||
|
case last neru of {
|
||||||
|
"る" => init neru + "れば" ;
|
||||||
|
"す" => init neru + "せば" ;
|
||||||
|
"く" => init neru + "けば" ;
|
||||||
|
"ぐ" => init neru + "げば" ;
|
||||||
|
"む" => init neru + "めば" ;
|
||||||
|
"ぬ" => init neru + "ねば" ;
|
||||||
|
"ぶ" => init neru + "べば" ;
|
||||||
|
"つ" => init neru + "てば" ;
|
||||||
|
_ => init neru + "えば"
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "のほうが" ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "のほうが" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st
|
vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ++
|
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "のほうが" ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "のほうが" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st
|
vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ;
|
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ;
|
||||||
@@ -31,7 +31,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
Less => {
|
Less => {
|
||||||
@@ -39,12 +39,12 @@ flags coding = utf8 ;
|
|||||||
"より" ++ vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
"より" ++ vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
||||||
te = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "より"
|
te = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "より"
|
||||||
++ vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
++ vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
||||||
tara = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++
|
ba = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++
|
||||||
"より" ++ vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
"より" ++ vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
subj = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "より" ;
|
subj = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "より" ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
NoCompar => case np.needPart of {
|
NoCompar => case np.needPart of {
|
||||||
@@ -61,11 +61,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "が" ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st
|
vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ++
|
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "が" ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||||
vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st
|
vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ;
|
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ "は" ;
|
||||||
@@ -73,7 +73,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
False => {
|
False => {
|
||||||
@@ -89,16 +89,16 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! np.anim ! st
|
vp.prep ++ vp.te ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
Wa => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! np.anim ! st ;
|
vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
Ga => \\st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! np.anim ! st
|
vp.prep ++ vp.ba ! np.anim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ;
|
subj = \\part,st => np.prepositive ! st ++ vp.prepositive ! st ++ np.s ! st ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! np.anim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! np.anim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! np.anim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! np.anim ! st ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,11 +118,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Inanim ! st
|
vp.prep ++ vp.te ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => sc.s ! Wa ! st ++ "ことは" ++ vp.obj ! st ++
|
Wa => \\st => sc.s ! Wa ! st ++ "ことは" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st ;
|
vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st
|
vp.prep ++ vp.ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => sc.s ! Wa ! st ++ "ことは" ;
|
Wa => \\st => sc.s ! Wa ! st ++ "ことは" ;
|
||||||
@@ -130,7 +130,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Inanim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
} ;
|
} ;
|
||||||
False => {
|
False => {
|
||||||
@@ -146,11 +146,11 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.te ! Inanim ! st
|
vp.prep ++ vp.te ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => sc.s ! Wa ! st ++ "ことが" ++ vp.obj ! st ++
|
Wa => \\st => sc.s ! Wa ! st ++ "ことが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st ;
|
vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
Ga => \\st => sc.s ! Ga ! st ++ "ことが" ++ vp.obj ! st ++
|
||||||
vp.prep ++ vp.tara ! Inanim ! st
|
vp.prep ++ vp.ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => sc.s ! Wa ! st ++ "ことが" ;
|
Wa => \\st => sc.s ! Wa ! st ++ "ことが" ;
|
||||||
@@ -158,7 +158,7 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
pred = \\st,t,p => vp.obj ! st ++ vp.prep ++ vp.verb ! Inanim ! st ! t ! p ;
|
||||||
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
pred_te = \\st => vp.obj ! st ++ vp.prep ++ vp.te ! Inanim ! st ;
|
||||||
pred_tara = \\st => vp.obj ! st ++ vp.prep ++ vp.tara ! Inanim ! st ;
|
pred_ba = \\st => vp.obj ! st ++ vp.prep ++ vp.ba ! Inanim ! st ;
|
||||||
changePolar = False
|
changePolar = False
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -168,37 +168,37 @@ flags coding = utf8 ;
|
|||||||
vpslash.obj ! st ++ vpslash.prep ++ vpslash.s ! Plain ! t ! p ;
|
vpslash.obj ! st ++ vpslash.prep ++ vpslash.s ! Plain ! t ! p ;
|
||||||
te = \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
te = \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||||
vpslash.obj ! st ++ vpslash.prep ++ vpslash.te ;
|
vpslash.obj ! st ++ vpslash.prep ++ vpslash.te ;
|
||||||
tara = \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
ba = \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が" ++
|
||||||
vpslash.obj ! st ++ vpslash.prep ++ vpslash.tara ;
|
vpslash.obj ! st ++ vpslash.prep ++ vpslash.ba ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "は" ;
|
Wa => \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "は" ;
|
||||||
Ga => \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が"
|
Ga => \\st => vpslash.prepositive ! st ++ np.prepositive ! st ++ np.s ! st ++ "が"
|
||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => vpslash.obj ! st ++ vpslash.prep ++ vpslash.s ! st ! t ! p ;
|
pred = \\st,t,p => vpslash.obj ! st ++ vpslash.prep ++ vpslash.s ! st ! t ! p ;
|
||||||
pred_te = \\st => vpslash.obj ! st ++ vpslash.prep ++ vpslash.te ;
|
pred_te = \\st => vpslash.obj ! st ++ vpslash.prep ++ vpslash.te ;
|
||||||
pred_tara = \\st => vpslash.obj ! st ++ vpslash.tara ;
|
pred_ba = \\st => vpslash.obj ! st ++ vpslash.ba ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvSlash clslash adv = {
|
AdvSlash clslash adv = {
|
||||||
s = \\st,t,p => adv.s ! st ++ clslash.s ! st ! t ! p ;
|
s = \\st,t,p => adv.s ! st ++ clslash.s ! st ! t ! p ;
|
||||||
te = \\st => adv.s ! st ++ clslash.te ! st ;
|
te = \\st => adv.s ! st ++ clslash.te ! st ;
|
||||||
tara = \\st => adv.s ! st ++ clslash.tara ! st ;
|
ba = \\st => adv.s ! st ++ clslash.ba ! st ;
|
||||||
subj = \\part,st => adv.s ! st ++ clslash.subj ! part ! st ;
|
subj = \\part,st => adv.s ! st ++ clslash.subj ! part ! st ;
|
||||||
pred = clslash.pred ;
|
pred = clslash.pred ;
|
||||||
pred_te = clslash.pred_te ;
|
pred_te = clslash.pred_te ;
|
||||||
pred_tara = clslash.pred_tara ;
|
pred_ba = clslash.pred_ba ;
|
||||||
changePolar = clslash.changePolar
|
changePolar = clslash.changePolar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SlashPrep cl prep = {
|
SlashPrep cl prep = {
|
||||||
s = \\st,t,p => cl.s ! Ga ! st ! t ! p ++ prep.relPrep ;
|
s = \\st,t,p => cl.s ! Ga ! st ! t ! p ++ prep.relPrep ;
|
||||||
te = \\st => cl.te ! Ga ! st ++ prep.relPrep ;
|
te = \\st => cl.te ! Ga ! st ++ prep.relPrep ;
|
||||||
tara = \\st => cl.tara ! Ga ! st ++ prep.relPrep ;
|
ba = \\st => cl.ba ! Ga ! st ++ prep.relPrep ;
|
||||||
subj = cl.subj ;
|
subj = cl.subj ;
|
||||||
pred = \\st,t,p => cl.pred ! st ! t ! p ++ prep.relPrep ;
|
pred = \\st,t,p => cl.pred ! st ! t ! p ++ prep.relPrep ;
|
||||||
pred_te = \\st => cl.pred_te ! st ++ prep.relPrep ;
|
pred_te = \\st => cl.pred_te ! st ++ prep.relPrep ;
|
||||||
pred_tara = \\st => cl.pred_tara ! st ++ prep.relPrep ;
|
pred_ba = \\st => cl.pred_ba ! st ++ prep.relPrep ;
|
||||||
changePolar = cl.changePolar
|
changePolar = cl.changePolar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -206,15 +206,15 @@ flags coding = utf8 ;
|
|||||||
s = \\st,t,p => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++
|
s = \\st,t,p => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++
|
||||||
vs.prep ++ vs.s ! Plain ! t ! p ;
|
vs.prep ++ vs.s ! Plain ! t ! p ;
|
||||||
te = \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++ vs.prep ++ vs.te ;
|
te = \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++ vs.prep ++ vs.te ;
|
||||||
tara = \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++
|
ba = \\st => np.prepositive ! st ++ np.s ! st ++ "が" ++ sslash.s ! st ++
|
||||||
vs.prep ++ vs.tara ;
|
vs.prep ++ vs.ba ;
|
||||||
subj = table {
|
subj = table {
|
||||||
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ;
|
Wa => \\st => np.prepositive ! st ++ np.s ! st ++ "は" ;
|
||||||
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が"
|
Ga => \\st => np.prepositive ! st ++ np.s ! st ++ "が"
|
||||||
} ;
|
} ;
|
||||||
pred = \\st,t,p => sslash.s ! st ++ vs.prep ++ vs.s ! st ! t ! p ;
|
pred = \\st,t,p => sslash.s ! st ++ vs.prep ++ vs.s ! st ! t ! p ;
|
||||||
pred_te = \\st => sslash.s ! st ++ vs.prep ++ vs.te ;
|
pred_te = \\st => sslash.s ! st ++ vs.prep ++ vs.te ;
|
||||||
pred_tara = \\st => sslash.s ! st ++ vs.prep ++ vs.tara ;
|
pred_ba = \\st => sslash.s ! st ++ vs.prep ++ vs.ba ;
|
||||||
changePolar = np.changePolar
|
changePolar = np.changePolar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ flags coding = utf8 ;
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
te = \\part,st => t.s ++ p.s ++ cl.te ! part ! st ;
|
te = \\part,st => t.s ++ p.s ++ cl.te ! part ! st ;
|
||||||
tara = \\part,st => t.s ++ p.s ++ cl.tara ! part ! st ;
|
ba = \\part,st => t.s ++ p.s ++ cl.ba ! part ! st ;
|
||||||
subj = cl.subj ;
|
subj = cl.subj ;
|
||||||
pred = \\st => case t.a of {
|
pred = \\st => case t.a of {
|
||||||
Simul => case cl.changePolar of {
|
Simul => case cl.changePolar of {
|
||||||
@@ -284,7 +284,9 @@ flags coding = utf8 ;
|
|||||||
True => t.s ++ p.s ++ cl.pred ! st ! TPres ! Neg
|
True => t.s ++ p.s ++ cl.pred ! st ! TPres ! Neg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
pred_te = cl.pred_te ;
|
||||||
|
pred_ba = cl.pred_ba
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseQCl t p cl = {
|
UseQCl t p cl = {
|
||||||
@@ -331,7 +333,7 @@ flags coding = utf8 ;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
te = \\a,st => rcl.te ! a ! st ;
|
te = \\a,st => t.s ++ p.s ++ rcl.te ! a ! st ;
|
||||||
subj = rcl.subj ;
|
subj = rcl.subj ;
|
||||||
pred = \\a,st => case t.a of {
|
pred = \\a,st => case t.a of {
|
||||||
Simul => case rcl.changePolar of {
|
Simul => case rcl.changePolar of {
|
||||||
@@ -354,7 +356,7 @@ flags coding = utf8 ;
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
pred_te = \\a,st => t.s ++ p.s ++ rcl.pred_te ! a ! st ;
|
pred_te = \\a,st => t.s ++ p.s ++ rcl.pred_te ! a ! st ;
|
||||||
pred_tara = \\a,st => t.s ++ p.s ++ rcl.pred_tara ! a ! st ;
|
pred_ba = \\a,st => t.s ++ p.s ++ rcl.pred_ba ! a ! st ;
|
||||||
missingSubj = rcl.missingSubj
|
missingSubj = rcl.missingSubj
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -385,33 +387,53 @@ flags coding = utf8 ;
|
|||||||
AdvS adv s = {
|
AdvS 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 ;
|
||||||
tara = \\part,st => adv.s ! st ++ s.tara ! 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_ba = s.pred_ba
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
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 ;
|
||||||
tara = \\part,st => adv.s ! st ++ "," ++ s.tara ! 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_ba = s.pred_ba
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SSubjS s1 subj s2 = case subj.when of {
|
SSubjS s1 subj s2 = case subj.type of {
|
||||||
True => {
|
If => {
|
||||||
s = \\part,st => s1.tara ! part ! st ++ subj.s ++ s2.s ! Ga ! st ;
|
s = \\part,st => s1.ba ! part ! st ++ subj.s ++ s2.s ! Ga ! st ;
|
||||||
te = \\part,st => s1.tara ! part ! st ++ subj.s ++ s2.te ! Ga ! st ;
|
te = \\part,st => s1.ba ! part ! st ++ subj.s ++ s2.te ! Ga ! st ;
|
||||||
tara = \\part,st => s1.tara ! part ! st ++ subj.s ++ s2.tara ! Ga ! st ;
|
ba = \\part,st => s1.ba ! part ! st ++ subj.s ++ s2.ba ! Ga ! st ;
|
||||||
subj = \\part,st => s1.tara ! part ! st ++ subj.s ++ s2.subj ! Ga ! st ;
|
subj = \\part,st => s1.ba ! part ! st ++ subj.s ++ s2.subj ! Ga ! st ;
|
||||||
pred = s2.pred
|
pred = s2.pred ;
|
||||||
|
pred_te = s2.pred_te ;
|
||||||
|
pred_ba = s2.pred_ba
|
||||||
} ;
|
} ;
|
||||||
False => {
|
That => {
|
||||||
|
s = \\part,st => s1.subj ! part ! st ++ s2.subj ! Ga ! st ++ s2.pred ! Plain ++
|
||||||
|
subj.s ++ s1.pred ! st ;
|
||||||
|
te = \\part,st => s1.subj ! part ! st ++ s2.subj ! Ga ! st ++ s2.pred ! Plain ++
|
||||||
|
subj.s ++ s1.pred_te ! st ;
|
||||||
|
ba = \\part,st => s1.subj ! part ! st ++ s2.subj ! Ga ! st ++ s2.pred ! Plain ++
|
||||||
|
subj.s ++ s1.pred_ba ! st ;
|
||||||
|
subj = \\part,st => s1.subj ! part ! st ;
|
||||||
|
pred = \\st => s2.subj ! Ga ! st ++ s2.pred ! Plain ++ subj.s ++ s1.pred ! st ;
|
||||||
|
pred_te = \\st => s2.subj ! Ga ! st ++ s2.pred ! Plain ++ subj.s ++ s1.pred_te ! st ;
|
||||||
|
pred_ba = \\st => s2.subj ! Ga ! st ++ s2.pred ! Plain ++ subj.s ++ s1.pred_ba ! st
|
||||||
|
} ;
|
||||||
|
OtherSubj => {
|
||||||
s = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.s ! Ga ! st ;
|
s = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.s ! Ga ! st ;
|
||||||
te = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.te ! Ga ! st ;
|
te = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.te ! Ga ! st ;
|
||||||
tara = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.tara ! Ga ! st ;
|
ba = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.ba ! Ga ! st ;
|
||||||
subj = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.subj ! Ga ! st ;
|
subj = \\part,st => s1.s ! part ! Plain ++ subj.s ++ s2.subj ! Ga ! st ;
|
||||||
pred = s2.pred
|
pred = s2.pred ;
|
||||||
|
pred_te = s2.pred_te ;
|
||||||
|
pred_ba = s2.pred_ba
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -421,11 +443,13 @@ flags coding = utf8 ;
|
|||||||
"ことが" ++ rs.pred ! Inanim ! st ;
|
"ことが" ++ rs.pred ! Inanim ! st ;
|
||||||
te = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
te = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことが" ++ rs.pred_te ! Inanim ! st ;
|
"ことが" ++ rs.pred_te ! Inanim ! st ;
|
||||||
tara = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
ba = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことが" ++ rs.pred_tara ! Inanim ! st ;
|
"ことが" ++ rs.pred_ba ! Inanim ! st ;
|
||||||
subj = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
subj = \\part,st => rs.subj ! part ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことが" ;
|
"ことが" ;
|
||||||
pred = \\st => rs.pred ! Inanim ! st
|
pred = \\st => rs.pred ! Inanim ! st ;
|
||||||
|
pred_te = \\st => rs.pred_te ! Inanim ! st ;
|
||||||
|
pred_ba = \\st => rs.pred_ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
False => {
|
False => {
|
||||||
s = table {
|
s = table {
|
||||||
@@ -440,15 +464,19 @@ flags coding = utf8 ;
|
|||||||
Ga => \\st => rs.subj ! Ga ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
Ga => \\st => rs.subj ! Ga ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことを" ++ rs.pred_te ! Inanim ! st
|
"ことを" ++ rs.pred_te ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
tara = table {
|
ba = table {
|
||||||
Wa => \\st => rs.subj ! Wa ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
Wa => \\st => rs.subj ! Wa ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことを" ++ rs.pred_tara ! Inanim ! st ;
|
"ことを" ++ rs.pred_ba ! Inanim ! st ;
|
||||||
Ga => \\st => rs.subj ! Ga ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
Ga => \\st => rs.subj ! Ga ! st ++ sent.subj ! Ga ! st ++ sent.pred ! Plain ++
|
||||||
"ことを" ++ rs.pred_tara ! Inanim ! st
|
"ことを" ++ rs.pred_ba ! Inanim ! st
|
||||||
} ;
|
} ;
|
||||||
subj = \\part,st => rs.subj ! part ! st ;
|
subj = \\part,st => rs.subj ! part ! st ;
|
||||||
pred = \\st => sent.subj ! Ga ! st ++ sent.pred ! Plain ++ "ことを" ++
|
pred = \\st => sent.subj ! Ga ! st ++ sent.pred ! Plain ++ "ことを" ++
|
||||||
rs.pred ! Inanim ! st ;
|
rs.pred ! Inanim ! st ;
|
||||||
|
pred_te = \\st => sent.subj ! Ga ! st ++ sent.pred ! Plain ++ "ことを" ++
|
||||||
|
rs.pred_te ! Inanim ! st ;
|
||||||
|
pred_ba = \\st => sent.subj ! Ga ! st ++ sent.pred ! Plain ++ "ことを" ++
|
||||||
|
rs.pred_ba ! Inanim ! st
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,32 +6,35 @@ flags coding = utf8 ;
|
|||||||
|
|
||||||
above_Prep = mkPrep "の上に" "上に" ; -- "noueni" "ueni"
|
above_Prep = mkPrep "の上に" "上に" ; -- "noueni" "ueni"
|
||||||
after_Prep = mkPrep "の後に" "後" ; -- "noatoni" "ato"
|
after_Prep = mkPrep "の後に" "後" ; -- "noatoni" "ato"
|
||||||
all_Predet = ss "全部" ; -- "zembu"
|
all_Predet = {s = "全部" ; not = False} ;
|
||||||
almost_AdA = ss "殆ど" ; -- "hotondo" ;
|
almost_AdA = ss "殆ど" ; -- "hotondo"
|
||||||
although_Subj = {s = "のに" ; when = False} ;
|
|
||||||
almost_AdN = {s = "殆ど" ; postposition = False} ;
|
almost_AdN = {s = "殆ど" ; postposition = False} ;
|
||||||
|
although_Subj = mkSubj "のに" OtherSubj ;
|
||||||
always_AdV = ss "いつも" ;
|
always_AdV = ss "いつも" ;
|
||||||
and_Conj = mkConj "と" "そして" False ;
|
and_Conj = mkConj "そして" And ;
|
||||||
because_Subj = {s = "から" ; when = False} ;
|
because_Subj = mkSubj "から" OtherSubj ;
|
||||||
before_Prep = mkPrep "の前に" "前に" ; -- "nomaeni" "maeni"
|
before_Prep = mkPrep "の前に" "前に" ; -- "nomaeni" "maeni"
|
||||||
behind_Prep = mkPrep "後ろに" "後ろに" ; -- "ushironi" "ushironi"
|
behind_Prep = mkPrep "後ろに" "後ろに" ; -- "ushironi" "ushironi"
|
||||||
between_Prep = mkPrep "の間に" "間に" ; -- "noaidani" "aidani"
|
between_Prep = mkPrep "の間に" "間に" ; -- "noaidani" "aidani"
|
||||||
|
both7and_DConj = mkConj "そして" Both ;
|
||||||
by8agent_Prep = mkPrep "に" "" ;
|
by8agent_Prep = mkPrep "に" "" ;
|
||||||
by8means_Prep = mkPrep "によって" "" ;
|
by8means_Prep = mkPrep "によって" "" ;
|
||||||
but_PConj = ss "けれども" ;
|
but_PConj = ss "けれども" ;
|
||||||
can8know_VV = mkVerb "でき" "でき" "できる" "できた" ** {sense = Abil} ;
|
can8know_VV = mkVerb "でき" "でき" "できる" "できた" ** {sense = Abil} ;
|
||||||
can_VV = can8know_VV ;
|
can_VV = can8know_VV ;
|
||||||
during_Prep = mkPrep "の間に" "" ; -- "noaidani"
|
during_Prep = mkPrep "の間に" "" ; -- "noaidani"
|
||||||
every_Det = mkDet "各自の" Sg ; -- "kakujino"
|
either7or_DConj = mkConj "それとも" Or ;
|
||||||
|
every_Det = mkDet "全ての" "全て" Sg ; -- "subeteno"
|
||||||
everybody_NP = mkNP "皆" True False Anim ; -- "minna"
|
everybody_NP = mkNP "皆" True False Anim ; -- "minna"
|
||||||
everything_NP = mkNP "全て" True False Inanim ; -- "subete"
|
everything_NP = mkNP "全て" True False Inanim ; -- "subete"
|
||||||
everywhere_Adv = mkAdv "どこでも" ; -- "dokodemo" ;
|
everywhere_Adv = mkAdv "どこでも" ; -- "dokodemo" ;
|
||||||
first_Ord = {pred = \\st,t,p => "一番目" ++ mkCopula.s ! st ! t ! p ;
|
first_Ord = {pred = \\st,t,p => "一番目" ++ mkCopula.s ! st ! t ! p ;
|
||||||
attr = "一番目の" ; te = "一番目" ++ mkCopula.te ;
|
attr = "一番目の" ; te = "一番目" ++ mkCopula.te ;
|
||||||
tara = "一番目" ++ mkCopula.tara ; adv = "一番目"} ; -- "ichibanme"
|
ba = "一番目" ++ mkCopula.ba ; adv = "一番目" ;
|
||||||
few_Det = mkDet "少数" Pl ; -- "shoosuuno"
|
dropNaEnging = "一番目"} ;
|
||||||
|
few_Det = mkDet "少数の" "少数" Pl ; -- "shoosuuno"
|
||||||
for_Prep = mkPrep "のために" "" ;
|
for_Prep = mkPrep "のために" "" ;
|
||||||
from_Prep = mkPrep "から" "から" ;
|
from_Prep = mkPrep "から" "" ;
|
||||||
he_Pron = mkPron "彼" False Anim ; -- "kare"
|
he_Pron = mkPron "彼" False Anim ; -- "kare"
|
||||||
here_Adv = mkAdv "ここで" ;
|
here_Adv = mkAdv "ここで" ;
|
||||||
here7to_Adv = mkAdv "ここに" ;
|
here7to_Adv = mkAdv "ここに" ;
|
||||||
@@ -40,51 +43,54 @@ flags coding = utf8 ;
|
|||||||
how8many_IDet = {s = "いくつ" ; n = Pl ; how8many = True ; inclCard = False} ;
|
how8many_IDet = {s = "いくつ" ; n = Pl ; how8many = True ; inclCard = False} ;
|
||||||
how8much_IAdv = {s = \\st => "いくら" ; particle = ""} ;
|
how8much_IAdv = {s = \\st => "いくら" ; particle = ""} ;
|
||||||
i_Pron = mkPron ("僕"|"私") "私" True Anim ; -- "boku"|"watashi"
|
i_Pron = mkPron ("僕"|"私") "私" True Anim ; -- "boku"|"watashi"
|
||||||
|
if_Subj = mkSubj "" If ;
|
||||||
in8front_Prep = mkPrep "の前に" "前に" ; -- "nomaeni" "maeni"
|
in8front_Prep = mkPrep "の前に" "前に" ; -- "nomaeni" "maeni"
|
||||||
in_Prep = mkPrep "に" "" ;
|
in_Prep = mkPrep "に" "" ;
|
||||||
it_Pron = mkPron "それ" False Inanim ;
|
it_Pron = mkPron "それ" False Inanim ;
|
||||||
less_CAdv = {s = "のほうが" ; compar = Less} ;
|
less_CAdv = {s = "のほうが" ; compar = Less} ;
|
||||||
many_Det = mkDet "多くの" Pl ; -- "ookuno"
|
many_Det = mkDet "多くの" "多く" Pl ; -- "ookuno"
|
||||||
more_CAdv = {s = "より" ; compar = More} ; -- "yori"
|
more_CAdv = {s = "より" ; compar = More} ;
|
||||||
most_Predet = ss "ほとんどの" ;
|
most_Predet = {s = "ほとんどの" ; not = False} ;
|
||||||
much_Det = mkDet "多くの" Sg ; -- "ookuno"
|
much_Det = mkDet "多くの" "多量" Sg ; -- "ookuno" "taryou"
|
||||||
must_VV = {s = (mkVerb "なら" "なり" "なる" "なった").s ; te = "なって" ;
|
must_VV = {s = (mkVerb "なら" "なり" "なる" "なった").s ; te = "ならなくて" ;
|
||||||
tara = "なったら" ; a_stem = "なら" ; i_stem = "なり" ; sense = Oblig} ;
|
ba = "ならなければ" ; a_stem = "なら" ; i_stem = "なり" ; sense = Oblig} ;
|
||||||
no_Phr = ss "いいえ" ;
|
no_Phr = ss "いいえ" ;
|
||||||
no_Utt = {s = \\st => "いいえ"} ;
|
no_Utt = {s = \\st => "いいえ"} ;
|
||||||
on_Prep = mkPrep "の上に" "" ;
|
on_Prep = mkPrep "の上に" "" ;
|
||||||
only_Predet = ss "ほんの" ;
|
only_Predet = {s = "ほんの" ; not = False} ;
|
||||||
or_Conj = mkConj "か" "それとも" True ;
|
or_Conj = mkConj "それとも" Or ;
|
||||||
otherwise_PConj = ss "そうしなければ" ;
|
otherwise_PConj = ss "そうしなければ" ;
|
||||||
|
part_Prep = mkPrep "の" "" ;
|
||||||
please_Voc = {s = table {Resp => "ください" ; Plain => "" } ; please = True} ;
|
please_Voc = {s = table {Resp => "ください" ; Plain => "" } ; please = True} ;
|
||||||
possess_Prep = mkPrep "の" "" ;
|
possess_Prep = mkPrep "の" "" ;
|
||||||
quite_Adv = ss "可成" ;
|
quite_Adv = ss "可成" ; -- "kanari"
|
||||||
she_Pron = mkPron "彼女" False Anim ; -- "kanojo"
|
she_Pron = mkPron "彼女" False Anim ; -- "kanojo"
|
||||||
so_AdA = ss "非常に" ; -- "hijooni"
|
so_AdA = ss "非常に" ; -- "hijooni"
|
||||||
someSg_Det = mkDet "多少の" Sg ; -- "tashoono"
|
someSg_Det = mkDet "多少の" "幾らか" Sg ; -- "tashoono" "ikuraka"
|
||||||
somePl_Det = mkDet "いくつかの" Pl ;
|
somePl_Det = mkDet "いくつかの" "幾らか" Pl ; -- "ikuraka"
|
||||||
somebody_NP = mkNP "誰か" False False Anim ; -- "dareka"
|
somebody_NP = mkNP "誰か" False False Anim ; -- "dareka"
|
||||||
something_NP = mkNP "何か" False False Inanim ; -- "nanika"
|
something_NP = mkNP "何か" False False Inanim ; -- "nanika"
|
||||||
somewhere_Adv = mkAdv "どこかに" ;
|
somewhere_Adv = mkAdv "どこかに" ;
|
||||||
that_Quant = {s = \\st => "その"} ;
|
that_Quant = {s = \\st => "その" ; sp = \\st => "それ" ; no = False} ;
|
||||||
|
that_Subj = mkSubj "ことを" That ;
|
||||||
there_Adv = mkAdv "そこに" ;
|
there_Adv = mkAdv "そこに" ;
|
||||||
there7to_Adv = mkAdv "そこに" ;
|
there7to_Adv = mkAdv "そこに" ;
|
||||||
there7from_Adv = mkAdv "そこから" ;
|
there7from_Adv = mkAdv "そこから" ;
|
||||||
therefore_PConj = ss "それで" ;
|
therefore_PConj = ss "それで" ;
|
||||||
they_Pron = mkPron "彼ら" "あの人達" False Anim ; -- "karera" "ano hito-tachi"
|
they_Pron = mkPron "彼ら" "あの人達" False Anim ; -- "karera" "ano hito-tachi"
|
||||||
this_Quant = {s = \\st => "この"} ;
|
this_Quant = {s = \\st => "この" ; sp = \\st => "これ" ; no = False} ;
|
||||||
through_Prep = mkPrep "を通じて" "通じて" ; -- "otsuujite"
|
through_Prep = mkPrep "を通じて" "通じて" ; -- "otsuujite"
|
||||||
to_Prep = mkPrep "に" "" ;
|
to_Prep = mkPrep "に" "" ;
|
||||||
too_AdA = ss "あまりにも" ;
|
too_AdA = ss "あまりにも" ;
|
||||||
under_Prep = mkPrep "の下に" "下に" ; -- "noshitani"
|
under_Prep = mkPrep "の下に" "下に" ; -- "noshitani"
|
||||||
very_AdA = ss "とても" ;
|
very_AdA = ss "とても" ;
|
||||||
want_VV = {s = (mkVerb "い" "い" "いる" "いった").s ; te = "いって" ;
|
want_VV = {s = (mkVerb "い" "い" "いる" "いった").s ; te = "いって" ;
|
||||||
tara = "いったら" ; a_stem = "い" ; i_stem = "い" ; sense = Wish} ;
|
ba = "いれば" ; a_stem = "い" ; i_stem = "い" ; sense = Wish} ;
|
||||||
we_Pron = mkPron "私達" False Anim ; -- "watashitachi"
|
we_Pron = mkPron "私達" False Anim ; -- "watashitachi"
|
||||||
whatPl_IP = {s = \\st => "何" ; anim = Inanim ; how8many = False} ; -- "nani"
|
whatPl_IP = {s = \\st => "何" ; anim = Inanim ; how8many = False} ; -- "nani"
|
||||||
whatSg_IP = {s = \\st => "何" ; anim = Inanim ; how8many = False} ;
|
whatSg_IP = {s = \\st => "何" ; anim = Inanim ; how8many = False} ;
|
||||||
when_IAdv = {s = \\st => "いつ" ; particle = ""} ;
|
when_IAdv = {s = \\st => "いつ" ; particle = ""} ;
|
||||||
when_Subj = {s = [] ; when = True} ;
|
when_Subj = mkSubj "と" OtherSubj ;
|
||||||
where_IAdv = {s = \\st => "どこ" ; particle = "で"} ;
|
where_IAdv = {s = \\st => "どこ" ; particle = "で"} ;
|
||||||
which_IQuant = ss "どの" ;
|
which_IQuant = ss "どの" ;
|
||||||
whoPl_IP = {s = \\st => "誰" ; anim = Anim ; how8many = False} ;
|
whoPl_IP = {s = \\st => "誰" ; anim = Anim ; how8many = False} ;
|
||||||
@@ -98,6 +104,8 @@ flags coding = utf8 ;
|
|||||||
youPl_Pron = mkPron "あなた達" "あなた方" False Anim ; -- "anatatachi" "anatagata"
|
youPl_Pron = mkPron "あなた達" "あなた方" False Anim ; -- "anatatachi" "anatagata"
|
||||||
youPol_Pron = mkPron "あなた" False Anim ;
|
youPol_Pron = mkPron "あなた" False Anim ;
|
||||||
|
|
||||||
|
no_Quant = {s = \\st => "" ; sp = \\st => "何も" ; no = True} ;
|
||||||
|
not_Predet = {s = "" ; not = True} ;
|
||||||
at_least_AdN = {s = "少なくとも" ; postposition = False} ; -- "sukunakutomo"
|
at_least_AdN = {s = "少なくとも" ; postposition = False} ; -- "sukunakutomo"
|
||||||
at_most_AdN = {s = "せいぜい" ; postposition = False} ;
|
at_most_AdN = {s = "せいぜい" ; postposition = False} ;
|
||||||
nobody_NP = mkNP "誰も" False True Anim ;
|
nobody_NP = mkNP "誰も" False True Anim ;
|
||||||
@@ -105,4 +113,8 @@ flags coding = utf8 ;
|
|||||||
except_Prep = mkPrep "を除いて" "を除いて" ; -- "onozoite"
|
except_Prep = mkPrep "を除いて" "を除いて" ; -- "onozoite"
|
||||||
|
|
||||||
as_CAdv = {s = "と同じぐらい" ; compar = NoCompar} ; -- "toonajigurai"
|
as_CAdv = {s = "と同じぐらい" ; compar = NoCompar} ; -- "toonajigurai"
|
||||||
|
|
||||||
|
have_V2 = mkV2 "持ってい" "持ってい" "持っている" "持っていた" "を" ;
|
||||||
|
|
||||||
|
language_title_Utt = {s = \\st => "日本語"} ; -- "nihongo"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => v.te ;
|
te = \\a,st => v.te ;
|
||||||
a_stem = \\a,st => v.a_stem ;
|
a_stem = \\a,st => v.a_stem ;
|
||||||
i_stem = \\a,st => v.i_stem ;
|
i_stem = \\a,st => v.i_stem ;
|
||||||
tara = \\a,st => v.tara ;
|
ba = \\a,st => v.ba ;
|
||||||
prep = [] ;
|
prep = [] ;
|
||||||
obj = \\st => [] ;
|
obj = \\st => [] ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -23,18 +23,18 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.te ;
|
te = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.te ;
|
||||||
a_stem = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.a_stem ;
|
a_stem = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.a_stem ;
|
||||||
i_stem = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.i_stem ;
|
i_stem = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.i_stem ;
|
||||||
tara = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.tara ;
|
ba = \\a,st => vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.ba ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => vp.obj ! st ;
|
obj = \\st => vp.obj ! st ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
compar = NoCompar
|
compar = NoCompar
|
||||||
} ;
|
} ;
|
||||||
Oblig => {
|
Oblig => {
|
||||||
verb = \\a,st,t,p => vp.a_stem ! Anim ! st ++ "なければ" ++ v.s ! st ! t ! p ;
|
verb = \\a,st,t,p => vp.a_stem ! Anim ! st ++ "なければ" ++ v.s ! st ! t ! Neg ;
|
||||||
te = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.te ;
|
te = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.te ;
|
||||||
a_stem = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.a_stem ;
|
a_stem = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.a_stem ;
|
||||||
i_stem = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.i_stem ;
|
i_stem = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.i_stem ;
|
||||||
tara = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.tara ;
|
ba = \\a,st => vp.a_stem ! Anim ! st ++ "なければ" ++ v.ba ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => vp.obj ! st ;
|
obj = \\st => vp.obj ! st ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
@@ -45,7 +45,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.te ;
|
te = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.te ;
|
||||||
a_stem = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.a_stem ;
|
a_stem = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.a_stem ;
|
||||||
i_stem = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.i_stem ;
|
i_stem = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.i_stem ;
|
||||||
tara = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.tara ;
|
ba = \\a,st => vp.i_stem ! Anim ! st ++ "たがって" ++ v.ba ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => vp.obj ! st ;
|
obj = \\st => vp.obj ! st ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
@@ -58,7 +58,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => vs.te ;
|
te = \\a,st => vs.te ;
|
||||||
a_stem = \\a,st => vs.a_stem ;
|
a_stem = \\a,st => vs.a_stem ;
|
||||||
i_stem = \\a,st => vs.i_stem ;
|
i_stem = \\a,st => vs.i_stem ;
|
||||||
tara = \\a,st => vs.tara ;
|
ba = \\a,st => vs.ba ;
|
||||||
prep = vs.prep ;
|
prep = vs.prep ;
|
||||||
obj = \\st => sent.s ! Ga ! Plain ;
|
obj = \\st => sent.s ! Ga ! Plain ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -70,7 +70,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => vq.te ;
|
te = \\a,st => vq.te ;
|
||||||
a_stem = \\a,st => vq.a_stem ;
|
a_stem = \\a,st => vq.a_stem ;
|
||||||
i_stem = \\a,st => vq.i_stem ;
|
i_stem = \\a,st => vq.i_stem ;
|
||||||
tara = \\a,st => vq.tara ;
|
ba = \\a,st => vq.ba ;
|
||||||
prep = vq.prep ;
|
prep = vq.prep ;
|
||||||
obj = \\st => qs.s ! Ga ! Plain ++ "こと" ;
|
obj = \\st => qs.s ! Ga ! Plain ++ "こと" ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -82,7 +82,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => va.te ;
|
te = \\a,st => va.te ;
|
||||||
a_stem = \\a,st => va.a_stem ;
|
a_stem = \\a,st => va.a_stem ;
|
||||||
i_stem = \\a,st => va.i_stem ;
|
i_stem = \\a,st => va.i_stem ;
|
||||||
tara = \\a,st => va.tara ;
|
ba = \\a,st => va.ba ;
|
||||||
prep = [] ;
|
prep = [] ;
|
||||||
obj = \\st => ap.adv ! st ;
|
obj = \\st => ap.adv ! st ;
|
||||||
prepositive = ap.prepositive ;
|
prepositive = ap.prepositive ;
|
||||||
@@ -93,7 +93,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
s = \\st,t,p => v2.s ! st ! t ! p ;
|
s = \\st,t,p => v2.s ! st ! t ! p ;
|
||||||
a_stem = v2.a_stem ;
|
a_stem = v2.a_stem ;
|
||||||
i_stem = v2.i_stem ;
|
i_stem = v2.i_stem ;
|
||||||
tara = v2.tara ;
|
ba = v2.ba ;
|
||||||
prep = v2.prep ;
|
prep = v2.prep ;
|
||||||
obj = \\st => [] ;
|
obj = \\st => [] ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -116,9 +116,9 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
True => "呉れ" ;
|
True => "呉れ" ;
|
||||||
False => "上げ"
|
False => "上げ"
|
||||||
} ;
|
} ;
|
||||||
tara = case np.Pron1Sg of {
|
ba = case np.Pron1Sg of {
|
||||||
True => "呉れたら" ;
|
True => "呉れれば" ;
|
||||||
False => "上げたら"
|
False => "上げれば"
|
||||||
} ;
|
} ;
|
||||||
prep = v3.prep2 ;
|
prep = v3.prep2 ;
|
||||||
obj = \\st => np.s ! st ++ v3.prep1 ;
|
obj = \\st => np.s ! st ++ v3.prep1 ;
|
||||||
@@ -134,7 +134,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
s = \\st,t,p => v3.s ! st ! t ! p ;
|
s = \\st,t,p => v3.s ! st ! t ! p ;
|
||||||
a_stem = v3.a_stem ;
|
a_stem = v3.a_stem ;
|
||||||
i_stem = v3.i_stem ;
|
i_stem = v3.i_stem ;
|
||||||
tara = v3.tara ;
|
ba = v3.ba ;
|
||||||
prep = v3.prep2 ;
|
prep = v3.prep2 ;
|
||||||
obj = \\st => np.s ! st ++ v3.prep1 ;
|
obj = \\st => np.s ! st ++ v3.prep1 ;
|
||||||
prepositive = np.prepositive ;
|
prepositive = np.prepositive ;
|
||||||
@@ -151,7 +151,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
++ v2v.s ! st ! t ! p ;
|
++ v2v.s ! st ! t ! p ;
|
||||||
a_stem = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
a_stem = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
||||||
i_stem = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
i_stem = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
||||||
tara = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.tara ;
|
ba = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.ba ;
|
||||||
prep = "に" ;
|
prep = "に" ;
|
||||||
obj = \\st => vp.obj ! st ++ vp.prep ;
|
obj = \\st => vp.obj ! st ++ vp.prep ;
|
||||||
te = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.te ;
|
te = vp.verb ! Anim ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.te ;
|
||||||
@@ -164,7 +164,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
s = v2s.s ;
|
s = v2s.s ;
|
||||||
a_stem = v2s.a_stem ;
|
a_stem = v2s.a_stem ;
|
||||||
i_stem = v2s.i_stem ;
|
i_stem = v2s.i_stem ;
|
||||||
tara = v2s.tara ;
|
ba = v2s.ba ;
|
||||||
prep = "に" ;
|
prep = "に" ;
|
||||||
obj = \\st => s.s ! Ga ! Plain ++ "と" ;
|
obj = \\st => s.s ! Ga ! Plain ++ "と" ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -177,7 +177,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
s = v2q.s ;
|
s = v2q.s ;
|
||||||
a_stem = v2q.a_stem ;
|
a_stem = v2q.a_stem ;
|
||||||
i_stem = v2q.i_stem ;
|
i_stem = v2q.i_stem ;
|
||||||
tara = v2q.tara ;
|
ba = v2q.ba ;
|
||||||
prep = "に" ;
|
prep = "に" ;
|
||||||
obj = \\st => qs.s ! Ga ! Plain ++ "ことを" ;
|
obj = \\st => qs.s ! Ga ! Plain ++ "ことを" ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -190,7 +190,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
s = v2a.s ;
|
s = v2a.s ;
|
||||||
a_stem = v2a.a_stem ;
|
a_stem = v2a.a_stem ;
|
||||||
i_stem = v2a.i_stem ;
|
i_stem = v2a.i_stem ;
|
||||||
tara = v2a.tara ;
|
ba = v2a.ba ;
|
||||||
prep = "を" ;
|
prep = "を" ;
|
||||||
obj = ap.adv ;
|
obj = ap.adv ;
|
||||||
prepositive = ap.prepositive ;
|
prepositive = ap.prepositive ;
|
||||||
@@ -206,7 +206,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
a_stem = \\a,st => vpslash.a_stem ;
|
a_stem = \\a,st => vpslash.a_stem ;
|
||||||
i_stem = \\a,st => vpslash.i_stem ;
|
i_stem = \\a,st => vpslash.i_stem ;
|
||||||
tara = \\a,st => vpslash.tara ;
|
ba = \\a,st => vpslash.ba ;
|
||||||
prep = case np.needPart of {
|
prep = case np.needPart of {
|
||||||
True => case vpslash.v2vType of {
|
True => case vpslash.v2vType of {
|
||||||
True => [] ;
|
True => [] ;
|
||||||
@@ -219,7 +219,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
False => vpslash.obj ! st ++ np.s ! st
|
False => vpslash.obj ! st ++ np.s ! st
|
||||||
} ;
|
} ;
|
||||||
te = \\a,st => vpslash.te ;
|
te = \\a,st => vpslash.te ;
|
||||||
prepositive = vpslash.prepositive ;
|
prepositive = \\st => np.prepositive ! st ++ vpslash.prepositive ! st ;
|
||||||
compar = vpslash.compar
|
compar = vpslash.compar
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -237,10 +237,10 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
a_stem = [] ;
|
a_stem = [] ;
|
||||||
i_stem = [] ;
|
i_stem = [] ;
|
||||||
tara = case v.sense of {
|
ba = case v.sense of {
|
||||||
Abil => vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.tara ;
|
Abil => vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ことが" ++ v.ba ;
|
||||||
Oblig => vpslash.a_stem ++ "なければ" ++ v.tara ;
|
Oblig => vpslash.a_stem ++ "なければ" ++ v.ba ;
|
||||||
Wish => vpslash.i_stem ++ "たがって" ++ v.tara
|
Wish => vpslash.i_stem ++ "たがって" ++ v.ba
|
||||||
} ;
|
} ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = vpslash.obj ;
|
obj = vpslash.obj ;
|
||||||
@@ -254,7 +254,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
++ v2v.s ! st ! t ! p ;
|
++ v2v.s ! st ! t ! p ;
|
||||||
a_stem = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
a_stem = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.a_stem ;
|
||||||
i_stem = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
i_stem = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.i_stem ;
|
||||||
tara = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.tara ;
|
ba = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.ba ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = \\st => np.s ! st ++ "に" ;
|
obj = \\st => np.s ! st ++ "に" ;
|
||||||
te = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.te ;
|
te = vpslash.s ! Plain ! TPres ! ResJap.Pos ++ "ように" ++ v2v.te ;
|
||||||
@@ -267,7 +267,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
verb = \\a,st,t,p => vpslash.s ! st ! t ! p ;
|
verb = \\a,st,t,p => vpslash.s ! st ! t ! p ;
|
||||||
a_stem = \\a,st => vpslash.a_stem ;
|
a_stem = \\a,st => vpslash.a_stem ;
|
||||||
i_stem = \\a,st => vpslash.i_stem ;
|
i_stem = \\a,st => vpslash.i_stem ;
|
||||||
tara = \\a,st => vpslash.tara ;
|
ba = \\a,st => vpslash.ba ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = \\st => "自分" ; -- "jibun"
|
obj = \\st => "自分" ; -- "jibun"
|
||||||
te = \\a,st => vpslash.te ;
|
te = \\a,st => vpslash.te ;
|
||||||
@@ -280,7 +280,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = comp.te ;
|
te = comp.te ;
|
||||||
a_stem = comp.a_stem ;
|
a_stem = comp.a_stem ;
|
||||||
i_stem = comp.i_stem ;
|
i_stem = comp.i_stem ;
|
||||||
tara = comp.tara ;
|
ba = comp.ba ;
|
||||||
prep = [] ;
|
prep = [] ;
|
||||||
obj = comp.obj ;
|
obj = comp.obj ;
|
||||||
prepositive = comp.prepositive ;
|
prepositive = comp.prepositive ;
|
||||||
@@ -292,7 +292,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => v2.pass_te ;
|
te = \\a,st => v2.pass_te ;
|
||||||
a_stem = \\a,st => v2.pass_a_stem ;
|
a_stem = \\a,st => v2.pass_a_stem ;
|
||||||
i_stem = \\a,st => v2.pass_i_stem ;
|
i_stem = \\a,st => v2.pass_i_stem ;
|
||||||
tara = \\a,st => v2.pass_tara ;
|
ba = \\a,st => v2.pass_ba ;
|
||||||
prep = [] ;
|
prep = [] ;
|
||||||
obj = \\st => [] ;
|
obj = \\st => [] ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
@@ -304,7 +304,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = vp.te ;
|
te = vp.te ;
|
||||||
a_stem = vp.a_stem ;
|
a_stem = vp.a_stem ;
|
||||||
i_stem = vp.i_stem ;
|
i_stem = vp.i_stem ;
|
||||||
tara = vp.tara ;
|
ba = vp.ba ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => case adv.prepositive of {
|
obj = \\st => case adv.prepositive of {
|
||||||
True => vp.obj ! st ;
|
True => vp.obj ! st ;
|
||||||
@@ -322,7 +322,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = vp.te ;
|
te = vp.te ;
|
||||||
a_stem = vp.a_stem ;
|
a_stem = vp.a_stem ;
|
||||||
i_stem = vp.i_stem ;
|
i_stem = vp.i_stem ;
|
||||||
tara = vp.tara ;
|
ba = vp.ba ;
|
||||||
prep = vp.prep ;
|
prep = vp.prep ;
|
||||||
obj = \\st => adv.s ++ vp.obj ! st ;
|
obj = \\st => adv.s ++ vp.obj ! st ;
|
||||||
prepositive = vp.prepositive ;
|
prepositive = vp.prepositive ;
|
||||||
@@ -334,7 +334,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = vpslash.te ;
|
te = vpslash.te ;
|
||||||
a_stem = vpslash.a_stem ;
|
a_stem = vpslash.a_stem ;
|
||||||
i_stem = vpslash.i_stem ;
|
i_stem = vpslash.i_stem ;
|
||||||
tara = vpslash.tara ;
|
ba = vpslash.ba ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = \\st => case adv.prepositive of {
|
obj = \\st => case adv.prepositive of {
|
||||||
True => vpslash.obj ! st ;
|
True => vpslash.obj ! st ;
|
||||||
@@ -353,7 +353,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = vpslash.te ;
|
te = vpslash.te ;
|
||||||
a_stem = vpslash.a_stem ;
|
a_stem = vpslash.a_stem ;
|
||||||
i_stem = vpslash.i_stem ;
|
i_stem = vpslash.i_stem ;
|
||||||
tara = vpslash.tara ;
|
ba = vpslash.ba ;
|
||||||
prep = vpslash.prep ;
|
prep = vpslash.prep ;
|
||||||
obj = \\st => adv.s ++ vpslash.obj ! st ;
|
obj = \\st => adv.s ++ vpslash.obj ! st ;
|
||||||
prepositive = vpslash.prepositive ;
|
prepositive = vpslash.prepositive ;
|
||||||
@@ -366,7 +366,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
te = \\a,st => ap.te ! st ;
|
te = \\a,st => ap.te ! st ;
|
||||||
a_stem = \\a,st => ap.adv ! st ;
|
a_stem = \\a,st => ap.adv ! st ;
|
||||||
i_stem = \\a,st => ap.adv ! st ; -- for wishes - not correct!
|
i_stem = \\a,st => ap.adv ! st ; -- for wishes - not correct!
|
||||||
tara = \\a,st => ap.tara ! st ;
|
ba = \\a,st => ap.ba ! st ;
|
||||||
obj = \\st => [] ;
|
obj = \\st => [] ;
|
||||||
prepositive = ap.prepositive ;
|
prepositive = ap.prepositive ;
|
||||||
compar = ap.compar
|
compar = ap.compar
|
||||||
@@ -375,7 +375,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
CompNP np = {
|
CompNP np = {
|
||||||
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
||||||
te = \\a,st => "だって" ;
|
te = \\a,st => "だって" ;
|
||||||
tara = \\a,st => "だったら" ;
|
ba = \\a,st => "であれば" ;
|
||||||
a_stem = \\a,st => "で" ;
|
a_stem = \\a,st => "で" ;
|
||||||
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
||||||
obj = \\st => np.s ! st ;
|
obj = \\st => np.s ! st ;
|
||||||
@@ -386,7 +386,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
CompAdv adv = {
|
CompAdv adv = {
|
||||||
verb = mkExistV.verb ;
|
verb = mkExistV.verb ;
|
||||||
te = mkExistV.te ;
|
te = mkExistV.te ;
|
||||||
tara = mkExistV.tara ;
|
ba = mkExistV.ba ;
|
||||||
a_stem = mkExistV.a_stem ;
|
a_stem = mkExistV.a_stem ;
|
||||||
i_stem = mkExistV.i_stem ;
|
i_stem = mkExistV.i_stem ;
|
||||||
obj = \\st => case adv.prepositive of {
|
obj = \\st => case adv.prepositive of {
|
||||||
@@ -403,7 +403,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
CompCN cn = {
|
CompCN cn = {
|
||||||
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
||||||
te = \\a,st => "だって" ;
|
te = \\a,st => "だって" ;
|
||||||
tara = \\a,st => "だったら" ;
|
ba = \\a,st => "であれば" ;
|
||||||
a_stem = \\a,st => "で" ;
|
a_stem = \\a,st => "で" ;
|
||||||
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
||||||
obj = \\st => cn.s ! (Sg|Pl) ! st ;
|
obj = \\st => cn.s ! (Sg|Pl) ! st ;
|
||||||
@@ -414,7 +414,7 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
UseCopula = {
|
UseCopula = {
|
||||||
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
verb = \\a,st,t,p => mkCopula.s ! st ! t ! p ;
|
||||||
te = \\a,st => "だって" ;
|
te = \\a,st => "だって" ;
|
||||||
tara = \\a,st => "だったら" ;
|
ba = \\a,st => "であれば" ;
|
||||||
a_stem = \\a,st => "で" ;
|
a_stem = \\a,st => "で" ;
|
||||||
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
i_stem = \\a,st => "で" ; -- for wishes - not correct!
|
||||||
obj = \\st => [] ;
|
obj = \\st => [] ;
|
||||||
@@ -424,3 +424,4 @@ concrete VerbJap of Verb = CatJap ** open ResJap, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user