diff --git a/src/arabic/IdiomAra.gf b/src/arabic/IdiomAra.gf index c46bbadd..7a18b133 100644 --- a/src/arabic/IdiomAra.gf +++ b/src/arabic/IdiomAra.gf @@ -10,7 +10,9 @@ concrete IdiomAra of Idiom = CatAra ** open -- : VP -> Cl ; -- it is hot ImpersCl vp = - let it : ResAra.NP = pron2np (pgn2pron vp.obj.a.pgn) ; -- if no obj, Per3 Masc Sg chosen by default + let it : ResAra.NP = case vp.isPred of { + True => pron2np (pgn2pron vp.obj.a.pgn) ; + False => pgn2pron vp.obj.a.pgn } ; -- if no obj, Per3 Masc Sg chosen by default in predVP it vp ; -- : VP -> Cl ; -- one sleeps @@ -21,8 +23,9 @@ concrete IdiomAra of Idiom = CatAra ** open -- : Adv -> S -> Cl ; -- it is here she slept CleftAdv adv s = - let comp : Comp = CompAdv adv in - predVP he_Pron (UseComp comp) ; + let comp : Comp = CompAdv (lin Adv {s = adv.s ++ s.s ! Verbal}) ; -- no idea about word order /IL + pass_V = mkV "مضي" va vi ; -- switch to copula or some other verb if better /IL + in predVP emptyNP (UseV pass_V ** {isPred=True ; pred=comp}) ; -- very hacky /IL -- : NP -> Cl ; -- there is a house ExistNP np = diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index 0cf91ddb..6156d435 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -1656,6 +1656,10 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> VPSlash : Type = VP ** {c2 : Preposition ; agrObj : PerGenNum => Str} ; ClSlash : Type = VPSlash ** {subj : Subj} ; + emptyVPslash : VP -> VPSlash = \vp -> vp ** { + c2 = noPrep ; agrObj = \\_ => [] + } ; + slashV2 : Verb2 -> VPSlash = \v -> predV v ** {c2 = v.c2 ; agrObj = \\_ => []} ; diff --git a/src/arabic/SentenceAra.gf b/src/arabic/SentenceAra.gf index e6c7fbdc..854daaf4 100644 --- a/src/arabic/SentenceAra.gf +++ b/src/arabic/SentenceAra.gf @@ -52,10 +52,8 @@ concrete SentenceAra of Sentence = CatAra ** open SlashVP = predVPSlash ; AdvSlash slash adv = slash ** { s2 = slash.s2 ++ adv.s } ; --- SlashPrep : Cl -> Prep -> ClSlash --- Will be awkward to implement in the way ClSlash is now. --- ClSlash is implemented the way it is now for a good reason: --- we need to support different word orders. +-- : Cl -> Prep -> ClSlash +-- SlashPrep cl prep = TODO -- SlashVS np vs sslash = TODO diff --git a/src/arabic/StructuralAra.gf b/src/arabic/StructuralAra.gf index f4abefa2..c6c8aaaf 100644 --- a/src/arabic/StructuralAra.gf +++ b/src/arabic/StructuralAra.gf @@ -46,7 +46,7 @@ concrete StructuralAra of Structural = CatAra ** n = Pl ; d = Def } ; -- IL --- if_Subj = ss "ِف" ; + if_Subj = mkSubj "إِذَا" Verbal ; in8front_Prep = mkPrep "مُقَابِلَ" ; i_Pron = ResAra.i_Pron ; in_Prep = mkPrep "فِي" ;