1
0
forked from GitHub/gf-rgl

Merge branch 'por-extra' into por-merge

This commit is contained in:
odanoburu
2018-05-23 19:03:58 -03:00
8 changed files with 97 additions and 1171 deletions

View File

@@ -1,10 +1,10 @@
--1 Structural: Structural Words
--
--
-- Here we have some words belonging to closed classes and appearing
-- in all languages we have considered.
-- Sometimes more distinctions are needed, e.g. $we_Pron$ in Spanish
-- should be replaced by masculine and feminine variants, found in
-- [``ExtraSpa`` ../spanish/ExtraSpa.gf].
-- [``ExtendSpa`` ../spanish/ExtendSpa.gf].
abstract Structural = Cat ** {
@@ -12,11 +12,11 @@ abstract Structural = Cat ** {
-- This is an alphabetical list of structural words
above_Prep : Prep ;
above_Prep : Prep ;
after_Prep : Prep ;
all_Predet : Predet ;
almost_AdA : AdA ;
almost_AdN : AdN ;
almost_AdA : AdA ;
almost_AdN : AdN ;
although_Subj : Subj ;
always_AdV : AdV ;
and_Conj : Conj ;
@@ -84,7 +84,7 @@ abstract Structural = Cat ** {
there7to_Adv : Adv ; -- to there
there7from_Adv : Adv ; -- from there
therefore_PConj : PConj ;
they_Pron : Pron ;
they_Pron : Pron ;
this_Quant : Quant ;
through_Prep : Prep ;
to_Prep : Prep ;
@@ -110,7 +110,7 @@ abstract Structural = Cat ** {
youPl_Pron : Pron ; -- you (plural)
youPol_Pron : Pron ; -- you (polite)
no_Quant : Quant ;
no_Quant : Quant ;
not_Predet : Predet ;
if_then_Conj : Conj ;
at_least_AdN : AdN ;

View File

@@ -1,7 +1,7 @@
--# -path=.:../romance:../abstract:../common:../api:../prelude
concrete AllPor of AllPorAbs =
concrete AllPor of AllPorAbs =
LangPor,
IrregPor,
ExtraPor
ExtendPor
** {} ;

View File

@@ -1,5 +1,5 @@
abstract AllPorAbs =
abstract AllPorAbs =
Lang,
IrregPorAbs,
ExtraPorAbs
Extend
** {} ;

View File

@@ -0,0 +1,68 @@
--# -path=alltenses:../common:../abstract
concrete ExtendPor of Extend =
CatPor ** ExtendFunctor -
[
iFem_Pron, weFem_Pron, youFem_Pron, youPlFem_Pron, youPolPl_Pron, youPolFem_Pron, youPolPlFem_Pron, theyFem_Pron,
ProDrop,
PassVPSlash, ExistsNP
] -- put the names of your own definitions here
with
(Grammar = GrammarPor), (Syntax = SyntaxPor) **
open
GrammarPor,
ResPor,
MorphoPor,
Coordination,
Prelude,
ParadigmsPor,
(S = StructuralPor) in {
lin
ProDrop p = {
s = table {
Nom => let pn = p.s ! Nom in {c1 = pn.c1 ; c2 = pn.c2 ; comp = [] ; ton = pn.ton} ;
c => p.s ! c
} ;
a = p.a ;
poss = p.poss ;
hasClit = p.hasClit ;
isPol = p.isPol ;
isNeg = False
} ;
lin
PassVPSlash vps =
let auxvp = predV copula
in
insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) {
s = auxvp.s ;
agr = auxvp.agr ;
neg = vps.neg ;
clit1 = vps.clit1 ;
clit2 = vps.clit2 ;
clit3 = vps.clit3 ;
isNeg = vps.isNeg ;
comp = vps.comp ;
ext = vps.ext
} ;
ExistsNP np =
mkClause [] True False np.a
(insertComplement (\\_ => (np.s ! Nom).ton)
(predV (mkV "existir"))) ;
lin
-- Romance
iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ;
weFem_Pron = pronAgr S.we_Pron Fem Pl P1 ;
youFem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ;
youPlFem_Pron = pronAgr S.youPl_Pron Fem Pl P3 ;
youPolPl_Pron = mkPronoun "vós" "vos" "vos" "vós"
"vosso" "vossa" "vossos" "vossas"
Masc Pl P2 ;
youPolFem_Pron = pronAgr S.youPol_Pron Fem Sg P2 ;
youPolPlFem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ;
theyFem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ;
} ;

View File

@@ -1,18 +1,20 @@
-- the Extra* modules are to be deprecated in favour of the Extend*
-- module.
concrete ExtraPor of ExtraPorAbs = ExtraRomancePor **
open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (I = IrregPor), (S = StructuralPor),
open CommonRomance, PhonoPor, MorphoPor, ParadigmsPor, ParamX, ResPor, BeschPor, (I = IrregPor), (E = ExtendPor),
Prelude in {
flags coding=utf8 ;
lin
--- Prons
i8fem_Pron = pronAgr S.i_Pron Fem Sg P1 ;
youSg8fem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ;
we8fem_Pron = pronAgr S.we_Pron Fem Pl P1 ;
youPl8fem_Pron = pronAgr S.youPl_Pron Fem Pl P3 ;
youPolPl_Pron = S.youPol_Pron ** pronLin "vós" "vos" "vos" "vós" ;
youPol8fem_Pron = pronAgr S.youPol_Pron Fem Sg P2 ;
youPolPl8fem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ;
they8fem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ;
i8fem_Pron = E.iFem_Pron ;
youSg8fem_Pron = E.youFem_Pron ;
we8fem_Pron = E.weFem_Pron ;
youPl8fem_Pron = E.youPlFem_Pron ;
youPolPl_Pron = E.youPolPl_Pron ;
youPol8fem_Pron = E.youPolFem_Pron ;
youPolPl8fem_Pron = E.youPolPlFem_Pron ;
they8fem_Pron = E.theyFem_Pron ;
these8fem_NP = makeNP ["estas"] Fem Pl ;
@@ -37,23 +39,9 @@ concrete ExtraPor of ExtraPorAbs = ExtraRomancePor **
} ;
-- ExtraRomance.PassVPSlash uses estar
PassVPSlash_ser vps =
let auxvp = predV copula
in
insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) {
s = auxvp.s ;
agr = auxvp.agr ;
neg = vps.neg ;
clit1 = vps.clit1 ;
clit2 = vps.clit2 ;
clit3 = vps.clit3 ;
isNeg = vps.isNeg ;
comp = vps.comp ;
ext = vps.ext
} ;
PassVPSlash_ser = E.PassVPSlash ;
ExistsNP np =
mkClause [] True False np.a (insertComplement (\\_ => (np.s ! Nom).ton) (predV (mkV "existir"))) ;
ExistsNP = E.ExistsNP ;
UseComp_estar comp = insertComplement comp.s (predV I.estar_V) ;

View File

@@ -14,19 +14,19 @@ abstract ExtraPorAbs = ExtraRomanceAbs ** {
this8fem_NP : NP ;
those8fem_NP : NP ;
we8fem_Pron : Pron ; -- nosotras
we8fem_Pron : Pron ;
whoPl8fem_IP : IP ;
whoSg8fem_IP : IP ;
youSg8fem_Pron : Pron ;
youPl8fem_Pron : Pron ; -- vosotras
youPol8fem_Pron : Pron ; -- usted
youPl8fem_Pron : Pron ;
youPol8fem_Pron : Pron ;
youPolPl_Pron : Pron ; -- ustedes
youPolPl_Pron : Pron ;
youPolPl8fem_Pron : Pron ;
ImpNeg : NP -> VP -> Utt ; --"no fumes"
ImpNeg : NP -> VP -> Utt ; --"não fume"
InvQuestCl : Cl -> QCl ;

View File

@@ -1,37 +0,0 @@
-- Structures special for Pornish. These are not implemented in other
-- Romance languages.
abstract ExtraPorAbs = ExtraRomanceAbs ** {
fun
-- Feminine variants of pronouns (those in $Structural$ are
-- masculine, which is the default when gender is unknown).
i8fem_Pron : Pron ;
these8fem_NP : NP ;
they8fem_Pron : Pron ;
this8fem_NP : NP ;
those8fem_NP : NP ;
we8fem_Pron : Pron ; -- nosotras
whoPl8fem_IP : IP ;
whoSg8fem_IP : IP ;
youSg8fem_Pron : Pron ;
youPl8fem_Pron : Pron ; -- vosotras
youPol8fem_Pron : Pron ; -- usted
youPolPl_Pron : Pron ; -- ustedes
youPolPl8fem_Pron : Pron ;
ImpNeg : NP -> VP -> Utt ; --"no fumes"
InvQuestCl : Cl -> QCl ;
PassVPSlash_ser : VPSlash -> VP ;
UseComp_estar : Comp -> VP ; -- esta lleno, as opposed to es lleno
}

File diff suppressed because it is too large Load Diff