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 =
LangMlt,
DictMlt,
IrregMlt,
ExtraMlt
** {

View File

@@ -8,12 +8,7 @@
abstract AllMltAbs =
Lang,
DictMltAbs,
IrregMltAbs,
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
n : NumForm ;
tail : DTail ;
};
} ;
-- 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") ;
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") ;
staqsa_TPTP_1_7302_V = mkV "staqsa" (mkRoot "t-p-t-p") ;
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_7305_V = mkV "vilja" (mkRoot "v-l-j-j") ;

View File

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

View File

@@ -5,8 +5,23 @@
-- Licensed under LGPL
concrete ExtraMlt of ExtraMltAbs = CatMlt **
open ResMlt, ParadigmsMlt in {
open (R=ResMlt), ParadigmsMlt in {
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
-- 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
cow_N = mkNColl "baqra" "baqar" "baqriet" ;
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
dog_N = mkN "kelb" "klieb" ;
door_N = mkN "bieb" "bibien" ;
@@ -257,7 +257,7 @@ concrete LexiconMlt of Lexicon = CatMlt **
lose_V2 = lilV2 (tilef_TLF_1_9895_V) ;
love_V2 = lilV2 (habb_HBB_1_8174_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_V2 = prepV2 (laghab_LGHB_1_8724_V) maP ;
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 ~~~ -}
NONEXIST : Str = "#NONEXIST#" ;
-- NONEXIST : Str = Prelude.nonExist ; -- Still doesn't work in Haskell runtime 2013-08-26
-- New names for the drop/take operations
takePfx = Predef.take ;
@@ -1223,20 +1224,20 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
-- Is a word mono-syllabic?
--- potentially slow
isMonoSyl : Str -> Bool = \s ->
case s of {
#Consonant + ("ie" | #Vowel) => True ; -- ra
#Consonant + #Consonant + ("ie" | #Vowel) => True ; -- bla
-- isMonoSyl : Str -> Bool = \s ->
-- case s of {
-- #Consonant + ("ie" | #Vowel) => True ; -- ra
-- #Consonant + #Consonant + ("ie" | #Vowel) => True ; -- bla
("ie" | #Vowel) + #Consonant => True ; -- af
("ie" | #Vowel) + #Consonant + #Consonant => True ; -- elf
-- ("ie" | #Vowel) + #Consonant => True ; -- af
-- ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- elf
#Consonant + ("ie" | #Vowel) + #Consonant => True ; -- miet
#Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- mort
#Consonant + #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- ħliet
#Consonant + #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- ħriġt
_ => False
} ;
-- #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- miet
-- #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- mort
-- #Consonant + #Consonant + ("ie" | #Vowel) + #Consonant => True ; -- ħliet
-- #Consonant + #Consonant + ("ie" | #Vowel) + #Consonant + #Consonant => True ; -- ħriġt
-- _ => False
-- } ;
wiehed : Gender => Str =
table {

View File

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

View File

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