forked from GitHub/gf-rgl
Merge remote-tracking branch 'upstream/master' into por
This commit is contained in:
@@ -1,9 +1,8 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude:../api
|
--# -path=.:../abstract:../common:../prelude:../api
|
||||||
--# -coding=cp1251
|
|
||||||
|
|
||||||
concrete AllBul of AllBulAbs =
|
concrete AllBul of AllBulAbs =
|
||||||
LangBul,
|
LangBul,
|
||||||
ExtraBul
|
ExtendBul
|
||||||
** {
|
** {
|
||||||
flags coding=cp1251 ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
--# -path=.:../abstract:../common:prelude
|
--# -path=.:../abstract:../common:prelude
|
||||||
--# -coding=cp1251
|
|
||||||
|
|
||||||
abstract AllBulAbs =
|
abstract AllBulAbs =
|
||||||
Lang,
|
Lang,
|
||||||
ExtraBulAbs
|
Extend
|
||||||
** {
|
** {
|
||||||
flags coding=cp1251 ;
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
18
src/bulgarian/ExtendBul.gf
Normal file
18
src/bulgarian/ExtendBul.gf
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
--# -path=.:../abstract:../common:prelude
|
||||||
|
concrete ExtendBul of Extend = CatBul ** open ResBul in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
CompoundN n1 n2 =
|
||||||
|
let aform = ASg (case n2.g of {
|
||||||
|
AMasc _ => Masc ;
|
||||||
|
AFem => Fem ;
|
||||||
|
ANeut => Neut
|
||||||
|
}) Indef
|
||||||
|
in {
|
||||||
|
s = \\nf => n1.rel ! nform2aform nf n2.g ++ n2.s ! (indefNForm nf) ;
|
||||||
|
rel = \\af => n1.rel ! aform ++ n2.s ! NF Sg Indef ;
|
||||||
|
g = n2.g
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -219,6 +219,8 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
isPre = a.isPre ; lock_A = <>} ;
|
isPre = a.isPre ; lock_A = <>} ;
|
||||||
|
|
||||||
|
mkNonInflectA : A -> Str -> A ;
|
||||||
|
mkNonInflectA = \blanco,hueso -> blanco ** {s = \\x,y => blanco.s ! x ! y ++ hueso } ;
|
||||||
|
|
||||||
mkA = overload {
|
mkA = overload {
|
||||||
|
|
||||||
@@ -243,7 +245,7 @@ oper
|
|||||||
= mkADeg ;
|
= mkADeg ;
|
||||||
|
|
||||||
mkA : (blanco : A) -> (hueso : Str) -> A -- noninflecting component after the adjective
|
mkA : (blanco : A) -> (hueso : Str) -> A -- noninflecting component after the adjective
|
||||||
= \blanco,hueso -> blanco ** {s = \\x,y => blanco.s ! x ! y ++ hueso } ;
|
= mkNonInflectA ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- The functions above create postfix adjectives. To switch them to
|
-- The functions above create postfix adjectives. To switch them to
|
||||||
@@ -287,32 +289,38 @@ oper
|
|||||||
--2 Verbs
|
--2 Verbs
|
||||||
|
|
||||||
regV : Str -> V ;
|
regV : Str -> V ;
|
||||||
regV v = -- cortar actuar cazar guiar pagar sacar
|
regV v =
|
||||||
let
|
let
|
||||||
xr = Predef.dp 2 v ; -- -ar
|
xr = Predef.dp 2 v ; -- -ar
|
||||||
z = Predef.dp 1 (Predef.tk 2 v) ; -- i in -iar
|
z = Predef.dp 1 (Predef.tk 2 v) ; -- i in -iar
|
||||||
verb = case xr of {
|
paradigm = case xr of {
|
||||||
"ir" => case z of {
|
"ir" => case z of {
|
||||||
"g" => redigir_52 v ;
|
"g" => redigir_52 ;
|
||||||
"a" => sair_68 v ;
|
"a" => sair_68 ;
|
||||||
"u" => distribuir_73 v ;
|
"u" => distribuir_73 ;
|
||||||
_ => garantir_6 v
|
_ => garantir_6
|
||||||
} ;
|
} ;
|
||||||
"er" => case z of {
|
"er" => case z of {
|
||||||
"c" => aquecer_25 v ;
|
"c" => aquecer_25 ;
|
||||||
_ => vender_5 v
|
"g" => proteger_26 ;
|
||||||
|
"o" => moer_28 ;
|
||||||
|
_ => vender_5
|
||||||
} ;
|
} ;
|
||||||
"ar" => case z of {
|
"ar" => case z of {
|
||||||
"e" => recear_15 v ;
|
"c" => ficar_12 ;
|
||||||
"i" => anunciar_16 v ;
|
"ç" => começar_13 ;
|
||||||
"o" => perdoar_20 v ;
|
"e" => recear_15 ;
|
||||||
"u" => averiguar_21 v ;
|
"g" => chegar_14 ;
|
||||||
_ => comprar_4 v
|
"i" => anunciar_16 ;
|
||||||
|
"j" => viajar_r22 ;
|
||||||
|
"o" => perdoar_20 ;
|
||||||
|
"u" => suar_r37 ;
|
||||||
|
_ => comprar_4
|
||||||
} ;
|
} ;
|
||||||
"or" => pôr_45 v ;
|
"or" | "ôr" => pôr_45 ;
|
||||||
_ => comprar_4 v -- hole
|
_ => comprar_4 -- hole
|
||||||
}
|
}
|
||||||
in verboV verb ;
|
in verboV (paradigm v) ;
|
||||||
|
|
||||||
{- regAltV : (mostrar,muestro : Str) -> V ;
|
{- regAltV : (mostrar,muestro : Str) -> V ;
|
||||||
regAltV x y = case x of {
|
regAltV x y = case x of {
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ concrete ExtendSwe of Extend = CatSwe **
|
|||||||
MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
|
MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
|
||||||
ICompAP,
|
ICompAP,
|
||||||
RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP,
|
RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP,
|
||||||
Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP
|
Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP,
|
||||||
|
CompoundN
|
||||||
]
|
]
|
||||||
with (Grammar = GrammarSwe)
|
with (Grammar = GrammarSwe)
|
||||||
**
|
**
|
||||||
@@ -143,6 +144,10 @@ concrete ExtendSwe of Extend = CatSwe **
|
|||||||
Cons_rr_RNP x xs = consrTable Agr comma x xs ;
|
Cons_rr_RNP x xs = consrTable Agr comma x xs ;
|
||||||
Cons_nr_RNP x xs = consrTable Agr comma {s = \\a => x.s ! NPAcc} xs ;
|
Cons_nr_RNP x xs = consrTable Agr comma {s = \\a => x.s ! NPAcc} xs ;
|
||||||
|
|
||||||
|
CompoundN n1 n2 = {
|
||||||
|
s = \\n,s,c => n1.co ++ BIND ++ n2.s ! n ! s ! c ;
|
||||||
|
co = n1.co ++ BIND ++ n2.co ;
|
||||||
|
g = n2.g
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user