From f5461eb3d4eb2605b546a4ed202c12bcdaa1f4e4 Mon Sep 17 00:00:00 2001 From: "john.j.camilleri" Date: Mon, 16 Sep 2013 07:17:27 +0000 Subject: Remove contribs and examples Everything has now been moved to a separate repository at https://github.com/GrammaticalFramework/gf-contrib The contents of the examples folder are build during SetupWeb --- examples/tutorial/syntax/MorphoIta.gf | 100 ---------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 examples/tutorial/syntax/MorphoIta.gf (limited to 'examples/tutorial/syntax/MorphoIta.gf') diff --git a/examples/tutorial/syntax/MorphoIta.gf b/examples/tutorial/syntax/MorphoIta.gf deleted file mode 100644 index 7bf4de1a1..000000000 --- a/examples/tutorial/syntax/MorphoIta.gf +++ /dev/null @@ -1,100 +0,0 @@ ---# -path=.:prelude - - -- This is a simple Italian resource morphology for the GF tutorial. - - resource MorphoIta = open Prelude in { - - -- the lexicographer's API - - oper - masculine, feminine : Gender ; - - - - param - Number = Sg | Pl ; - Gender = Masc | Fem ; - - oper - Noun : Type = {s : Number => Str ; g : Gender} ; - Adjective : Type = {s : Gender => Number => Str} ; - - -- we will only use present indicative third person verb forms - - Verb : Type = {s : Number => Str} ; - - -- two-place verbs have a preposition - - Verb2 : Type = Verb ** {c : Str} ; - - -- this function takes the gender and both singular and plural forms - - mkNoun : Gender -> Str -> Str -> Noun = \g,vino,vini -> { - s = table { - Sg => vino ; - Pl => vini - } ; - g = g - } ; - - -- this function takes the singular form - - regNoun : Str -> Noun = \vino -> - case vino of { - vin + c@("c" | "g") + "a" - => mkNoun Fem vino (vin + c + "he") ; -- banche - vin + "a" - => mkNoun Fem vino (vin + "e") ; -- pizza - vin + c@("c" | "g") + "o" - => mkNoun Masc vino (vin + c + "hi") ; -- boschi - vin + ("o" | "e") - => mkNoun Masc vino (vin + "i") ; -- vino, pane - _ => mkNoun Masc vino vino -- tram - } ; - - -- to make nouns such as "carne", "università" feminine - - femNoun : Noun -> Noun = \mano -> { - s = mano.s ; - g = Fem - } ; - - -- this takes both genders and numbers - - mkAdjective : (x1,_,_,x4 : Str) -> Adjective = \nero,nera,neri,nere -> { - s = table { - Masc => (mkNoun Masc nero neri).s ; - Fem => (mkNoun Fem nera nere).s - } - } ; - - -- this takes the masculine singular form - - regAdjective : Str -> Adjective = \nero -> - let ner = init nero in - case last nero of { - "o" => mkAdjective (ner + "o") (ner + "a") (ner + "i") (ner + "e") ; - "e" => mkAdjective (ner + "e") (ner + "e") (ner + "i") (ner + "i") ; - _ => mkAdjective nero nero nero nero - } ; - - -- this function takes the singular and plural forms - - mkVerb : Str -> Str -> Verb = \ama,amano -> { - s = table { - Sg => ama ; - Pl => amano - } - } ; - - -- this function takes the infinitive form - - regVerb : Str -> Verb = \amare -> - let am = Predef.tk 3 amare in - case Predef.dp 3 amare of { - "ere" => mkVerb (am + "e") (am + "ono") ; -- premere - "ire" => mkVerb (am + "isce") (am + "iscono") ; -- finire - _ => mkVerb (am + "a") (am + "ano") -- amare - } ; - - } -- cgit v1.2.3