packages feed

gf-3.4: lib/src/latvian/IdiomLav.gf

--# -path=.:../abstract:../common:../prelude

concrete IdiomLav of Idiom = CatLav ** open
  Prelude,
  ResLav,
  VerbLav,
  ParadigmsVerbsLav
in {

flags
  coding = utf8 ;
  optimize = all_subs ;

lin
  ImpersCl vp =
    let agr = AgP3 Sg Masc
    in {
      s = \\mood,pol =>
        buildVerb vp.v mood pol agr False vp.objNeg ++  -- Verb
        vp.compl ! agr  -- Object(s), complements, adverbial modifiers
    } ;

  GenericCl vp =
    let agr = AgP3 Sg Masc
    in {
      s = \\mood,pol =>
        buildVerb vp.v mood pol agr False vp.objNeg ++
        vp.compl ! agr
    } ;

  ExistNP np =
    let
      v = lin V mkVerb_Irreg_Be ;
      agr = np.a
    in {
      s = \\mood,pol =>
        buildVerb v mood pol agr np.isNeg False ++
        np.s ! Nom
    } ;

  ExistIP ip =
    let
      v = lin V mkVerb_Irreg_Be ;
      agr = AgP3 ip.n Masc
	in {
      s = \\mood,pol =>
        ip.s ! Nom ++
        buildVerb v mood pol agr False False
    } ;

  -- FIXME: needs restriction so that only VerbMood Indicative _ _ Present is allowed;
  -- can't do that on VP level...
  ProgrVP v = v ;

  ImpPl1 vp =
    let agr = AgP1 Pl Masc
    in {
      s =
        vp.v.s ! Pos ! (Indicative P1 Pl Pres) ++  -- Verb
        vp.compl ! agr  -- Object(s), complements, adverbial modifiers
    }
    | { s = vp.v.s ! Pos ! (Indicative P1 Pl Fut) ++ vp.compl ! agr }  --# notpresent
    ;

  ImpP3 np vp = {
    s = "lai" ++ np.s ! Nom ++ buildVerb vp.v (Ind Simul Pres) Pos np.a np.isNeg vp.objNeg ++ vp.compl ! np.a ;
  } ;

  -- FIXME: placeholder
  CleftNP np rs = { s = \\_,_ => NON_EXISTENT } ;
  CleftAdv ad s = { s = \\_,_ => NON_EXISTENT } ;

}