forked from GitHub/gf-rgl
support but as a conjunction
This commit is contained in:
@@ -68,7 +68,7 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
|
||||
|
||||
-- Structural
|
||||
|
||||
Conj = {s : Str; distr : Bool; conj : Ints 2; n : Number} ;
|
||||
Conj = {s : Str; distr : Bool; conj : Ints 3; n : Number} ;
|
||||
Subj = {s : Str} ;
|
||||
Prep = {s : Str; c : Case} ;
|
||||
|
||||
|
||||
@@ -87,13 +87,13 @@ concrete ConjunctionBul of Conjunction =
|
||||
g = x.g} ;
|
||||
|
||||
lincat
|
||||
[S] = {s : Bool => Ints 2 => Str} ;
|
||||
[Adv] = {s : Bool => Ints 2 => Str} ;
|
||||
[AdV] = {s : Bool => Ints 2 => Str} ;
|
||||
[IAdv] = {s : Bool => Ints 2 => QForm => Str} ;
|
||||
[NP] = {s : Bool => Ints 2 => Role => Str; a : Agr} ;
|
||||
[AP] = {s : Bool => Ints 2 => AForm => Person => Str; adv : Bool => Ints 2 => Str; isPre : Bool} ;
|
||||
[RS] = {s : Bool => Ints 2 => Agr => Str} ;
|
||||
[CN] = {s : Bool => Ints 2 => NForm => Str; g : AGender} ;
|
||||
[S] = {s : Bool => Ints 3 => Str} ;
|
||||
[Adv] = {s : Bool => Ints 3 => Str} ;
|
||||
[AdV] = {s : Bool => Ints 3 => Str} ;
|
||||
[IAdv] = {s : Bool => Ints 3 => QForm => Str} ;
|
||||
[NP] = {s : Bool => Ints 3 => Role => Str; a : Agr} ;
|
||||
[AP] = {s : Bool => Ints 3 => AForm => Person => Str; adv : Bool => Ints 3 => Str; isPre : Bool} ;
|
||||
[RS] = {s : Bool => Ints 3 => Agr => Str} ;
|
||||
[CN] = {s : Bool => Ints 3 => NForm => Str; g : AGender} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ lin
|
||||
}) Indef
|
||||
in {
|
||||
s = \\nf => case n1.relPost of {
|
||||
True => n2.s ! (indefNForm nf) ++ n1.rel ! nform2aform nf n2.g ;
|
||||
True => n2.s ! nf ++ n1.rel ! nform2aform nf n2.g ;
|
||||
False => n1.rel ! nform2aform nf n2.g ++ n2.s ! indefNForm nf
|
||||
} ;
|
||||
rel = \\af => n1.rel ! aform ++ n2.s ! NF Sg Indef ; relPost = n1.relPost ;
|
||||
@@ -94,7 +94,7 @@ lin
|
||||
|
||||
lincat
|
||||
VPS = {s : Agr => Str} ;
|
||||
[VPS] = {s : Bool => Ints 2 => Agr => Str} ;
|
||||
[VPS] = {s : Bool => Ints 3 => Agr => Str} ;
|
||||
|
||||
lin
|
||||
BaseVPS x y = {s = \\d,t,a=>x.s!a++linCoord!t++y.s!a} ;
|
||||
|
||||
@@ -58,7 +58,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
|
||||
|
||||
lincat
|
||||
VPI = {s : Agr => Str} ;
|
||||
[VPI] = {s : Bool => Ints 2 => Agr => Str} ;
|
||||
[VPI] = {s : Bool => Ints 3 => Agr => Str} ;
|
||||
|
||||
lin
|
||||
BaseVPI x y = {s = \\d,t,a=>x.s!a++linCoord!t++y.s!a} ;
|
||||
@@ -73,7 +73,7 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
|
||||
|
||||
lincat
|
||||
VPS = {s : Agr => Str} ;
|
||||
[VPS] = {s : Bool => Ints 2 => Agr => Str} ;
|
||||
[VPS] = {s : Bool => Ints 3 => Agr => Str} ;
|
||||
|
||||
lin
|
||||
BaseVPS x y = {s = \\d,t,a=>x.s!a++linCoord!t++y.s!a} ;
|
||||
|
||||
@@ -222,7 +222,14 @@ oper
|
||||
|
||||
dualN : N -> Prep -> N
|
||||
= \n,p -> lin N { s = n.s;
|
||||
rel = \\_ => p.s ++ n.s ! NF Sg Def ; relPost = True;
|
||||
rel = \\_ => p.s ++
|
||||
case p.c of {
|
||||
Acc => "" ;
|
||||
Dat => "íà" ;
|
||||
WithPrep => with_Word
|
||||
} ++
|
||||
n.s ! NF Sg Def ;
|
||||
relPost = True;
|
||||
g = n.g
|
||||
}
|
||||
} ;
|
||||
|
||||
@@ -47,6 +47,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
||||
|
||||
UsePN pn = { s = table {
|
||||
RObj Dat => "íà" ++ pn.s;
|
||||
RObj WithPron => with_Word ++ pn.s;
|
||||
_ => pn.s
|
||||
} ;
|
||||
a = {gn = GSg pn.g; p = P3} ;
|
||||
@@ -55,7 +56,12 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
||||
UsePron p = {s = p.s; a=p.a; p=Pos} ;
|
||||
|
||||
PredetNP pred np = {
|
||||
s = \\c => pred.s ! np.a.gn ++ np.s ! c ;
|
||||
s = \\c => case c of {
|
||||
RObj Dat => "íà";
|
||||
RObj WithPrep => with_Word;
|
||||
_ => ""
|
||||
} ++
|
||||
pred.s ! np.a.gn ++ np.s ! RObj Acc ;
|
||||
a = np.a ;
|
||||
p = np.p
|
||||
} ;
|
||||
|
||||
@@ -330,7 +330,7 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VNoun _ => "";
|
||||
VNoun _ => "áúäåíå";
|
||||
VGerund => "áèäåéêè"
|
||||
} ;
|
||||
|
||||
@@ -358,7 +358,7 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VNoun _ => "";
|
||||
VNoun _ => "áúäåíå";
|
||||
VGerund => "áúäåéêè"
|
||||
} ;
|
||||
|
||||
@@ -786,10 +786,10 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
||||
GPl => "òåçè"
|
||||
} ;
|
||||
|
||||
linCoord : Ints 2 => Str ;
|
||||
linCoord = table {0 => "è"; 1=>"èëè"; 2=>"íèòî"} ;
|
||||
linCoord : Ints 3 => Str ;
|
||||
linCoord = table {0 => "è"; 1=>"èëè"; 2=>"íèòî"; 3=>"íî"} ;
|
||||
|
||||
linCoordSep : Str -> Bool => Ints 2 => Str ;
|
||||
linCoordSep : Str -> Bool => Ints 3 => Str ;
|
||||
linCoordSep s = table {True => linCoord; False=> \\_ => s} ;
|
||||
|
||||
comma : Str = SOFT_BIND ++ "," ;
|
||||
|
||||
Reference in New Issue
Block a user