mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 09:52:55 -06:00
adjustments in Paradigms ; lang-specific modules for all except Rus, Ara
This commit is contained in:
2
lib/resource-1.0/spanish/ExtraRomanceSpa.gf
Normal file
2
lib/resource-1.0/spanish/ExtraRomanceSpa.gf
Normal file
@@ -0,0 +1,2 @@
|
||||
concrete ExtraRomanceSpa of ExtraRomanceAbs = CatSpa ** ExtraRomance with
|
||||
(ResRomance = ResSpa) ;
|
||||
5
lib/resource-1.0/spanish/ExtraSpa.gf
Normal file
5
lib/resource-1.0/spanish/ExtraSpa.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
concrete ExtraSpa of ExtraSpaAbs = ExtraRomanceSpa **
|
||||
open CommonRomance, PhonoSpa, ParamX, ResSpa in {
|
||||
|
||||
|
||||
}
|
||||
6
lib/resource-1.0/spanish/ExtraSpaAbs.gf
Normal file
6
lib/resource-1.0/spanish/ExtraSpaAbs.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
-- Structures special for Spanish. These are not implemented in other
|
||||
-- Romance languages.
|
||||
|
||||
abstract ExtraSpaAbs = ExtraRomanceAbs ** {
|
||||
|
||||
}
|
||||
@@ -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") ;
|
||||
|
||||
@@ -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 =
|
||||
|
||||
7
lib/resource-1.0/spanish/Spanish.gf
Normal file
7
lib/resource-1.0/spanish/Spanish.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../romance:../abstract:../common:prelude
|
||||
|
||||
concrete Spanish of SpanishAbs =
|
||||
LangSpa,
|
||||
-- IrregSpa,
|
||||
ExtraSpa
|
||||
** {} ;
|
||||
5
lib/resource-1.0/spanish/SpanishAbs.gf
Normal file
5
lib/resource-1.0/spanish/SpanishAbs.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
abstract SpanishAbs =
|
||||
Lang,
|
||||
-- IrregSpaAbs,
|
||||
ExtraSpaAbs
|
||||
** {} ;
|
||||
@@ -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í"
|
||||
|
||||
Reference in New Issue
Block a user