forked from GitHub/gf-rgl
- add Por to complete languages (although it's not quite there yet)
- update headers - add Por modules to lib/src/api/
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
--# -path=.:../spanish:../romance:../common:../abstract:../prelude
|
--# -path=.:../portuguese:../romance:../common:../abstract:../prelude
|
||||||
|
|
||||||
resource SymbolicPor = Symbolic with
|
resource SymbolicPor = Symbolic with
|
||||||
(Symbol = SymbolPor),
|
(Symbol = SymbolPor),
|
||||||
|
|||||||
@@ -2,4 +2,3 @@
|
|||||||
|
|
||||||
instance SyntaxPor of Syntax =
|
instance SyntaxPor of Syntax =
|
||||||
ConstructorsPor, CatPor, StructuralPor, CombinatorsPor ;
|
ConstructorsPor, CatPor, StructuralPor, CombinatorsPor ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
--# -path=.:../spanish:../romance:../common:../abstract:../prelude
|
--# -path=.:../portuguese:../romance:../common:../abstract:../prelude
|
||||||
|
|
||||||
resource TryPor = SyntaxPor, LexiconPor, ParadigmsPor - [mkAdv,mkAdN] ;
|
resource TryPor = SyntaxPor, LexiconPor, ParadigmsPor - [mkAdv,mkAdN] ;
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude
|
|
||||||
|
|
||||||
resource CombinatorsPor = Combinators - [appCN, appCNc] with
|
|
||||||
(Cat = CatPor),
|
|
||||||
(Structural = StructuralPor),
|
|
||||||
(Noun = NounPor),
|
|
||||||
(Constructors = ConstructorsPor) **
|
|
||||||
{
|
|
||||||
oper
|
|
||||||
appCN : CN -> NP -> NP
|
|
||||||
= \cn,x -> mkNP the_Art (PossNP cn x) ;
|
|
||||||
appCNc : CN -> [NP] -> NP
|
|
||||||
= \cn,xs -> let np : NP = mkNP and_Conj xs
|
|
||||||
in mkNP the_Art (PossNP cn np) ;
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
--# -path=alltenses:.:../abstract
|
--# -path=alltenses:.:../abstract
|
||||||
|
|
||||||
concrete ConstructionPor of Construction = CatPor **
|
concrete ConstructionPor of Construction = CatPor **
|
||||||
open SyntaxPor, SymbolicPor, ParadigmsPor,
|
open SyntaxPor, SymbolicPor, ParadigmsPor, BeschPor,
|
||||||
(L = LexiconPor), (E = ExtraPor), (I = IrregPor), (R = ResPor), (C = CommonRomance),
|
(L = LexiconPor), (E = ExtraPor), (I = IrregPor), (R = ResPor), (C = CommonRomance),
|
||||||
Prelude in {
|
Prelude in {
|
||||||
flags coding=utf8 ;
|
flags coding=utf8 ;
|
||||||
@@ -19,7 +19,7 @@ lin
|
|||||||
how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x I.estar_V) ;
|
how_far_QCl x = mkQCl (lin IAdv (ss "a que distância")) (mkCl x I.estar_V) ;
|
||||||
|
|
||||||
-- some more things
|
-- some more things
|
||||||
weather_adjCl ap = mkCl (mkVP (mkVA I.hacer_V) (lin AP ap)) ;
|
weather_adjCl ap = mkCl (mkVP (mkVA I.fazer_V) (lin AP ap)) ;
|
||||||
|
|
||||||
is_right_VP = E.ComplCN have_V2 (mkCN (mkN "razão")) ;
|
is_right_VP = E.ComplCN have_V2 (mkCN (mkN "razão")) ;
|
||||||
is_wrong_VP = mkVP (mkVA I.estar_V) (mkAP (mkA "errado")) ;
|
is_wrong_VP = mkVP (mkVA I.estar_V) (mkAP (mkA "errado")) ;
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude
|
|
||||||
|
|
||||||
resource ConstructorsPor = Constructors with (Grammar = GrammarPor) ;
|
|
||||||
@@ -76,7 +76,7 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
_ => Acc
|
_ => Acc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
auxVerb : VType -> (VF => Str) = \_ -> haber_V.s ;
|
auxVerb : VType -> (VF => Str) = \_ -> haver_V.s ;
|
||||||
|
|
||||||
vpAgrClit : Agr -> VPAgr = \a ->
|
vpAgrClit : Agr -> VPAgr = \a ->
|
||||||
vpAgrNone ;
|
vpAgrNone ;
|
||||||
@@ -204,13 +204,15 @@ instance DiffPor of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits] = open CommonRo
|
|||||||
_ => False
|
_ => False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
auxPassive : Verb = verbBeschH (estar_10 "estar") ;
|
auxPassive : Verb = copula ;
|
||||||
|
|
||||||
copula : Verb = verbBeschH (ser_3 []) ;
|
copula : Verb = verbBeschH (ser_3 "ser") ;
|
||||||
|
|
||||||
estar_V : Verb = verbBeschH (estar_10 "estar") ;
|
estar_V : Verb = verbBeschH (estar_10 "estar") ;
|
||||||
|
|
||||||
haber_V : Verb = verbBeschH (haver_2 "haver") ;
|
haver_V : Verb = verbBeschH (haver_2 "haver") ;
|
||||||
|
|
||||||
|
ficar_V : Verb = verbBeschH (ficar_12 "ficar") ;
|
||||||
|
|
||||||
verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere ; p = []} ;
|
verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere ; p = []} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--# -path=.:../abstract:../common
|
--# -path=.:../abstract:../common
|
||||||
|
|
||||||
-- documentation of Pornish in Pornish: the default introduced in LangPor
|
-- documentation of Portuguese in Portuguese: the default introduced in LangPor
|
||||||
|
|
||||||
concrete DocumentationPor of Documentation = CatPor **
|
concrete DocumentationPor of Documentation = CatPor **
|
||||||
DocumentationPorFunctor with (Terminology = TerminologyPor) ;
|
DocumentationPorFunctor with (Terminology = TerminologyPor) ;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
-- Structures special for Spanish. These are not implemented in other
|
-- Structures special for Portuguese. These are not implemented in other
|
||||||
-- Romance languages.
|
-- Romance languages.
|
||||||
|
|
||||||
abstract ExtraPorAbs = ExtraRomanceAbs ** {
|
abstract ExtraPorAbs = ExtraRomanceAbs ** {
|
||||||
|
|||||||
@@ -20,11 +20,11 @@ concrete IdiomPor of Idiom = CatPor **
|
|||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
mkClause [] True False (agrP3 Masc Sg)
|
mkClause [] True False (agrP3 Masc Sg)
|
||||||
(insertComplement (\\_ => (np.s ! Acc).ton) (predV (verboV (hay_3 "haber")))) ;
|
(insertComplement (\\_ => (np.s ! Acc).ton) (predV (verboV (haver_2 "haver")))) ;
|
||||||
ExistIP ip = {
|
ExistIP ip = {
|
||||||
s = \\t,a,p,_ =>
|
s = \\t,a,p,_ =>
|
||||||
ip.s ! Nom ++
|
ip.s ! Nom ++
|
||||||
(mkClause [] True False (agrP3 Masc Sg) (predV (verboV (hay_3 "haber")))).s ! DDir ! t ! a ! p ! Indic
|
(mkClause [] True False (agrP3 Masc Sg) (predV (verboV (haver_2 "haver")))).s ! DDir ! t ! a ! p ! Indic
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ProgrVP vp =
|
ProgrVP vp =
|
||||||
@@ -36,7 +36,7 @@ concrete IdiomPor of Idiom = CatPor **
|
|||||||
in
|
in
|
||||||
vp.s.s ! VGer ++ clpr.p1 ++ obj
|
vp.s.s ! VGer ++ clpr.p1 ++ obj
|
||||||
)
|
)
|
||||||
(predV (verboV (estar_2 "estar"))) ;
|
(predV (verboV (estar_10 "estar"))) ;
|
||||||
|
|
||||||
ImpPl1 vp = {s =
|
ImpPl1 vp = {s =
|
||||||
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
|
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -8,56 +8,56 @@ flags
|
|||||||
coding=utf8 ;
|
coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
easy_A2V = mkA2V (regA "fácil") dative genitive ;
|
easy_A2V = mkA2V (mkA "fácil") dative genitive ;
|
||||||
married_A2 = mkA2 (regA "casado") dative ;
|
married_A2 = mkA2 (mkA "casado") dative ;
|
||||||
probable_AS = mkAS (regA "provável") ;
|
probable_AS = mkAS (mkA "provável") ;
|
||||||
fun_AV = mkAV (regA "divertido") genitive ;
|
fun_AV = mkAV (mkA "divertido") genitive ;
|
||||||
-- A
|
-- A
|
||||||
bad_A = prefA (mkADeg (regA "mau") (regA "pior")) ;
|
bad_A = prefA (mkA (mkA "mau") (mkA "pior")) ;
|
||||||
beautiful_A = prefA (regADeg "belo") ; -- bela
|
beautiful_A = prefA (mkA "belo") ; -- bela
|
||||||
big_A = prefA (regADeg "grande") ;
|
big_A = prefA (mkA "grande") ;
|
||||||
black_A = regADeg "preto" ; -- preta
|
black_A = mkA "preto" ; -- preta
|
||||||
blue_A = regADeg "azul" ;
|
blue_A = mkA "azul" ;
|
||||||
broad_A = regADeg "largo" ;
|
broad_A = mkA "largo" ;
|
||||||
brown_A = regADeg "marrom" ; --- *
|
brown_A = mkA "marrom" ; --- *
|
||||||
clean_A = regADeg "limpo" ;
|
clean_A = mkA "limpo" ;
|
||||||
clever_A = regADeg "inteligente" ;
|
clever_A = mkA "inteligente" ;
|
||||||
cold_A = regADeg "frio" ; -- fria
|
cold_A = mkA "frio" ; -- fria
|
||||||
correct_A = regA "correcto" ;
|
correct_A = mkA "correcto" ;
|
||||||
dirty_A = regADeg "sujo" ;
|
dirty_A = mkA "sujo" ;
|
||||||
dry_A = regA "seco" ;
|
dry_A = mkA "seco" ;
|
||||||
dull_A = regA "desafilado" ;
|
dull_A = mkA "desafilado" ;
|
||||||
empty_A = regADeg "vazio" ;
|
empty_A = mkA "vazio" ;
|
||||||
full_A = regA "lleno" ;
|
full_A = mkA "lleno" ;
|
||||||
good_A = prefA (mkADeg (regA "bom") (regA "melhor")) ; ---- adv?
|
good_A = prefA (mkA (mkA "bom") (mkA "melhor")) ; ---- adv?
|
||||||
green_A = regADeg "verde" ;
|
green_A = mkA "verde" ;
|
||||||
heavy_A = regA "pesado" ;
|
heavy_A = mkA "pesado" ;
|
||||||
hot_A = regADeg "quente" ;
|
hot_A = mkA "quente" ;
|
||||||
important_A = regADeg "importante" ;
|
important_A = mkA "importante" ;
|
||||||
long_A = regADeg "longo" ;
|
long_A = mkA "longo" ;
|
||||||
narrow_A = regADeg "estreito" ;
|
narrow_A = mkA "estreito" ;
|
||||||
near_A = regA "cercano" ;
|
near_A = mkA "cercano" ;
|
||||||
new_A = prefA (regADeg "novo") ;
|
new_A = prefA (mkA "novo") ;
|
||||||
old_A = prefA (regADeg "velho") ;
|
old_A = prefA (mkA "velho") ;
|
||||||
ready_A = regA "pronto" ;
|
ready_A = mkA "pronto" ;
|
||||||
red_A = regADeg "vermelho" ;
|
red_A = mkA "vermelho" ;
|
||||||
rotten_A = regA "podre" ;
|
rotten_A = mkA "podre" ;
|
||||||
round_A = regA "redondo" ;
|
round_A = mkA "redondo" ;
|
||||||
sharp_A = regA "filoso" ; -- afilado, puntiagudo
|
sharp_A = mkA "filoso" ; -- afilado, puntiagudo
|
||||||
short_A = regADeg "curto" ; --- breve, pequeno, baixo
|
short_A = mkA "curto" ; --- breve, pequeno, baixo
|
||||||
small_A = prefA (regADeg "pequeno") ;
|
small_A = prefA (mkA "pequeno") ;
|
||||||
smooth_A = regA "liso" ; -- suave
|
smooth_A = mkA "liso" ; -- suave
|
||||||
straight_A = regA "directo" ;
|
straight_A = mkA "directo" ;
|
||||||
stupid_A = regADeg "estúpido" ;
|
stupid_A = mkA "estúpido" ;
|
||||||
thick_A = regADeg "grosso" ;
|
thick_A = mkA "grosso" ;
|
||||||
thin_A = regADeg "fino" ; -- delgado
|
thin_A = mkA "fino" ; -- delgado
|
||||||
ugly_A = regADeg "feio" ;
|
ugly_A = mkA "feio" ;
|
||||||
uncertain_A = regA "incerto" ;
|
uncertain_A = mkA "incerto" ;
|
||||||
warm_A = regADeg "quente" ;
|
warm_A = mkA "quente" ;
|
||||||
wet_A = regA "mojado" ;
|
wet_A = mkA "mojado" ;
|
||||||
white_A = compADeg (regA "blanco") ;
|
white_A = compADeg (mkA "blanco") ;
|
||||||
wide_A = regA "ancho" ; -- extenso
|
wide_A = mkA "ancho" ; -- extenso
|
||||||
yellow_A = regADeg "amarillo" ;
|
yellow_A = mkA "amarillo" ;
|
||||||
young_A = prefA (mkA "joven" "joven" "jóvenes" "jóvenes" "jovenamente") ;
|
young_A = prefA (mkA "joven" "joven" "jóvenes" "jóvenes" "jovenamente") ;
|
||||||
already_Adv = mkAdv "ya" ;
|
already_Adv = mkAdv "ya" ;
|
||||||
far_Adv = mkAdv "lejos" ; ----?
|
far_Adv = mkAdv "lejos" ; ----?
|
||||||
@@ -256,108 +256,108 @@ lin
|
|||||||
paris_PN = mkPN "Paris" feminine ;
|
paris_PN = mkPN "Paris" feminine ;
|
||||||
-- V
|
-- V
|
||||||
rain_V0 = mkV0 (verboV (chover_47 "chover")) ;
|
rain_V0 = mkV0 (verboV (chover_47 "chover")) ;
|
||||||
paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "em") ;
|
paint_V2A = mkV2A (mkV "pintar") accusative (mkPrep "em") ;
|
||||||
ask_V2Q = mkV2Q (regV "perguntar") dative ;
|
ask_V2Q = mkV2Q (mkV "perguntar") dative ;
|
||||||
answer_V2S = mkV2S (regV "responder") dative ;
|
answer_V2S = mkV2S (mkV "responder") dative ;
|
||||||
beg_V2V = mkV2V (mkV "rogar") accusative dative ; -- pedir
|
beg_V2V = mkV2V (mkV "rogar") accusative dative ; -- pedir
|
||||||
bite_V2 = dirV2 (regV "morder") ;
|
bite_V2 = dirV2 (mkV "morder") ;
|
||||||
break_V2 = dirV2 (special_ppV (regV "romper") "rompido") ;
|
break_V2 = dirV2 (special_ppV (mkV "romper") "rompido") ;
|
||||||
buy_V2 = dirV2 (regV "comprar") ;
|
buy_V2 = dirV2 (mkV "comprar") ;
|
||||||
close_V2 = dirV2 (mkV "fechar") ;
|
close_V2 = dirV2 (mkV "fechar") ;
|
||||||
count_V2 = dirV2 (regV "contar") ;
|
count_V2 = dirV2 (mkV "contar") ;
|
||||||
cut_V2 = dirV2 (regV "cortar") ;
|
cut_V2 = dirV2 (mkV "cortar") ;
|
||||||
do_V2 = dirV2 (regV "fazer") ;
|
do_V2 = dirV2 (mkV "fazer") ;
|
||||||
drink_V2 = dirV2 (regV "beber") ;
|
drink_V2 = dirV2 (mkV "beber") ;
|
||||||
eat_V2 = dirV2 (regV "comer") ;
|
eat_V2 = dirV2 (mkV "comer") ;
|
||||||
fear_V2 = dirV2 (regV "temer") ;
|
fear_V2 = dirV2 (mkV "temer") ;
|
||||||
fight_V2 = dirV2 (regV "lutar") ;
|
fight_V2 = dirV2 (mkV "lutar") ;
|
||||||
find_V2 = dirV2 (regV "encontrar") ;
|
find_V2 = dirV2 (mkV "encontrar") ;
|
||||||
forget_V2 = dirV2 (regV "esquecer") ;
|
forget_V2 = dirV2 (mkV "esquecer") ;
|
||||||
hate_V2 = dirV2 (mkV "odiar") ;
|
hate_V2 = dirV2 (mkV "odiar") ;
|
||||||
hear_V2 = dirV2 (mkV "ouvir") ;
|
hear_V2 = dirV2 (mkV "ouvir") ;
|
||||||
hit_V2 = dirV2 (regV "bater") ;
|
hit_V2 = dirV2 (mkV "bater") ;
|
||||||
hold_V2 = dirV2 (regV "ter") ;
|
hold_V2 = dirV2 (mkV "ter") ;
|
||||||
hunt_V2 = dirV2 (regV "caçar") ;
|
hunt_V2 = dirV2 (mkV "caçar") ;
|
||||||
kill_V2 = dirV2 (regV "matar") ;
|
kill_V2 = dirV2 (mkV "matar") ;
|
||||||
know_V2 = mkV2 (regV "conhecer") ;
|
know_V2 = mkV2 (mkV "conhecer") ;
|
||||||
learn_V2 = dirV2 (regV "aprender") ;
|
learn_V2 = dirV2 (mkV "aprender") ;
|
||||||
leave_V2 = dirV2 (regV "partir") ; -- irse, dejar
|
leave_V2 = dirV2 (mkV "partir") ; -- irse, dejar
|
||||||
like_V2 = dirV2 (regV "gostar") ;
|
like_V2 = dirV2 (mkV "gostar") ;
|
||||||
listen_V2 = dirV2 (regV "escutar") ;
|
listen_V2 = dirV2 (mkV "escutar") ;
|
||||||
lose_V2 = dirV2 (regV "perder") ;
|
lose_V2 = dirV2 (mkV "perder") ;
|
||||||
love_V2 = dirV2 (regV "amar") ;
|
love_V2 = dirV2 (mkV "amar") ;
|
||||||
open_V2 = dirV2 (special_ppV (regV "abrir") "aberto") ;
|
open_V2 = dirV2 (special_ppV (mkV "abrir") "aberto") ;
|
||||||
play_V2 = dirV2 (regV "jogar") ;
|
play_V2 = dirV2 (mkV "jogar") ;
|
||||||
pull_V2 = dirV2 (regV "tirar") ;
|
pull_V2 = dirV2 (mkV "tirar") ;
|
||||||
push_V2 = dirV2 (regV "empurrar") ;
|
push_V2 = dirV2 (mkV "empurrar") ;
|
||||||
put_V2 = dirV2 (regV "por") ;
|
put_V2 = dirV2 (mkV "por") ;
|
||||||
read_V2 = dirV2 (regV "ler") ;
|
read_V2 = dirV2 (mkV "ler") ;
|
||||||
rub_V2 = dirV2 (regV "resfregar") ;
|
rub_V2 = dirV2 (mkV "resfregar") ;
|
||||||
scratch_V2 = dirV2 (regV "rascar") ;
|
scratch_V2 = dirV2 (mkV "rascar") ;
|
||||||
see_V2 = dirV2 (regV "ver") ;
|
see_V2 = dirV2 (mkV "ver") ;
|
||||||
seek_V2 = dirV2 (regV "buscar") ;
|
seek_V2 = dirV2 (mkV "buscar") ;
|
||||||
speak_V2 = dirV2 (regV "falar") ;
|
speak_V2 = dirV2 (mkV "falar") ;
|
||||||
split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
|
split_V2 = dirV2 (mkV "separar") ; -- dividir,) ;
|
||||||
squeeze_V2 = dirV2 (regV "exprimir") ;
|
squeeze_V2 = dirV2 (mkV "exprimir") ;
|
||||||
stab_V2 = dirV2 (regV "apuñalar") ;
|
stab_V2 = dirV2 (mkV "apuñalar") ;
|
||||||
suck_V2 = dirV2 (regV "chupar") ;
|
suck_V2 = dirV2 (mkV "chupar") ;
|
||||||
switch8off_V2 = dirV2 (regV "apagar") ;
|
switch8off_V2 = dirV2 (mkV "apagar") ;
|
||||||
switch8on_V2 = dirV2 (regV "ligar") ; -- acender
|
switch8on_V2 = dirV2 (mkV "ligar") ; -- acender
|
||||||
teach_V2 = dirV2 (regV "enseñar") ;
|
teach_V2 = dirV2 (mkV "enseñar") ;
|
||||||
throw_V2 = dirV2 (regV "tirar") ;
|
throw_V2 = dirV2 (mkV "tirar") ;
|
||||||
tie_V2 = dirV2 (regV "atar") ;
|
tie_V2 = dirV2 (mkV "atar") ;
|
||||||
understand_V2 = dirV2 (mkV "entender") ;
|
understand_V2 = dirV2 (mkV "entender") ;
|
||||||
wait_V2 = mkV2 (regV "esperar") dative ;
|
wait_V2 = mkV2 (mkV "esperar") dative ;
|
||||||
wash_V2 = dirV2 (regV "lavar") ;
|
wash_V2 = dirV2 (mkV "lavar") ;
|
||||||
watch_V2 = dirV2 (regV "mirar") ; -- ver
|
watch_V2 = dirV2 (mkV "mirar") ; -- ver
|
||||||
win_V2 = dirV2 (regV "ganar") ;
|
win_V2 = dirV2 (mkV "ganar") ;
|
||||||
wipe_V2 = dirV2 (regV "secar") ;
|
wipe_V2 = dirV2 (mkV "secar") ;
|
||||||
write_V2 = dirV2 (special_ppV (regV "escribir") "escrito") ;
|
write_V2 = dirV2 (special_ppV (mkV "escribir") "escrito") ;
|
||||||
add_V3 = dirV3 (regV "somar") dative ;
|
add_V3 = dirV3 (mkV "somar") dative ;
|
||||||
give_V3 = dirdirV3 (regV "dar") ;
|
give_V3 = dirdirV3 (mkV "dar") ;
|
||||||
sell_V3 = dirV3 (regV "vender") dative ;
|
sell_V3 = dirV3 (mkV "vender") dative ;
|
||||||
send_V3 = dirV3 (regV "mandar") dative ; -- enviar
|
send_V3 = dirV3 (mkV "mandar") dative ; -- enviar
|
||||||
talk_V3 = mkV3 (regV "falar") dative genitive ;
|
talk_V3 = mkV3 (mkV "falar") dative genitive ;
|
||||||
become_VA = reflV (mkV "converter") ; --- convertirse en, volverse, ponerse
|
become_VA = reflV (mkV "converter") ; --- convertirse en, volverse, ponerse
|
||||||
know_VQ = mkVQ (regV "saber") ;
|
know_VQ = mkVQ (mkV "saber") ;
|
||||||
wonder_VQ = mkVQ (reflV (regV "preguntar")) ;
|
wonder_VQ = mkVQ (reflV (mkV "preguntar")) ;
|
||||||
fear_VS = mkVS (regV "temer") ;
|
fear_VS = mkVS (mkV "temer") ;
|
||||||
hope_VS = mkVS (regV "esperar") ;
|
hope_VS = mkVS (mkV "esperar") ;
|
||||||
know_VS = mkVS (regV "saber") ;
|
know_VS = mkVS (mkV "saber") ;
|
||||||
say_VS = mkVS (regV "dizer") ;
|
say_VS = mkVS (mkV "dizer") ;
|
||||||
-- V
|
-- V
|
||||||
blow_V = regV "assoprar" ;
|
blow_V = mkV "assoprar" ;
|
||||||
breathe_V = regV "respirar" ;
|
breathe_V = mkV "respirar" ;
|
||||||
burn_V = regV "queimar" ;
|
burn_V = mkV "queimar" ;
|
||||||
come_V = regV "vir" ;
|
come_V = mkV "vir" ;
|
||||||
die_V = regV "morrer" ;
|
die_V = mkV "morrer" ;
|
||||||
dig_V = regV "escavar" ;
|
dig_V = mkV "escavar" ;
|
||||||
fall_V = regV "cair" ;
|
fall_V = mkV "cair" ;
|
||||||
float_V = regV "flutuar" ;
|
float_V = mkV "flutuar" ;
|
||||||
flow_V = regV "fluir" ; -- circular
|
flow_V = mkV "fluir" ; -- circular
|
||||||
fly_V = regV "voar" ;
|
fly_V = mkV "voar" ;
|
||||||
freeze_V = regV "congelar" ;
|
freeze_V = mkV "congelar" ;
|
||||||
go_V = (regV "ir") ;
|
go_V = (mkV "ir") ;
|
||||||
jump_V = regV "saltar" ;
|
jump_V = mkV "saltar" ;
|
||||||
laugh_V = regV "reir" ; ----V reír_67
|
laugh_V = mkV "reir" ; ----V reír_67
|
||||||
lie_V = reflV (regV "acostar") ; -- "acostarse"
|
lie_V = reflV (mkV "acostar") ; -- "acostarse"
|
||||||
live_V = regV "viver" ;
|
live_V = mkV "viver" ;
|
||||||
play_V = regV "jugar" ;
|
play_V = mkV "jugar" ;
|
||||||
run_V = regV "correr" ;
|
run_V = mkV "correr" ;
|
||||||
sew_V = regV "coser" ;
|
sew_V = mkV "coser" ;
|
||||||
sing_V = regV "cantar" ;
|
sing_V = mkV "cantar" ;
|
||||||
sit_V = reflV (mkV "sentar") ;
|
sit_V = reflV (mkV "sentar") ;
|
||||||
sleep_V = regV "dormir" ;
|
sleep_V = mkV "dormir" ;
|
||||||
smell_V = regV "cheirar" ;
|
smell_V = mkV "cheirar" ;
|
||||||
spit_V = regV "escupir" ;
|
spit_V = mkV "escupir" ;
|
||||||
stand_V = regV "estar" ; ---- "estar de pie" ;
|
stand_V = mkV "estar" ; ---- "estar de pie" ;
|
||||||
stop_V = regV "parar" ;
|
stop_V = mkV "parar" ;
|
||||||
swell_V = regV "tragar" ;
|
swell_V = mkV "tragar" ;
|
||||||
swim_V = regV "nadar" ;
|
swim_V = mkV "nadar" ;
|
||||||
think_V = regV "pensar" ;
|
think_V = mkV "pensar" ;
|
||||||
travel_V = regV "viajar" ;
|
travel_V = mkV "viajar" ;
|
||||||
turn_V = regV "doblar" ;
|
turn_V = mkV "doblar" ;
|
||||||
vomit_V = regV "vomitar" ;
|
vomit_V = mkV "vomitar" ;
|
||||||
walk_V = mkV "caminhar" ;
|
walk_V = mkV "caminhar" ;
|
||||||
-- interj
|
-- interj
|
||||||
alas_Interj = ss "infelizmente" ;
|
alas_Interj = ss "infelizmente" ;
|
||||||
|
|||||||
@@ -57,6 +57,9 @@ oper
|
|||||||
_ => error "input must be vowel character."
|
_ => error "input must be vowel character."
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
nomReptil : Str -> Number => Str = \reptil ->
|
||||||
|
numForms reptil (tk 2 reptil + "eis") ;
|
||||||
|
|
||||||
nomFenol : Str -> Number => Str = \fenol ->
|
nomFenol : Str -> Number => Str = \fenol ->
|
||||||
case fenol of {
|
case fenol of {
|
||||||
fen + v@("a"|"e"|"i"|"o"|"u") + "l" => numForms fenol (fen + acuteVowel v + "is")
|
fen + v@("a"|"e"|"i"|"o"|"u") + "l" => numForms fenol (fen + acuteVowel v + "is")
|
||||||
@@ -125,6 +128,16 @@ oper
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkAdj2N : (_,_: N) -> Str -> Adj = \mascN, femN, burramente ->
|
||||||
|
{s = table {
|
||||||
|
AF Masc n => mascN.s ! n ;
|
||||||
|
AF Fem n => femN.s ! n ;
|
||||||
|
AA => burramente
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mkAdjN : N -> Str -> Adj = \n, burramente -> mkAdj2N n n burramente ;
|
||||||
|
|
||||||
-- Then the regular and invariant patterns.
|
-- Then the regular and invariant patterns.
|
||||||
|
|
||||||
adjPreto : Str -> Adj = \preto ->
|
adjPreto : Str -> Adj = \preto ->
|
||||||
@@ -148,7 +161,7 @@ oper
|
|||||||
mkAdj blu blu blu blu blu ; --- blasé
|
mkAdj blu blu blu blu blu ; --- blasé
|
||||||
|
|
||||||
-- francês francesa franceses francesas
|
-- francês francesa franceses francesas
|
||||||
adjEs : Str -> Adj = \francês ->
|
adjFrances : Str -> Adj = \francês ->
|
||||||
let franc : Str = Predef.tk 2 francês ;
|
let franc : Str = Predef.tk 2 francês ;
|
||||||
frances : Str = franc + "es" ;
|
frances : Str = franc + "es" ;
|
||||||
in mkAdj francês (frances + "a") (frances + "es") (frances + "as") (frances + "amente") ;
|
in mkAdj francês (frances + "a") (frances + "es") (frances + "as") (frances + "amente") ;
|
||||||
@@ -176,7 +189,7 @@ oper
|
|||||||
pret + "o" => adjPreto a ;
|
pret + "o" => adjPreto a ;
|
||||||
anarquist + v@("e" | "a") => adjUtil (anarquist + v) (anarquist + v + "s") ;
|
anarquist + v@("e" | "a") => adjUtil (anarquist + v) (anarquist + v + "s") ;
|
||||||
ouvido + "r" => adjOuvidor a (ouvido + "ra") ;
|
ouvido + "r" => adjOuvidor a (ouvido + "ra") ;
|
||||||
chin + "ês" => adjEs a ;
|
chin + "ês" => adjFrances a ;
|
||||||
europ + "eu" => adjEuropeu a ;
|
europ + "eu" => adjEuropeu a ;
|
||||||
alem + "ão" => adjVo a ;
|
alem + "ão" => adjVo a ;
|
||||||
_ => adjUtil a (a + "s")
|
_ => adjUtil a (a + "s")
|
||||||
|
|||||||
@@ -193,13 +193,18 @@ oper
|
|||||||
superlADeg a = {s = table {Posit => a.s ! Posit ;
|
superlADeg a = {s = table {Posit => a.s ! Posit ;
|
||||||
Compar => a.s ! Compar ;
|
Compar => a.s ! Compar ;
|
||||||
Superl => a.s ! Compar}} ;
|
Superl => a.s ! Compar}} ;
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
-- redundant
|
||||||
|
-- regADeg : Str -> A ;
|
||||||
|
-- regADeg a = compADeg (regA a) ;
|
||||||
|
|
||||||
regA : Str -> A ;
|
regA : Str -> A ;
|
||||||
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ;
|
regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ;
|
||||||
lock_A = <>} ;
|
lock_A = <>} ;
|
||||||
|
|
||||||
mk2A : (espanhol,espanhola : Str) -> A ;
|
mk2A : (espanhol,espanhola : Str) -> A ;
|
||||||
mk2A a b = compADeg {s = \\_ => (adjOuvidor a b).s ; isPre = False ;
|
mk2A a b = compADeg {s = \\_ => (mkAdj2N (mkN a) (mkN b) (b + "mente")).s ; isPre = False ;
|
||||||
lock_A = <>} ;
|
lock_A = <>} ;
|
||||||
|
|
||||||
mk5A : (solo,sola,solos,solas,solamente : Str) -> A ;
|
mk5A : (solo,sola,solos,solas,solamente : Str) -> A ;
|
||||||
@@ -217,19 +222,19 @@ oper
|
|||||||
-- For regular adjectives, all forms are derived from the masculine
|
-- For regular adjectives, all forms are derived from the masculine
|
||||||
-- singular. The types of adjectives that are recognized are "alto",
|
-- singular. The types of adjectives that are recognized are "alto",
|
||||||
-- "fuerte", "util". Comparison is formed by "mas".
|
-- "fuerte", "util". Comparison is formed by "mas".
|
||||||
mkA : (util : Str) -> A = regA ; -- predictable adjective
|
mkA : (bobo : Str) -> A = regA ; -- predictable adjective
|
||||||
|
|
||||||
-- Some adjectives need the feminine form separately.
|
-- Some adjectives need the feminine form separately.
|
||||||
mkA : (espanol,espanola : Str) -> A = mk2A ;
|
mkA : (espanhol,espanhola : Str) -> A = mk2A ;
|
||||||
|
|
||||||
-- One-place adjectives compared with "mais" need five forms in the
|
-- One-place adjectives compared with "mais" need five forms in the
|
||||||
-- worst case (masc and fem singular, masc plural, adverbial).
|
-- worst case (masc and fem singular, masc plural, adverbial).
|
||||||
mkA : (solo,sola,solos,solas,solamente : Str) -> A = mk5A ;
|
mkA : (bobo,boba,bobos,bobas,bobamente : Str) -> A = mk5A ;
|
||||||
|
|
||||||
-- In the worst case, two separate adjectives are given: the positive
|
-- In the worst case, two separate adjectives are given: the positive
|
||||||
-- ("bueno"), and the comparative ("mejor").
|
-- ("bueno"), and the comparative ("mejor").
|
||||||
-- special comparison with "mais" as default
|
-- special comparison with "mais" as default
|
||||||
mkA : (bueno : A) -> (mejor : A) -> A = mkADeg ;
|
mkA : (bom : A) -> (melhor : A) -> A = mkADeg ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- The functions above create postfix adjectives. To switch them to
|
-- The functions above create postfix adjectives. To switch them to
|
||||||
@@ -319,7 +324,7 @@ oper
|
|||||||
-- the complete set of "Bescherelle" conjugations.
|
-- the complete set of "Bescherelle" conjugations.
|
||||||
|
|
||||||
mkV : (pagar : Str) -> V = \s -> case s of {
|
mkV : (pagar : Str) -> V = \s -> case s of {
|
||||||
far + "-se" => reflV (regV far) ;
|
chamar + "-se" => reflV (regV chamar) ;
|
||||||
_ => regV s
|
_ => regV s
|
||||||
} ; -- regular in "-ar", "-er", "-ir"
|
} ; -- regular in "-ar", "-er", "-ir"
|
||||||
|
|
||||||
@@ -500,9 +505,6 @@ oper
|
|||||||
isPol = False ;
|
isPol = False ;
|
||||||
isNeg = False} ** {lock_NP = <>} ;
|
isNeg = False} ** {lock_NP = <>} ;
|
||||||
|
|
||||||
regADeg : Str -> A ;
|
|
||||||
regADeg a = compADeg (regA a) ;
|
|
||||||
|
|
||||||
reflVerboV : Verbum -> V = \ve -> reflV (verboV ve) ;
|
reflVerboV : Verbum -> V = \ve -> reflV (verboV ve) ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../portuguese:../romance:../common:../abstract:../prelude
|
|
||||||
|
|
||||||
resource SymbolicPor = Symbolic with
|
|
||||||
(Symbol = SymbolPor),
|
|
||||||
(Grammar = GrammarPor) ;
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
--# -path=.:alltenses
|
|
||||||
|
|
||||||
instance SyntaxPor of Syntax =
|
|
||||||
ConstructorsPor, CatPor, StructuralPor, CombinatorsPor ;
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
--# -path=.:../portuguese:../romance:../common:../abstract:../prelude
|
|
||||||
|
|
||||||
resource TryPor = SyntaxPor, LexiconPor, ParadigmsPor - [mkAdv,mkAdN] ;
|
|
||||||
Reference in New Issue
Block a user