diff --git a/examples/attempto/Attempto.gf b/examples/attempto/Attempto.gf new file mode 100644 index 000000000..64fd60944 --- /dev/null +++ b/examples/attempto/Attempto.gf @@ -0,0 +1,236 @@ +abstract Attempto = { + +flags startcat = ACEText ; + +cat CN ; +cat NP ; +cat Card ; +cat PN ; +cat A ; +cat A2 ; +cat AP ; +cat RS ; +cat Pron ; +cat Prep ; +cat S ; +cat VP ; +cat V ; +cat V2 ; +cat V3 ; +cat Adv ; +cat Conj ; +cat IP ; +cat IAdv ; +cat QS ; +cat Text ; + +fun aNP : CN -> NP ; +fun theNP : CN -> NP ; +fun cardNP : Card -> CN -> NP ; +fun noNP : CN -> NP ; +fun everyNP : CN -> NP ; +fun eachNP : CN -> NP ; +fun notEveryNP : CN -> NP ; +fun notEachNP : CN -> NP ; + + +fun theCollNP : CN -> NP ; +fun someCollNP : CN -> NP ; +fun allCollNP : CN -> NP ; +fun noCollNP : CN -> NP ; + + +fun eachTheNP : CN -> NP ; +fun eachSomeNP : CN -> NP ; +fun eachNumNP : Card -> CN -> NP ; + +cat MCN ; + +fun someMassNP : MCN -> NP ; +fun noMassNP : MCN -> NP ; +fun allMassNP : MCN -> NP ; +fun notAllMassNP : MCN -> NP ; + + +fun pnNP : PN -> NP ; +fun intNP : Int -> NP ; +fun intNegNP : Int -> NP ; +fun floatNP : Float -> NP ; + + +-- arithmetic expressions with + - * / + +-- strings "foo" and "foo" & "bar + +-- sets {a,b,c} + +-- lists [a,b,c] + +fun it_NP : NP ; +fun he_NP : NP ; +fun she_NP : NP ; +fun he_she_NP : NP ; +fun they_NP : NP ; + + +-- reflexive pronouns: itself, himself, herself, himself/herself, themselves + +fun someone_NP : NP ; +fun somebody_NP : NP ; +fun something_NP : NP ; +fun noone_NP : NP ; +fun nothing_NP : NP ; +fun not_everyoneNP : NP ; +fun not_everybodyNP : NP ; +fun not_everythingNP : NP ; + +fun at_leastNP : Card -> CN -> NP ; +fun not_at_leastNP : Card -> CN -> NP ; +fun at_mostNP : Card -> CN -> NP ; +fun not_at_mostNP : Card -> CN -> NP ; +fun more_thanNP : Card -> CN -> NP ; +fun not_more_thanNP : Card -> CN -> NP ; + +fun nothing_butNP : CN -> NP ; -- nothing but apples +fun nothing_butMassNP : MCN -> NP ; -- nothing but water +fun nobody_butNP : PN -> NP ; -- nobody but John +fun no_butNP : CN -> PN -> NP ; -- no man but John + +cat Unit ; -- SI measurement units +cat Var ; + +fun unitNP : Card -> Unit -> NP ; +fun unit_ofNP : Card -> Unit -> CN -> NP ; -- 3 kg of apples +fun unit_ofMassNP : Card -> Unit -> MCN -> NP ; -- 3 l of water + +fun apposVarCN : CN -> Var -> CN ; -- a man X +fun varNP : Var -> NP ; + +fun conjNP : NP -> NP -> NP ; + +-- 2.2.1 + +fun adjCN : AP -> CN -> CN ; +fun positAP : A -> AP ; +fun comparAP : A -> AP ; +fun superlAP : A -> AP ; + + +-- 2.2.2 + +fun relCN : CN -> RS -> CN ; +fun relNP : NP -> RS -> NP ; +fun andRS : RS -> RS -> RS ; +fun orRS : RS -> RS -> RS ; +fun eachRS : RS -> RS ; -- each of who + +-- 2.2.4 + +fun genNP : NP -> CN -> NP ; -- everybody's customer +fun ofCN : CN -> NP -> CN ; -- dog of John and Mary +fun genOwnNP : NP -> CN -> NP ; -- his own customer + +-- 2.3.1 + +fun vpS : NP -> VP -> S ; +fun neg_vpS : NP -> VP -> S ; +fun not_provably_vpS : NP -> VP -> S ; + +fun vVP : V -> VP ; +fun v2VP : V2 -> NP -> VP ; +fun v3VP : V3 -> NP -> NP -> VP ; + +-- 2.3.2 + +fun apVP : AP -> VP ; +fun compVP : A -> NP -> VP ; -- John is richer than Mary +fun as_asVP : A -> NP -> VP ; -- John is as rich as Mary + +-- John is as fond-of Mary as Bill +-- John is more fond-of Mary than Bill +-- John is as fond-of Mary as of Sue +-- John is more fond-of Mary than of Sue + +cat PP ; +cat [PP] {1} ; +fun ppVP : [PP] -> VP ; -- John is in the garden in the morning + +fun prepPP : Prep -> NP -> PP ; + +-- 2.3.5 + +fun canVP : VP -> VP ; +fun mustVP : VP -> VP ; +fun have_toVP : VP -> VP ; + +-- 2.4 + +fun modVP : VP -> Adv -> VP ; + +-- 3.2 + +fun thereNP : NP -> S ; -- there is/are + +-- 3.3 +-- Boolean formulas = \= < > <= >= + +-- 3.4.1 + +fun coordS : Conj -> S -> S -> S ; + +fun and_Conj : Conj ; +fun or_Conj : Conj ; +fun comma_and_Conj : Conj ; -- lower precedence +fun comma_or_Conj : Conj ; + +-- 3.4.3 + +fun for_everyS : CN -> S -> S ; +fun for_eachS : CN -> S -> S ; +fun for_each_ofS : Card -> CN -> S -> S ; -- for each of 3 men +fun for_allMassS : MCN -> S -> S ; -- for all water + +-- 3.4.4 + +fun if_thenS : S -> S -> S ; +fun falseS : S -> S ; -- it is false that +fun not_provableS : S -> S ; -- it is not provable that +fun possibleS : S -> S ; -- it is possible that +fun not_possibleS : S -> S ; +fun necessaryS : S -> S ; +fun not_necessaryS : S -> S ; + +fun thatS : S -> S -> S ; + +-- 3.5 + +fun npQS : NP -> VP -> QS ; +fun ipQS : IP -> VP -> QS ; +fun iadvQS : IAdv -> NP -> VP -> QS ; + +fun where_IAdv : IAdv ; +fun when_IAdv : IAdv ; +fun whoSg_IP : IP ; +fun whoPl_IP : IP ; + +fun there_ipQS : IP -> QS ; -- there is who + +fun whoseIP : CN -> IP ; -- whose dog + +-- 3.6 + +fun impVP : NP -> VP -> Text ; -- John, go to the bank! + +-- 4 + +cat ACEText ; +fun consText : Text -> ACEText -> ACEText ; + +fun baseText : Text -> ACEText ; + +fun sText : S -> Text ; +fun qsText : QS -> Text ; + +} + + diff --git a/examples/attempto/Attempto1.gf b/examples/attempto/Attempto1.gf new file mode 100644 index 000000000..50526a889 --- /dev/null +++ b/examples/attempto/Attempto1.gf @@ -0,0 +1,29 @@ +-- 15.58 + +abstract Attempto = { + +flags startcat = ACEText ; + +cat + ACEText ; + Query ; + Command ; +fun + ASpecification : Specification -> ACEText ; + AQuery : Query -> ACEText ; + ACommand : Command -> ACEText ; +cat + PropositionOrSentenceCoord ; + TopicalisedQuestion ; +fun + QQuery : PropositionOrSentenceCoord -> Query -> Query ; + QTopicalizer : TopicalisedQuestion -> Query ; +cat + ExistentialQuestionTopic ; + SentenceCoord ; +fun + TExistential : ExistentialQuestionTopic -> SentenceCoord -> TopicalisedQuestion ; + TUniversal : UniversalTopic -> TopicalisedQuestion -> TopicalisedQuestion ; + TQuestion : Question -> TopicalisedQuestion ; + +} diff --git a/examples/attempto/AttemptoEng.gf b/examples/attempto/AttemptoEng.gf new file mode 100644 index 000000000..d251c8888 --- /dev/null +++ b/examples/attempto/AttemptoEng.gf @@ -0,0 +1,7 @@ +--# -path=.:present + +concrete AttemptoEng of Attempto = AttemptoI with + (Syntax = SyntaxEng), + (Symbolic = SymbolicEng), + (LexAttempto = LexAttemptoEng) ; + diff --git a/examples/attempto/AttemptoI.gf b/examples/attempto/AttemptoI.gf new file mode 100644 index 000000000..66cf5abd8 --- /dev/null +++ b/examples/attempto/AttemptoI.gf @@ -0,0 +1,245 @@ +incomplete concrete AttemptoI of Attempto = open + Syntax, + Symbolic, + LexAttempto +in { + +lincat CN = Syntax.CN ; +lincat NP = Syntax.NP ; +lincat Card = Syntax.Card ; +lincat PN = Syntax.PN ; +lincat A = Syntax.A ; +lincat A2 = Syntax.A2 ; +lincat AP = Syntax.AP ; +lincat RS = Syntax.RS ; +lincat Pron = Syntax.Pron ; +lincat Prep = Syntax.Prep ; +lincat S = Syntax.S ; +lincat VP = Syntax.VP ; +lincat V = Syntax.V ; +lincat V2 = Syntax.V2 ; +lincat V3 = Syntax.V3 ; +lincat Adv = Syntax.Adv ; +lincat Conj = Syntax.Conj ; +lincat IP = Syntax.IP ; +lincat IAdv = Syntax.IAdv ; +lincat QS = Syntax.QS ; +lincat Text = Syntax.Text ; +lincat ACEText = Syntax.Text ; + +lincat MCN = Syntax.CN ; +--lincat Var = Symb ; +lincat PP = Adv ; + +lin aNP = mkNP a_Art ; +lin theNP = mkNP the_Art ; +lin cardNP d = mkNP d ; +--lin noNP : CN -> NP ; +lin everyNP = mkNP every_Det ; +--lin eachNP : CN -> NP ; +--lin notEveryNP : CN -> NP ; +--lin notEachNP : CN -> NP ; +lin theCollNP = mkNP the_Art plNum ; +lin someCollNP = mkNP somePl_Det ; +lin allCollNP cn = mkNP all_Predet (mkNP a_Art plNum cn) ; + +--lin noCollNP : CN -> NP ; +--lin eachTheNP : CN -> NP ; +--lin eachSomeNP : CN -> NP ; +--lin eachNumNP : Card -> CN -> NP ; + +lin someMassNP = mkNP someSg_Det ; +lin allMassNP cn = mkNP all_Predet (mkNP cn) ; + +--lin noMassNP : MCN -> NP ; +--lin notAllMassNP : MCN -> NP ; + +lin pnNP = mkNP ; +lin intNP = symb ; +lin floatNP = symb ; +--lin intNegNP : Int -> NP ; + +lin it_NP = mkNP it_Pron ; +lin he_NP = mkNP he_Pron ; +lin she_NP = mkNP she_Pron ; +lin they_NP = mkNP they_Pron ; + +lin conjNP = mkNP and_Conj ; +lin adjCN = mkCN ; + +{- +lin someone_NP : NP ; +lin somebody_NP : NP ; +lin something_NP : NP ; +lin noone_NP : NP ; +lin nothing_NP : NP ; +lin not_everyoneNP : NP ; +lin not_everybodyNP : NP ; +lin not_everythingNP : NP ; + +lin at_leastNP : Card -> CN -> NP ; +lin not_at_leastNP : Card -> CN -> NP ; +lin at_mostNP : Card -> CN -> NP ; +lin not_at_mostNP : Card -> CN -> NP ; +lin more_thanNP : Card -> CN -> NP ; +lin not_more_thanNP : Card -> CN -> NP ; + +lin nothing_butNP : CN -> NP ; -- nothing but apples +lin nothing_butMassNP : MCN -> NP ; -- nothing but water +lin nobody_butNP : PN -> NP ; -- nobody but John +lin no_butNP : CN -> PN -> NP ; -- no man but John + +cat Unit ; -- SI measurement units +cat Var ; + +lin unitNP : Card -> Unit -> NP ; +lin unit_ofNP : Card -> Unit -> CN -> NP ; -- 3 kg of apples +lin unit_ofMassNP : Card -> Unit -> MCN -> NP ; -- 3 l of water +-} +lin apposVarCN cn v = mkCN cn (symb v) ; + +lin varNP = symb ; + +-- 2.2.1 + + +lin adjCN = mkCN ; +lin positAP = mkAP ; +lin comparAP = comparAP ; +lin superlAP a = mkAP (mkOrd a) ; + + +-- 2.2.2 + +lin relCN = mkCN ; +--lin relNP = mkNP ; + +{- +lin andRS : RS -> RS -> RS ; +lin orRS : RS -> RS -> RS ; +lin eachRS : RS -> RS ; -- each of who +-} + +-- 2.2.4 + +lin genNP = genitiveNP ; +lin ofCN cn np = mkCN cn (mkAdv possess_Prep np) ; +lin genOwnNP np cn = genitiveNP np (mkCN own_A cn) ; + +-- 2.3.1 + +lin vpS np vp = mkS (mkCl np vp) ; +lin neg_vpS np vp = mkS negativePol (mkCl np vp) ; + + +--lin not_provably_vpS : NP -> VP -> S ; + +lin vVP = mkVP ; +lin v2VP = mkVP ; +lin v3VP = mkVP ; + +-- 2.3.2 + +lin apVP = mkVP ; +lin compVP a np = mkVP (mkAP a np) ; +--lin as_asVP : A -> NP -> S ; -- John is as rich as Mary + +-- John is as fond-of Mary as Bill +-- John is more fond-of Mary than Bill +-- John is as fond-of Mary as of Sue +-- John is more fond-of Mary than of Sue + + +lincat PP = Adv ; +lincat [PP] = Adv ; + +lin BasePP p = p ; + +lin ppVP = mkVP ; + +lin prepPP = mkAdv ; + +-- 2.3.5 + +lin canVP = mkVP can_VV ; +lin mustVP = mkVP must_VV ; + +lin have_toVP = mkVP have_VV ; + +-- 2.4 + +lin modVP = mkVP ; + +-- 3.2 + +lin thereNP np = mkS (mkCl np) ; + +{- +-- 3.3 +-- Boolean formulas = \= < > <= >= +-} + +-- 3.4.1 + +lin coordS = mkS ; + +lin and_Conj = Syntax.and_Conj ; +lin or_Conj = Syntax.or_Conj ; +--lin comma_and_Conj : Conj ; -- lower precedence +--lin comma_or_Conj : Conj ; + +-- 3.4.3 +{- +lin for_everyS : CN -> S -> S ; +lin for_eachS : CN -> S -> S ; +lin for_each_ofS : Card -> CN -> S -> S ; -- for each of 3 men +lin for_allMassS : MCN -> S -> S ; -- for all water + +-- 3.4.4 + +lin if_thenS : S -> S -> S ; +-} + +oper adj_thatCl : A -> S -> Cl = \a,s -> mkCl (mkVP (mkAP (mkAP a) s)) ; + +lin falseS s = mkS (adj_thatCl false_A s) ; +lin not_provableS s = mkS negativePol (adj_thatCl provable_A s) ; +lin possibleS s = mkS (adj_thatCl possible_A s) ; +lin not_possibleS s = mkS negativePol (adj_thatCl possible_A s) ; +lin necessaryS s = mkS (adj_thatCl necessary_A s) ; +lin not_necessaryS s = mkS negativePol (adj_thatCl necessary_A s) ; + + +--lin thatS s t = mkS ; + +-- 3.5 + +lin npQS np vp = mkQS (mkCl np vp) ; +lin ipQS ip vp = mkQS (mkQCl ip vp) ; +lin iadvQS iadv np vp = mkQS (mkQCl iadv (mkCl np vp)) ; + +lin where_IAdv = Syntax.where_IAdv ; +lin when_IAdv = Syntax.when_IAdv ; +lin whoSg_IP = Syntax.whoSg_IP ; +lin whoPl_IP = Syntax.whoPl_IP ; + +{- +lin there_ipQS : IP -> QS ; -- there is who + +lin whoseIP : CN -> IP ; -- whose dog +-} +-- 3.6 + +lin impVP np vp = mkText (mkPhr (mkUtt (mkImp vp)) (mkVoc np)) exclMarkPunct ; + ---- John, go to the bank! + + +lin consText = mkText ; +lin baseText t = t ; +lin sText = mkText ; +lin qsText = mkText ; + +} + + + diff --git a/examples/attempto/AttemptoSwe.gf b/examples/attempto/AttemptoSwe.gf new file mode 100644 index 000000000..8997766ab --- /dev/null +++ b/examples/attempto/AttemptoSwe.gf @@ -0,0 +1,7 @@ +--# -path=.:present + +concrete AttemptoSwe of Attempto = AttemptoI with + (Syntax = SyntaxSwe), + (Symbolic = SymbolicSwe), + (LexAttempto = LexAttemptoSwe) ; + diff --git a/examples/attempto/LexAttempto.gf b/examples/attempto/LexAttempto.gf new file mode 100644 index 000000000..69561e42a --- /dev/null +++ b/examples/attempto/LexAttempto.gf @@ -0,0 +1,18 @@ +interface LexAttempto = open Syntax in { + +oper + possible_A : A ; + necessary_A : A ; + own_A : A ; + have_VV : VV ; + provably_Adv : Adv ; + provable_A : A ; + false_A : A ; + + genitiveNP : NP -> CN -> NP ; + +-- m_Unit : Unit ; +-- l_Unit : Unit ; +-- kg_Unit : Unit ; + +} diff --git a/examples/attempto/LexAttemptoEng.gf b/examples/attempto/LexAttemptoEng.gf new file mode 100644 index 000000000..f9d975d18 --- /dev/null +++ b/examples/attempto/LexAttemptoEng.gf @@ -0,0 +1,15 @@ +instance LexAttemptoEng of LexAttempto = + open ExtraEng, SyntaxEng, ParadigmsEng, ConstructX, IrregEng in { + +oper + possible_A = mkA "possible" ; + necessary_A = mkA "necessary" ; + own_A = mkA "own" ; + have_VV = mkVV have_V ; + provably_Adv = mkAdv "provably" ; + provable_A = mkA "provable" ; + false_A = mkA "false" ; + + genitiveNP np = mkNP (GenNP np) ; + +} diff --git a/examples/attempto/LexAttemptoSwe.gf b/examples/attempto/LexAttemptoSwe.gf new file mode 100644 index 000000000..cdb5a56f3 --- /dev/null +++ b/examples/attempto/LexAttemptoSwe.gf @@ -0,0 +1,15 @@ +instance LexAttemptoSwe of LexAttempto = + open ExtraSwe, SyntaxSwe, ParadigmsSwe, ConstructX, IrregSwe in { + +oper + possible_A = mkA "möjlig" ; + necessary_A = mkA "nödvändig" ; + own_A = mkA "egen" ; + have_VV = must_VV ; + provably_Adv = mkAdv "bevisbart" ; + provable_A = mkA "bevisbar" ; + false_A = mkA "falsk" ; + + genitiveNP np = mkNP (GenNP np) ; + +} diff --git a/examples/attempto/TestAttempto.gf b/examples/attempto/TestAttempto.gf new file mode 100644 index 000000000..33eee9c86 --- /dev/null +++ b/examples/attempto/TestAttempto.gf @@ -0,0 +1,82 @@ +abstract TestAttempto = Attempto ** { + +fun + card_N : CN ; + water_MCN : MCN ; + john_PN : PN ; + apple_PN : PN ; + sleep_V : V ; + young_A : A ; + dog_N : CN ; + animal_N : CN ; + wait_V : V ; + man_N : CN ; + woman_N : CN ; + give_V3 : V3 ; + tired_A : A ; + rich_A : A ; + customer_N : CN ; + enter_V2 : V2 ; + bank_N : CN ; + satisfied_A : A ; + lucky_A : A ; + well_known_A : A ; + important_A : A ; + expensive_A : A ; + fill_in_V2 : V2 ; + form_N : CN ; + age_N : CN ; + teacher_N : CN ; + successful_A : A ; + fond_A2 : A2 ; + garden_N : CN ; + morning_N : CN ; + code_N : CN ; + drinkable_A : A ; + work_V : V ; + admitted_A : A ; + eat_V2 : V2 ; + burger_N : CN ; + earn_V2 : V2 ; + income_N : CN ; + england_PN : PN ; + beginning_N : CN ; + office_N : CN ; + interested_A2 : A2 ; + morning_N : CN ; + classroom_N : CN ; + manually_Adv : Adv ; + slot_N : CN ; + patiently_Adv : Adv ; + course_N : CN ; + carefully_Adv : Adv ; + time_N : CN ; + believe_V : V ; + seriously_Adv : Adv ; + clerk_N : CN ; + screen_N : CN ; + blink_V : V ; + bed_N : CN ; + container_N : CN ; + automated_teller_N : CN ; + reject_V2 : V2 ; + accept_V2 : V2 ; + type_V2 : V2 ; + know_V : V ; + manager_N : CN ; + oversleep_V : V ; + valid_A : A ; + see_V2 : V2 ; + bark_V : V ; + go_V2 : V2 ; + brother_N : CN ; + mary_PN : PN ; + machine_N : CN ; + correct_A : A ; + + in_Prep : Prep ; + at_Prep : Prep ; + into_Prep : Prep ; + + +} diff --git a/examples/attempto/TestAttemptoEng.gf b/examples/attempto/TestAttemptoEng.gf new file mode 100644 index 000000000..9a475cc18 --- /dev/null +++ b/examples/attempto/TestAttemptoEng.gf @@ -0,0 +1,86 @@ +--# -path=.:/Users/aarne/GF/next-lib/present + +concrete TestAttemptoEng of TestAttempto = AttemptoEng ** + open SyntaxEng, ParadigmsEng, IrregEng, (C = ConstructX) in { + +lin card_N = mkkN "card" ; +lin water_MCN = mkCN (mkkN "water") ; +lin john_PN = mkPN "john" ; +lin apple_PN = mkPN "apple" ; +lin sleep_V = IrregEng.sleep_V ; +lin young_A = mkA "young" ; +lin dog_N = mkkN "dog" ; +lin animal_N = mkkN "animal" ; +lin wait_V = mkV "wait" ; +lin man_N = mkkN "man" ; +lin woman_N = mkkN "woman" ; +lin give_V3 = mkV3 give_V (mkPrep []) (mkPrep "to") ; +lin tired_A = mkA "tired" ; +lin rich_A = mkA "rich" ; +lin customer_N = mkkN "customer" ; +lin enter_V2 = mkV2 "enter" ; +lin bank_N = mkkN "bank" ; +lin satisfied_A = mkA "satisfied" ; +lin lucky_A = mkA "lucky" ; +lin well_known_A = mkA "well" ; +lin important_A = mkA "important" ; +lin expensive_A = mkA "expensive" ; +lin fill_in_V2 = mkV2 "fill" ; +lin form_N = mkkN "form" ; +lin age_N = mkkN "age" ; +lin teacher_N = mkkN "teacher" ; +lin successful_A = mkA "successful" ; +lin fond_A2 = mkA2 (mkA "fond") (mkPrep "of") ; +lin garden_N = mkkN "garden" ; +lin morning_N = mkkN "morning" ; +lin code_N = mkkN "code" ; +lin drinkable_A = mkA "drinkable" ; +lin work_V = mkV "work" ; +lin admitted_A = mkA "admitted" ; +lin eat_V2 = mkV2 eat_V ; +lin burger_N = mkkN "burger" ; +lin earn_V2 = mkV2 "earn" ; +lin income_N = mkkN "income" ; +lin england_PN = mkPN "england" ; +lin beginning_N = mkkN "beginning" ; +lin office_N = mkkN "office" ; +lin interested_A2 = mkA2 (mkA "interested") (mkPrep "in") ; +lin morning_N = mkkN "morning" ; +lin classroom_N = mkkN "classroom" ; +lin manually_Adv = mkAdv "manually" ; +lin slot_N = mkkN "slot" ; +lin patiently_Adv = mkAdv "patiently" ; +lin course_N = mkkN "course" ; +lin carefully_Adv = mkAdv "carefully" ; +lin time_N = mkkN "time" ; +lin believe_V = mkV "believe" ; +lin seriously_Adv = mkAdv "seriously" ; +lin clerk_N = mkkN "clerk" ; +lin screen_N = mkkN "screen" ; +lin blink_V = mkV "blink" ; +lin bed_N = mkkN "bed" ; +lin container_N = mkkN "container" ; +lin automated_teller_N = mkkN "automated" ; +lin reject_V2 = mkV2 "reject" ; +lin accept_V2 = mkV2 "accept" ; +lin type_V2 = mkV2 "type" ; +lin know_V = IrregEng.know_V ; +lin manager_N = mkkN "manager" ; +lin oversleep_V = mkV "oversleep" "overslept" "overslept" ; +lin valid_A = mkA "valid" ; +lin see_V2 = mkV2 see_V ; +lin bark_V = mkV "bark" ; +lin go_V2 = mkV2 go_V to_Prep ; +lin brother_N = mkkN "brother" ; +lin mary_PN = mkPN "mary" ; +lin machine_N = mkkN "machine" ; +lin correct_A = mkA "correct" ; + +oper mkkN : Str -> CN = \n -> mkCN (ParadigmsEng.mkN n) ; + +lin + in_Prep = SyntaxEng.in_Prep ; + at_Prep = mkPrep "at" ; + into_Prep = mkPrep "into" ; + +} diff --git a/examples/attempto/TestAttemptoSwe.gf b/examples/attempto/TestAttemptoSwe.gf new file mode 100644 index 000000000..831e8232f --- /dev/null +++ b/examples/attempto/TestAttemptoSwe.gf @@ -0,0 +1,85 @@ +--# -path=.:/Users/aarne/GF/next-lib/present + +concrete TestAttemptoSwe of TestAttempto = AttemptoSwe ** + open SyntaxSwe, ParadigmsSwe, IrregSwe, (C = ConstructX) in { + +lin card_N = mkkN "kort" neutrum ; +lin water_MCN = mkkN "vatten" neutrum ; +lin john_PN = mkPN "john" ; +lin apple_PN = mkPN "apple" ; +lin sleep_V = IrregSwe.sova_V ; +lin young_A = mkA "ung" ; +lin dog_N = mkkN "hund" utrum ; +lin animal_N = mkkN "djur" neutrum ; +lin wait_V = mkV "vänta" ; +lin man_N = mkCN (mkN "man" "män") ; +lin woman_N = mkkN "kvinna" utrum ; +lin give_V3 = mkV3 giva_V (mkPrep []) (mkPrep "till") ; +lin tired_A = mkA "trött" ; +lin rich_A = mkA "rik" ; +lin customer_N = mkCN (mkN "kund" "kunder") ; +lin enter_V2 = mkV2 "beträda" ; +lin bank_N = mkCN (mkN "bank" "banker") ; +lin satisfied_A = mkA "nöjd" ; +lin lucky_A = mkA "lycklig" ; +lin well_known_A = mkA "välkänd" ; +lin important_A = mkA "viktig" ; +lin expensive_A = mkA "dyr" ; +lin fill_in_V2 = mkV2 "fyller" ; +lin form_N = mkkN "formulär" neutrum ; +lin age_N = mkkN "ålder" utrum ; +lin teacher_N = mkkN "lärare" utrum ; +lin successful_A = mkA "framgångsrik" ; +lin fond_A2 = mkA2 (mkA "kär") (mkPrep "i") ; +lin garden_N = mkkN "trädgård" utrum ; +lin morning_N = mkCN (mkN "morgon" "morgnar") ; +lin code_N = mkCN (mkN "kod" "koder") ; +lin drinkable_A = mkA "drickbar" ; +lin work_V = mkV "arbeta" ; +lin admitted_A = mkA "godkänd" ; +lin eat_V2 = mkV2 äta_V ; +lin burger_N = mkkN "burgare" utrum ; +lin earn_V2 = mkV2 "tjäna" ; +lin income_N = mkCN (mkN "inkomst" "inkomster") ; +lin england_PN = mkPN "England" ; +lin beginning_N = mkCN (mkN "början" "början") ; +lin office_N = mkkN "kontor" neutrum ; +lin interested_A2 = mkA2 (mkA "intresserad") (mkPrep "i") ; +lin classroom_N = mkkN "klassrum" neutrum ; +lin manually_Adv = mkAdv "manuellt" ; +lin slot_N = mkkN "hål" neutrum ; +lin patiently_Adv = mkAdv "tålamodigt" ; +lin course_N = mkCN (mkN "kurs" "kurser") ; +lin carefully_Adv = mkAdv "försiktigt" ; +lin time_N = mkCN (mkN "tid" "tider") ; +lin believe_V = mkV "tro" ; +lin seriously_Adv = mkAdv "seriöst" ; +lin clerk_N = mkkN "bokhållare" utrum ; +lin screen_N = mkkN "skärm" neutrum ; +lin blink_V = mkV "blinka" ; +lin bed_N = mkkN "säng" utrum ; +lin container_N = mkkN "behållare" utrum ; +lin automated_teller_N = mkCN (mkN "automat" "automater") ; +lin reject_V2 = mkV2 "förkasta" ; +lin accept_V2 = mkV2 "acceptera" ; +lin type_V2 = mkV2 "inmata" ; ---- +lin know_V = veta_V ; +lin manager_N = mkCN (mkN "chef" "chefer") ; +lin oversleep_V = mkV "försova" "försov" "försovit" ; +lin valid_A = mkA "giltig" ; +lin see_V2 = mkV2 se_V ; +lin bark_V = mkV "skäller" ; +lin go_V2 = mkV2 gå_V to_Prep ; +lin brother_N = mkCN (mkN "bror" "bröder") ; +lin mary_PN = mkPN "Mary" ; +lin machine_N = mkCN (mkN "maskin" "maskiner") ; +lin correct_A = mkA "korrekt" ; + +oper mkkN : Str -> Gender -> CN = \n,g -> mkCN (ParadigmsSwe.mkN n g) ; + +lin + in_Prep = SyntaxSwe.in_Prep ; + at_Prep = mkPrep "på" ; + into_Prep = mkPrep "in i" ; + +}