(Por) misc fixes

- add oper for compound nouns
- fix smartparadigm for adjectives
- fill Terminology to avoid warnings

(Eng) add pragma line to LangEng
This commit is contained in:
odanoburu
2019-01-04 12:19:46 -02:00
parent 111d883dac
commit cf0d272a22
4 changed files with 70 additions and 20 deletions

View File

@@ -1,4 +1,4 @@
--# -path=.:../abstract:../common:../api
--# -path=.:../abstract:../common:../api:../prelude
concrete LangEng of Lang =
GrammarEng,

View File

@@ -189,7 +189,8 @@ oper
chin + "ês" => adjFrances a ;
europ + "eu" => adjEuropeu a ;
alem + "ão" => adjVo a ;
provav + v@("e" | "i") + "l" => adjUtil a (provav + "eis") ;
provav + v@("e" | "i") + "l" => adjUtil a (provav + "eis") ; -- fails at pueril
nomina + "l" => adjUtil a (nomina + "is") ;
jove + "m" => adjUtil a (jove + "ns") ;
_ => adjUtil a (a + "s")
} ;

View File

@@ -1,4 +1,4 @@
--# -path=.:../romance:../common:../abstract:../../prelude
--# -path=.:../romance:../common:../abstract:../prelude
--1 Portuguese Lexical Paradigms
--
@@ -128,6 +128,9 @@ oper
compN : N -> Str -> N ; -- compound, e.g. "número" + "de telefone"
compN x y = {s = \\n => x.s ! n ++ y ; g = x.g ; lock_N = <>} ;
compNN : N -> N -> N ; -- compound, e.g. "forma" + "finita"
compNN x y = x ** {s = \\n => x.s ! n ++ y.s ! n} ;
--3 Relational nouns
--
-- Relational nouns ("filha de x") need a case and a preposition.
@@ -193,16 +196,6 @@ oper
copTyp = a.copTyp
} ;
{- superlADeg : A -> A ;
superlADeg a = {s = table {Posit => a.s ! Posit ;
Compar => a.s ! Compar ;
Superl => a.s ! Compar}} ;
-}
-- redundant
-- regADeg : Str -> A ;
-- regADeg a = compADeg (regA a) ;
regA : Str -> A ;
regA a = compADeg (lin A {s = \\_ => (mkAdjReg a).s ; isPre = False ; copTyp = serCopula}) ;

View File

@@ -1,5 +1,4 @@
--# -path=.:../abstract:../common
--# -path=.:../abstract:../common:../prelude:../romance:../api
concrete TerminologyPor of Terminology = CatPor ** open
ResPor,
@@ -18,6 +17,7 @@ lincat
Category = G.N ;
ParameterType = G.N ;
Parameter = G.N ;
Modifier = G.A ;
Heading = {s : Str} ;
@@ -25,45 +25,101 @@ lincat
lin
noun_Category = mkN "substantivo" ;
adjective_Category = mkN "adjetivo" ;
verb_Category = mkN "verbo" masculine ;
verb_Category = mkN "verbo" ;
adverb_Category = mkN "advérbio" ;
preposition_Category = mkN "preposição" masculine ;
gender_ParameterType = mkN "gênero" masculine ;
number_ParameterType = mkN "número" ;
gender_ParameterType = mkN "gênero" ;
case_ParameterType = mkN "caso" ;
person_ParameterType = mkN "pessoa" ;
tense_ParameterType = mkN "tempo" ;
degree_ParameterType = mkN "grau" ;
finite_form_ParameterType = compNN (mkN "forma") (mkN "finita") ;
nominal_form_ParameterType = compNN (mkN "forma") (mkN "nominal") ;
singular_Parameter = mkN "singular" ;
plural_Parameter = mkN "plural" ;
definite_Parameter = mkN "definido" ;
indefinite_Parameter = mkN "indefinido" ;
masculine_Parameter = mkN "masculino" ;
feminine_Parameter = mkN "feminino" ;
neuter_Parameter = mkN "neutro" ;
uter_Parameter = mkN "neutro" ;
nominative_Parameter = mkN "nominativo" ;
genitive_Parameter = mkN "genitivo" ;
dative_Parameter = mkN "dativo" ;
accusative_Parameter = mkN "acusativo" ;
partitive_Parameter = mkN "partitivo" ;
translative_Parameter = mkN "translativo" ;
essive_Parameter = mkN "essivo" ;
inessive_Parameter = mkN "inessivo" ;
elative_Parameter = mkN "elativo" ;
illative_Parameter = mkN "ilativo" ;
adessive_Parameter = mkN "adessivo" ;
ablative_Parameter = mkN "ablativo" ;
allative_Parameter = mkN "alativo" ;
abessive_Parameter = mkN "abessivo" ;
comitative_Parameter = mkN "comitativo" ;
instructive_Parameter = mkN "instrutivo" ;
terminative_Parameter = mkN "terminativo" ;
imperative_Parameter = mkN "imperativo" ;
indicative_Parameter = mkN "indicativo" ;
conjunctive_Parameter = mkN "subjuntivo" ;
quotative_Parameter = mkN "quotativo" ;
infinitive_Parameter = mkN "infinitivo" ;
active_Parameter = mkN "ativa" ;
passive_Parameter = mkN "passiva" ;
present_Parameter = mkN "presente" ;
past_Parameter = mkN "pretérito" ;
future_Parameter = mkN "futuro" ;
conditional_Parameter = mkN "condicional" ;
perfect_Parameter = mkN "perfeito composto" ; ----
imperfect_Parameter = mkN "imperfeito" ;
potential_Parameter = mkN "potencial" ;
supine_Parameter = mkN "supino" ;
simple_past_Parameter = mkN "perfeito simples" ; ----
participle_Parameter = mkN "particípio" ;
aux_verb_Parameter = mkN "auxiliar" ; ----
aux_verb_Parameter = compNN (mkN "verbo") (mkN "auxiliar") ;
agent_Parameter = mkN "agente" ;
gerund_Parameter = mkN "gerúndio" ;
positive_Parameter = mkN "positivo" ;
comparative_Parameter = mkN "comparativo" ;
superlative_Parameter = mkN "superlativo" ;
predicative_Parameter = mkN "predicativo" ;
attributive_Parameter = mkN "atributivo" ;
negative_Parameter = mkN "negativo" ;
positivePol_Parameter = mkN "positivo" ;
subject_Parameter = mkN "sujeito" ;
object_Parameter = mkN "objeto" ;
person1_Parameter = compNN (mkN "primeira") (mkN "pessoa") ;
person2_Parameter = compNN (mkN "segunda") (mkN "pessoa") ;
person3_Parameter = compNN (mkN "terceira") (mkN "pessoa") ;
short_Parameter = mkN "curto" ;
long_Parameter = mkN "longo" ;
finite_Modifier = mkA "finito" ;
transitive_Modifier = mkA "transitivo" ;
nominal_Modifier = mkA "nominal" ;
nounHeading n = ss (n.s ! Sg) ;
nounPluralHeading n = ss (n.s ! Pl) ;
modNounHeading a n = ss (n.s ! Sg ++ a.s ! Posit ! genNumPos2Aform n.g Sg False) ;
exampleGr_N = mkN "examplo" masculine ;
exampleGr_N = mkN "exemplo" ;
formGr_N = mkN "forma" ;
}
} ;