Maltese RG: make pro-drop explicit. Other small fixes in Structural, Lexicon.

This commit is contained in:
john
2013-08-30 07:40:42 +00:00
parent 9134df05bb
commit 4f15fe390a
11 changed files with 52 additions and 35 deletions

View File

@@ -8,6 +8,7 @@
concrete AllMlt of AllMltAbs = concrete AllMlt of AllMltAbs =
LangMlt, LangMlt,
DictMlt,
IrregMlt, IrregMlt,
ExtraMlt ExtraMlt
** { ** {

View File

@@ -8,12 +8,7 @@
abstract AllMltAbs = abstract AllMltAbs =
Lang, Lang,
DictMltAbs,
IrregMltAbs, IrregMltAbs,
ExtraMltAbs ExtraMltAbs
** {} ; ** {} ;
{-
IrregMltAbs-[
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
-}

View File

@@ -97,7 +97,7 @@ concrete CatMlt of Cat = CommonX - [Adv] ** open ResMlt, Prelude in {
s : NumCase => Str ; -- No need for CardOrd, i.e. no 1st, 2nd etc in Maltese s : NumCase => Str ; -- No need for CardOrd, i.e. no 1st, 2nd etc in Maltese
n : NumForm ; n : NumForm ;
tail : DTail ; tail : DTail ;
}; } ;
-- Structural -- Structural

View File

@@ -648,7 +648,6 @@ concrete DictMlt of DictMltAbs = CatMlt ** open ParadigmsMlt in {
tentex_TNTX_1_7299_V = mkV "tentex" (mkRoot "t-n-t-x") ; tentex_TNTX_1_7299_V = mkV "tentex" (mkRoot "t-n-t-x") ;
ttentex_TNTX_2_7300_V = mkV_II "ttentex" (mkRoot "t-n-t-x") ; ttentex_TNTX_2_7300_V = mkV_II "ttentex" (mkRoot "t-n-t-x") ;
taptap_TPTP_1_7301_V = mkV "taptap" (mkRoot "t-p-t-p") ; taptap_TPTP_1_7301_V = mkV "taptap" (mkRoot "t-p-t-p") ;
staqsa_TPTP_1_7302_V = mkV "staqsa" (mkRoot "t-p-t-p") ;
volga_VLGJ_1_7303_V = mkV "volġa" (mkRoot "v-l-ġ-j") ; volga_VLGJ_1_7303_V = mkV "volġa" (mkRoot "v-l-ġ-j") ;
vilja_VLJJ_1_7304_V = mkV "vilja" (mkRoot "v-l-j-j") ; vilja_VLJJ_1_7304_V = mkV "vilja" (mkRoot "v-l-j-j") ;
vilja_VLJJ_1_7305_V = mkV "vilja" (mkRoot "v-l-j-j") ; vilja_VLJJ_1_7305_V = mkV "vilja" (mkRoot "v-l-j-j") ;

View File

@@ -624,7 +624,6 @@ abstract DictMltAbs = Cat ** {
tentex_TNTX_1_7299_V : V ; tentex_TNTX_1_7299_V : V ;
ttentex_TNTX_2_7300_V : V ; ttentex_TNTX_2_7300_V : V ;
taptap_TPTP_1_7301_V : V ; taptap_TPTP_1_7301_V : V ;
staqsa_TPTP_1_7302_V : V ;
volga_VLGJ_1_7303_V : V ; volga_VLGJ_1_7303_V : V ;
vilja_VLJJ_1_7304_V : V ; vilja_VLJJ_1_7304_V : V ;
vilja_VLJJ_1_7305_V : V ; vilja_VLJJ_1_7305_V : V ;

View File

@@ -5,8 +5,23 @@
-- Licensed under LGPL -- Licensed under LGPL
concrete ExtraMlt of ExtraMltAbs = CatMlt ** concrete ExtraMlt of ExtraMltAbs = CatMlt **
open ResMlt, ParadigmsMlt in { open (R=ResMlt), ParadigmsMlt in {
flags coding=utf8 ; flags coding=utf8 ;
lin
SlashVa v = (R.predV v) ** { c2 = noCompl } ; -- See Verb.SlashV2a
-- VasV2 v = v ** { c2 = noCompl } ;
-- ProDrop : Pron -> Pron
-- unstressed subject pronoun becomes []: "(jiena) norqod"
ProDrop p = {
s = table {
R.Personal => [] ;
c => p.s ! c
} ;
a = p.a ;
} ;
} }

View File

@@ -4,6 +4,12 @@
-- John J. Camilleri 2011 -- 2013 -- John J. Camilleri 2011 -- 2013
-- Licensed under LGPL -- Licensed under LGPL
abstract ExtraMltAbs = Cat ** { abstract ExtraMltAbs = Cat, Extra [Pron, ProDrop] ** {
fun
-- SlashV2a : V2 -> VPSlash ; -- love (it)
SlashVa : V -> VPSlash ; -- jump (it)
-- VasV2 : V -> V2 ; --- too general for my liking
} }

View File

@@ -58,7 +58,7 @@ concrete LexiconMlt of Lexicon = CatMlt **
cousin_N = mkN "kuġin" "kuġini" ; -- genderedN cousin_N = mkN "kuġin" "kuġini" ; -- genderedN
cow_N = mkNColl "baqra" "baqar" "baqriet" ; cow_N = mkNColl "baqra" "baqar" "baqriet" ;
day_N = mkN "ġurnata" "ġranet" ; day_N = mkN "ġurnata" "ġranet" ;
distance_N3 = mkN3 (mkN "distanza") minnP saP ; distance_N3 = mkN3 (mkN "distanza") saP minnP ;
doctor_N = mkN "tabib" "tobba" ; -- genderedN doctor_N = mkN "tabib" "tobba" ; -- genderedN
dog_N = mkN "kelb" "klieb" ; dog_N = mkN "kelb" "klieb" ;
door_N = mkN "bieb" "bibien" ; door_N = mkN "bieb" "bibien" ;
@@ -257,7 +257,7 @@ concrete LexiconMlt of Lexicon = CatMlt **
lose_V2 = lilV2 (tilef_TLF_1_9895_V) ; lose_V2 = lilV2 (tilef_TLF_1_9895_V) ;
love_V2 = lilV2 (habb_HBB_1_8174_V) ; love_V2 = lilV2 (habb_HBB_1_8174_V) ;
open_V2 = dirV2 (fetah_FTH_1_7932_V) ; open_V2 = dirV2 (fetah_FTH_1_7932_V) ;
paint_V2A = dirV2 (pitter_PTR_2_9152_V) ; paint_V2A = dirV2 (zeba'_ZBGH_1_10339_V) ; -- dirV2 (pitter_PTR_2_9152_V) ;
play_V = daqq_DQQ_1_7736_V ; play_V = daqq_DQQ_1_7736_V ;
play_V2 = prepV2 (laghab_LGHB_1_8724_V) maP ; play_V2 = prepV2 (laghab_LGHB_1_8724_V) maP ;
pull_V2 = lilV2 (gibed_GBD_1_8043_V) ; pull_V2 = lilV2 (gibed_GBD_1_8043_V) ;

View File

@@ -1152,6 +1152,7 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
{- ~~~ Useful helper functions ~~~ -} {- ~~~ Useful helper functions ~~~ -}
NONEXIST : Str = "#NONEXIST#" ; NONEXIST : Str = "#NONEXIST#" ;
-- NONEXIST : Str = Prelude.nonExist ; -- Still doesn't work in Haskell runtime 2013-08-26
-- New names for the drop/take operations -- New names for the drop/take operations
takePfx = Predef.take ; takePfx = Predef.take ;
@@ -1223,20 +1224,20 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
-- Is a word mono-syllabic? -- Is a word mono-syllabic?
--- potentially slow --- potentially slow
isMonoSyl : Str -> Bool = \s -> -- isMonoSyl : Str -> Bool = \s ->
case s of { -- case s of {
#Consonant + ("ie" | #Vowel) => True ; -- ra -- #Consonant + ("ie" | #Vowel) => True ; -- ra
#Consonant + #Consonant + ("ie" | #Vowel) => True ; -- bla -- #Consonant + #Consonant + ("ie" | #Vowel) => True ; -- bla
("ie" | #Vowel) + #Consonant => True ; -- af -- ("ie" | #Vowel) + #Consonant => True ; -- af
("ie" | #Vowel) + #Consonant + #Consonant => True ; -- elf -- ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- elf
#Consonant + ("ie" | #Vowel) + #Consonant => True ; -- miet -- #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- miet
#Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- mort -- #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- mort
#Consonant + #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- ħliet -- #Consonant + #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- ħliet
#Consonant + #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- ħriġt -- #Consonant + #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- ħriġt
_ => False -- _ => False
} ; -- } ;
wiehed : Gender => Str = wiehed : Gender => Str =
table { table {

View File

@@ -19,10 +19,11 @@ concrete SentenceMlt of Sentence = CatMlt ** open
-- John walks -- John walks
PredVP np vp = PredVP np vp =
let let
subj : Str = case np.isPron of { -- subj : Str = case np.isPron of {
True => [] ; -- omit subject pronouns -- True => [] ; -- omit subject pronouns
False => np.s ! NPNom -- False => np.s ! NPNom
} ; -- } ;
subj : Str = np.s ! NPNom ;
in in
mkClause subj np.a vp ; mkClause subj np.a vp ;

View File

@@ -60,7 +60,7 @@ concrete StructuralMlt of Structural = CatMlt **
{- Conjunction ---------------------------------------------------------- -} {- Conjunction ---------------------------------------------------------- -}
and_Conj = mkConj "u" ; and_Conj = mkConj "u" ;
both7and_DConj = mkConj "kemm" "u"; both7and_DConj = mkConj "kemm" "u kemm";
but_PConj = ss "imma" ; but_PConj = ss "imma" ;
either7or_DConj = mkConj "jew" "inkella" ; either7or_DConj = mkConj "jew" "inkella" ;
or_Conj = mkConj "jew" ; or_Conj = mkConj "jew" ;
@@ -123,16 +123,16 @@ concrete StructuralMlt of Structural = CatMlt **
at_most_AdN = mkAdN "l-iktar" ; at_most_AdN = mkAdN "l-iktar" ;
everywhere_Adv = mkAdv "kullimkien" ; everywhere_Adv = mkAdv "kullimkien" ;
here_Adv = mkAdv "hawn" ; here_Adv = mkAdv "hawn" ;
here7to_Adv = mkAdv ["s'hawnhekk"] ; here7to_Adv = mkAdv ["s'hawn"] ;
here7from_Adv = mkAdv ["minn hawnhekk"] ; here7from_Adv = mkAdv ["minn hawn"] ;
less_CAdv = C.mkCAdv "inqas" "minn" ; --- inqas mill-ieħor less_CAdv = C.mkCAdv "inqas" "minn" ; --- inqas mill-ieħor
more_CAdv = C.mkCAdv "iktar" "minn" ; --- iktar mit-tnejn more_CAdv = C.mkCAdv "iktar" "minn" ; --- iktar mit-tnejn
quite_Adv = mkAdv "pjuttost" ; quite_Adv = mkAdv "pjuttost" ;
so_AdA = mkAdA "allura" ; so_AdA = mkAdA "allura" ;
somewhere_Adv = mkAdv "x'imkien" ; somewhere_Adv = mkAdv "x'imkien" ;
there_Adv = mkAdv "hemmhekk" ; there_Adv = mkAdv "hemm" ;
there7to_Adv = mkAdv "s'hemmhekk" ; there7to_Adv = mkAdv "s'hemm" ;
there7from_Adv = mkAdv ["minn hemmhekk"] ; there7from_Adv = mkAdv ["minn hemm"] ;
too_AdA = mkAdA "ukoll" ; too_AdA = mkAdA "ukoll" ;
very_AdA = mkAdA "ħafna" ; very_AdA = mkAdA "ħafna" ;
as_CAdv = C.mkCAdv "" "daqs" ; -- "as good as gold" as_CAdv = C.mkCAdv "" "daqs" ; -- "as good as gold"