From 22b7e133fe51213c4e577146b1682c5751f167a2 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 11 Mar 2009 16:08:55 +0000 Subject: [PATCH] Finnish attempto started --- examples/attempto/AttemptoFin.gf | 7 ++ examples/attempto/LexAttemptoFin.gf | 34 +++++++++ examples/attempto/TestAttemptoFin.gf | 87 +++++++++++++++++++++++ next-lib/src/finnish/MakeStructuralFin.gf | 13 ++++ next-lib/src/finnish/StructuralFin.gf | 3 +- next-lib/src/italian/MakeStructuralIta.gf | 16 +++++ 6 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 examples/attempto/AttemptoFin.gf create mode 100644 examples/attempto/LexAttemptoFin.gf create mode 100644 examples/attempto/TestAttemptoFin.gf create mode 100644 next-lib/src/finnish/MakeStructuralFin.gf create mode 100644 next-lib/src/italian/MakeStructuralIta.gf diff --git a/examples/attempto/AttemptoFin.gf b/examples/attempto/AttemptoFin.gf new file mode 100644 index 000000000..687040243 --- /dev/null +++ b/examples/attempto/AttemptoFin.gf @@ -0,0 +1,7 @@ +--# -path=.:present + +concrete AttemptoFin of Attempto = SymbolsC ** AttemptoI with + (Syntax = SyntaxFin), + (Symbolic = SymbolicFin), + (LexAttempto = LexAttemptoFin) ; + diff --git a/examples/attempto/LexAttemptoFin.gf b/examples/attempto/LexAttemptoFin.gf new file mode 100644 index 000000000..664facf18 --- /dev/null +++ b/examples/attempto/LexAttemptoFin.gf @@ -0,0 +1,34 @@ +instance LexAttemptoFin of LexAttempto = + open + ExtraFin, + SyntaxFin, + ParadigmsFin, + ConstructX, + (M = MakeStructuralFin) + in { + +oper + possible_A = mkA "mahdollinen" ; + necessary_A = mkA "välttämätön" ; + own_A = mkA "oma" ; + have_VV = mkVV (mkV "pitää") ; + provably_Adv = mkAdv "todistettavasti" ; + provable_A = mkA "todistettava" ; + false_A = mkA (mkN "epätosi" "epätosia") ; + such_A = mkA "sellainen" ; + + genitiveNP np = mkNP (GenNP np) ; + + kilogram_CN = mkCN (mkN "kilo") ; + + each_Det = every_Det ; ---- + + that_Subj = M.mkSubj "että" ; + + comma_and_Conj = M.mkConj [] ", ja" plural ; + comma_or_Conj = M.mkConj [] ", tai" singular ; + slash_Conj = M.mkConj [] "/" singular ; + + whose_IDet = mkIDet (M.mkIQuant "kenen") ; + +} diff --git a/examples/attempto/TestAttemptoFin.gf b/examples/attempto/TestAttemptoFin.gf new file mode 100644 index 000000000..d019d9250 --- /dev/null +++ b/examples/attempto/TestAttemptoFin.gf @@ -0,0 +1,87 @@ +--# -path=.:present + +concrete TestAttemptoFin of TestAttempto = AttemptoFin ** + open SyntaxFin, ParadigmsFin, (C = ConstructX) in { + +lin card_N = mkkN "kortti" ; +lin water_MCN = mkCN (mkN "vesi" "vesiä") ; +lin john_PN = mkPN "John" ; +lin apple_N = mkkN "omena" ; +lin sleep_V = mkV "nukkua" ; +lin young_A = mkA (mkN "nuori" "nuoria") ; +lin dog_N = mkkN "koira" ; +lin animal_N = mkkN "eläin" ; +lin wait_V = mkV "odottaa" ; +lin man_N = mkCN (mkN "mies" "miehiä") ; +lin woman_N = mkCN (mkN "nainen") ; +lin give_V3 = dirV3 (mkV "antaa") allative ; +lin tired_A = mkA "väsynyt" ; +lin rich_A = mkA "rikas" ; +lin customer_N = mkkN "asiakas" ; +lin enter_V2 = mkV2 (mkV "astua") illative ; ---- +lin bank_N = mkkN "pankki" ; +lin satisfied_A = mkA "tyytyväinen" ; +lin lucky_A = mkA "onnekas" ; +lin well_known_A = mkA "tunnettu" ; +lin important_A = mkA "tärkeä" ; +lin expensive_A = mkA "kallis" ; +lin fill_in_V2 = mkV2 (mkV "täyttää") ; +lin form_N = mkkN "kaavake" ; +lin age_N = mkkN "ikä" ; +lin teacher_N = mkkN "opettaja" ; +lin successful_A = mkA "menestyksekäs" ; +lin fond_A2 = mkA2 (mkA "kiintynyt") (casePrep illative) ; ---- +lin garden_N = mkkN "puutarha" ; ---- +lin morning_N = mkkN "aamu" ; +lin code_N = mkkN "koodi" ; +lin drinkable_A = mkA "juotava" ; +lin work_V = mkV "työ" ; +lin admitted_A = mkA "hyväksytty" ; +lin eat_V2 = mkV2 (mkV "syödä") partitive ; +lin burger_N = mkkN "hampurilainen" ; +lin earn_V2 = mkV2 "ansaita" ; +lin income_N = mkkN "tulo" ; ---- +lin england_PN = mkPN "Englanti" ; +lin beginning_N = mkkN "alku" ; +lin office_N = mkkN "toimisto" ; +lin interested_A2 = mkA2 (mkA "kiinnostunut") (casePrep elative) ; ---- +lin classroom_N = mkkN "luokkahuone" ; +lin manually_Adv = mkAdv "käsin" ; +lin slot_N = mkkN "aukko" ; +lin patiently_Adv = mkAdv "kärsivällisesti" ; +lin course_N = mkkN "kurssi" ; +lin carefully_Adv = mkAdv "huolellisesti" ; +lin time_N = mkkN "aika" ; +lin believe_VS = mkVS (mkV "uskoa") ; +lin seriously_Adv = mkAdv "vakavasti" ; +lin clerk_N = mkkN "virkailija" ; +lin screen_N = mkkN "kuvaruutu" ; +lin blink_V = mkV "vilkkua" ; +lin bed_N = mkkN "sänky" ; +lin container_N = mkkN "astia" ; +lin automated_teller_N = mkkN "pankkiautomaatti" ; +lin reject_V2 = mkV2 "hylätä" ; +lin accept_V2 = mkV2 "hyväksyä" ; +lin type_V2 = mkV2 "kirjoittaa" ; ---- +lin know_VS = mkVS (mkV "tietää") ; +lin manager_N = mkkN "johtaja" ; +lin oversleep_V = mkV "nukkua" ; ---- +lin valid_A = mkA "pätevä" ; +lin see_V2 = mkV2 (mkV "nähdä") ; +lin bark_V = mkV "haukkua" ; +lin go_V2 = mkV2 (mkV "mennä") illative ; +lin brother_N = mkkN "veli" ; +lin mary_PN = mkPN "Mary" ; ---- +lin machine_N = mkkN "kone" ; +lin correct_A = mkA "oikea" ; + +lin kilogram_Unit = mkkN "kilo" ; + +oper mkkN : Str -> CN = \n -> mkCN (ParadigmsFin.mkN n) ; + +lin + in_Prep = SyntaxFin.in_Prep ; + at_Prep = casePrep adessive ; + into_Prep = casePrep illative ; + +} diff --git a/next-lib/src/finnish/MakeStructuralFin.gf b/next-lib/src/finnish/MakeStructuralFin.gf new file mode 100644 index 000000000..2c32709cb --- /dev/null +++ b/next-lib/src/finnish/MakeStructuralFin.gf @@ -0,0 +1,13 @@ +--# -path=.:../common:../abstract + +resource MakeStructuralFin = open CatFin, ParadigmsFin, MorphoFin, Prelude in { + +oper + mkConj : Str -> Str -> Number -> Conj = \x,y,n -> + {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + mkSubj : Str -> Subj = \x -> + {s = x ; lock_Subj = <>} ; + mkIQuant : Str -> IQuant = \s -> + {s = \\n,c => s ; lock_IQuant = <>} ; ---- + +} diff --git a/next-lib/src/finnish/StructuralFin.gf b/next-lib/src/finnish/StructuralFin.gf index 0a610f93e..5b54da246 100644 --- a/next-lib/src/finnish/StructuralFin.gf +++ b/next-lib/src/finnish/StructuralFin.gf @@ -1,5 +1,5 @@ concrete StructuralFin of Structural = CatFin ** - open MorphoFin, ParadigmsFin, (X = ConstructX), Prelude in { + open MorphoFin, ParadigmsFin, (X = ConstructX), MakeStructuralFin, Prelude in { flags optimize=all ; @@ -304,5 +304,6 @@ lin as_CAdv = X.mkCAdv "yhtä" "kuin" ; + except_Prep = postPrep partitive "lukuunottamatta" ; } diff --git a/next-lib/src/italian/MakeStructuralIta.gf b/next-lib/src/italian/MakeStructuralIta.gf new file mode 100644 index 000000000..4f75b3e7d --- /dev/null +++ b/next-lib/src/italian/MakeStructuralIta.gf @@ -0,0 +1,16 @@ +--# -path=.:../romance:../common:../abstract + +resource MakeStructuralIta = open CatIta, ParadigmsIta, MorphoIta, Prelude in { + +oper + mkConj : Str -> Str -> Number -> Conj = \x,y,n -> + {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + mkSubj : Str -> Subj = \x -> + {s = x ; m = Indic ; lock_Subj = <>} ; + mkSubjSubj : Str -> Subj = \x -> + {s = x ; m = Conjunct ; lock_Subj = <>} ; + + mkIQuant : Str -> IQuant = \s -> + {s = \\_,_,c => prepCase c ++ s ; lock_IQuant = <>} ; + +}