added more structural words to Hebrew"

This commit is contained in:
unknown
2013-05-29 11:37:56 +00:00
parent d66dfe13c2
commit 78dfcf6c1b
3 changed files with 82 additions and 11 deletions

View File

@@ -75,7 +75,19 @@ oper
Vp3Sg g => {n = Sg ; g = g} ;
Vp3Pl g => {n = Pl ; g = g}
} ;
-- Noun Phrase
mkNP : Str -> Number -> Person -> Gender -> NP = \s,n,p,g -> {
s = \\npcase => {obj = s } ;
a = Ag g n p ;
sp = Def ;
isDef = False
} ;
regNP : Str -> NP = \hakul ->
mkNP hakul Sg Per3 Masc ;
pronNP : (s,a,d : Str) -> Gender -> Number -> Person -> NP =
\s,a,d,g,n,p -> {
s =
@@ -89,6 +101,14 @@ oper
a = Ag g n p
} ;
-- check
-- prepNP : Prep -> NP -> Str ;
-- prepNP prep np = case prep.isPre of {
-- True => prep.s ;
-- False => prep.s ++ {obj = np.s} } ;
agrV : Verb -> TenseHeb -> Agr -> Str = \v,t,a -> case a of {
Ag g n p => v.s ! t ! (chooseForm g n p)
} ;
@@ -110,6 +130,13 @@ oper
Verb : Type = {s : TenseHeb => VPerNumGen => Str } ;
Verb2 : Type = Verb ** {c : Case} ;
-- Interrogative pronoun
mkIP : Str -> Number -> {s : Str ; n : Number} = \who,n ->
{
s = who ;
n = n
} ;
Pattern : Type = {C1, C1C2, C2C3, C3 : Str};
Root : Type = {C1,C2,C3 : Str}; -- most verb roots consist of three consonants
Root4 : Type = Root ** {C4 : Str}; -- for verb roots with four consonants

View File

@@ -1,5 +1,5 @@
concrete StructuralHeb of Structural = CatHeb **
open MorphoHeb, ResHeb, ParadigmsHeb, Prelude in {
open MorphoHeb, ResHeb, ParadigmsHeb, (X = ConstructX), Prelude in {
flags optimize=all ; coding=utf8 ;
@@ -39,15 +39,57 @@ concrete StructuralHeb of Structural = CatHeb **
youPl_Pron = mkPron "אתן" "שלכן" "שלכן" Fem Pl Per2 ;
-- youPol_Pron = mkPron "אתן" "" "" Fem Sg Per2 ;
above_Prep = mkPrep "מעל" False;
after_Prep = mkPrep "אחרי" False;
by8agent_Prep = mkPrep "על ידי" False ;
--by8means_Prep = mkPrep "" False ;
there_Adv = mkAdv "שמ" ;
there7to_Adv = ss "לשמ" ;
there7from_Adv = ss "משמ" ;
somewhere_Adv = ss "";
above_Prep = mkPrep "מעל" False;
after_Prep = mkPrep "אחרי" False;
by8agent_Prep = mkPrep "על ידי" False ;
--by8means_Prep = mkPrep "" False ;
before_Prep = mkPrep "לפני" False ;
behind_Prep = mkPrep "אחרי" False ;
between_Prep = mkPrep "בין" False ;
by8means_Prep = mkPrep "לפי פירושו" False ;
during_Prep = mkPrep "במשך" False ;
except_Prep = mkPrep "חוץ מן" False;
for_Prep = mkPrep "" False ;
from_Prep = mkPrep "" False ;
through_Prep = mkPrep "דרך" False ;
with_Prep = mkPrep "עם" False ;
without_Prep = mkPrep "בלי" False ;
under_Prep = mkPrep "מתחת" False ;
everywhere_Adv = mkAdv "במקום אחר" ;
there_Adv = mkAdv "שמ" ;
there7to_Adv = ss "לשמ" ;
there7from_Adv = ss "משמ" ;
here7from_Adv = ss "מכאן" ;
somewhere_Adv = ss "";
-- now_Adv = ss "עכשיו";
but_PConj = ss "אבל" ;
although_Subj = ss "למרות" ;
because_Subj = ss "בגלל" ;
if_Subj = ss "למרות" ;
when_Subj = ss "כשה" ;
that_Subj = ss "ש" ;
how_IAdv = ss "איך" ;
how8much_IAdv = ss "כמה" ;
when_IAdv = ss "מתי" ;
where_IAdv = ss "איפה" ;
why_IAdv = ss "למה" ;
whoSg_IP = ss "מי" ;
what_IP = ss "מה" ;
whoPl_IP = ss "מי" ;
whatPl_IP = ss "מה" ;
whatSg_IP = ss "מה" ;
but_PConj = ss "אבל" ;
how8many_IDet = ss "כמה" ;
-- many_Det = ss "הרבה" ;
-- much_Det = ss "הרבה" ;
no_Utt = ss "כן" ;
yes_Utt = ss "לא" ;
everything_NP = regNP "הכל" ; -- should use regNP
}

View File

@@ -10,4 +10,6 @@ concrete VerbHeb of Verb = CatHeb ** open Prelude, ResHeb in {
SlashV2a v = predVc v ; --predV v ** {c2 = v.c2} ;
VPSlashPrep vp prep = vp ** {
c2 = {s = prep.s ; c = prep.c ; isDir = False} } ;
}