packages feed

gf-3.3.3: lib/src/maltese/CatMlt.gf

-- CatMlt.gf: the common type system
--
-- Maltese Resource Grammar Library
-- John J. Camilleri, 2012
-- Licensed under LGPL

--concrete CatMlt of Cat = CommonX ** open ResMlt, Prelude, ParamX in {
concrete CatMlt of Cat = CommonX ** open ResMlt, Prelude in {

  flags optimize=all_subs ;


  lincat
--    S  = {s : Str} ;
--    Cl = {s : ResMlt.Tense => Bool => Str} ;
--    NP = ResMlt.NP ; -- {s : Case => {clit,obj : Str ; isClit : Bool} ; a : Agr} ;
--    VP = ResMlt.VP ; -- {v : Verb ; clit : Str ; clitAgr : ClitAgr ; obj : Agr => Str} ;
--    AP = {s : Gender => Number => Str ; isPre : Bool} ;
--    CN = ResMlt.Noun ; -- {s : Number => Str ; g : Gender} ;
--    Det = {s : Gender => Case => Str ; n : Number} ;
    N = ResMlt.Noun ;
    N2 = ResMlt.Noun ;
    N3 = ResMlt.Noun ;
    A = ResMlt.Adj ;
    V = ResMlt.Verb ;
--    V2 = ResMlt.Verb ** {c : Case} ;
--    AdA = {s : Str} ;
--    Pol = {s : Str ; b : Bool} ;
--    Tense = {s : Str ; t : ResMlt.Tense} ;
--    Conj = {s : Str ; n : Number} ;


    -- Cardinal or ordinal in WORDS (not digits)
    Numeral = {
      s : CardOrd => Num_Case => Str ;
      n : Num_Number
    } ;

    -- Cardinal or ordinal in DIGITS (not words)
    Digits = {
      s : Str ;      -- No need for CardOrd, i.e. no 1st, 2nd etc in Maltese
      n : Num_Number ;
      tail : DTail
    };

{-
-- These below are just examples, I believe they came form Italian.
    S  = {s : Str} ;
    Cl = {s : ResMlt.Tense => Bool => Str} ;
    NP = {s : Case => {clit,obj : Str ; isClit : Bool} ; a : Agr} ;
    VP = {v : Verb ; clit : Str ; clitAgr : ClitAgr ; obj : Agr => Str} ;
    AP = {s : Gender => Number => Str ; isPre : Bool} ;
    CN = {s : Number => Str ; g : Gender} ;
    Det = {s : Gender => Case => Str ; n : Number} ;
    N = {s : Number => Str ; g : Gender} ;
    N2 = {s : Number => Str ; g : Gender} ;
    A = {s : Number => Str ; isPre : Bool} ;
    V = ResMlt.Verb ;
    V2 = ResMlt.Verb ** {c : Case} ;
    AdA = {s : Str} ;
    Pol = {s : Str ; b : Bool} ;
    Tense = {s : Str ; t : ResMlt.Tense} ;
    Conj = {s : Str ; n : Number} ;
-}

}