adjustments in Paradigms ; lang-specific modules for all except Rus, Ara

This commit is contained in:
aarne
2006-06-15 16:24:09 +00:00
parent 6bd400091c
commit 3d243e2596
84 changed files with 1219 additions and 6611 deletions

View File

@@ -0,0 +1,2 @@
concrete ExtraRomanceSpa of ExtraRomanceAbs = CatSpa ** ExtraRomance with
(ResRomance = ResSpa) ;

View File

@@ -0,0 +1,5 @@
concrete ExtraSpa of ExtraSpaAbs = ExtraRomanceSpa **
open CommonRomance, PhonoSpa, ParamX, ResSpa in {
}

View File

@@ -0,0 +1,6 @@
-- Structures special for Spanish. These are not implemented in other
-- Romance languages.
abstract ExtraSpaAbs = ExtraRomanceAbs ** {
}

View File

@@ -128,7 +128,7 @@ lin
oil_N = regN "aceite" ;
old_A = prefA (regADeg "viejo") ;
open_V2 = dirV2 (special_ppV (regV "abrir") "abierto") ;
paint_V2A = mkV2A (regV "pintar") accusative (mkPreposition "en") ;
paint_V2A = mkV2A (regV "pintar") accusative (mkPrep "en") ;
paper_N = regN "papel" ;
paris_PN = mkPN "Paris" masculine ;
peace_N = femN (regN "paz") ;

View File

@@ -55,13 +55,13 @@ oper
-- amalgamate with the following word (the 'genitive' "de" and the
-- 'dative' "à").
Preposition : Type ;
Prep : Type ;
accusative : Preposition ;
genitive : Preposition ;
dative : Preposition ;
accusative : Prep ;
genitive : Prep ;
dative : Prep ;
mkPreposition : Str -> Preposition ;
mkPrep : Str -> Prep ;
--2 Nouns
@@ -100,7 +100,7 @@ oper
--
-- Relational nouns ("fille de x") need a case and a preposition.
mkN2 : N -> Preposition -> N2 ;
mkN2 : N -> Prep -> N2 ;
-- The most common cases are the genitive "de" and the dative "a",
-- with the empty preposition.
@@ -110,7 +110,7 @@ oper
-- Three-place relational nouns ("la connessione di x a y") need two prepositions.
mkN3 : N -> Preposition -> Preposition -> N3 ;
mkN3 : N -> Prep -> Prep -> N3 ;
--3 Relational common noun phrases
@@ -125,7 +125,9 @@ oper
--
-- Proper names need a string and a gender.
mkPN : Str -> Gender -> PN ; -- Jean
mkPN : Str -> Gender -> PN ; -- Jean
regPN : Str -> PN ; -- masculine
-- To form a noun phrase that can also be plural,
-- you can use the worst-case function.
@@ -156,7 +158,7 @@ oper
--
-- Two-place adjectives need a preposition for their second argument.
mkA2 : A -> Preposition -> A2 ;
mkA2 : A -> Prep -> A2 ;
--3 Comparison adjectives
@@ -221,7 +223,7 @@ oper
-- Two-place verbs need a preposition, except the special case with direct object.
-- (transitive verbs). Notice that a particle comes from the $V$.
mkV2 : V -> Preposition -> V2 ;
mkV2 : V -> Prep -> V2 ;
dirV2 : V -> V2 ;
@@ -234,9 +236,9 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
dirV3 : V -> Preposition -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
mkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
dirV3 : V -> Prep -> V3 ; -- donner,_,à
dirdirV3 : V -> V3 ; -- donner,_,_
--3 Other complement patterns
--
@@ -245,20 +247,20 @@ oper
mkV0 : V -> V0 ;
mkVS : V -> VS ;
mkV2S : V -> Preposition -> V2S ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "je veux parler"
deVV : V -> VV ; -- "j'essaie de parler"
aVV : V -> VV ; -- "j'arrive à parler"
mkV2V : V -> Preposition -> Preposition -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Preposition -> Preposition -> V2A ;
mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Preposition -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
mkAS : A -> AS ;
mkA2S : A -> Preposition -> A2S ;
mkAV : A -> Preposition -> AV ;
mkA2V : A -> Preposition -> Preposition -> A2V ;
mkA2S : A -> Prep -> A2S ;
mkAV : A -> Prep -> AV ;
mkA2V : A -> Prep -> Prep -> A2V ;
-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated
-- just as synonyms of $V2$, and the second argument is given
@@ -269,11 +271,11 @@ oper
AS, A2S, AV, A2V : Type ;
--.
--2 The definitions of the paradigms
--
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
Gender = MorphoSpa.Gender ;
Number = MorphoSpa.Number ;
@@ -282,11 +284,11 @@ oper
singular = Sg ;
plural = Pl ;
Preposition = Compl ;
Prep = Compl ;
accusative = complAcc ;
genitive = complGen ;
dative = complDat ;
mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
mkPrep p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkNounIrreg x y g ** {lock_N = <>} ;
@@ -301,6 +303,7 @@ oper
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
regPN x = mkPN x masculine ;
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
mkA a b c d e =

View File

@@ -0,0 +1,7 @@
--# -path=.:../romance:../abstract:../common:prelude
concrete Spanish of SpanishAbs =
LangSpa,
-- IrregSpa,
ExtraSpa
** {} ;

View File

@@ -0,0 +1,5 @@
abstract SpanishAbs =
Lang,
-- IrregSpaAbs,
ExtraSpaAbs
** {} ;

View File

@@ -5,7 +5,7 @@ concrete StructuralSpa of Structural = CatSpa **
lin
above_Prep = mkPreposition "sobre" ;
above_Prep = mkPrep "sobre" ;
after_Prep = {s = ["despues"] ; c = MorphoSpa.genitive ; isDir = False} ;
all_Predet = {
s = \\a,c => prepCase c ++ aagrForms "todo" "toda" "todos" "todas" ! a ;
@@ -18,14 +18,14 @@ lin
because_Subj = ss "porque" ** {m = Indic} ;
before_Prep = {s = "antes" ; c = MorphoSpa.genitive ; isDir = False} ;
behind_Prep = {s = "detrás" ; c = MorphoSpa.genitive ; isDir = False} ;
between_Prep = mkPreposition "entre" ;
between_Prep = mkPrep "entre" ;
both7and_DConj = {s1,s2 = etConj.s ; n = Pl} ;
but_PConj = ss "pero" ;
by8agent_Prep = mkPreposition "por" ;
by8means_Prep = mkPreposition "por" ;
by8agent_Prep = mkPrep "por" ;
by8means_Prep = mkPrep "por" ;
can8know_VV = mkVV (verboV (saber_71 "saber")) ;
can_VV = mkVV (verboV (poder_58 "poder")) ;
during_Prep = mkPreposition "durante" ; ----
during_Prep = mkPrep "durante" ; ----
either7or_DConj = {s1,s2 = "o" ; n = Sg} ;
everybody_NP = mkNP ["todos"] Masc Pl ;
every_Det = {s = \\_,_ => "cada" ; n = Sg} ;
@@ -52,7 +52,7 @@ lin
"yo" "me" "me" "mí"
"mi" "mi" "mis" "mis"
Fem Sg P1 ;
in_Prep = mkPreposition "en" ;
in_Prep = mkPrep "en" ;
it_Pron =
mkPronoun
"el" "lo" "le" "él"
@@ -65,7 +65,7 @@ lin
much_Det = {s = \\g,c => prepCase c ++ genForms "mucho" "mucha" ! g ; n = Sg} ;
must_VV = mkVV (verboV (deber_6 "deber")) ;
no_Phr = ss "no" ;
on_Prep = mkPreposition "sobre" ;
on_Prep = mkPrep "sobre" ;
one_Quant = {s = \\g,c => prepCase c ++ genForms "uno" "una" ! g} ;
only_Predet = {s = \\_,c => prepCase c ++ "solamente" ; c = Nom} ;
or_Conj = {s = "o" ; n = Sg} ;
@@ -109,10 +109,10 @@ lin
} ;
this_NP = pn2np (mkPN ["esto"] Masc) ;
those_NP = mkNP ["esas"] Fem Pl ;
through_Prep = mkPreposition "por" ;
through_Prep = mkPrep "por" ;
too_AdA = ss "demasiado" ;
to_Prep = complDat ;
under_Prep = mkPreposition "bajo" ;
under_Prep = mkPrep "bajo" ;
very_AdA = ss "muy" ;
want_VV = mkVV (verboV (querer_64 "querer")) ;
we_Pron =
@@ -130,8 +130,8 @@ lin
whoPl_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Pl} ;
whoSg_IP = {s = \\c => prepCase c ++ "quién" ; a = aagr Fem Sg} ;
why_IAdv = ss "porqué" ;
without_Prep = mkPreposition "sin" ;
with_Prep = mkPreposition "con" ;
without_Prep = mkPrep "sin" ;
with_Prep = mkPrep "con" ;
yes_Phr = ss "sí" ;
youSg_Pron = mkPronoun
"tu" "te" "te" "tí"