forked from GitHub/gf-core
Maltese RG: work on numerals, quants, dets, and enclitic pronouns with nouns
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
-- AdjectiveMlt.gf: adjectives
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete AdjectiveMlt of Adjective = CatMlt ** open ResMlt, Prelude in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- AdverbMlt.gf: adverbial phrases
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete AdverbMlt of Adverb = CatMlt ** open ResMlt, Prelude in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- AllMlt.gf: common grammar plus language-dependent extensions
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:prelude:../abstract:../common
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- AllMlt.gf: common grammar plus language-dependent extensions
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:prelude:../abstract:../common
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
-- CatMlt.gf: the common type system
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
{-
|
||||
All code in comments was copied from CatEng.gf and may need to be corrected for Maltese.
|
||||
The same overall structure should be maintained.
|
||||
-}
|
||||
|
||||
concrete CatMlt of Cat = CommonX ** open ResMlt, Prelude in {
|
||||
|
||||
flags
|
||||
@@ -56,7 +52,6 @@ concrete CatMlt of Cat = CommonX ** open ResMlt, Prelude in {
|
||||
|
||||
-- Adjective
|
||||
|
||||
-- AP = {s : Agr => Str ; isPre : Bool} ;
|
||||
AP = {s : GenNum => Str ; isPre : Bool} ;
|
||||
|
||||
-- Noun
|
||||
@@ -64,28 +59,44 @@ concrete CatMlt of Cat = CommonX ** open ResMlt, Prelude in {
|
||||
CN = Noun ;
|
||||
NP = NounPhrase ;
|
||||
Pron = Pronoun ;
|
||||
-- Pron = {s : NPCase => Str ; sp : Case => Str ; a : Agr} ;
|
||||
Det = {s : Str ; n : Num_Number ; hasNum : Bool} ;
|
||||
-- Det = {s : Str ; sp : NPCase => Str ; n : Number ; hasNum : Bool} ;
|
||||
|
||||
Det = Determiner ;
|
||||
-- Predet = {s : Str} ;
|
||||
-- Ord = { s : Case => Str } ;
|
||||
Num = {s : Num_Case => Str ; n : Num_Number ; hasCard : Bool} ;
|
||||
-- Card = {s : Case => Str ; n : Number} ;
|
||||
-- Quant = {s : Bool => Number => Str ; sp : Bool => Number => NPCase => Str} ;
|
||||
Quant = {s : Bool => Num_Number => Str} ;
|
||||
Quant = Quantifier ;
|
||||
|
||||
-- Numeral
|
||||
-- [AZ]
|
||||
Num = {
|
||||
s : NumCase => Str ;
|
||||
n : NumForm ;
|
||||
hasCard : Bool ;
|
||||
-- isNum : Bool ;
|
||||
} ;
|
||||
|
||||
-- Cardinal or ordinal in WORDS (not digits) [JJC]
|
||||
-- [AZ]
|
||||
Ord = {
|
||||
s : NumCase => Str ;
|
||||
-- s : NPCase => GenNum => Str ;
|
||||
-- hasBSuperl : Bool
|
||||
} ;
|
||||
|
||||
-- [AZ]
|
||||
Card = {
|
||||
s : NumCase => Str ;
|
||||
n : NumForm ;
|
||||
} ;
|
||||
|
||||
-- numeral
|
||||
|
||||
-- Cardinal or ordinal in WORDS (not digits)
|
||||
Numeral = {
|
||||
s : CardOrd => Num_Case => Str ;
|
||||
n : Num_Number
|
||||
s : CardOrd => NumCase => Str ;
|
||||
n : NumForm -- number to be "treated as", e.g. 103 has n=Num3_10
|
||||
} ;
|
||||
|
||||
-- Cardinal or ordinal in DIGITS (not words) [JJC]
|
||||
-- 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 ;
|
||||
s : NumCase => Str ; -- No need for CardOrd, i.e. no 1st, 2nd etc in Maltese
|
||||
n : NumForm ;
|
||||
tail : DTail
|
||||
};
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
-- ConjunctionMlt.gf: co-ordination
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete ConjunctionMlt of Conjunction = CatMlt ** open ResMlt, Coordination, Prelude in {
|
||||
concrete ConjunctionMlt of Conjunction =
|
||||
CatMlt ** open ResMlt, Coordination, Prelude in {
|
||||
|
||||
-- Adv
|
||||
-- AP
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- ExtraMlt.gf: extra stuff
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete ExtraMlt of ExtraMltAbs = CatMlt **
|
||||
@@ -9,9 +9,4 @@ concrete ExtraMlt of ExtraMltAbs = CatMlt **
|
||||
|
||||
flags coding=utf8 ;
|
||||
|
||||
|
||||
-- lin
|
||||
-- thigh_N = mkNounDual "koxxa" ;
|
||||
-- sailor_N = mkNoun "baħri" ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
-- ExtraMltAbs.gf: abstract grammar for extra stuff
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
abstract ExtraMltAbs = Cat ** {
|
||||
|
||||
-- fun
|
||||
-- thigh_N : N ;
|
||||
-- sailor_N : N ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- GrammarMlt.gf: common syntax
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- IdiomMlt.gf: idiomatic expressions
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- IrregMlt.gf: irregularly inflected words (mostly verbs)
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:prelude:../abstract:../common
|
||||
|
||||
@@ -1,19 +1,11 @@
|
||||
-- IrregMltAbs.gf: abstract grammar for irregularly inflected words (mostly verbs)
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:prelude:../abstract:../common
|
||||
|
||||
abstract IrregMltAbs = Cat ** {
|
||||
|
||||
{-
|
||||
fun
|
||||
|
||||
awake_V : V ;
|
||||
bear_V : V ;
|
||||
beat_V : V ;
|
||||
-}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- LangMlt.gf: common syntax and lexicon
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
@@ -11,6 +11,10 @@ concrete LangMlt of Lang =
|
||||
LexiconMlt
|
||||
** {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ; coding = utf8 ;
|
||||
flags
|
||||
coding = utf8 ;
|
||||
startcat = Phr ;
|
||||
unlexer = text ;
|
||||
lexer = text ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
-- LexiconMlt.gf: test lexicon of 300 content words
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete LexiconMlt of Lexicon = CatMlt **
|
||||
open Prelude, ParadigmsMlt, IrregMlt, DictMlt in {
|
||||
open Prelude, ParadigmsMlt, IrregMlt in {
|
||||
|
||||
flags
|
||||
optimize=values ;
|
||||
@@ -17,347 +17,347 @@ concrete LexiconMlt of Lexicon = CatMlt **
|
||||
-- add_V3
|
||||
-- alas_Interj
|
||||
-- already_Adv
|
||||
animal_N = mkN "annimal" ;
|
||||
answer_V2S = wiegeb_WGB_3_10033_V ;
|
||||
apartment_N = mkN "appartament" ;
|
||||
art_N = mkNNoPlural "arti" feminine ;
|
||||
-- ashes_N = mkN "rmied" ;
|
||||
ask_V2Q = saqsa_SQSJ_1_7268_V ;
|
||||
baby_N = mkN "tarbija" "trabi" ;
|
||||
back_N = mkN "dahar" "dhur" ; -- pronSuffix
|
||||
bad_A = brokenA "ħażin" "hżiena" "agħar" ;
|
||||
bank_N = mkN "bank" "bankijiet" ; -- BANEK is for lotto booths!
|
||||
bark_N = mkN "qoxra" "qoxriet" ;
|
||||
beautiful_A = brokenA "sabiħ" "sbieħ" "isbaħ" ;
|
||||
animal_N = mkN "annimal" ;
|
||||
answer_V2S = mkV_III "wieġeb" (mkRoot "w-ġ-b") ;
|
||||
apartment_N = mkN "appartament" ;
|
||||
art_N = mkNNoPlural "arti" feminine ;
|
||||
-- ashes_N = mkN "rmied" ;
|
||||
ask_V2Q = mkV "saqsa" (mkRoot "s-q-s-j") ;
|
||||
baby_N = mkN "tarbija" "trabi" ;
|
||||
back_N = possN (mkN "dahar" "dhur") ;
|
||||
bad_A = brokenA "ħażin" "hżiena" "agħar" ;
|
||||
bank_N = mkN "bank" "bankijiet" ; -- BANEK is for lotto booths!
|
||||
bark_N = mkN "qoxra" "qoxriet" ;
|
||||
beautiful_A = brokenA "sabiħ" "sbieħ" "isbaħ" ;
|
||||
-- become_VA
|
||||
beer_N = mkN "birra" "birer" ;
|
||||
beer_N = mkN "birra" "birer" ;
|
||||
-- beg_V2V
|
||||
belly_N = mkN "żaqq" "żquq" ; -- pronSuffix
|
||||
big_A = brokenA "kbir" "kbar" "ikbar" ;
|
||||
bike_N = mkN "rota" ;
|
||||
bird_N = mkN "għasfur" "għasafar" ; -- what about GĦASFURA?
|
||||
bite_V2 = gidem_GDM_1_8009_V ;
|
||||
black_A = mkA "iswed" "sewda" "suwed" ;
|
||||
blood_N = mkN [] "demm" [] "dmija" [] ; -- pronSuffix
|
||||
blow_V = nefah_NFH_1_8966_V ;
|
||||
blue_A = sameA "blu" ;
|
||||
boat_N = mkN "dgħajsa" "dgħajjes" ;
|
||||
bone_N = mkNColl "għadam" ;
|
||||
book_N = mkN "ktieb" "kotba" ;
|
||||
boot_N = mkN "żarbun" "żraben" ; -- what about ŻARBUNA?
|
||||
boss_N = mkN "mgħallem" "mgħallmin" ;
|
||||
boy_N = mkN "tifel" "tfal" ;
|
||||
bread_N = mkNColl "ħobż" ;
|
||||
break_V2 = kiser_KSR_1_8636_V ;
|
||||
breast_N = mkN "sider" "sdur" ; -- also ISDRA -- pronSuffix
|
||||
belly_N = possN (mkN "żaqq" "żquq") ;
|
||||
big_A = brokenA "kbir" "kbar" "ikbar" ;
|
||||
bike_N = mkN "rota" ;
|
||||
bird_N = mkN "għasfur" "għasafar" ; -- feminine: GĦASFURA
|
||||
bite_V2 = mkV "gidem" (mkRoot "g-d-m") ;
|
||||
black_A = mkA "iswed" "sewda" "suwed" ;
|
||||
blood_N = possN (mkN [] "demm" [] "dmija" []) ;
|
||||
blow_V = mkV "nefaħ" (mkRoot "n-f-ħ") ;
|
||||
blue_A = sameA "blu" ;
|
||||
boat_N = mkN "dgħajsa" "dgħajjes" ;
|
||||
bone_N = mkNColl "għadam" ;
|
||||
book_N = mkN "ktieb" "kotba" ;
|
||||
boot_N = mkN "żarbuna" "żarbun" [] "żraben" [] ;
|
||||
boss_N = mkN "mgħallem" "mgħallmin" ;
|
||||
boy_N = mkN "tifel" "tfal" ;
|
||||
bread_N = mkNColl "ħobż" ;
|
||||
break_V2 = mkV "kiser" (mkRoot "k-s-r") ;
|
||||
breast_N = possN (mkN "sider" "sdur") ; -- also ISDRA
|
||||
-- breathe_V
|
||||
broad_A = mkA "wiesgħa" "wiesgħa" "wiesgħin" ;
|
||||
brother_N2 = mkN2 (mkN "ħu" "aħwa") ; -- pronSuffix
|
||||
brown_A = sameA "kannella" ;
|
||||
burn_V = haraq_HRQ_1_8367_V ;
|
||||
butter_N = mkN [] "butir" [] "butirijiet" [] ;
|
||||
buy_V2 = xtara_XRJ_8_10296_V ;
|
||||
camera_N = mkN "kamera" "kameras" ;
|
||||
cap_N = mkN "beritta" ;
|
||||
car_N = mkN "karozza" ;
|
||||
carpet_N = mkN "tapit" ; -- TAPITI or TWAPET ?
|
||||
cat_N = mkN "qattus" "qtates" ; -- what about QATTUSA ?
|
||||
ceiling_N = mkN "saqaf" "soqfa";
|
||||
chair_N = mkN "siġġu" "siġġijiet" ;
|
||||
cheese_N = mkNColl "ġobon" ;
|
||||
-- child_N = mkN "tfajjel" ; -- Not an easy one...
|
||||
church_N = mkN "knisja" "knejjes" ;
|
||||
city_N = mkN "belt" "bliet" feminine ; -- pronSuffix
|
||||
clean_A = brokenA "nadif" "nodfa" ;
|
||||
clever_A = regA "bravu" ;
|
||||
close_V2 = ghalaq_GHLQ_1_10530_V ;
|
||||
cloud_N = mkNColl "sħab" ;
|
||||
coat_N = mkN "kowt" "kowtijiet" ;
|
||||
cold_A = mkA "kiesaħ" "kiesħa" "kesħin" ;
|
||||
broad_A = mkA "wiesgħa" "wiesgħa" "wiesgħin" ;
|
||||
brother_N2 = mkN2 (possN (mkN "ħu" "aħwa")) ;
|
||||
brown_A = sameA "kannella" ;
|
||||
burn_V = mkV "ħaraq" (mkRoot "ħ-r-q") ;
|
||||
butter_N = mkN [] "butir" [] "butirijiet" [] ;
|
||||
buy_V2 = mkV_VIII "xtara" (mkRoot "x-r-j") ;
|
||||
camera_N = mkN "kamera" "kameras" ;
|
||||
cap_N = mkN "beritta" ;
|
||||
car_N = mkN "karozza" ;
|
||||
carpet_N = mkN "tapit" "twapet" ; -- TAPITI
|
||||
cat_N = mkN "qattus" "qtates" ; -- feminine: QATTUSA
|
||||
ceiling_N = mkN "saqaf" "soqfa";
|
||||
chair_N = mkN "siġġu" "siġġijiet" ;
|
||||
cheese_N = mkNColl "ġobon" ;
|
||||
-- child_N = mkN "tfajjel" ; -- Not an easy one...
|
||||
church_N = mkN "knisja" "knejjes" ;
|
||||
city_N = mkN "belt" "bliet" feminine ;
|
||||
clean_A = brokenA "nadif" "nodfa" ;
|
||||
clever_A = regA "bravu" ;
|
||||
close_V2 = mkV "għalaq" (mkRoot "għ-l-q") ;
|
||||
cloud_N = mkNColl "sħab" ;
|
||||
coat_N = mkN "kowt" "kowtijiet" ;
|
||||
cold_A = mkA "kiesaħ" "kiesħa" "kesħin" ;
|
||||
-- come_V
|
||||
computer_N = mkN "kompjuter" "kompjuters" ;
|
||||
correct_A = regA "korrett" ;
|
||||
count_V2 = ghadd_GHDD_1_10460_V ;
|
||||
country_N = mkN "pajjiż" ; -- pronSuffix
|
||||
cousin_N = mkN "kuġin" ; -- pronSuffix
|
||||
cow_N = mkN "baqra" "baqar" "baqartejn" [] [] ;
|
||||
cut_V2 = qata'_QTGH_1_9305_V ;
|
||||
day_N = mkN "ġurnata" "ġranet" ;
|
||||
dig_V = hafer_HFR_1_8233_V ;
|
||||
dirty_A = regA "maħmuġ" ;
|
||||
distance_N3 = mkN "distanza" ;
|
||||
do_V2 = ghamel_GHML_1_10544_V ;
|
||||
doctor_N = mkN "tabib" "tobba" ; -- what about TABIBA ?
|
||||
dog_N = mkN "kelb" "klieb" ;
|
||||
door_N = mkN "bieb" "bibien" ; -- what about BIEBA ?
|
||||
drink_V2 = xorob_XRB_1_10231_V ;
|
||||
dry_A = regA "niexef" ;
|
||||
dull_A = sameA "tad-dwejjaq" ;
|
||||
dust_N = mkNColl "trab" ; -- not sure but sounds right
|
||||
ear_N = mkNDual "widna" ; -- pronSuffix
|
||||
earth_N = mkN "art" "artijiet" feminine ;
|
||||
computer_N = mkN "kompjuter" "kompjuters" ;
|
||||
correct_A = regA "korrett" ;
|
||||
count_V2 = mkV "għadd" (mkRoot "għ-d-d") ;
|
||||
country_N = possN (mkN "pajjiż") ;
|
||||
cousin_N = possN (mkN "kuġin") ; -- feminine: KUĠINA
|
||||
cow_N = mkN "baqra" "baqar" "baqartejn" [] [] ;
|
||||
cut_V2 = mkV "qata'" (mkRoot "q-t-għ") ;
|
||||
day_N = mkN "ġurnata" "ġranet" ;
|
||||
dig_V = mkV "ħafer" (mkRoot "ħ-f-r") ;
|
||||
dirty_A = regA "maħmuġ" ;
|
||||
distance_N3 = mkN "distanza" ;
|
||||
do_V2 = mkV "għamel" (mkRoot "għ-m-l") ;
|
||||
doctor_N = mkN "tabib" "tobba" ; -- feminine: TABIBA
|
||||
dog_N = mkN "kelb" "klieb" ;
|
||||
door_N = mkN "bieb" "bibien" ;
|
||||
drink_V2 = mkV "xorob" (mkRoot "x-r-b") ;
|
||||
dry_A = regA "niexef" ;
|
||||
dull_A = sameA "tad-dwejjaq" ;
|
||||
dust_N = mkNColl "trab" ; -- not sure but sounds right
|
||||
ear_N = possN (mkNDual "widna") ;
|
||||
earth_N = mkN "art" "artijiet" feminine ;
|
||||
-- easy_A2V
|
||||
-- eat_V2
|
||||
egg_N = mkNColl "bajd" ;
|
||||
empty_A = mkA "vojt" "vojta" "vojta" ;
|
||||
enemy_N = mkN "għadu" "għedewwa" ;
|
||||
eye_N = mk5N "għajn" [] "għajnejn" "għajnejn" "għejun" feminine ; -- pronSuffix
|
||||
factory_N = mkN "fabbrika" ;
|
||||
fall_V = waqa'_WQGH_1_10070_V ;
|
||||
egg_N = mkNColl "bajd" ;
|
||||
empty_A = mkA "vojt" "vojta" "vojta" ;
|
||||
enemy_N = mkN "għadu" "għedewwa" ;
|
||||
eye_N = possN (mk5N "għajn" [] "għajnejn" "għajnejn" "għejun" feminine) ;
|
||||
factory_N = mkN "fabbrika" ;
|
||||
fall_V = mkV "waqa'" (mkRoot "w-q-għ") ;
|
||||
-- far_Adv
|
||||
fat_N = mkNColl "xaħam" ;
|
||||
father_N2 = mkN2 (mkN "missier" "missierijiet") ; -- pronSuffix
|
||||
fat_N = mkNColl "xaħam" ;
|
||||
father_N2 = mkN2 (possN (mkN "missier" "missierijiet")) ;
|
||||
-- fear_V2
|
||||
-- fear_VS
|
||||
feather_N = mkNColl "rix" ;
|
||||
fight_V2 = ggieled_GLD_6_8074_V ;
|
||||
find_V2 = sab_SJB_1_9779_V ;
|
||||
fingernail_N = mkN "difer" [] "difrejn" "dwiefer" [] ; -- pronSuffix
|
||||
fire_N = mkN "nar" "nirien" ;
|
||||
fish_N = mkNColl "ħut" ;
|
||||
feather_N = mkNColl "rix" ;
|
||||
fight_V2 = mkV_VI "ġġieled" (mkRoot "ġ-l-d") ;
|
||||
find_V2 = mkV "sab" (mkRoot "s-j-b") ;
|
||||
fingernail_N = possN (mkN "difer" [] "difrejn" "dwiefer" []) ;
|
||||
fire_N = mkN "nar" "nirien" ;
|
||||
fish_N = mkNColl "ħut" ;
|
||||
-- float_V
|
||||
earth_N = mkN "art" "artijiet" feminine ;
|
||||
earth_N = mkN "art" "artijiet" feminine ;
|
||||
-- flow_V
|
||||
flower_N = mkN "fjura" ;
|
||||
fly_V = tar_TJR_1_9972_V ;
|
||||
fog_N = mkN [] "ċpar" [] [] [] ;
|
||||
foot_N = mk5N "sieq" [] "saqajn" "saqajn" [] feminine ; -- pronSuffix
|
||||
forest_N = mkN "foresta" ; -- also MASĠAR
|
||||
forget_V2 = nesa_NSJ_1_9126_V ;
|
||||
flower_N = mkN "fjura" ;
|
||||
fly_V = mkV "tar" (mkRoot "t-j-r") ;
|
||||
fog_N = mkN [] "ċpar" [] [] [] ;
|
||||
foot_N = possN (mk5N "sieq" [] "saqajn" "saqajn" [] feminine) ;
|
||||
forest_N = mkN "foresta" ; -- also MASĠAR
|
||||
forget_V2 = mkV "nesa" (mkRoot "n-s-j") ;
|
||||
-- freeze_V
|
||||
fridge_N = mkN "friġġ" "friġġijiet" ;
|
||||
friend_N = mkN "ħabib" "ħbieb" ; -- pronSuffix
|
||||
fruit_N = mkNColl "frott" ;
|
||||
full_A = regA "mimli" ;
|
||||
fridge_N = mkN "friġġ" "friġġijiet" ;
|
||||
friend_N = possN (mkN "ħabib" "ħbieb") ; -- feminine: ĦABIBA
|
||||
fruit_N = mkNColl "frott" ;
|
||||
full_A = regA "mimli" ;
|
||||
-- fun_AV
|
||||
garden_N = mkN "ġnien" "ġonna" ;
|
||||
girl_N = mkN "tifla" "tfal" ;
|
||||
garden_N = mkN "ġnien" "ġonna" ;
|
||||
girl_N = mkN "tifla" "tfal" ;
|
||||
-- give_V3
|
||||
glove_N = mkN "ingwanta" ;
|
||||
go_V = mar_MWR_1_8918_V ;
|
||||
gold_N = mkN [] "deheb" [] "dehbijiet" [] ;
|
||||
good_A = mkA "tajjeb" "tajba" "tajbin" ;
|
||||
grammar_N = mkN "grammatika" ;
|
||||
grass_N = mk5N "ħaxixa" "ħaxix" [] [] "ħxejjex" masculine ; -- Dict says ĦAXIX = n.koll.m.s., f. -a, pl.ind. ĦXEJJEX
|
||||
green_A = mkA "aħdar" "ħadra" "ħodor" ;
|
||||
guts_N = mkN "musrana" [] [] "musraniet" "msaren" ; -- pronSuffix
|
||||
hair_N = mkN "xagħar" [] [] "xagħariet" "xgħur" ; -- pronSuffix
|
||||
hand_N = mk5N "id" [] "idejn" "idejn" [] feminine ; -- pronSuffix
|
||||
harbour_N = mkN "port" "portijiet" ;
|
||||
hat_N = mkN "kappell" "kpiepel" ;
|
||||
glove_N = mkN "ingwanta" ;
|
||||
go_V = mkV "mar" (mkRoot "m-w-r") ;
|
||||
gold_N = mkN [] "deheb" [] "dehbijiet" [] ;
|
||||
good_A = mkA "tajjeb" "tajba" "tajbin" ;
|
||||
grammar_N = mkN "grammatika" ;
|
||||
grass_N = mk5N "ħaxixa" "ħaxix" [] [] "ħxejjex" masculine ; -- Dict says ĦAXIX = n.koll.m.s., f. -a, pl.ind. ĦXEJJEX
|
||||
green_A = mkA "aħdar" "ħadra" "ħodor" ;
|
||||
guts_N = possN (mkN "musrana" [] [] "musraniet" "msaren") ;
|
||||
hair_N = possN (mkN "xagħar" [] [] "xagħariet" "xgħur") ;
|
||||
hand_N = possN (mk5N "id" [] "idejn" "idejn" [] feminine) ;
|
||||
harbour_N = mkN "port" "portijiet" ;
|
||||
hat_N = mkN "kappell" "kpiepel" ;
|
||||
-- hate_V2
|
||||
head_N = mkN "ras" "rjus" feminine ; -- pronSuffix
|
||||
hear_V2 = sema'_SMGH_1_9698_V ;
|
||||
heart_N = mkN "qalb" "qlub" feminine ; -- pronSuffix
|
||||
heavy_A = brokenA "tqil" "tqal" "itqal" ;
|
||||
hill_N = mkN "għolja" "għoljiet" ;
|
||||
hit_V2 = laqat_LQT_1_8772_V ;
|
||||
head_N = possN (mkN "ras" "rjus" feminine) ;
|
||||
hear_V2 = mkV "sema'" (mkRoot "s-m-għ") ;
|
||||
heart_N = possN (mkN "qalb" "qlub" feminine) ;
|
||||
heavy_A = brokenA "tqil" "tqal" "itqal" ;
|
||||
hill_N = mkN "għolja" "għoljiet" ;
|
||||
hit_V2 = mkV "laqat" (mkRoot "l-q-t") ;
|
||||
-- hold_V2
|
||||
hope_VS = xtaq_XWQ_8_10313_V ;
|
||||
horn_N = mkN "ħorn" "ħornijiet" ;
|
||||
horse_N = mkN "żiemel" "żwiemel" ;
|
||||
hot_A = brokenA "sħun" "sħan" ;
|
||||
house_N = mkN "dar" "djar" feminine ;
|
||||
hope_VS = mkV_VIII "xtaq" (mkRoot "x-w-q") ;
|
||||
horn_N = mkN "ħorn" "ħornijiet" ;
|
||||
horse_N = mkN "żiemel" "żwiemel" ;
|
||||
hot_A = brokenA "sħun" "sħan" ;
|
||||
house_N = mkN "dar" "djar" feminine ;
|
||||
-- hunt_V2
|
||||
husband_N = mkN "raġel" "rġiel" ; -- pronSuffix ŻEWĠI
|
||||
ice_N = mkN "silġ" "silġiet" ;
|
||||
important_A = sameA "importanti" ;
|
||||
industry_N = mkN "industrija" ;
|
||||
iron_N = mk5N "ħadida" "ħadid" [] "ħadidiet" "ħdejjed" masculine ;
|
||||
john_PN = mkPN "Ġanni" masculine singular ;
|
||||
jump_V = qabez_QBZ_1_9182_V ;
|
||||
kill_V2 = qatel_QTL_1_9312_V ;
|
||||
king_N = mkN "re" "rejjiet" ;
|
||||
knee_N = mkN "rkoppa" [] "rkopptejn" "rkoppiet" [] ; -- TODO use mkNDual -- pronSuffix
|
||||
husband_N = mkN "raġel" "rġiel" ;
|
||||
ice_N = mkN "silġ" "silġiet" ;
|
||||
important_A = sameA "importanti" ;
|
||||
industry_N = mkN "industrija" ;
|
||||
iron_N = mk5N "ħadida" "ħadid" [] "ħadidiet" "ħdejjed" masculine ;
|
||||
john_PN = mkPN "Ġanni" masculine singular ;
|
||||
jump_V = mkV "qabeż" (mkRoot "q-b-ż") ;
|
||||
kill_V2 = mkV "qatel" "oqtol" (mkRoot "q-t-l") ;
|
||||
king_N = mkN "re" "rejjiet" ;
|
||||
knee_N = possN (mkN "rkoppa" [] "rkopptejn" "rkoppiet" []) ; -- TODO use mkNDual
|
||||
-- know_V2
|
||||
-- know_VQ
|
||||
-- know_VS
|
||||
lake_N = mkN "għadira" "għadajjar" ;
|
||||
lamp_N = mkN "lampa" ;
|
||||
language_N = mkN "lingwa" ; -- lsien?
|
||||
laugh_V = dahak_DHK_1_7688_V ;
|
||||
leaf_N = mkN "werqa" "weraq" "werqtejn" "werqiet" [] ;
|
||||
learn_V2 = tghallem_GHLM_5_10527_V ;
|
||||
leather_N = mkN "ġilda" "ġild" [] "ġildiet" "ġlud" ; -- mkNColl "ġild" ;
|
||||
leave_V2 = telaq_TLQ_1_9903_V ;
|
||||
lake_N = mkN "għadira" "għadajjar" ;
|
||||
lamp_N = mkN "lampa" ;
|
||||
language_N = mkN "lingwa" ; -- lsien?
|
||||
laugh_V = mkV "daħak" (mkRoot "d-ħ-k") ;
|
||||
leaf_N = mkN "werqa" "weraq" "werqtejn" "werqiet" [] ;
|
||||
learn_V2 = mkV_V "tgħallem" (mkRoot "għ-l-m") ;
|
||||
leather_N = mkN "ġilda" "ġild" [] "ġildiet" "ġlud" ; -- mkNColl "ġild" ;
|
||||
leave_V2 = mkV "telaq" (mkRoot "t-l-q") ;
|
||||
-- left_Ord
|
||||
leg_N = mkN "riġel" [] "riġlejn" [] [] ; -- sieq? -- pronSuffix
|
||||
lie_V = mtedd_MDD_8_8816_V ;
|
||||
leg_N = possN (mkN "riġel" [] "riġlejn" [] []) ; -- SIEQ
|
||||
lie_V = mkV_VIII "mtedd" (mkRoot "m-d-d") ;
|
||||
-- like_V2
|
||||
listen_V2 = sema'_SMGH_1_9698_V ;
|
||||
live_V = ghex_GHJX_1_10711_V ;
|
||||
liver_N = mkN "fwied" [] [] [] "ifdwa" ; -- pronSuffix
|
||||
long_A = brokenA "twil" "twal" "itwal" ;
|
||||
lose_V2 = tilef_TLF_1_9895_V ;
|
||||
louse_N = mkN "qamla" "qamliet" ;
|
||||
love_N = mkN "mħabba" "mħabbiet" ; -- hmmm
|
||||
love_V2 = habb_HBB_1_8174_V ;
|
||||
man_N = mkN "raġel" "rġiel" ;
|
||||
listen_V2 = mkV "sema'" (mkRoot "s-m-għ") ;
|
||||
live_V = mkV "għex" (mkRoot "għ-j-x") ;
|
||||
liver_N = mkN "fwied" [] [] [] "ifdwa" ;
|
||||
long_A = brokenA "twil" "twal" "itwal" ;
|
||||
lose_V2 = mkV "tilef" (mkRoot "t-l-f") ;
|
||||
louse_N = mkN "qamla" "qamliet" ;
|
||||
love_N = mkN "mħabba" "mħabbiet" ;
|
||||
love_V2 = mkV "ħabb" (mkRoot "ħ-b-b") ;
|
||||
man_N = mkN "raġel" "rġiel" ;
|
||||
-- married_A2
|
||||
meat_N = mkN "laħam" [] [] "laħmiet" "laħmijiet" ;
|
||||
milk_N = mkN [] "ħalib" [] "ħalibijiet" "ħlejjeb" ;
|
||||
moon_N = mkN "qamar" "oqmra" ; -- qmura?
|
||||
mother_N2 = mkN2 (mkN "omm" "ommijiet" feminine) ; -- pronSuffix
|
||||
mountain_N = mkN "muntanja" ;
|
||||
mouth_N = mkN "ħalq" "ħluq" ; -- pronSuffix
|
||||
music_N = mkN "musika" ; -- plural?
|
||||
name_N = mkN "isem" "ismijiet" ; -- pronSuffix
|
||||
narrow_A = mkA "dejjaq" "dejqa" "dojoq" "idjaq" ;
|
||||
near_A = regA "viċin" ;
|
||||
neck_N = mkN "għonq" "għenuq" ; -- pronSuffix
|
||||
new_A = brokenA "ġdid" "ġodda" ;
|
||||
newspaper_N = mkN "gazzetta" ;
|
||||
night_N = mkN "lejl" "ljieli" ;
|
||||
nose_N = mkN "mnieħer" "mniħrijiet" ; -- pronSuffix
|
||||
meat_N = mkN "laħam" [] [] "laħmiet" "laħmijiet" ;
|
||||
milk_N = mkN [] "ħalib" [] "ħalibijiet" "ħlejjeb" ;
|
||||
moon_N = mkN "qamar" "oqmra" ; -- QMURA
|
||||
mother_N2 = mkN2 (possN (mkN "omm" "ommijiet" feminine)) ;
|
||||
mountain_N = mkN "muntanja" ;
|
||||
mouth_N = possN (mkN "ħalq" "ħluq") ;
|
||||
music_N = mkNNoPlural "musika" ;
|
||||
name_N = possN (mkN "isem" "ismijiet") ;
|
||||
narrow_A = mkA "dejjaq" "dejqa" "dojoq" "idjaq" ;
|
||||
near_A = regA "viċin" ;
|
||||
neck_N = possN (mkN "għonq" "għenuq") ;
|
||||
new_A = brokenA "ġdid" "ġodda" ;
|
||||
newspaper_N = mkN "gazzetta" ;
|
||||
night_N = mkN "lejl" "ljieli" ;
|
||||
nose_N = possN (mkN "mnieħer" "mniħrijiet") ;
|
||||
-- now_Adv
|
||||
number_N = mkN "numru" ;
|
||||
oil_N = mkN "żejt" "żjut" ;
|
||||
old_A = brokenA "qadim" "qodma" "eqdem" ;
|
||||
open_V2 = fetah_FTH_1_7932_V ;
|
||||
number_N = mkN "numru" ;
|
||||
oil_N = mkN "żejt" "żjut" ;
|
||||
old_A = brokenA "qadim" "qodma" "eqdem" ;
|
||||
open_V2 = mkV "fetaħ" (mkRoot "f-t-ħ") ;
|
||||
-- paint_V2A
|
||||
paper_N = mkN "karta" ;
|
||||
-- paris_PN
|
||||
peace_N = mkN "paċi" "paċijiet" feminine ;
|
||||
pen_N = mkN "pinna" "pinen" ;
|
||||
person_N = mk5N [] "persuna" [] "persuni" [] masculine ;
|
||||
planet_N = mkN "pjaneta" ;
|
||||
plastic_N = mkNNoPlural "plastik" ;
|
||||
play_V = laghab_LGHB_1_8724_V ;
|
||||
play_V2 = daqq_DQQ_1_7736_V ;
|
||||
policeman_N = mkNNoPlural "pulizija" ;
|
||||
priest_N = mkN "qassis" "qassisin" ;
|
||||
paper_N = mkN "karta" ;
|
||||
paris_PN = mkPN "Pariġi" feminine singular ;
|
||||
peace_N = mkN "paċi" "paċijiet" feminine ;
|
||||
pen_N = mkN "pinna" "pinen" ;
|
||||
person_N = mk5N [] "persuna" [] "persuni" [] masculine ;
|
||||
planet_N = mkN "pjaneta" ;
|
||||
plastic_N = mkNNoPlural "plastik" ;
|
||||
play_V = mkV "lagħab" (mkRoot "l-għ-b") ;
|
||||
play_V = mkV "lagħab" (mkRoot "l-għ-b") ;
|
||||
policeman_N = mkNNoPlural "pulizija" ;
|
||||
priest_N = mkN "qassis" "qassisin" ;
|
||||
-- probable_AS
|
||||
pull_V2 = gibed_GBD_1_8043_V ;
|
||||
pull_V2 = mkV "ġibed" (mkRoot "ġ-b-d") ;
|
||||
-- push_V2
|
||||
put_V2 = qieghed_QGHD_3_9212_V ;
|
||||
queen_N = mkN "reġina" "rġejjen" ;
|
||||
question_N = mkN "mistoqsija" "mistoqsijiet" ; -- domanda?
|
||||
radio_N = mkN "radju" "radjijiet" ;
|
||||
rain_N = mkNNoPlural "xita" ;
|
||||
put_V2 = mkV_III "qiegħed" (mkRoot "q-għ-d") ;
|
||||
queen_N = mkN "reġina" "rġejjen" ;
|
||||
question_N = mkN "mistoqsija" "mistoqsijiet" ; -- DOMANDA
|
||||
radio_N = mkN "radju" "radjijiet" ;
|
||||
rain_N = mkNNoPlural "xita" ;
|
||||
-- rain_V0
|
||||
read_V2 = qara_QRJ_1_9350_V ;
|
||||
ready_A = regA "lest" ;
|
||||
reason_N = mkN "raġun" "raġunijiet" ;
|
||||
red_A = mkA "aħmar" "ħamra" "ħomor" ;
|
||||
religion_N = mkN "reliġjon" "reliġjonijiet" ;
|
||||
restaurant_N = mkN "restorant" ;
|
||||
read_V2 = mkV "qara" (mkRoot "q-r-j") ;
|
||||
ready_A = regA "lest" ;
|
||||
reason_N = mkN "raġun" "raġunijiet" ;
|
||||
red_A = mkA "aħmar" "ħamra" "ħomor" ;
|
||||
religion_N = mkN "reliġjon" "reliġjonijiet" ;
|
||||
restaurant_N = mkN "restorant" ;
|
||||
-- right_Ord
|
||||
river_N = mkN "xmara" "xmajjar" ;
|
||||
road_N = mk5N "triq" [] [] "triqat" "toroq" feminine ;
|
||||
rock_N = mkN "blata" "blat" [] "blatiet" "blajjiet" ; -- in dictionary BLAT and BLATA are separate!
|
||||
roof_N = mkN "saqaf" "soqfa" ;
|
||||
root_N = mkN "qħerq" "qħeruq" ;
|
||||
rope_N = mkN "ħabel" "ħbula" ;
|
||||
rotten_A = mkA "mħassar" "mħassra" "mħassrin" ;
|
||||
round_A = regA "tond" ;
|
||||
river_N = mkN "xmara" "xmajjar" ;
|
||||
road_N = mk5N "triq" [] [] "triqat" "toroq" feminine ;
|
||||
rock_N = mkN "blata" "blat" [] "blatiet" "blajjiet" ; -- in dictionary BLAT and BLATA are separate!
|
||||
roof_N = mkN "saqaf" "soqfa" ;
|
||||
root_N = mkN "qħerq" "qħeruq" ;
|
||||
rope_N = mkN "ħabel" "ħbula" ;
|
||||
rotten_A = mkA "mħassar" "mħassra" "mħassrin" ;
|
||||
round_A = regA "tond" ;
|
||||
-- rub_V2
|
||||
rubber_N = mkN "gomma" "gomom" ;
|
||||
rule_N = mkN "regola" ;
|
||||
run_V = gera_GRJ_1_8131_V ;
|
||||
salt_N = mkN "melħ" "melħiet" ;
|
||||
sand_N = mkN "ramla" "ramel" [] "ramliet" "rmiel" ;
|
||||
rubber_N = mkN "gomma" "gomom" ;
|
||||
rule_N = mkN "regola" ;
|
||||
run_V = mkV "ġera" (mkRoot "ġ-r-j") ;
|
||||
salt_N = mkN "melħ" "melħiet" ;
|
||||
sand_N = mkN "ramla" "ramel" [] "ramliet" "rmiel" ;
|
||||
-- say_VS
|
||||
school_N = mkN "skola" "skejjel" ;
|
||||
science_N = mkN "xjenza" ;
|
||||
scratch_V2 = barax_BRX_1_7504_V ;
|
||||
sea_N = mkN "baħar" [] "baħrejn" "ibħra" [] ;
|
||||
school_N = mkN "skola" "skejjel" ;
|
||||
science_N = mkN "xjenza" ;
|
||||
scratch_V2 = mkV "barax" (mkRoot "b-r-x") ;
|
||||
sea_N = mkN "baħar" [] "baħrejn" "ibħra" [] ;
|
||||
-- see_V2
|
||||
seed_N = mkN "żerriegħa" "żerrigħat" ;
|
||||
seek_V2 = fittex_FTX_2_7952_V ;
|
||||
sell_V3 = biegh_BJGH_1_7565_V ;
|
||||
send_V3 = baghat_BGHT_1_7412_V ;
|
||||
sew_V = hat_HJT_1_8508_V ;
|
||||
sharp_A = mkA "jaqta" "taqta" "jaqtgħu" ; -- TODO: apostrophe?
|
||||
sheep_N = mkN "nagħġa" "nagħaġ" [] "nagħġiet" [] ;
|
||||
ship_N = mkN "vapur" ;
|
||||
shirt_N = mkN "qmis" "qomos" feminine ;
|
||||
shoe_N = mkN "żarbun" "żraben" ;
|
||||
shop_N = mkN "ħanut" "ħwienet" ;
|
||||
short_A = brokenA "qasir" "qosra" "iqsar" ;
|
||||
silver_N = mkN "fidda" "fided" ;
|
||||
sing_V = kanta_KNTJ_1_7016_V ;
|
||||
sister_N = mkN "oħt" "aħwa" feminine ; -- pronSuffix
|
||||
sit_V = pogga_PGJ_2_9157_V ;
|
||||
skin_N = mkN "ġilda" "ġildiet" ;
|
||||
sky_N = mkN "sema" "smewwiet" masculine ;
|
||||
sleep_V = mkV "raqad" (mkRoot "r-q-d") ;
|
||||
small_A = brokenA "zgħir" "zgħar" "iżgħar" ;
|
||||
smell_V = xamm_XMM_1_10207_V ;
|
||||
smoke_N = mkN "duħħan" "dħaħen" ;
|
||||
smooth_A = regA "lixx" ;
|
||||
snake_N = mkN "serp" "sriep" ;
|
||||
snow_N = mkN [] "borra" [] [] [] ;
|
||||
sock_N = mkN "kalzetta" ;
|
||||
song_N = mkN "kanzunetta" ;
|
||||
seed_N = mkN "żerriegħa" "żerrigħat" ;
|
||||
seek_V2 = mkV_II "fittex" (mkRoot "f-t-x") ;
|
||||
sell_V3 = mkV "biegħ" (mkRoot "b-j-għ") ;
|
||||
send_V3 = mkV "bagħat" (mkRoot "b-għ-t") ;
|
||||
sew_V = mkV "ħat" (mkRoot "ħ-j-t") ;
|
||||
sharp_A = mkA "jaqta'" "taqta'" "jaqtgħu" ;
|
||||
sheep_N = mkN "nagħġa" "nagħaġ" [] "nagħġiet" [] ;
|
||||
ship_N = mkN "vapur" ;
|
||||
shirt_N = mkN "qmis" "qomos" feminine ;
|
||||
shoe_N = mkN "żarbun" "żraben" ;
|
||||
shop_N = mkN "ħanut" "ħwienet" ;
|
||||
short_A = brokenA "qasir" "qosra" "iqsar" ;
|
||||
silver_N = mkN "fidda" "fided" ;
|
||||
sing_V = mkV "kanta" (mkRoot "k-n-t-j") ;
|
||||
sister_N = possN (mkN "oħt" "aħwa" feminine) ;
|
||||
sit_V = mkV_II "poġġa" (mkRoot "p-ġ-j") ;
|
||||
skin_N = mkN "ġilda" "ġildiet" ;
|
||||
sky_N = mkN "sema" "smewwiet" masculine ;
|
||||
sleep_V = mkV "raqad" (mkRoot "r-q-d") ;
|
||||
small_A = brokenA "zgħir" "zgħar" "iżgħar" ;
|
||||
smell_V = mkV "xamm" (mkRoot "x-m-m") ;
|
||||
smoke_N = mkN "duħħan" "dħaħen" ;
|
||||
smooth_A = regA "lixx" ;
|
||||
snake_N = mkN "serp" "sriep" ;
|
||||
snow_N = mkN [] "borra" [] [] [] ;
|
||||
sock_N = mkN "kalzetta" ;
|
||||
song_N = mkN "kanzunetta" ;
|
||||
-- speak_V2
|
||||
spit_V = bezaq_BZQ_1_7549_V ;
|
||||
split_V2 = qasam_QSM_1_9292_V ;
|
||||
spit_V = mkV "beżaq" (mkRoot "b-ż-q") ;
|
||||
split_V2 = mkV "qasam" (mkRoot "q-s-m") ;
|
||||
-- squeeze_V2
|
||||
stab_V2 = mewwes_MWS_2_8921_V ;
|
||||
stab_V2 = mkV_II "mewwes" (mkRoot "m-w-s") ;
|
||||
-- stand_V
|
||||
star_N = mkN "stilla" "stilel" ;
|
||||
steel_N = mkNNoPlural "azzar" ;
|
||||
stick_N = mkN "lasta" ;
|
||||
stone_N = mkN "ġebla" "ġebel" [] "ġebliet" "ġbiel" ;
|
||||
stop_V = waqaf_WQF_1_10067_V ;
|
||||
stove_N = mkN "kuker" "kukers" ; -- fuklar?
|
||||
straight_A = regA "dritt" ;
|
||||
student_N = mkN "student" ;
|
||||
stupid_A = mkA "iblah" "belha" "boloh" ; -- these are really nouns...
|
||||
suck_V2 = rada'_RDGH_1_9388_V ;
|
||||
sun_N = mkN "xemx" "xmux" feminine ;
|
||||
swell_V = ntefah_NFH_8_8970_V ;
|
||||
swim_V = gham_GHWM_1_10750_V ;
|
||||
switch8off_V2 = tefa_TFJ_1_9960_V ;
|
||||
switch8on_V2 = xeghel_XGHL_1_10155_V ;
|
||||
table_N = mkN "mejda" "mwejjed" ;
|
||||
tail_N = mkN "denb" "dnieb" ; -- pronSuffix
|
||||
star_N = mkN "stilla" "stilel" ;
|
||||
steel_N = mkNNoPlural "azzar" ;
|
||||
stick_N = mkN "lasta" ;
|
||||
stone_N = mkN "ġebla" "ġebel" [] "ġebliet" "ġbiel" ;
|
||||
stop_V = mkV "waqaf" (mkRoot "w-q-f") ;
|
||||
stove_N = mkN "kuker" "kukers" ; -- FUKLAR
|
||||
straight_A = regA "dritt" ;
|
||||
student_N = mkN "student" ;
|
||||
stupid_A = mkA "iblah" "belha" "boloh" ;
|
||||
suck_V2 = mkV "rada'" (mkRoot "r-d-għ") ;
|
||||
sun_N = mkN "xemx" "xmux" feminine ;
|
||||
swell_V = mkV_VIII "ntefaħ" (mkRoot "n-f-ħ") ;
|
||||
swim_V = mkV "għam" (mkRoot "għ-w-m") ;
|
||||
switch8off_V2 = mkV "tefa" (mkRoot "t-f-j") ;
|
||||
switch8on_V2 = mkV "xegħel" (mkRoot "x-għ-l") ;
|
||||
table_N = mkN "mejda" "mwejjed" ;
|
||||
tail_N = possN (mkN "denb" "dnieb") ;
|
||||
-- talk_V3
|
||||
teach_V2 = ghallem_GHLM_2_10526_V ;
|
||||
teacher_N = mkN "għalliem" "għalliema" ; -- għalliema ?
|
||||
television_N = mkN "televixin" "televixins" ;
|
||||
thick_A = mkA "oħxon" "ħoxna" "ħoxnin" "eħxen" ;
|
||||
thin_A = brokenA "rqiq" "rqaq" "rqaq" ;
|
||||
think_V = haseb_HSB_1_8387_V ;
|
||||
throw_V2 = waddab_WDB_2_10027_V ;
|
||||
tie_V2 = qafel_QFL_1_9206_V ;
|
||||
teach_V2 = mkV_II "għallem" (mkRoot "għ-l-m") ;
|
||||
teacher_N = mkN "għalliem" "għalliema" ; -- feminine: GĦALLIEMA
|
||||
television_N = mkN "televixin" "televixins" ;
|
||||
thick_A = mkA "oħxon" "ħoxna" "ħoxnin" "eħxen" ;
|
||||
thin_A = brokenA "rqiq" "rqaq" "rqaq" ;
|
||||
think_V = mkV "ħaseb" (mkRoot "ħ-s-b") ;
|
||||
throw_V2 = mkV_II "waddab" (mkRoot "w-d-b") ;
|
||||
tie_V2 = mkV "qafel" (mkRoot "q-f-l") ;
|
||||
-- today_Adv
|
||||
tongue_N = mkN "lsien" "ilsna" ; -- pronSuffix
|
||||
tooth_N = mkN "sinna" [] [] "sinniet" "snien" ; -- darsa? -- pronSuffix
|
||||
train_N = mkN "ferrovija" ;
|
||||
tongue_N = possN (mkN "lsien" "ilsna") ;
|
||||
tooth_N = possN (mkN "sinna" [] [] "sinniet" "snien") ; -- DARSA
|
||||
train_N = mkN "ferrovija" ;
|
||||
-- travel_V
|
||||
tree_N = mkN "siġra" "siġar" [] "siġriet" [] ;
|
||||
turn_V = dar_DWR_1_7803_V ;
|
||||
ugly_A = mkA "ikrah" "kerha" "koroh" ; -- ikreh?
|
||||
uncertain_A = regA "inċert" ;
|
||||
tree_N = mkN "siġra" "siġar" [] "siġriet" [] ;
|
||||
turn_V = mkV "dar" (mkRoot "d-w-r") ;
|
||||
ugly_A = mkA "ikrah" "kerha" "koroh" ;
|
||||
uncertain_A = regA "inċert" ;
|
||||
-- understand_V2 --- missing from dict
|
||||
university_N = mkN "università" "universitàjiet" ;
|
||||
village_N = mkN "raħal" "rħula" ; -- villaġġ ? -- pronSuffix
|
||||
vomit_V = qala'_QLGH_1_9223_V ;
|
||||
university_N = mkN "università" "universitàjiet" ;
|
||||
village_N = possN (mkN "raħal" "rħula") ; -- VILLAĠĠ
|
||||
vomit_V = mkV "qala'" (mkRoot "q-l-għ") ;
|
||||
-- wait_V2
|
||||
walk_V = mexa_MXJ_1_8926_V ;
|
||||
war_N = mkN "gwerra" "gwerrer" ;
|
||||
warm_A = hot_A ;
|
||||
wash_V2 = hasel_HSL_1_8395_V ;
|
||||
walk_V = mkV "mexa" (mkRoot "m-x-j") ;
|
||||
war_N = mkN "gwerra" "gwerrer" ;
|
||||
warm_A = hot_A ;
|
||||
wash_V2 = mkV "ħasel" (mkRoot "ħ-s-l") ;
|
||||
-- watch_V2
|
||||
water_N = mkN "ilma" "ilmijiet" masculine ;
|
||||
wet_A = mkA "mxarrab" "mxarrba" "mxarrbin" ;
|
||||
white_A = mkA "abjad" "bajda" "bojod" ;
|
||||
wide_A = broad_A ;
|
||||
wife_N = mkN "mara" "nisa" ; -- pronSuffix MARTI
|
||||
win_V2 = rebah_RBH_1_9371_V ;
|
||||
wind_N = mkN "riħ" [] [] "rjieħ" "rjiħat" ;
|
||||
window_N = mkN "tieqa" "twieqi" ;
|
||||
wine_N = mkN [] "nbid" [] [] "nbejjed" ;
|
||||
wing_N = mkN "ġewnaħ" "ġwienaħ" ;
|
||||
wipe_V2 = mesah_MSH_1_8881_V ;
|
||||
woman_N = mkN "mara" "nisa" ;
|
||||
water_N = mkN "ilma" "ilmijiet" masculine ;
|
||||
wet_A = mkA "mxarrab" "mxarrba" "mxarrbin" ;
|
||||
white_A = mkA "abjad" "bajda" "bojod" ;
|
||||
wide_A = broad_A ;
|
||||
wife_N = mkN "mara" "nisa" ;
|
||||
win_V2 = mkV "rebaħ" (mkRoot "r-b-ħ") ;
|
||||
wind_N = mkN "riħ" [] [] "rjieħ" "rjiħat" ;
|
||||
window_N = mkN "tieqa" "twieqi" ;
|
||||
wine_N = mkN [] "nbid" [] [] "nbejjed" ;
|
||||
wing_N = mkN "ġewnaħ" "ġwienaħ" ;
|
||||
wipe_V2 = mkV "mesaħ" (mkRoot "m-s-ħ") ;
|
||||
woman_N = mkN "mara" "nisa" ;
|
||||
-- wonder_VQ
|
||||
wood_N = mkN "injam" "injamiet" ;
|
||||
worm_N = mkN "dudu" "dud" [] "dudiet" "dwied" ; -- duda
|
||||
write_V2 = kiteb_KTB_1_8641_V ;
|
||||
year_N = mkN "sena" [] "sentejn" "snin" [] ; -- pronSuffix SNINI (only plural though!)
|
||||
yellow_A = mkA "isfar" "safra" "sofor" ;
|
||||
young_A = small_A ;
|
||||
wood_N = mkN "injam" "injamiet" ;
|
||||
worm_N = mkN "dudu" "dud" [] "dudiet" "dwied" ;
|
||||
write_V2 = mkV "kiteb" (mkRoot "k-t-b") ;
|
||||
year_N = mkN "sena" [] "sentejn" "snin" [] ;
|
||||
yellow_A = mkA "isfar" "safra" "sofor" ;
|
||||
young_A = small_A ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- MorphoMlt.gf: scary morphology operations which need their own elbow space
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri 2009 -- 2013
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
@@ -12,6 +12,17 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
||||
coding=utf8 ;
|
||||
|
||||
|
||||
{- Determiners ---------------------------------------------------------- -}
|
||||
|
||||
oper
|
||||
mkDeterminer : Number -> Str -> Determiner = \n,s -> {
|
||||
s = \\gen => s ;
|
||||
n = Num n ; -- Number -> NumForm
|
||||
clitic = [] ;
|
||||
hasNum = False ;
|
||||
isPron = False ;
|
||||
} ;
|
||||
|
||||
{- Pronoun -------------------------------------------------------------- -}
|
||||
|
||||
oper
|
||||
@@ -19,14 +30,14 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
||||
mkPron = overload {
|
||||
|
||||
-- jiena, inti, huwa
|
||||
mkPron : (_,_,_,_,_,_ : Str) -> Number -> Person -> Gender -> Pronoun =
|
||||
\jien, _i, _ja, _ek, _k, _li, num, pers, gen -> {
|
||||
mkPron : (_,_,_,_ : Str) -> Number -> Person -> Gender -> Pronoun =
|
||||
\jien, _i, _ni, _li, num, pers, gen -> {
|
||||
s = table {
|
||||
Personal => {c1 = jien ; c2 = []} ;
|
||||
Possessive => {c1 = "tiegħ" + _i ; c2 = []} ;
|
||||
Suffixed Acc => {c1 = _ek ; c2 = _k} ; -- rajtek, rak
|
||||
Suffixed Dat => {c1 = _li ; c2 = []} ; -- rajtli
|
||||
Suffixed Gen => {c1 = _i ; c2 = _ja} -- qalbi, idejja
|
||||
Personal => jien ; -- jien
|
||||
Possessive => "tiegħ" + _i ; -- tiegħi
|
||||
Suffixed Acc => _ni ; -- rajtni
|
||||
Suffixed Dat => _li ; -- rajtli
|
||||
Suffixed Gen => _i -- qalbi, idejja
|
||||
} ;
|
||||
a = mkAgr gen num pers ;
|
||||
} ;
|
||||
@@ -35,11 +46,11 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
||||
mkPron : (_,_ : Str) -> Number -> Person -> Gender -> Pronoun =
|
||||
\hi, _ha, num, pers, gen -> {
|
||||
s = table {
|
||||
Personal => {c1 = hi ; c2 = []} ;
|
||||
Possessive => {c1 = "tagħ" + _ha ; c2 = []} ;
|
||||
Suffixed Acc => {c1 = _ha ; c2 = []} ;
|
||||
Suffixed Dat => {c1 = "l"+_ha ; c2 = []} ;
|
||||
Suffixed Gen => {c1 = _ha ; c2 = []}
|
||||
Personal => hi ; -- hi
|
||||
Possessive => "tagħ" + _ha ; -- tagħha
|
||||
Suffixed Acc => _ha ; -- rajtha
|
||||
Suffixed Dat => "l"+_ha ; -- rajtilha
|
||||
Suffixed Gen => _ha -- qalbha
|
||||
} ;
|
||||
a = mkAgr gen num pers ;
|
||||
} ;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
-- NounMlt.gf: noun phrases and nouns
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
|
||||
@@ -9,30 +10,89 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
|
||||
flags
|
||||
optimize=noexpand ;
|
||||
|
||||
oper
|
||||
-- Used in DetCN below
|
||||
chooseNounNumForm : Det -> CN -> Str = \det,n ->
|
||||
let
|
||||
det' = det.s ! n.g ;
|
||||
sing = n.s ! Singular Singulative ;
|
||||
coll = if_then_Str n.hasColl
|
||||
(n.s ! Singular Collective) -- BAQAR
|
||||
(n.s ! Plural Determinate) -- SNIEN
|
||||
;
|
||||
dual = n.s ! Dual ;
|
||||
pdet = n.s ! Plural Determinate ;
|
||||
pind = n.s ! Plural Indeterminate ;
|
||||
in case det.n of {
|
||||
Num Sg => det' ++ sing ; -- BAQRA
|
||||
Num Pl => det' ++ coll ; -- BAQAR (coll) / ħafna SNIEN (pdet)
|
||||
Num0 => det' ++ sing ; -- L-EBDA BAQRA
|
||||
Num1 => det' ++ sing ; -- BAQRA
|
||||
Num2 => if_then_Str n.hasDual
|
||||
dual -- BAQARTEJN
|
||||
(det' ++ pdet) -- ŻEWĠ IRĠIEL
|
||||
;
|
||||
Num3_10 => det' ++ coll ; -- TLETT BAQAR
|
||||
Num11_19 => det' ++ sing ; -- ĦDAX-IL BAQRA
|
||||
Num20_99 => det' ++ sing -- GĦOXRIN BAQRA
|
||||
} ;
|
||||
|
||||
lin
|
||||
-- Det -> CN -> NP
|
||||
DetCN det cn = {
|
||||
s = \\c => det.s ++ cn.s ! numnum2nounnum det.n ;
|
||||
a = case (numnum2nounnum det.n) of {
|
||||
s = \\c => case <det.isPron, cn.takesPron> of {
|
||||
<True,True> => glue (cn.s ! numform2nounnum det.n) det.clitic ;
|
||||
<True,_> => artDef ++ cn.s ! numform2nounnum det.n ++ det.s ! cn.g ;
|
||||
_ => chooseNounNumForm det cn
|
||||
} ;
|
||||
a = case (numform2nounnum det.n) of {
|
||||
Singular _ => mkAgr cn.g Sg P3 ;
|
||||
_ => mkAgr cn.g Pl P3
|
||||
_ => mkAgr cn.g Pl P3
|
||||
} ;
|
||||
isPron = False ;
|
||||
} ;
|
||||
|
||||
-- Quant -> Num -> Det
|
||||
DetQuant quant num = {
|
||||
s = quant.s ! num.hasCard ! num.n ++ num.s ! NumNominative;
|
||||
n = num.n ;
|
||||
hasNum = num.hasCard
|
||||
s = \\gen =>
|
||||
let gennum = case num.n of { Num Sg => GSg gen ; _ => GPl }
|
||||
in case quant.isDemo of {
|
||||
True => quant.s ! gennum ++ artDef ++ num.s ! NumAdj ;
|
||||
False => quant.s ! gennum ++ num.s ! NumAdj
|
||||
} ;
|
||||
n = num.n ;
|
||||
hasNum = num.hasCard ;
|
||||
isPron = quant.isPron ;
|
||||
clitic = quant.clitic ;
|
||||
} ;
|
||||
|
||||
-- Quant -> Num -> Ord -> Det
|
||||
--- Almost an exact copy of DetQuant, consider factoring together
|
||||
DetQuantOrd quant num ord = {
|
||||
s = \\gen =>
|
||||
let gennum = case num.n of { Num Sg => GSg gen ; _ => GPl }
|
||||
in case quant.isDemo of {
|
||||
True => quant.s ! gennum ++ artDef ++ num.s ! NumAdj ++ ord.s ! NumAdj ;
|
||||
False => quant.s ! gennum ++ num.s ! NumAdj ++ ord.s ! NumAdj
|
||||
} ;
|
||||
n = num.n ;
|
||||
hasNum = True ;
|
||||
isPron = quant.isPron ;
|
||||
clitic = quant.clitic ;
|
||||
} ;
|
||||
|
||||
-- Quant
|
||||
DefArt = {
|
||||
s = \\hasCard,n => artDef ;
|
||||
s = \\_ => artDef ;
|
||||
clitic = [] ;
|
||||
isPron = False ;
|
||||
isDemo = False ;
|
||||
} ;
|
||||
IndefArt = {
|
||||
s = \\hasCard,n => artIndef ;
|
||||
s = \\_ => artIndef ;
|
||||
clitic = [] ;
|
||||
isPron = False ;
|
||||
isDemo = False ;
|
||||
} ;
|
||||
|
||||
-- PN -> NP
|
||||
@@ -44,18 +104,40 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in {
|
||||
|
||||
-- Pron -> NP
|
||||
UsePron p = {
|
||||
-- s = \\npcase => (p.s ! Personal).c1 ;
|
||||
s = table {
|
||||
Nom => (p.s ! Personal).c1 ;
|
||||
CPrep => (p.s ! Suffixed Acc).c1
|
||||
Nom => p.s ! Personal ;
|
||||
CPrep => p.s ! Suffixed Acc
|
||||
} ;
|
||||
a = p.a ;
|
||||
isPron = True ;
|
||||
} ;
|
||||
|
||||
-- Pron -> Quant
|
||||
PossPron p = {
|
||||
s = \\_ => p.s ! Possessive ;
|
||||
clitic = p.s ! Suffixed Gen ;
|
||||
isPron = True ;
|
||||
isDemo = False ;
|
||||
} ;
|
||||
|
||||
-- Num
|
||||
NumSg = {s = \\c => []; n = Num_Sg ; hasCard = False} ;
|
||||
NumPl = {s = \\c => []; n = Num_Pl ; hasCard = False} ;
|
||||
NumSg = {s = \\c => []; n = Num Sg ; hasCard = False} ;
|
||||
NumPl = {s = \\c => []; n = Num Pl ; hasCard = False} ;
|
||||
|
||||
-- Card -> Num
|
||||
NumCard n = n ** {hasCard = True} ;
|
||||
|
||||
-- Digits -> Card
|
||||
NumDigits d = {s = d.s ; n = d.n} ;
|
||||
|
||||
-- Digits -> Ord
|
||||
OrdDigits d = {s = d.s} ;
|
||||
|
||||
-- Numeral -> Card
|
||||
NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ;
|
||||
|
||||
-- Numeral -> Ord
|
||||
OrdNumeral numeral = {s = numeral.s ! NOrd} ;
|
||||
|
||||
-- N -> CN
|
||||
UseN n = n ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- NumeralMlt.gf: cardinals and ordinals
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt in {
|
||||
@@ -12,11 +12,6 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
-- Dig, Digits
|
||||
|
||||
{-
|
||||
-- This code taken from examples/numerals/maltese.sty in GF darcs repository, July 2011.
|
||||
-- Original author unknown
|
||||
|
||||
-- ABSTRACT definitions copied from lib/src/abstract/Numeral.gf
|
||||
|
||||
-- Numerals from 1 to 999999 in decimal notation
|
||||
cat
|
||||
Numeral ; -- 0..
|
||||
@@ -46,18 +41,18 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
pot3 : Sub1000 -> Sub1000000 ; -- m * 1000
|
||||
pot3plus : Sub1000 -> Sub1000 -> Sub1000000 ; -- m * 1000 + n
|
||||
-}
|
||||
|
||||
oper
|
||||
--- I have a strong suspicion that these can be better factored, esp wrt thou
|
||||
Form1 = {
|
||||
s : DForm => CardOrd => Num_Case => Str ;
|
||||
--thou : CardOrd => Str ;
|
||||
s : DForm => CardOrd => NumCase => Str ;
|
||||
thou : { s : Str ; treatAs : DForm } ;
|
||||
n : Num_Number ;
|
||||
n : NumForm ;
|
||||
} ;
|
||||
Form2 = {
|
||||
s : CardOrd => Num_Case => Str ;
|
||||
--thou : CardOrd => Str ;
|
||||
s : CardOrd => NumCase => Str ;
|
||||
thou : { s : Str ; treatAs : DForm } ;
|
||||
n : Num_Number ;
|
||||
n : NumForm ;
|
||||
f : DForm ;
|
||||
} ;
|
||||
|
||||
@@ -72,75 +67,74 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
oper
|
||||
|
||||
-- Make a "number" (in this case a Form1)
|
||||
-- Should be moved to ResMlt ?
|
||||
-- Params:
|
||||
-- unit, eg TNEJN
|
||||
-- ordinal unit (without article), eg TIENI
|
||||
-- adjectival, eg ŻEWĠ
|
||||
-- teen, eg TNAX
|
||||
-- ten, eg GĦOXRIN
|
||||
-- number, eg Num_Dl
|
||||
--mkNum : Str -> Str -> Str -> Str -> Str -> Str -> Str -> Num_Number -> Form1 = \unit,ordunit,adjectival,teen,ten,hundred,thousand,num -> {
|
||||
mkNum : Str -> Str -> Str -> Str -> Str -> Num_Number -> Form1 = \unit,ordunit,adjectival,teen,ten,num ->
|
||||
-- number, eg Num2
|
||||
mkNum : Str -> Str -> Str -> Str -> Str -> NumForm -> Form1 = \unit,ordunit,adjectival,teen,ten,num ->
|
||||
let
|
||||
hundred = case num of {
|
||||
Num_Sg => "mija" ;
|
||||
Num_Dl => "mitejn" ;
|
||||
Num1 => "mija" ;
|
||||
Num2 => "mitejn" ;
|
||||
_ => adjectival
|
||||
} ;
|
||||
thousand = case num of {
|
||||
Num_Sg => "wieħed" ;
|
||||
Num_Dl => "elfejn" ;
|
||||
Num1 => "wieħed" ;
|
||||
Num2 => "elfejn" ;
|
||||
_ => case adjectival of {
|
||||
_ + "'" => (init adjectival) + "t" ; -- eg SEBA' -> SEBAT
|
||||
_ + "t" => adjectival ; -- eg SITT -> SITT
|
||||
_ => adjectival + "t" -- eg ĦAMES -> ĦAMEST
|
||||
_ + "'" => (init adjectival) + "t" ; -- SEBA' -> SEBAT
|
||||
_ + "t" => adjectival ; -- SITT -> SITT
|
||||
_ => adjectival + "t" -- ĦAMES -> ĦAMEST
|
||||
}
|
||||
}
|
||||
in {
|
||||
s = table {
|
||||
Unit => table {
|
||||
NCard => table {
|
||||
NumNominative => unit ; -- eg TNEJN
|
||||
NumAdjectival => adjectival -- eg ŻEWĠ
|
||||
NumNom => unit ; -- TNEJN
|
||||
NumAdj => case num of {
|
||||
Num1 => "" ; -- [] baqra
|
||||
_ => adjectival -- ŻEWĠ baqar
|
||||
}
|
||||
} ;
|
||||
NOrd => \\numcase => artDef ++ ordunit -- eg IT-TIENI
|
||||
NOrd => \\numcase => ordunit -- TIENI
|
||||
} ;
|
||||
Teen => table {
|
||||
NCard => table {
|
||||
NumNominative => teen ; -- eg TNAX
|
||||
NumAdjectival => teen + "-il" -- eg TNAX-IL
|
||||
NumNom => teen ; -- TNAX
|
||||
NumAdj => glue teen "-il" -- TNAX-IL
|
||||
} ;
|
||||
NOrd => table {
|
||||
NumNominative => artDef ++ teen ; -- eg IT-TNAX
|
||||
NumAdjectival => artDef ++ (teen + "-il") -- eg IT-TNAX-IL
|
||||
NumNom => teen ; -- TNAX
|
||||
NumAdj => glue teen "-il" -- TNAX-IL
|
||||
}
|
||||
} ;
|
||||
Ten => table {
|
||||
NCard => \\numcase => ten ; -- eg TLETIN
|
||||
NOrd => \\numcase => artDef ++ ten -- eg IT-TLETIN
|
||||
} ;
|
||||
Hund => table {
|
||||
Ten => \\cardord,numcase => ten ; -- TLETIN
|
||||
-- Hund, Thou
|
||||
_ => table {
|
||||
NCard => case num of {
|
||||
Num_Sg => table {
|
||||
NumNominative => "mija" ; -- ie MIJA
|
||||
NumAdjectival => "mitt" -- ie MITT suldat
|
||||
Num1 => table {
|
||||
NumNom => "mija" ; -- MIJA
|
||||
NumAdj => "mitt" -- MITT suldat
|
||||
} ;
|
||||
Num_Dl => \\numcase => hundred ; -- ie MITEJN
|
||||
Num2 => \\numcase => hundred ; -- MITEJN
|
||||
_ => table {
|
||||
NumNominative => hundred ++ "mija" ; -- eg MIJA, SEBA' MIJA
|
||||
NumAdjectival => hundred ++ "mitt" -- eg MITT, SEBA' MITT suldat
|
||||
NumNom => hundred ++ "mija" ; -- MIJA, SEBA' MIJA
|
||||
NumAdj => hundred ++ "mitt" -- MITT, SEBA' MITT suldat
|
||||
}
|
||||
} ;
|
||||
NOrd => case num of {
|
||||
Num_Sg => table {
|
||||
NumNominative => artDef ++ "mija" ; -- ie IL-MIJA
|
||||
NumAdjectival => artDef ++ "mitt" -- ie IL-MITT suldat
|
||||
Num1 => table {
|
||||
NumNom => "mija" ; -- MIJA
|
||||
NumAdj => "mitt" -- MITT suldat
|
||||
} ;
|
||||
Num_Dl => \\numcase => artDef ++ hundred ; -- ie IL-MITEJN, IL-MITEJN suldat
|
||||
Num2 => \\numcase => hundred ; -- MITEJN, MITEJN suldat
|
||||
_ => table {
|
||||
NumNominative => artDef ++ hundred ++ "mija" ; -- eg IS-SEBA' MIJA
|
||||
NumAdjectival => artDef ++ hundred ++ "mitt" -- eg IS-SEBA' MITT suldat
|
||||
NumNom => hundred ++ "mija" ; -- SEBA' MIJA
|
||||
NumAdj => hundred ++ "mitt" -- SEBA' MITT suldat
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -152,62 +146,59 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
|
||||
lin
|
||||
-- Unit Ord.Unit Adjectival Teen Ten Number
|
||||
n2 = mkNum "tnejn" "tieni" "żewġ" "tnax" "għoxrin" Num_Dl ;
|
||||
n3 = mkNum "tlieta" "tielet" "tlett" "tlettax" "tletin" Num_Pl ; -- TODO tlett / tliet ?
|
||||
n4 = mkNum "erbgħa" "raba'" "erba'" "erbatax" "erbgħin" Num_Pl ;
|
||||
n5 = mkNum "ħamsa" "ħames" "ħames" "ħmistax" "ħamsin" Num_Pl ;
|
||||
n6 = mkNum "sitta" "sitt" "sitt" "sittax" "sittin" Num_Pl ;
|
||||
n7 = mkNum "sebgħa" "seba'" "seba'" "sbatax" "sebgħin" Num_Pl ;
|
||||
n8 = mkNum "tmienja" "tmin" "tmin" "tmintax" "tmenin" Num_Pl ;
|
||||
n9 = mkNum "disgħa" "disa'" "disa'" "dsatax" "disgħin" Num_Pl ;
|
||||
n2 = mkNum "tnejn" "tieni" "żewġ" "tnax" "għoxrin" Num2 ;
|
||||
n3 = mkNum "tlieta" "tielet" "tlett" "tlettax" "tletin" Num3_10 ; --- TODO tlett / tliet ?
|
||||
n4 = mkNum "erbgħa" "raba'" "erba'" "erbatax" "erbgħin" Num3_10 ;
|
||||
n5 = mkNum "ħamsa" "ħames" "ħames" "ħmistax" "ħamsin" Num3_10 ;
|
||||
n6 = mkNum "sitta" "sitt" "sitt" "sittax" "sittin" Num3_10 ;
|
||||
n7 = mkNum "sebgħa" "seba'" "seba'" "sbatax" "sebgħin" Num3_10 ;
|
||||
n8 = mkNum "tmienja" "tmin" "tmin" "tmintax" "tmenin" Num3_10 ;
|
||||
n9 = mkNum "disgħa" "disa'" "disa'" "dsatax" "disgħin" Num3_10 ;
|
||||
|
||||
oper
|
||||
-- Helper functions for below
|
||||
mkForm2 : Form2 = overload {
|
||||
|
||||
-- Infer adjectival, thousands
|
||||
mkForm2 : Str -> Str -> DForm -> Form2 = \card,ord,form -> {
|
||||
mkForm2 : Str -> Str -> DForm -> NumForm -> Form2 = \card,ord,dform,numform -> {
|
||||
s = table {
|
||||
NCard => \\numcase => card ;
|
||||
NOrd => \\numcase => ord
|
||||
} ;
|
||||
--thou = card ;
|
||||
thou = { s = card ; treatAs = form } ;
|
||||
n = Num_Pl ;
|
||||
f = form ;
|
||||
thou = { s = card ; treatAs = dform } ;
|
||||
n = numform ;
|
||||
f = dform ;
|
||||
} ;
|
||||
|
||||
-- Explicit everything
|
||||
mkForm2 : Str -> Str -> Str -> Str -> DForm -> Form2 = \card,ord,adj,thousand,form -> {
|
||||
mkForm2 : Str -> Str -> Str -> Str -> DForm -> NumForm -> Form2 = \card,ord,adj,thousand,dform,numform -> {
|
||||
s = table {
|
||||
NCard => table {
|
||||
NumNominative => card ;
|
||||
NumAdjectival => adj
|
||||
NumNom => card ;
|
||||
NumAdj => adj
|
||||
} ;
|
||||
--NOrd => \\numcase => addDefiniteArticle ord
|
||||
NOrd => table {
|
||||
NumNominative => artDef ++ ord ;
|
||||
NumAdjectival => artDef ++ adj
|
||||
NumNom => ord ;
|
||||
NumAdj => adj
|
||||
}
|
||||
} ;
|
||||
--thou = thousand ;
|
||||
thou = { s = thousand ; treatAs = form } ;
|
||||
n = Num_Pl ;
|
||||
f = form ;
|
||||
thou = { s = thousand ; treatAs = dform } ;
|
||||
n = numform ;
|
||||
f = dform ;
|
||||
} ;
|
||||
|
||||
-- Given an existing table
|
||||
mkForm2 : (CardOrd => Num_Case => Str) -> DForm -> Form2 = \tab,form -> {
|
||||
mkForm2 : (CardOrd => NumCase => Str) -> DForm -> NumForm -> Form2 = \tab,dform,numform -> {
|
||||
s = tab ;
|
||||
thou = {
|
||||
s = case form of {
|
||||
Teen => tab ! NCard ! NumAdjectival ;
|
||||
_ => tab ! NCard ! NumNominative
|
||||
s = case dform of {
|
||||
Teen => tab ! NCard ! NumAdj ;
|
||||
_ => tab ! NCard ! NumNom
|
||||
} ;
|
||||
treatAs = form ;
|
||||
treatAs = dform ;
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
f = form ;
|
||||
n = numform ;
|
||||
f = dform ;
|
||||
} ;
|
||||
|
||||
}; -- end of mkForm2 overload
|
||||
@@ -219,39 +210,18 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
|
||||
-- Sub10 ; 1
|
||||
-- Unit Ord.Unit Adjectival Teen Ten Number
|
||||
pot01 = mkNum "wieħed" "ewwel" "wieħed" [] [] Num_Sg ;
|
||||
pot01 = mkNum "wieħed" "ewwel" "wieħed" [] [] Num1 ;
|
||||
|
||||
-- Digit -> Sub10 ; d * 1
|
||||
pot0 d = d ** {n = case d.n of { Num_Dl => Num_Dl ; _ => Num_Pl } } ;
|
||||
pot0 d = d ** {n = case d.n of { Num2 => Num2 ; _ => Num3_10 }} ;
|
||||
|
||||
-- Sub100 ; 10, 11
|
||||
-- Cardinal Ordinal Adjectival Thousand Form
|
||||
pot110 = mkForm2 "għaxra" "għaxar" "għaxar" "għaxart" Unit ;
|
||||
pot111 = mkForm2 "ħdax" "ħdax" "ħdax-il" "ħdax-il" Teen ;
|
||||
{-
|
||||
pot110 = {
|
||||
s = table {
|
||||
NCard => table {
|
||||
NumNominative => "għaxra" ;
|
||||
NumAdjectival => "għaxar"
|
||||
} ;
|
||||
NOrd => \\numcase => addDefiniteArticle "għaxar"
|
||||
} ;
|
||||
thou = table {
|
||||
NCard => "għaxart" ;
|
||||
NOrd => addDefiniteArticle "għaxart"
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
f = Ten ;
|
||||
} ;
|
||||
-}
|
||||
pot110 = mkForm2 "għaxra" "għaxar" "għaxar" "għaxart" Unit Num3_10 ;
|
||||
pot111 = mkForm2 "ħdax" "ħdax" (glue "ħdax" "-il") (glue "ħdax" "-il") Teen Num11_19 ;
|
||||
|
||||
-- Digit -> Sub100 ; 10 + d
|
||||
pot1to19 d =
|
||||
mkForm2
|
||||
(d.s ! Teen)
|
||||
Teen
|
||||
;
|
||||
pot1to19 d = mkForm2 (d.s ! Teen) Teen Num11_19 ;
|
||||
|
||||
-- Sub10 -> Sub100 ; coercion of 1..9
|
||||
pot0as1 d = {
|
||||
@@ -263,18 +233,27 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
|
||||
-- Digit -> Sub100 ; d * 10
|
||||
pot1 d =
|
||||
mkForm2
|
||||
(d.s ! Ten)
|
||||
Ten
|
||||
;
|
||||
let
|
||||
numform : NumForm = case d.n of {
|
||||
Num1 => Num3_10 ;
|
||||
_ => Num20_99
|
||||
}
|
||||
in mkForm2 (d.s ! Ten) Ten numform ;
|
||||
|
||||
-- Digit -> Sub10 -> Sub100 ; d * 10 + n
|
||||
pot1plus d n =
|
||||
let unit = (n.s ! Unit ! NCard ! NumNominative) in
|
||||
let
|
||||
unit = (n.s ! Unit ! NCard ! NumNom) ;
|
||||
numform : NumForm = case d.n of {
|
||||
Num1 => Num11_19 ;
|
||||
_ => Num20_99
|
||||
}
|
||||
in
|
||||
mkForm2
|
||||
(unit ++ "u" ++ (d.s ! Ten ! NCard ! NumNominative))
|
||||
(artDef ++ unit ++ "u" ++ (d.s ! Ten ! NCard ! NumNominative))
|
||||
(unit ++ "u" ++ (d.s ! Ten ! NCard ! NumNom))
|
||||
(unit ++ "u" ++ (d.s ! Ten ! NCard ! NumNom))
|
||||
Ten
|
||||
numform
|
||||
;
|
||||
|
||||
-- Sub100 -> Sub1000 ; coercion of 1..99
|
||||
@@ -285,39 +264,33 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
s = m.s ! Hund ;
|
||||
thou = {
|
||||
s = case m.n of {
|
||||
Num_Sg => "mitt" ; -- Special case for "mitt elf"
|
||||
Num_Dl => "mitejn" ; -- Special case for "mitejn elf"
|
||||
Num1 => "mitt" ; -- Special case for "mitt elf"
|
||||
Num2 => "mitejn" ; -- Special case for "mitejn elf"
|
||||
_ => m.thou.s
|
||||
} ;
|
||||
treatAs = Hund ;
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
n = Num0 ;
|
||||
f = Hund ;
|
||||
} ;
|
||||
|
||||
-- Sub10 -> Sub100 -> Sub1000 ; m * 100 + n
|
||||
pot2plus m n =
|
||||
let
|
||||
hund : Str = m.s ! Hund ! NCard ! NumNominative
|
||||
hund : Str = m.s ! Hund ! NCard ! NumNom ;
|
||||
in {
|
||||
s = table {
|
||||
NCard => table {
|
||||
NumNominative => hund ++ "u" ++ n.s ! NCard ! NumNominative ;
|
||||
NumAdjectival => hund ++ "u" ++ n.s ! NCard ! NumAdjectival
|
||||
s = \\cardord,numcase => case n.n of {
|
||||
Num1 => hund ++ "u" ;
|
||||
_ => hund ++ "u" ++ n.s ! NCard ! numcase
|
||||
} ;
|
||||
NOrd => table {
|
||||
NumNominative => artDef ++ hund ++ "u" ++ n.s ! NCard ! NumNominative ;
|
||||
NumAdjectival => artDef ++ hund ++ "u" ++ n.s ! NCard ! NumAdjectival
|
||||
}
|
||||
} ;
|
||||
thou = {
|
||||
s = hund ++ "u" ++ n.thou.s ;
|
||||
treatAs = case n.n of {
|
||||
Num_Sg => Ten ; -- specific case for mija u wiehed elf
|
||||
_ => n.f -- eg So that "106,000" is treated as "6,000"
|
||||
Num1 => Ten ; -- specific case for mija u wiehed elf
|
||||
_ => n.f -- So that "106,000" is treated as "6,000"
|
||||
} ;
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
n = case n.n of { Num2 => Num3_10 ; _ => n.n } ;
|
||||
f = Hund ;
|
||||
} ;
|
||||
|
||||
@@ -328,27 +301,17 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
pot3 m = {
|
||||
s =
|
||||
case <m.n, m.thou.treatAs> of {
|
||||
<Num_Sg ,_> => numTable "elf" ; -- 1 * 1000
|
||||
<Num_Dl,_> => numTable "elfejn" ; -- 2 * 2000
|
||||
<Num_Pl ,Unit> => numTable m.thou.s "elef" ; -- 3-10 * 1000
|
||||
<Num_Pl ,_> => numTable m.thou.s "elf" -- 11+ * 1000
|
||||
<Num1,_> => numTable "elf" ; -- 1 * 1000
|
||||
<Num2,_> => numTable "elfejn" ; -- 2 * 1000
|
||||
<_,Unit> => numTable m.thou.s "elef" ; -- 3-10 * 1000
|
||||
<_,_> => numTable m.thou.s "elf" -- 11+ * 1000
|
||||
} ;
|
||||
{-
|
||||
case m.f of {
|
||||
Unit => numTable m.thou "elef" ; --
|
||||
_ => case m.n of {
|
||||
Num_Sg => numTable "elf" ; --
|
||||
Num_Dl => numTable "elfejn" ; --
|
||||
Num_Pl => numTable m.thou "elf" --
|
||||
}
|
||||
} ;
|
||||
-}
|
||||
thou = {
|
||||
s = m.thou.s ;
|
||||
treatAs = m.f ;
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
f = Hund ; -- NOT IMPORTANT
|
||||
n = Num0 ;
|
||||
f = Thou ; -- NOT IMPORTANT
|
||||
} ;
|
||||
|
||||
-- Sub1000 -> Sub1000 -> Sub1000000 ; m * 1000 + n
|
||||
@@ -356,70 +319,37 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
s =
|
||||
let
|
||||
ukemm = table {
|
||||
NumNominative => "u" ++ (n.s ! NCard ! NumNominative) ;
|
||||
NumAdjectival => "u" ++ (n.s ! NCard ! NumAdjectival)
|
||||
NumNom => "u" ++ (n.s ! NCard ! NumNom) ;
|
||||
NumAdj => "u" ++ (n.s ! NCard ! NumAdj)
|
||||
}
|
||||
in
|
||||
case <m.n, m.thou.treatAs> of {
|
||||
<Num_Sg ,_> => numTable "elf" ukemm ;
|
||||
<Num_Dl,_> => numTable "elfejn" ukemm ;
|
||||
<Num_Pl ,Unit> => numTable (m.thou.s ++ "elef") ukemm ;
|
||||
<Num_Pl ,_> => numTable (m.thou.s ++ "elf") ukemm
|
||||
<Num1,_> => numTable "elf" ukemm ;
|
||||
<Num2,_> => numTable "elfejn" ukemm ;
|
||||
<_,Unit> => numTable (m.thou.s ++ "elef") ukemm ;
|
||||
<_,_> => numTable (m.thou.s ++ "elf") ukemm
|
||||
} ;
|
||||
{-
|
||||
Num_Sg => elf2 "elf" ukemm ;
|
||||
Num_Dl => elf2 "elfejn" ukemm ;
|
||||
Num_Pl => case m.f of {
|
||||
Unit => elf2 m.thou ("elef" ++ ukemm) ;
|
||||
_ => elf2 m.thou ("elf" ++ ukemm)
|
||||
}
|
||||
-}
|
||||
thou = {
|
||||
s = m.thou.s ;
|
||||
treatAs = m.f ;
|
||||
} ;
|
||||
n = Num_Pl ;
|
||||
n = case n.n of { Num2 => Num3_10 ; _ => n.n } ;
|
||||
f = Hund ; -- NOT IMPORTANT
|
||||
} ;
|
||||
|
||||
oper
|
||||
-- Build "x thousand" table
|
||||
numTable : (CardOrd => Num_Case => Str) = overload {
|
||||
numTable : (CardOrd => NumCase => Str) = overload {
|
||||
|
||||
numTable : Str -> (CardOrd => Num_Case => Str) = \thou -> table {
|
||||
NCard => \\numcase => thou ;
|
||||
NOrd => \\numcase => artDef ++ thou
|
||||
} ;
|
||||
numTable : Str -> (CardOrd => NumCase => Str) = \thou ->
|
||||
\\cardord,numcase => thou ;
|
||||
|
||||
numTable : Str -> Str -> (CardOrd => Num_Case => Str) = \thou,attach -> table {
|
||||
NCard => \\numcase => thou ++ attach ;
|
||||
NOrd => \\numcase => artDef ++ thou ++ attach
|
||||
} ;
|
||||
|
||||
numTable : Str -> (Num_Case => Str) -> (CardOrd => Num_Case => Str) = \thou,attach -> table {
|
||||
NCard => table {
|
||||
NumNominative => thou ++ (attach ! NumNominative) ;
|
||||
NumAdjectival => thou ++ (attach ! NumAdjectival)
|
||||
} ;
|
||||
NOrd => table {
|
||||
NumNominative => artDef ++ thou ++ (attach ! NumNominative) ;
|
||||
NumAdjectival => artDef ++ thou ++ (attach ! NumAdjectival)
|
||||
}
|
||||
} ;
|
||||
numTable : Str -> Str -> (CardOrd => NumCase => Str) = \thou,attach ->
|
||||
\\cardord,numcase => thou ++ attach ;
|
||||
|
||||
numTable : Str -> (NumCase => Str) -> (CardOrd => NumCase => Str) = \thou,attach ->
|
||||
\\cardord,numcase => thou ++ (attach ! numcase) ;
|
||||
} ;
|
||||
{-
|
||||
-- elf : (CardOrd => Str) = overload {
|
||||
elf : Str -> (CardOrd => Num_Case => Str) = \m -> table {
|
||||
NCard => \\numcase => m ;
|
||||
NOrd => \\numcase => addDefiniteArticle m
|
||||
} ;
|
||||
elf2 : Str -> Str -> (CardOrd => Num_Case => Str) = \m,n -> table {
|
||||
NCard => \\numcase => m ++ n ;
|
||||
NOrd => \\numcase => (addDefiniteArticle m) ++ n
|
||||
} ;
|
||||
-}
|
||||
-- } ;
|
||||
|
||||
{-
|
||||
Numerals as sequences of digits have a separate, simpler grammar
|
||||
@@ -438,22 +368,17 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
lincat
|
||||
|
||||
Dig = {
|
||||
s : Str ;
|
||||
n : Num_Number
|
||||
s : NumCase => Str ;
|
||||
n : NumForm ;
|
||||
-- i : Int ; -- internal counter
|
||||
} ;
|
||||
|
||||
oper
|
||||
-- Helper for making a Dig object. Specifying no number inplies plural.
|
||||
mkDig : Dig = overload {
|
||||
mkDig : Str -> Dig = \digit -> lin Dig {
|
||||
s = digit ;
|
||||
n = Num_Pl
|
||||
-- Helper for making a Dig object.
|
||||
mkDig : Str -> NumForm -> Dig = \digit,num -> lin Dig {
|
||||
s = \\numcase => digit ;
|
||||
n = num
|
||||
} ;
|
||||
mkDig : Str -> Num_Number -> Dig = \digit,num -> lin Dig {
|
||||
s = digit ;
|
||||
n = num
|
||||
} ;
|
||||
} ;
|
||||
|
||||
-- For correct comma placement in Digits
|
||||
commaIf : DTail -> Str = \t -> case t of {
|
||||
@@ -467,25 +392,46 @@ concrete NumeralMlt of Numeral = CatMlt [Numeral,Digits] ** open Prelude,ResMlt
|
||||
} ;
|
||||
|
||||
lin
|
||||
D_0 = mkDig "0" ;
|
||||
D_1 = mkDig "1" Num_Sg ;
|
||||
D_2 = mkDig "2" Num_Dl ;
|
||||
D_3 = mkDig "3" ;
|
||||
D_4 = mkDig "4" ;
|
||||
D_5 = mkDig "5" ;
|
||||
D_6 = mkDig "6" ;
|
||||
D_7 = mkDig "7" ;
|
||||
D_8 = mkDig "8" ;
|
||||
D_9 = mkDig "9" ;
|
||||
-- Dig
|
||||
D_0 = mkDig "0" Num0 ;
|
||||
D_1 = mkDig "1" Num1 ;
|
||||
D_2 = mkDig "2" Num2 ;
|
||||
D_3 = mkDig "3" Num3_10 ;
|
||||
D_4 = mkDig "4" Num3_10 ;
|
||||
D_5 = mkDig "5" Num3_10 ;
|
||||
D_6 = mkDig "6" Num3_10 ;
|
||||
D_7 = mkDig "7" Num3_10 ;
|
||||
D_8 = mkDig "8" Num3_10 ;
|
||||
D_9 = mkDig "9" Num3_10 ;
|
||||
|
||||
-- Create Digits from a Dig
|
||||
-- Dig -> Digits
|
||||
IDig d = d ** {tail = T1} ;
|
||||
|
||||
-- Create Digits from combining Dig with Digits
|
||||
IIDig d i = {
|
||||
s = d.s ++ (commaIf i.tail) ++ i.s ;
|
||||
n = Num_Pl ;
|
||||
tail = inc i.tail
|
||||
} ;
|
||||
-- Dig -> Digits -> Digits
|
||||
IIDig d i =
|
||||
let
|
||||
digits = d.s ! NumNom ++ (commaIf i.tail) ++ i.s ! NumNom;
|
||||
numform = case <d.n,i.n> of {
|
||||
<Num0,num> => num ; -- 0 x
|
||||
<Num1,Num0> => Num3_10 ; -- 1 0
|
||||
<Num1,_> => Num11_19 ; -- 1 1
|
||||
<Num2,_> => Num20_99 ; -- 2 x
|
||||
<Num3_10,_> => Num20_99 ; -- [3-9] x
|
||||
<Num20_99,_> => Num20_99 ;
|
||||
<_,_> => Num20_99 --- how to handle overwrap? see i:Int in lincat Dig above
|
||||
} ;
|
||||
in {
|
||||
s = table {
|
||||
NumNom => digits ;
|
||||
NumAdj => case numform of {
|
||||
Num11_19 => glue digits "-il" ;
|
||||
_ => digits
|
||||
}
|
||||
} ;
|
||||
n = numform ;
|
||||
tail = inc i.tail
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
-- ParadigmsMlt.gf: morphological paradigms
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:../abstract:../../prelude:../common
|
||||
@@ -110,7 +111,6 @@ resource ParadigmsMlt = open
|
||||
mkN : Str -> Str -> Gender -> N = \sing,plural,gender ->
|
||||
mk5N sing [] [] plural [] gender ;
|
||||
|
||||
|
||||
-- Takes all 5 forms, inferring gender
|
||||
-- Params:
|
||||
-- Singulative, eg KOXXA
|
||||
@@ -184,14 +184,38 @@ resource ParadigmsMlt = open
|
||||
|
||||
-- Build a noun using 5 forms, and a gender
|
||||
mk5N : (_,_,_,_,_ : Str) -> Gender -> N ;
|
||||
mk5N = \sing,coll,dual,det,ind,gen -> lin N (mkNoun sing coll dual det ind gen) ;
|
||||
mk5N = \sing,coll,dual,det,ind,gen -> lin N (
|
||||
mkNoun sing coll dual det ind gen
|
||||
) ;
|
||||
|
||||
-- Make a proper noun
|
||||
-- Proper noun
|
||||
mkPN : Str -> Gender -> Number -> ProperNoun = \name,g,n -> {
|
||||
s = name ;
|
||||
a = mkAgr g n P3 ;
|
||||
} ;
|
||||
|
||||
mkN2 = overload {
|
||||
mkN2 : N -> Prep -> N2 = prepN2 ;
|
||||
mkN2 : N -> Str -> N2 = \n,s -> prepN2 n (mkPrep s);
|
||||
-- mkN2 : Str -> Str -> N2 = \n,s -> prepN2 (regN n) (mkPrep s);
|
||||
mkN2 : N -> N2 = \n -> prepN2 n (mkPrep "ta'") ;
|
||||
-- mkN2 : Str -> N2 = \s -> prepN2 (regN s) (mkPrep "ta'")
|
||||
} ;
|
||||
|
||||
prepN2 : N -> Prep -> N2 ;
|
||||
prepN2 = \n,p -> lin N2 (n ** {c2 = p.s}) ;
|
||||
|
||||
-- Mark a noun as taking possessive enclitic pronouns
|
||||
possN : N -> N ;
|
||||
-- possN = \n -> n ** { takesPron = True } ;
|
||||
possN = \n -> lin N {
|
||||
s = n.s ;
|
||||
g = n.g ;
|
||||
hasColl = n.hasColl ;
|
||||
hasDual = n.hasDual ;
|
||||
takesPron = True ;
|
||||
} ;
|
||||
|
||||
{-
|
||||
-- Correctly abbreviate definite prepositions and join with noun
|
||||
-- Params:
|
||||
@@ -254,21 +278,12 @@ resource ParadigmsMlt = open
|
||||
|
||||
});
|
||||
|
||||
mkN2 = overload {
|
||||
mkN2 : N -> Prep -> N2 = prepN2 ;
|
||||
mkN2 : N -> Str -> N2 = \n,s -> prepN2 n (mkPrep s);
|
||||
-- mkN2 : Str -> Str -> N2 = \n,s -> prepN2 (regN n) (mkPrep s);
|
||||
mkN2 : N -> N2 = \n -> prepN2 n (mkPrep "ta'") ;
|
||||
-- mkN2 : Str -> N2 = \s -> prepN2 (regN s) (mkPrep "ta'")
|
||||
} ;
|
||||
|
||||
prepN2 : N -> Prep -> N2 ;
|
||||
prepN2 = \n,p -> lin N2 (n ** {c2 = p.s}) ;
|
||||
{- Prepositions ------------------------------------------------------- -}
|
||||
|
||||
mkPrep : Str -> Prep ; -- e.g. "in front of"
|
||||
noPrep : Prep ; -- no preposition
|
||||
|
||||
mkPrep p = lin Prep (ss p) ;
|
||||
|
||||
noPrep : Prep ; -- no preposition
|
||||
noPrep = mkPrep [] ;
|
||||
|
||||
|
||||
@@ -1043,4 +1058,18 @@ resource ParadigmsMlt = open
|
||||
_ => (init fem) + "i" -- BRAVA
|
||||
} ;
|
||||
|
||||
|
||||
{- Quantitifer paradigms ---------------------------------------------- -}
|
||||
|
||||
mkQuant : (dak, dik, dawk : Str) -> Bool -> Quant = \dak,dik,dawk,isdemo -> lin Quant {
|
||||
s = table {
|
||||
GSg Masc => dak ;
|
||||
GSg Fem => dik ;
|
||||
GPl => dawk
|
||||
} ;
|
||||
clitic = [] ;
|
||||
isPron = False ;
|
||||
isDemo = isdemo ;
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
resource PatternsMlt = {
|
||||
flags coding=utf8 ;
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
-- PhraseMlt.gf: suprasentential phrases
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete PhraseMlt of Phrase = CatMlt ** open ParamX, Prelude, ResMlt in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- QuestionMlt.gf: questions and interrogatives
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete QuestionMlt of Question = CatMlt ** open ResMlt, ParamX, Prelude in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- RelativeMlt.gf: relational clauses and pronouns
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete RelativeMlt of Relative = CatMlt ** open ResMlt in {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- ResMlt.gf: Language-specific parameter types, morphology, VP formation
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri 2009 -- 2013
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
@@ -68,26 +68,65 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
|
||||
CardOrd = NCard | NOrd ;
|
||||
|
||||
-- Order of magnitude
|
||||
DForm =
|
||||
Unit -- 0..10
|
||||
| Teen -- 11-19
|
||||
--| TeenIl -- 11-19
|
||||
| Ten -- 20-99
|
||||
| Hund -- 100..999
|
||||
--| Thou -- 1000+
|
||||
Unit -- 0..10
|
||||
| Teen -- 11..19
|
||||
| Ten -- 20..99
|
||||
| Hund -- 100..999
|
||||
| Thou -- 1000+
|
||||
;
|
||||
|
||||
Num_Number =
|
||||
Num_Sg
|
||||
| Num_Dl
|
||||
| Num_Pl
|
||||
-- Indicate how a corresponding object should be treated
|
||||
--- Overlap between Num Sg and Num1, but leaving as is for now
|
||||
NumForm =
|
||||
Num Number -- Sg | Pl
|
||||
| Num0 -- 0 (l-edba SIEGĦA)
|
||||
| Num1 -- 1, 101... (SIEGĦA, mija u SIEGĦA)
|
||||
| Num2 -- 2 (SAGĦTEJN)
|
||||
| Num3_10 -- 3..10, 102, 103... (tlett SIEGĦAT, għaxar SIEGĦAT, mija u żewġ SIEGĦAT, mija u tlett SIEGĦAT)
|
||||
| Num11_19 -- 11..19, 111... (ħdax-il SIEGĦA, mija u dsatax-il SIEGĦA)
|
||||
| Num20_99 -- 20..99, 120... (għoxrin SIEGĦA, disa' u disgħajn SIEGĦA)
|
||||
;
|
||||
|
||||
Num_Case =
|
||||
NumNominative -- TNEJN, ĦAMSA, TNAX, MIJA
|
||||
| NumAdjectival -- ŻEWĠ, ĦAMES, TNAX-IL, MITT
|
||||
NumCase =
|
||||
NumNom -- "Type B" in {MDG, 133}, e.g. TNEJN, ĦAMSA, TNAX, MIJA
|
||||
| NumAdj -- "Type A" in {MDG, 133}, e.g. ŻEWĠ, ĦAMES, TNAX-IL, MITT
|
||||
;
|
||||
|
||||
{- Determiners etc. ----------------------------------------------------- -}
|
||||
|
||||
oper
|
||||
-- [AZ]
|
||||
Determiner : Type = {
|
||||
s : Gender => Str ;
|
||||
n : NumForm ;
|
||||
clitic : Str ;
|
||||
hasNum : Bool ;
|
||||
isPron : Bool ;
|
||||
} ;
|
||||
-- Determiner = {
|
||||
-- s : NPCase => Gender => NumCase => Str ;
|
||||
-- s2 : NPCase => Gender => Str ; -- tieghi (possessive pronoun)
|
||||
-- -- size : Num_Size ; -- One (agreement feature for noun)
|
||||
-- isNum : Bool ; -- True (a numeral is present)
|
||||
-- isDemo : Bool ; -- True (is a demostrative)
|
||||
-- isDefn : Bool ;-- True (is definite)
|
||||
-- } ;
|
||||
|
||||
-- [AZ]
|
||||
Quantifier : Type = {
|
||||
s : GenNum => Str ;
|
||||
clitic : Str ;
|
||||
isPron : Bool ;
|
||||
isDemo : Bool ; -- Demonstrative (this/that/those/these)
|
||||
} ;
|
||||
-- Quantifier = {
|
||||
-- s : NPCase => Gender => NumForm => Str ;
|
||||
-- s2 : NPCase => Gender => NumForm => Str ;
|
||||
-- isDemo : Bool ; -- Demonstrative (this/that/those/these)
|
||||
-- isDefn : Bool ;
|
||||
-- } ;
|
||||
|
||||
{- Nouns ---------------------------------------------------------------- -}
|
||||
|
||||
@@ -95,6 +134,9 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
Noun : Type = {
|
||||
s : Noun_Number => Str ;
|
||||
g : Gender ;
|
||||
hasColl : Bool ; -- has a collective form? e.g. BAQAR
|
||||
hasDual : Bool ; -- has a dual form? e.g. SAGĦTEJN
|
||||
takesPron : Bool ; -- takes enclitic pronon? e.g. MISSIERI
|
||||
-- anim : Animacy ; -- is the noun animate? e.g. TABIB
|
||||
} ;
|
||||
|
||||
@@ -127,9 +169,9 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
{- Pronoun -------------------------------------------------------------- -}
|
||||
|
||||
oper
|
||||
-- [AZ]
|
||||
Pronoun = {
|
||||
s : PronForm => {c1, c2: Str} ;
|
||||
-- s : PronForm => {c1, c2: Str} ;
|
||||
s : PronForm => Str ; -- cases like omm-i / hi-ja are handled elsewhere
|
||||
a : Agr ;
|
||||
} ;
|
||||
|
||||
@@ -447,13 +489,18 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
|
||||
{- ~~~ Conversions ~~~ -}
|
||||
|
||||
numnum2nounnum : Num_Number -> Noun_Number = \n ->
|
||||
numform2nounnum : NumForm -> Noun_Number = \n ->
|
||||
case n of {
|
||||
Num_Sg => Singular Singulative ;
|
||||
_ => Plural Determinate
|
||||
Num Sg => Singular Singulative ;
|
||||
Num Pl => Plural Indeterminate ;
|
||||
Num0 => Singular Singulative ;
|
||||
Num1 => Singular Singulative ;
|
||||
Num2 => Dual ;
|
||||
Num3_10 => Singular Collective ;
|
||||
Num11_19 => Singular Singulative ;
|
||||
Num20_99 => Plural Indeterminate
|
||||
} ;
|
||||
|
||||
|
||||
{- ~~~ Useful helper functions ~~~ -}
|
||||
|
||||
-- Non-existant form
|
||||
@@ -588,24 +635,11 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
_ => [] -- ?
|
||||
} ;
|
||||
|
||||
artIndef : Str =
|
||||
pre {
|
||||
"lill-" ;
|
||||
"lil" / strs { "a" ; "e" ; "i" ; "o" ; "u" ; "h" ; "għ" } ;
|
||||
"liċ-" ++ BIND / strs { "ċ" } ;
|
||||
"lid-" ++ BIND / strs { "d" } ;
|
||||
"lin-" ++ BIND / strs { "n" } ;
|
||||
"lir-" ++ BIND / strs { "r" } ;
|
||||
"lis-" ++ BIND / strs { "s" } ;
|
||||
"lit-" ++ BIND / strs { "t" } ;
|
||||
"lix-" ++ BIND / strs { "x" } ;
|
||||
"liż-" ++ BIND / strs { "ż" } ;
|
||||
"liz-" ++ BIND / strs { "z" }
|
||||
} ;
|
||||
artIndef : Str = "" ;
|
||||
|
||||
artDef : Str =
|
||||
pre {
|
||||
"il-" ;
|
||||
"il- &+" ; --- ugly hack! but won't let me use ++
|
||||
"l-" ++ BIND / strs { "a" ; "e" ; "i" ; "o" ; "u" ; "h" ; "għ" } ;
|
||||
"iċ-" ++ BIND / strs { "ċ" } ;
|
||||
"id-" ++ BIND / strs { "d" } ;
|
||||
@@ -637,6 +671,9 @@ resource ResMlt = ParamX ** open Prelude, Predef in {
|
||||
Plural Indeterminate => ind
|
||||
} ;
|
||||
g = gen ;
|
||||
takesPron = False ;
|
||||
hasDual = notB (isNil dual) ;
|
||||
hasColl = notB (isNil coll) ;
|
||||
-- anim = Inanimate ;
|
||||
} ;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
-- SentenceMlt.gf: clauses and sentences
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:abstract:common:prelude
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- StructuralMlt.gf: lexicon of structural words
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri 2009 -- 2013
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete StructuralMlt of Structural = CatMlt **
|
||||
@@ -15,21 +15,42 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
|
||||
{- Pronoun -------------------------------------------------------------- -}
|
||||
|
||||
he_Pron = mkPron "hu" "u" "h" "u" "h" "lu" singular P3 masculine ; --- also HUWA
|
||||
i_Pron = mkPron "jien" "i" "ja" "ni" [] "li" singular P1 masculine ; --- also JIENA
|
||||
-- it_Pron = mkPron "it" "it" "its" "its" singular P3 nonhuman ;
|
||||
she_Pron = mkPron "hi" "ha" singular P3 feminine ; --- also HIJA
|
||||
they_Pron = mkPron "huma" "hom" plural P3 masculine ;
|
||||
we_Pron = mkPron "aħna" "na" plural P1 masculine ;
|
||||
youSg_Pron = mkPron "int" "ek" "ok" "ek" "k" "lek" singular P2 masculine ; -- also INTI
|
||||
youPl_Pron = mkPron "intom" "kom" plural P2 masculine ;
|
||||
i_Pron = mkPron "jien" "i" "ni" "li" singular P1 masculine ; --- also JIENA
|
||||
youSg_Pron = mkPron "int" "ek" "ek" "lek" singular P2 masculine ; --- also INTI
|
||||
he_Pron = mkPron "hu" "u" "u" "lu" singular P3 masculine ; --- also HUWA
|
||||
she_Pron = mkPron "hi" "ha" singular P3 feminine ; --- also HIJA
|
||||
we_Pron = mkPron "aħna" "na" plural P1 masculine ;
|
||||
youPl_Pron = mkPron "intom" "kom" plural P2 masculine ;
|
||||
they_Pron = mkPron "huma" "hom" plural P3 masculine ;
|
||||
youPol_Pron = youSg_Pron ;
|
||||
-- it_Pron = mkPron "it" "it" "its" "its" singular P3 nonhuman ;
|
||||
|
||||
{- Determiner ----------------------------------------------------------- -}
|
||||
|
||||
all_Predet = ss "kollha" ;
|
||||
-- every_Det = mkDeterminerSpec singular "every" "everyone" False ;
|
||||
few_Det = mkDeterminer plural "ftit" ;
|
||||
many_Det = mkDeterminer plural "ħafna" ; -- bosta
|
||||
-- most_Predet = ss "most" ;
|
||||
-- much_Det = mkDeterminer singular "much" ;
|
||||
only_Predet = ss "biss" ;
|
||||
someSg_Det = mkDeterminer singular "xi" ;
|
||||
somePl_Det = mkDeterminer plural "xi" ;
|
||||
-- not_predet = {s = "not" ; lock_Predet = <>} ;
|
||||
|
||||
{- Quantifier ----------------------------------------------------------- -}
|
||||
|
||||
that_Quant = mkQuant "dak" "dik" "dawk" True ;
|
||||
this_Quant = mkQuant "dan" "din" "dawn" True ;
|
||||
no_Quant = let l_ebda = artDef ++ "ebda" in
|
||||
mkQuant l_ebda l_ebda l_ebda False ;
|
||||
|
||||
-- which_IQuant = {s = \\_ => "which"} ;
|
||||
|
||||
{- Others --------------------------------------------------------------- -}
|
||||
|
||||
-- above_Prep = mkPrep "above" ;
|
||||
-- after_Prep = mkPrep "after" ;
|
||||
-- all_Predet = ss "all" ;
|
||||
-- almost_AdA = mkAdA "almost" ;
|
||||
-- almost_AdN = mkAdN "almost" ;
|
||||
-- although_Subj = ss "although" ;
|
||||
@@ -58,10 +79,8 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- during_Prep = mkPrep "during" ;
|
||||
-- either7or_DConj = mkConj "either" "or" singular ;
|
||||
-- everybody_NP = regNP "everybody" singular ;
|
||||
-- every_Det = mkDeterminerSpec singular "every" "everyone" False ;
|
||||
-- everything_NP = regNP "everything" singular ;
|
||||
-- everywhere_Adv = mkAdv "everywhere" ;
|
||||
-- few_Det = mkDeterminer plural "few" ;
|
||||
-- for_Prep = mkPrep "for" ;
|
||||
-- from_Prep = mkPrep "from" ;
|
||||
-- here_Adv = mkAdv "here" ;
|
||||
@@ -74,10 +93,8 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- in8front_Prep = mkPrep ["in front of"] ;
|
||||
-- in_Prep = mkPrep "in" ;
|
||||
-- less_CAdv = C.mkCAdv "less" "than" ;
|
||||
-- many_Det = mkDeterminer plural "many" ;
|
||||
-- more_CAdv = C.mkCAdv "more" "than" ;
|
||||
-- most_Predet = ss "most" ;
|
||||
-- much_Det = mkDeterminer singular "much" ;
|
||||
-- must_VV = {
|
||||
-- s = table {
|
||||
-- VVF VInf => ["have to"] ;
|
||||
@@ -92,7 +109,6 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- } ;
|
||||
-- no_Utt = ss "no" ;
|
||||
-- on_Prep = mkPrep "on" ;
|
||||
-- only_Predet = ss "only" ;
|
||||
-- or_Conj = mkConj "or" singular ;
|
||||
-- otherwise_PConj = ss "otherwise" ;
|
||||
-- part_Prep = mkPrep "of" ;
|
||||
@@ -101,16 +117,12 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- quite_Adv = mkAdv "quite" ;
|
||||
-- so_AdA = mkAdA "so" ;
|
||||
-- somebody_NP = regNP "somebody" singular ;
|
||||
-- someSg_Det = mkDeterminer singular "some" ;
|
||||
-- somePl_Det = mkDeterminer plural "some" ;
|
||||
-- something_NP = regNP "something" singular ;
|
||||
-- somewhere_Adv = mkAdv "somewhere" ;
|
||||
-- that_Quant = mkQuant "that" "those" ;
|
||||
-- there_Adv = mkAdv "there" ;
|
||||
-- there7to_Adv = mkAdv "there" ;
|
||||
-- there7from_Adv = mkAdv ["from there"] ;
|
||||
-- therefore_PConj = ss "therefore" ;
|
||||
-- this_Quant = mkQuant "this" "these" ;
|
||||
-- through_Prep = mkPrep "through" ;
|
||||
-- too_AdA = mkAdA "too" ;
|
||||
-- to_Prep = mkPrep "to" ;
|
||||
@@ -122,7 +134,6 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- when_IAdv = ss "when" ;
|
||||
-- when_Subj = ss "when" ;
|
||||
-- where_IAdv = ss "where" ;
|
||||
-- which_IQuant = {s = \\_ => "which"} ;
|
||||
-- whoPl_IP = mkIP "who" "whom" "whose" plural ;
|
||||
-- whoSg_IP = mkIP "who" "whom" "whose" singular ;
|
||||
-- why_IAdv = ss "why" ;
|
||||
@@ -130,8 +141,6 @@ concrete StructuralMlt of Structural = CatMlt **
|
||||
-- with_Prep = mkPrep "with" ;
|
||||
-- yes_Utt = ss "yes" ;
|
||||
|
||||
-- not_predet = {s = "not" ; lock_Predet = <>} ;
|
||||
-- no_Quant = mkQuant "no" "no" "none" "none" ;
|
||||
-- if_then_Conj = mkConj "if" "then" singular ;
|
||||
-- nobody_NP = regNP "nobody" singular ;
|
||||
-- nothing_NP = regNP "nothing" singular ;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- SymbolMlt.gf
|
||||
--
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
--# -path=.:../abstract:../common
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
-- TextMlt.gf: many-phrase texts
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
-- VerbMlt.gf: verb phrases
|
||||
--
|
||||
-- Maltese Resource Grammar Library
|
||||
-- John J. Camilleri, 2012
|
||||
-- Maltese GF Resource Grammar
|
||||
-- John J. Camilleri 2011 -- 2013
|
||||
-- Angelo Zammit 2012
|
||||
-- Licensed under LGPL
|
||||
|
||||
concrete VerbMlt of Verb = CatMlt ** open Prelude, ResMlt in {
|
||||
|
||||
Reference in New Issue
Block a user