diff options
Diffstat (limited to 'contrib/summerschool/foods/FoodsHeb.gf')
| -rw-r--r-- | contrib/summerschool/foods/FoodsHeb.gf | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/contrib/summerschool/foods/FoodsHeb.gf b/contrib/summerschool/foods/FoodsHeb.gf deleted file mode 100644 index 3d76b639f..000000000 --- a/contrib/summerschool/foods/FoodsHeb.gf +++ /dev/null @@ -1,108 +0,0 @@ ---# -path=alltenses - ---(c) 2009 Dana Dannells --- Licensed under LGPL - -concrete FoodsHeb of Foods = open Prelude in { - - flags coding=utf8 ; - - lincat - Comment = SS ; - Quality = {s: Number => Species => Gender => Str} ; - Kind = {s : Number => Species => Str ; g : Gender ; mod : Modified} ; - Item = {s : Str ; g : Gender ; n : Number ; sp : Species ; mod : Modified} ; - - - lin - Pred item quality = ss (item.s ++ quality.s ! item.n ! Indef ! item.g ) ; - This = det Sg Def "הזה" "הזאת"; - That = det Sg Def "ההוא" "ההיא" ; - These = det Pl Def "האלה" "האלה" ; - Those = det Pl Def "ההם" "ההן" ; - Mod quality kind = { - s = \\n,sp => kind.s ! n ! sp ++ quality.s ! n ! sp ! kind.g; - g = kind.g ; - mod = T - } ; - Wine = regNoun "יין" "יינות" Masc ; - Cheese = regNoun "גבינה" "גבינות" Fem ; - Fish = regNoun "דג" "דגים" Masc ; - Pizza = regNoun "פיצה" "פיצות" Fem ; - Very qual = {s = \\g,n,sp => "מאוד" ++ qual.s ! g ! n ! sp} ; - Fresh = regAdj "טרי" ; - Warm = regAdj "חם" ; - Italian = regAdj2 "איטלקי" ; - Expensive = regAdj "יקר" ; - Delicious = regAdj "טעים" ; - Boring = regAdj2 "משעמם"; - - param - Number = Sg | Pl ; - Gender = Masc | Fem ; - Species = Def | Indef ; - Modified = T | F ; - - oper - Noun : Type = {s : Number => Species => Str ; g : Gender ; mod : Modified } ; - Adj : Type = {s : Number => Species => Gender => Str} ; - - det : Number -> Species -> Str -> Str -> Noun -> - {s : Str ; g :Gender ; n : Number ; sp : Species ; mod : Modified} = - \n,sp,m,f,cn -> { - s = case cn.mod of { _ => cn.s ! n ! sp ++ case cn.g of {Masc => m ; Fem => f} }; - g = cn.g ; - n = n ; - sp = sp ; - mod = cn.mod - } ; - - noun : (gvina,hagvina,gvinot,hagvinot : Str) -> Gender -> Noun = - \gvina,hagvina,gvinot,hagvinot,g -> { - s = table { - Sg => table { - Indef => gvina ; - Def => hagvina - } ; - Pl => table { - Indef => gvinot ; - Def => hagvinot - } - } ; - g = g ; - mod = F - } ; - - regNoun : Str -> Str -> Gender -> Noun = - \gvina,gvinot, g -> - noun gvina (defH gvina) gvinot (defH gvinot) g ; - - defH : Str -> Str = \cn -> - case cn of {_ => "ה" + cn}; - - replaceLastLetter : Str -> Str = \c -> - case c of {"ף" => "פ" ; "ם" => "מ" ; "ן" => "נ" ; "ץ" => "צ" ; "ך" => "כ"; _ => c} ; - - adjective : (_,_,_,_ : Str) -> Adj = - \tov,tova,tovim,tovot -> { - s = table { - Sg => table { - Indef => table { Masc => tov ; Fem => tova } ; - Def => table { Masc => defH tov ; Fem => defH tova } - } ; - Pl => table { - Indef => table {Masc => tovim ; Fem => tovot } ; - Def => table { Masc => defH tovim ; Fem => defH tovot } - } - } - } ; - - regAdj : Str -> Adj = \tov -> - case tov of { to + c@? => - adjective tov (to + replaceLastLetter (c) + "ה" ) (to + replaceLastLetter (c) +"ים" ) (to + replaceLastLetter (c) + "ות" )}; - - regAdj2 : Str -> Adj = \italki -> - case italki of { italk+ c@? => - adjective italki (italk + replaceLastLetter (c) +"ת" ) (italk + replaceLastLetter (c)+ "ים" ) (italk + replaceLastLetter (c) + "ות" )}; - -} -- FoodsHeb |
