forked from GitHub/gf-rgl
@@ -23,40 +23,40 @@ param
|
|||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
NP : Type = {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
NP : Type = {s : Style => Str ; prepositive : Style => Str ; needPart : Bool ;
|
||||||
changePolar : Bool ; meaning : Speaker ; anim : Animateness} ;
|
changePolar : Bool ; meaning : Speaker ; anim : Animateness} ;
|
||||||
VP : Type = {verb : Speaker => Animateness => Style => TTense => Polarity => Str ;
|
VP : Type = {verb : Speaker => Animateness => Style => TTense => Polarity => Str ;
|
||||||
a_stem, i_stem : Speaker => Animateness => Style => Str ;
|
a_stem, i_stem : Speaker => Animateness => Style => Str ;
|
||||||
te, ba : Speaker => Animateness => Style => Polarity => Str ;
|
te, ba : Speaker => Animateness => Style => Polarity => Str ;
|
||||||
prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
prep : Str ; obj : Style => Str ; prepositive : Style => Str ;
|
||||||
needSubject : Bool} ;
|
needSubject : Bool} ;
|
||||||
|
|
||||||
Noun : Type = {s : Number => Style => Str ; anim : Animateness ;
|
Noun : Type = {s : Number => Style => Str ; anim : Animateness ;
|
||||||
counter : Str ; counterReplace : Bool ; counterTsu : Bool} ;
|
counter : Str ; counterReplace : Bool ; counterTsu : Bool} ;
|
||||||
PropNoun : Type = {s : Style => Str ; anim : Animateness} ;
|
PropNoun : Type = {s : Style => Str ; anim : Animateness} ;
|
||||||
Adj : Type = {pred : Style => TTense => Polarity => Str ; attr, dropNaEnging : Str ;
|
Adj : Type = {pred : Style => TTense => Polarity => Str ; attr, dropNaEnging : Str ;
|
||||||
te, ba, adv : Polarity => Str} ;
|
te, ba, adv : Polarity => Str} ;
|
||||||
Adj2 : Type = {pred : Style => TTense => Polarity => Str ; attr, dropNaEnging,
|
Adj2 : Type = {pred : Style => TTense => Polarity => Str ; attr, dropNaEnging,
|
||||||
prep : Str ; te, ba, adv : Polarity => Str} ;
|
prep : Str ; te, ba, adv : Polarity => Str} ;
|
||||||
Adverb : Type = {s : Style => Str ; prepositive : Bool} ;
|
Adverb : Type = {s : Style => Str ; prepositive : Bool} ;
|
||||||
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 ; num : Str ; n : Number ;
|
Determiner : Type = {quant : Style => Str ; postpositive : Str ; num : Str ; n : Number ;
|
||||||
inclCard : Bool ; sp : Style => Str ; no : Bool ; tenPlus : Bool} ;
|
inclCard : Bool ; sp : Style => Str ; no : Bool ; tenPlus : Bool} ;
|
||||||
Num : Type = {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool ;
|
Num : Type = {s : Str ; postpositive : Str ; n : Number ; inclCard : Bool ;
|
||||||
tenPlus : Bool} ;
|
tenPlus : Bool} ;
|
||||||
Preposition : Type = {s : Str ; null : Str} ;
|
Preposition : Type = {s : Str ; null : Str} ;
|
||||||
Verb : Type = {s : Style => TTense => Polarity => Str ; a_stem, i_stem : Str ;
|
Verb : Type = {s : Style => TTense => Polarity => Str ; a_stem, i_stem : Str ;
|
||||||
te, ba : Polarity => Str ; needSubject : Bool} ;
|
te, ba : Polarity => Str ; needSubject : Bool} ;
|
||||||
Verb2 : Type = {s, pass : Style => TTense => Polarity => Str ; a_stem, i_stem, pass_a_stem,
|
Verb2 : Type = {s, pass : Style => TTense => Polarity => Str ; a_stem, i_stem, pass_a_stem,
|
||||||
pass_i_stem, prep : Str ; te, ba, pass_te, pass_ba : Polarity => Str} ;
|
pass_i_stem, prep : Str ; te, ba, pass_te, pass_ba : Polarity => Str} ;
|
||||||
Verb3 : Type = {s : Speaker => Style => TTense => Polarity => Str ; a_stem, i_stem :
|
Verb3 : Type = {s : Speaker => Style => TTense => Polarity => Str ; a_stem, i_stem :
|
||||||
Speaker => Str ; te, ba : Speaker => Polarity => Str ; prep1, prep2 : Str} ;
|
Speaker => Str ; te, ba : Speaker => Polarity => Str ; prep1, prep2 : Str} ;
|
||||||
VV : Type = {s : Speaker => Style => TTense => Polarity => Str ; a_stem, i_stem :
|
VV : Type = {s : Speaker => Style => TTense => Polarity => Str ; a_stem, i_stem :
|
||||||
Speaker => Str ; te, ba : Speaker => Polarity => Str ; sense : ModSense} ;
|
Speaker => Str ; te, ba : Speaker => Polarity => Str ; sense : ModSense} ;
|
||||||
Conjunction : Type = {s : Str ; null : Str ; type : ConjType} ;
|
Conjunction : Type = {s : Str ; null : Str ; type : ConjType} ;
|
||||||
Subjunction : Type = {s : Str ; type : SubjType} ;
|
Subjunction : Type = {s : Str ; type : SubjType} ;
|
||||||
|
|
||||||
mkNoun : Str -> Str -> Str -> Str -> Animateness -> Str -> Bool -> Bool -> Noun =
|
mkNoun : Str -> Str -> Str -> Str -> Animateness -> Str -> Bool -> Bool -> Noun =
|
||||||
\man1,man2,man3,man4,a,c,b1,b2 -> {
|
\man1,man2,man3,man4,a,c,b1,b2 -> {
|
||||||
s = table {
|
s = table {
|
||||||
Sg => table {
|
Sg => table {
|
||||||
@@ -73,24 +73,24 @@ oper
|
|||||||
counterReplace = b1 ;
|
counterReplace = b1 ;
|
||||||
counterTsu = b2
|
counterTsu = b2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
regNoun : Str -> Animateness -> Str -> Bool -> Bool -> Noun = \s,a,c,b1,b2 ->
|
regNoun : Str -> Animateness -> Str -> Bool -> Bool -> Noun = \s,a,c,b1,b2 ->
|
||||||
mkNoun s s s s a c b1 b2 ;
|
mkNoun s s s s a c b1 b2 ;
|
||||||
|
|
||||||
styleNoun : Str -> Str -> Animateness -> Str -> Bool -> Bool -> Noun = \kane,okane,a,c,b1,b2 ->
|
styleNoun : Str -> Str -> Animateness -> Str -> Bool -> Bool -> Noun = \kane,okane,a,c,b1,b2 ->
|
||||||
mkNoun kane okane kane okane a c b1 b2 ;
|
mkNoun kane okane kane okane a c b1 b2 ;
|
||||||
|
|
||||||
numberNoun : Str -> Animateness -> Str -> Bool -> Str -> Bool -> Noun = \n,a,c,b1,pl,b2 ->
|
numberNoun : Str -> Animateness -> Str -> Bool -> Str -> Bool -> Noun = \n,a,c,b1,pl,b2 ->
|
||||||
mkNoun n n pl pl a c b1 b2 ;
|
mkNoun n n pl pl a c b1 b2 ;
|
||||||
|
|
||||||
regAdj : Str -> Adj = \a -> case a of {
|
regAdj : Str -> Adj = \a -> case a of {
|
||||||
chiisa + "い" => i_mkAdj a ;
|
chiisa + "い" => i_mkAdj a ;
|
||||||
_ => na_mkAdj a -- ooki + ("な"|"の") => na_mkAdj a
|
_ => na_mkAdj a -- ooki + ("な"|"の") => na_mkAdj a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
i_mkAdj : Str -> Adj = \chiisai ->
|
i_mkAdj : Str -> Adj = \chiisai ->
|
||||||
let
|
let
|
||||||
chiisa = init chiisai ;
|
chiisa = init chiisai ;
|
||||||
in {
|
in {
|
||||||
pred = table {
|
pred = table {
|
||||||
Resp => table {
|
Resp => table {
|
||||||
@@ -110,43 +110,43 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
TPast => table {
|
TPast => table {
|
||||||
Pos => chiisa + "かった" ;
|
Pos => chiisa + "かった" ;
|
||||||
Neg => chiisa + "くなかった"
|
Neg => chiisa + "くなかった"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
attr = chiisai ;
|
attr = chiisai ;
|
||||||
te = table {
|
te = table {
|
||||||
Pos => chiisa + "くて" ;
|
Pos => chiisa + "くて" ;
|
||||||
Neg => chiisa + "くなくて"
|
Neg => chiisa + "くなくて"
|
||||||
} ;
|
} ;
|
||||||
ba = table {
|
ba = table {
|
||||||
Pos => chiisa + "ければ" ;
|
Pos => chiisa + "ければ" ;
|
||||||
Neg => chiisa + "くなければ"
|
Neg => chiisa + "くなければ"
|
||||||
} ;
|
} ;
|
||||||
adv = table {
|
adv = table {
|
||||||
Pos => chiisa + "く" ;
|
Pos => chiisa + "く" ;
|
||||||
Neg => chiisa + "くなく"
|
Neg => chiisa + "くなく"
|
||||||
} ;
|
} ;
|
||||||
dropNaEnging = chiisai
|
dropNaEnging = chiisai
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
na_mkAdj : Str -> Adj = \ookina ->
|
na_mkAdj : Str -> Adj = \ookina ->
|
||||||
let
|
let
|
||||||
ooki = init ookina
|
ooki = init ookina
|
||||||
in {
|
in {
|
||||||
pred = \\st,t,p => ooki ++ mkCopula.s ! st ! t ! p ;
|
pred = \\st,t,p => ooki ++ mkCopula.s ! st ! t ! p ;
|
||||||
attr = ookina ;
|
attr = ookina ;
|
||||||
te = table {
|
te = table {
|
||||||
Pos => ooki + "で" ;
|
Pos => ooki + "で" ;
|
||||||
Neg => ooki + "ではなくて"
|
Neg => ooki + "ではなくて"
|
||||||
} ;
|
} ;
|
||||||
ba = \\p => ooki ++ mkCopula.ba ! p ;
|
ba = \\p => ooki ++ mkCopula.ba ! p ;
|
||||||
adv = table {
|
adv = table {
|
||||||
Pos => ooki + "に" ;
|
Pos => ooki + "に" ;
|
||||||
Neg => ooki + "ではなく"
|
Neg => ooki + "ではなく"
|
||||||
} ;
|
} ;
|
||||||
dropNaEnging = ooki
|
dropNaEnging = ooki
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Added by IL 2017-07. Used in NounJpn and SymbolJpn.
|
-- Added by IL 2017-07. Used in NounJpn and SymbolJpn.
|
||||||
mkOrd : SS -> Adj = \symb -> {
|
mkOrd : SS -> Adj = \symb -> {
|
||||||
@@ -158,23 +158,23 @@ oper
|
|||||||
dropNaEnging = symb.s ++ "番目の"
|
dropNaEnging = symb.s ++ "番目の"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
VerbalA : Str -> Str -> Adj = \kekkonshiteiru,kikonno ->
|
VerbalA : Str -> Str -> Adj = \kekkonshiteiru,kikonno ->
|
||||||
let
|
let
|
||||||
kekkonshite = Predef.tk 2 kekkonshiteiru
|
kekkonshite = Predef.tk 2 kekkonshiteiru
|
||||||
in {
|
in {
|
||||||
pred = \\st,t,p => kekkonshite ++ mkExistV.verb ! SomeoneElse ! Anim ! st ! t ! p ;
|
pred = \\st,t,p => kekkonshite + mkExistV.verb ! SomeoneElse ! Anim ! st ! t ! p ;
|
||||||
attr = kikonno ;
|
attr = kikonno ;
|
||||||
te = \\p => kekkonshite ++ mkExistV.te ! SomeoneElse ! Anim ! Resp ! p ;
|
te = \\p => kekkonshite ++ mkExistV.te ! SomeoneElse ! Anim ! Resp ! p ;
|
||||||
ba = \\p => kekkonshite ++ mkExistV.ba ! SomeoneElse ! Anim ! Resp ! p ;
|
ba = \\p => kekkonshite ++ mkExistV.ba ! SomeoneElse ! Anim ! Resp ! p ;
|
||||||
adv = table {
|
adv = table {
|
||||||
Pos => init kikonno + "で" ;
|
Pos => init kikonno + "で" ;
|
||||||
Neg => init kikonno + "ではなく"
|
Neg => init kikonno + "ではなく"
|
||||||
} ;
|
} ;
|
||||||
dropNaEnging = init kikonno
|
dropNaEnging = init kikonno
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb : Str -> VerbGroup -> Verb =
|
mkVerb : Str -> VerbGroup -> Verb =
|
||||||
\yomu,gr ->
|
\yomu,gr ->
|
||||||
let
|
let
|
||||||
yoma = mk_a_stem yomu gr ;
|
yoma = mk_a_stem yomu gr ;
|
||||||
yomi = mk_i_stem yomu gr ;
|
yomi = mk_i_stem yomu gr ;
|
||||||
@@ -207,7 +207,7 @@ oper
|
|||||||
yon + "だ" => yon + "で" ;
|
yon + "だ" => yon + "で" ;
|
||||||
yon + "た" => yon + "て"
|
yon + "た" => yon + "て"
|
||||||
} ;
|
} ;
|
||||||
Neg => yoma + "ないで"
|
Neg => yoma + "ないで"
|
||||||
} ;
|
} ;
|
||||||
a_stem = yoma ;
|
a_stem = yoma ;
|
||||||
i_stem = yomi ;
|
i_stem = yomi ;
|
||||||
@@ -217,9 +217,9 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
needSubject = True
|
needSubject = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb2 : Str -> Str -> VerbGroup -> Verb2 =
|
mkVerb2 : Str -> Str -> VerbGroup -> Verb2 =
|
||||||
\yomu,p,gr ->
|
\yomu,p,gr ->
|
||||||
let
|
let
|
||||||
yoma = mk_a_stem yomu gr ;
|
yoma = mk_a_stem yomu gr ;
|
||||||
in {
|
in {
|
||||||
@@ -256,7 +256,7 @@ oper
|
|||||||
Gr1 => yoma + "れませんでした" ;
|
Gr1 => yoma + "れませんでした" ;
|
||||||
Gr2 => yoma + "られませんでした" ;
|
Gr2 => yoma + "られませんでした" ;
|
||||||
Suru => Predef.tk 2 yomu + "されませんでした" ;
|
Suru => Predef.tk 2 yomu + "されませんでした" ;
|
||||||
Kuru => "来られませんでした"
|
Kuru => "来られませんでした"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -303,7 +303,7 @@ oper
|
|||||||
Gr2 => yoma + "られないで" ;
|
Gr2 => yoma + "られないで" ;
|
||||||
Suru => Predef.tk 2 yomu + "されないで" ;
|
Suru => Predef.tk 2 yomu + "されないで" ;
|
||||||
Kuru => "来られないで"
|
Kuru => "来られないで"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
pass_a_stem = case gr of {
|
pass_a_stem = case gr of {
|
||||||
Gr1 => yoma + "れ" ;
|
Gr1 => yoma + "れ" ;
|
||||||
@@ -329,12 +329,12 @@ oper
|
|||||||
Gr2 => yoma + "られなければ" ;
|
Gr2 => yoma + "られなければ" ;
|
||||||
Suru => Predef.tk 2 yomu + "されなければ" ;
|
Suru => Predef.tk 2 yomu + "されなければ" ;
|
||||||
Kuru => "来られなければ"
|
Kuru => "来られなければ"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
needSubject = True
|
needSubject = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb3 : Str -> Str -> Str -> VerbGroup -> Verb3 =
|
mkVerb3 : Str -> Str -> Str -> VerbGroup -> Verb3 =
|
||||||
\uru,p1,p2,gr -> {
|
\uru,p1,p2,gr -> {
|
||||||
s = \\sp => (mkVerb uru gr).s ;
|
s = \\sp => (mkVerb uru gr).s ;
|
||||||
te = \\sp => (mkVerb uru gr).te ;
|
te = \\sp => (mkVerb uru gr).te ;
|
||||||
@@ -344,13 +344,13 @@ oper
|
|||||||
prep1 = p1 ;
|
prep1 = p1 ;
|
||||||
prep2 = p2
|
prep2 = p2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkCopula : Verb = {
|
mkCopula : Verb = {
|
||||||
s = table {
|
s = table {
|
||||||
Resp => table {
|
Resp => table {
|
||||||
(TPres|TFut) => table {
|
(TPres|TFut) => table {
|
||||||
Pos => "です" ;
|
Pos => "です" ;
|
||||||
Neg => "ではありません"
|
Neg => "ではありません"
|
||||||
} ;
|
} ;
|
||||||
TPast => table {
|
TPast => table {
|
||||||
Pos => "でした" ;
|
Pos => "でした" ;
|
||||||
@@ -367,7 +367,7 @@ oper
|
|||||||
Neg => "ではなかった"
|
Neg => "ではなかった"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
te = table {
|
te = table {
|
||||||
Pos => "だって" ;
|
Pos => "だって" ;
|
||||||
Neg => "ではなくて"
|
Neg => "ではなくて"
|
||||||
@@ -379,11 +379,11 @@ oper
|
|||||||
a_stem, i_stem = "で" ; -- not used
|
a_stem, i_stem = "で" ; -- not used
|
||||||
needSubject = True -- not used
|
needSubject = True -- not used
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkExistV : VP = {
|
mkExistV : VP = {
|
||||||
verb = \\sp => table {
|
verb = \\sp => table {
|
||||||
Anim => \\st,t,p => (mkVerb "いる" Gr2).s ! st ! t ! p ;
|
Anim => \\st,t,p => (mkVerb "いる" Gr2).s ! st ! t ! p ;
|
||||||
Inanim => table {
|
Inanim => table {
|
||||||
Resp => table {
|
Resp => table {
|
||||||
(TPres|TFut) => table {
|
(TPres|TFut) => table {
|
||||||
Pos => "あります" ;
|
Pos => "あります" ;
|
||||||
@@ -404,7 +404,7 @@ oper
|
|||||||
Neg => "なかった"
|
Neg => "なかった"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
te = \\sp => table {
|
te = \\sp => table {
|
||||||
Anim => \\st => table {
|
Anim => \\st => table {
|
||||||
@@ -438,11 +438,11 @@ oper
|
|||||||
prepositive, obj = \\st => [] ;
|
prepositive, obj = \\st => [] ;
|
||||||
needSubject = True
|
needSubject = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkWant : VV = {
|
mkWant : VV = {
|
||||||
s = table {
|
s = table {
|
||||||
Me => \\st,t,p => (i_mkAdj "たい").pred ! st ! t ! p ;
|
Me => \\st,t,p => (i_mkAdj "たい").pred ! st ! t ! p ;
|
||||||
SomeoneElse => \\st,t,p => "たがって" ++ (mkVerb "いる" Gr2).s ! st ! t ! p
|
SomeoneElse => \\st,t,p => "たがって" ++ (mkVerb "いる" Gr2).s ! st ! t ! p
|
||||||
} ;
|
} ;
|
||||||
te = table {
|
te = table {
|
||||||
Me => table {
|
Me => table {
|
||||||
@@ -456,7 +456,7 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
a_stem = table {
|
a_stem = table {
|
||||||
Me => "たいで" ;
|
Me => "たいで" ;
|
||||||
SomeoneElse => "たがってい"
|
SomeoneElse => "たがってい"
|
||||||
} ;
|
} ;
|
||||||
i_stem = table {
|
i_stem = table {
|
||||||
Me => "たいで" ;
|
Me => "たいで" ;
|
||||||
@@ -474,21 +474,21 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
sense = Wish
|
sense = Wish
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkCan : VV = {
|
mkCan : VV = {
|
||||||
s = \\sp,st,t,p => (mkVerb "できる" Gr2).s ! st ! t ! p ;
|
s = \\sp,st,t,p => (mkVerb "できる" Gr2).s ! st ! t ! p ;
|
||||||
te = \\sp => table {
|
te = \\sp => table {
|
||||||
Pos => "できて" ;
|
Pos => "できて" ;
|
||||||
Neg => "できないで"
|
Neg => "できないで"
|
||||||
} ;
|
} ;
|
||||||
a_stem, i_stem = \\sp => "でき" ;
|
a_stem, i_stem = \\sp => "でき" ;
|
||||||
ba = \\sp => table {
|
ba = \\sp => table {
|
||||||
Pos => "できれば" ;
|
Pos => "できれば" ;
|
||||||
Neg => "できなければ"
|
Neg => "できなければ"
|
||||||
} ;
|
} ;
|
||||||
sense = Abil
|
sense = Abil
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkMust : VV = {
|
mkMust : VV = {
|
||||||
s = \\sp,st,t,p => (mkVerb "なる" Gr1).s ! st ! t ! Neg ;
|
s = \\sp,st,t,p => (mkVerb "なる" Gr1).s ! st ! t ! Neg ;
|
||||||
te = \\sp,p => "ならなくて" ;
|
te = \\sp,p => "ならなくて" ;
|
||||||
@@ -505,7 +505,7 @@ oper
|
|||||||
i_stem = \\sp => (mkVerb yomu gr).i_stem ;
|
i_stem = \\sp => (mkVerb yomu gr).i_stem ;
|
||||||
ba = \\sp => (mkVerb yomu gr).ba ;
|
ba = \\sp => (mkVerb yomu gr).ba ;
|
||||||
sense = Abil
|
sense = Abil
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkGive : Verb3 = {
|
mkGive : Verb3 = {
|
||||||
s = table {
|
s = table {
|
||||||
@@ -518,19 +518,19 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
a_stem, i_stem = table {
|
a_stem, i_stem = table {
|
||||||
Me => "呉れ" ;
|
Me => "呉れ" ;
|
||||||
SomeoneElse => "上げ"
|
SomeoneElse => "上げ"
|
||||||
} ;
|
} ;
|
||||||
ba = table {
|
ba = table {
|
||||||
Me => (mkVerb "呉れる" Gr2).ba ;
|
Me => (mkVerb "呉れる" Gr2).ba ;
|
||||||
SomeoneElse => (mkVerb "上げる" Gr2).ba
|
SomeoneElse => (mkVerb "上げる" Gr2).ba
|
||||||
} ;
|
} ;
|
||||||
prep1 = "に" ;
|
prep1 = "に" ;
|
||||||
prep2 = "を"
|
prep2 = "を"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkGo : Verb = {
|
mkGo : Verb = {
|
||||||
s = table {
|
s = table {
|
||||||
Resp => (mkVerb "行く" Gr1).s ! Resp ;
|
Resp => (mkVerb "行く" Gr1).s ! Resp ;
|
||||||
Plain => table {
|
Plain => table {
|
||||||
(TPres|TFut) => (mkVerb "行く" Gr1).s ! Plain ! TPres ;
|
(TPres|TFut) => (mkVerb "行く" Gr1).s ! Plain ! TPres ;
|
||||||
TPast => table {
|
TPast => table {
|
||||||
@@ -541,7 +541,7 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
te = table {
|
te = table {
|
||||||
Pos => "行って" ;
|
Pos => "行って" ;
|
||||||
Neg => "行かないで"
|
Neg => "行かないで"
|
||||||
} ;
|
} ;
|
||||||
a_stem = "行か" ;
|
a_stem = "行か" ;
|
||||||
i_stem = "行き" ;
|
i_stem = "行き" ;
|
||||||
@@ -556,13 +556,13 @@ oper
|
|||||||
inclCard = False ;
|
inclCard = False ;
|
||||||
tenPlus = False
|
tenPlus = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
regPron : Str -> Bool -> Animateness -> Pronoun = \kare,b,a -> {
|
regPron : Str -> Bool -> Animateness -> Pronoun = \kare,b,a -> {
|
||||||
s = \\st => kare ;
|
s = \\st => kare ;
|
||||||
Pron1Sg = b ;
|
Pron1Sg = b ;
|
||||||
anim = a
|
anim = a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkDet : Str -> Str -> Number -> Determiner = \q,sp,n -> {
|
mkDet : Str -> Str -> Number -> Determiner = \q,sp,n -> {
|
||||||
quant = \\st => q ;
|
quant = \\st => q ;
|
||||||
postpositive = [] ;
|
postpositive = [] ;
|
||||||
@@ -573,7 +573,7 @@ oper
|
|||||||
no = False ;
|
no = False ;
|
||||||
tenPlus = False
|
tenPlus = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
stylePron : Str -> Str -> Bool -> Animateness -> Pronoun = \boku,watashi,b,a -> {
|
stylePron : Str -> Str -> Bool -> Animateness -> Pronoun = \boku,watashi,b,a -> {
|
||||||
s = table {
|
s = table {
|
||||||
Plain => boku ;
|
Plain => boku ;
|
||||||
@@ -581,8 +581,8 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
Pron1Sg = b ;
|
Pron1Sg = b ;
|
||||||
anim = a
|
anim = a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
regPN : Str -> PropNoun = \paris -> {
|
regPN : Str -> PropNoun = \paris -> {
|
||||||
s = table {
|
s = table {
|
||||||
Plain => paris ;
|
Plain => paris ;
|
||||||
@@ -590,7 +590,7 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
anim = Inanim
|
anim = Inanim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
personPN : Str -> Str -> PropNoun = \jon,jonsan -> {
|
personPN : Str -> Str -> PropNoun = \jon,jonsan -> {
|
||||||
s = table {
|
s = table {
|
||||||
Plain => jon ;
|
Plain => jon ;
|
||||||
@@ -598,27 +598,27 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
anim = Anim
|
anim = Anim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkAdv : Str -> Adverb = \adv -> {
|
mkAdv : Str -> Adverb = \adv -> {
|
||||||
s = \\st => adv ;
|
s = \\st => adv ;
|
||||||
prepositive = False
|
prepositive = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkNP : Str -> Bool -> Bool -> Animateness -> NP = \np,b1,b2,a -> {
|
mkNP : Str -> Bool -> Bool -> Animateness -> NP = \np,b1,b2,a -> {
|
||||||
s = \\st => np ;
|
s = \\st => np ;
|
||||||
prepositive = \\st => [] ;
|
prepositive = \\st => [] ;
|
||||||
needPart = b1 ;
|
needPart = b1 ;
|
||||||
changePolar = b2 ;
|
changePolar = b2 ;
|
||||||
meaning = SomeoneElse ;
|
meaning = SomeoneElse ;
|
||||||
anim = a
|
anim = a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkConj : Str -> ConjType -> Conjunction = \c,t -> {
|
mkConj : Str -> ConjType -> Conjunction = \c,t -> {
|
||||||
s = c ;
|
s = c ;
|
||||||
null = "" ;
|
null = "" ;
|
||||||
type = t
|
type = t
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkPrep : Str -> Preposition = \p -> {
|
mkPrep : Str -> Preposition = \p -> {
|
||||||
s = p ;
|
s = p ;
|
||||||
null = "" ;
|
null = "" ;
|
||||||
@@ -692,10 +692,10 @@ oper
|
|||||||
"つ" => init neru + "てば" ;
|
"つ" => init neru + "てば" ;
|
||||||
_ => init neru + "えば"
|
_ => init neru + "えば"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkFirst : Adj = {
|
mkFirst : Adj = {
|
||||||
pred = \\st,t,p => "一番目" ++ mkCopula.s ! st ! t ! p ;
|
pred = \\st,t,p => "一番目" ++ mkCopula.s ! st ! t ! p ;
|
||||||
attr = "一番目の" ;
|
attr = "一番目の" ;
|
||||||
te = \\p => "一番目" ++ mkCopula.te ! p ;
|
te = \\p => "一番目" ++ mkCopula.te ! p ;
|
||||||
ba = \\p => "一番目" ++ mkCopula.ba ! p ;
|
ba = \\p => "一番目" ++ mkCopula.ba ! p ;
|
||||||
adv = table {
|
adv = table {
|
||||||
@@ -704,12 +704,12 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
dropNaEnging = "一番目"
|
dropNaEnging = "一番目"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkRain : Verb = {
|
mkRain : Verb = {
|
||||||
s = \\st,t,p => "雨が" ++ (mkVerb "降っている" Gr2).s ! st ! t ! p ; -- "ame ga furu"
|
s = \\st,t,p => "雨が" ++ (mkVerb "降っている" Gr2).s ! st ! t ! p ; -- "ame ga furu"
|
||||||
te = table {
|
te = table {
|
||||||
Pos => "雨が降っていて" ;
|
Pos => "雨が降っていて" ;
|
||||||
Neg => "雨が降っていないで"
|
Neg => "雨が降っていないで"
|
||||||
} ;
|
} ;
|
||||||
a_stem = "雨が降ってい" ;
|
a_stem = "雨が降ってい" ;
|
||||||
i_stem = "雨が降ってい" ;
|
i_stem = "雨が降ってい" ;
|
||||||
@@ -720,4 +720,3 @@ oper
|
|||||||
needSubject = False
|
needSubject = False
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user