(Ara) Add subordinate clauses

This commit is contained in:
Inari Listenmaa
2018-11-16 17:21:29 +01:00
parent c4f207a541
commit 5a6fe1e336
8 changed files with 30 additions and 25 deletions

View File

@@ -11,7 +11,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
-- Tensed/Untensed
SSlash,
S = {s : Str} ;
S = {s : Order => Str} ; -- subordinate clause has nominal word order and subject in acc
QS = {s : QForm => Str} ;
RS = {s : Agr => Case => Str} ; -- case because the relative pronoun inflects in case

View File

@@ -3,20 +3,22 @@ concrete ConjunctionAra of Conjunction =
lincat
[S],
[S] = {s1,s2 : Order => Str} ;
[Adv] = {s1,s2 : Str} ;
[NP] = {s1,s2 : Case => Str ; a : Agr ; empty : Str} ;
[AP] = {s1,s2 : Species => Gender => Number => State => Case => Str} ;
lin
BaseS,
BaseAdv = twoSS ;
ConsS,
ConsAdv = consrSS comma ;
ConjS,
ConjAdv = conjunctSS ;
BaseS = twoTable Order ;
ConsS = consrTable Order comma ;
ConjS = conjunctTable Order ;
BaseNP x y = twoTable Case x y ** {
a = conjAgr x.a y.a ;
empty = []
@@ -31,9 +33,9 @@ lin
empty = []
} ;
BaseAP x y = twoTable5 Species Gender Number State Case x y ;
ConsAP xs x = consrTable5 Species Gender Number State Case comma xs x ;
ConjAP conj ss = conjunctTable5 Species Gender Number State Case conj ss ;
BaseAP = twoTable5 Species Gender Number State Case ;
ConsAP = consrTable5 Species Gender Number State Case comma ;
ConjAP = conjunctTable5 Species Gender Number State Case ;
oper

View File

@@ -19,7 +19,7 @@ concrete PhraseAra of Phrase = CatAra ** open
UttCN cn = {s = ResAra.uttCN cn } ; --IL
UttNP np = {s = \\_ => np.s ! Nom} ;
UttVP vp = {s = uttVP vp} ; --IL
UttS,
UttS s = {s = \\_ => s.s ! Verbal} ;
UttAdv,
UttIAdv = \s -> {s = \\_ => s.s} ; ---- OK? AR
--

View File

@@ -27,7 +27,8 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
Mood = Ind | Cnj | Jus ;
Voice = Act | Pas ;
Order = Verbal | Nominal
| VOS ; -- Relative clauses with resumptive pronouns
| VOS -- Relative clauses with resumptive pronouns
| Subord ; -- Nominal word order but subject in accusative
oper
@@ -1293,7 +1294,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
proDrop : NP -> NP = \np ->
case np.a.isPron of {
True => np ** {s = \\_ => []};
True => np ** {s = table {Nom => [] ; x => np.s ! x}};
_ => np
} ;
@@ -1474,10 +1475,11 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
<True, Pres, Pos> => vp.pred.s ! gn ! Nom; --xabar marfooc
_ => vp.pred.s ! gn ! Acc --xabar kaana wa laysa manSoob
};
subj = np.empty
++ case <vp.isPred,np.a.isPron> of {
<False,True> => [] ; -- prodrop if it's not predicative
_ => vp.sc.s ++ np.s ! vp.sc.c
sc : Preposition = case o of {Subord => {s=[]; c=Acc} ; Dir => vp.sc} ;
subj = np.empty ++ sc.s
++ case vp.isPred of {
False => (proDrop np).s ! sc.c ; -- prodrop if it's not predicative
True => np.s ! sc.c
} ;
} in
@@ -1486,9 +1488,8 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
True => vp.obj.s ++ subj ; -- obj. clitic attaches directly to the verb
False => subj ++ vp.obj.s }
++ vp.s2 ++ pred t p ;
Nominal => subj ++ vStr t p ++ vp.obj.s ++ vp.s2 ++ pred t p ;
VOS => vStr t p ++ vp.obj.s ++ vp.s2 ++ pred t p ++ subj
VOS => vStr t p ++ vp.obj.s ++ vp.s2 ++ pred t p ++ subj ;
Nominal|Subord => subj ++ vStr t p ++ vp.obj.s ++ vp.s2 ++ pred t p
}
} ;

View File

@@ -66,11 +66,11 @@ concrete SentenceAra of Sentence = CatAra ** open
--
UseCl t p cl =
{s = t.s ++ p.s ++
{s = \\o => t.s ++ p.s ++
case <t.t,t.a> of { --- IL guessed tenses
<Pres,Simul> => cl.s ! Pres ! p.p ! Nominal ;
<Pres,Anter> => cl.s ! Past ! p.p ! Nominal ;
<x ,_ > => cl.s ! x ! p.p ! Nominal
<Pres,Simul> => cl.s ! Pres ! p.p ! o ;
<Pres,Anter> => cl.s ! Past ! p.p ! o ;
<x ,_ > => cl.s ! x ! p.p ! o
}
};

View File

@@ -44,7 +44,7 @@ concrete StructuralAra of Structural = CatAra **
s = \\g,s,c => "كَمْ عَدَد" + caseTbl ! c ;
n = Pl ; d = Def
} ; -- IL
-- if_Subj = ss "ِف" ;
in8front_Prep = mkPrep "مُقَابِلَ" ;
i_Pron = ResAra.i_Pron ;
@@ -78,6 +78,7 @@ concrete StructuralAra of Structural = CatAra **
something_NP = regNP "شَيْء" Sg ;
-- somewhere_Adv = ss "سْموهري" ;
that_Quant = mkQuant3 "ذَلِكَ" "تِلكَ" "أُلٱِكَ" Def;
that_Subj = ss "أنَّ" ;
----b that_NP = indeclNP "ذَلِكَ" Sg ;
there_Adv = ss "هُناك" ;
-- there7to_Adv = ss "تهري" ;

View File

@@ -25,7 +25,7 @@ lin
empty = []
} ;
SymbS sy = sy ;
SymbS sy = {s = \\_ => sy.s} ;
SymbOrd n = {s = \\_,_,_ => n.s ; n = One ; isNum = False } ;

View File

@@ -28,7 +28,8 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
-- : VS -> S -> VP ; -- say that she runs
ComplVS vs s = predV vs ** { -- IL
obj = emptyObj ** s } ;
obj = emptyObj ** {s = s.s ! Subord}
} ;
-- : VQ -> QS -> VP ; -- wonder who runs
ComplVQ vq qs = predV vq ** { -- IL