mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
part of Attempto controlled language in English and Swedish
This commit is contained in:
236
examples/attempto/Attempto.gf
Normal file
236
examples/attempto/Attempto.gf
Normal file
@@ -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 ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
29
examples/attempto/Attempto1.gf
Normal file
29
examples/attempto/Attempto1.gf
Normal file
@@ -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 ;
|
||||
|
||||
}
|
||||
7
examples/attempto/AttemptoEng.gf
Normal file
7
examples/attempto/AttemptoEng.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:present
|
||||
|
||||
concrete AttemptoEng of Attempto = AttemptoI with
|
||||
(Syntax = SyntaxEng),
|
||||
(Symbolic = SymbolicEng),
|
||||
(LexAttempto = LexAttemptoEng) ;
|
||||
|
||||
245
examples/attempto/AttemptoI.gf
Normal file
245
examples/attempto/AttemptoI.gf
Normal file
@@ -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 ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
7
examples/attempto/AttemptoSwe.gf
Normal file
7
examples/attempto/AttemptoSwe.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:present
|
||||
|
||||
concrete AttemptoSwe of Attempto = AttemptoI with
|
||||
(Syntax = SyntaxSwe),
|
||||
(Symbolic = SymbolicSwe),
|
||||
(LexAttempto = LexAttemptoSwe) ;
|
||||
|
||||
18
examples/attempto/LexAttempto.gf
Normal file
18
examples/attempto/LexAttempto.gf
Normal file
@@ -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 ;
|
||||
|
||||
}
|
||||
15
examples/attempto/LexAttemptoEng.gf
Normal file
15
examples/attempto/LexAttemptoEng.gf
Normal file
@@ -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) ;
|
||||
|
||||
}
|
||||
15
examples/attempto/LexAttemptoSwe.gf
Normal file
15
examples/attempto/LexAttemptoSwe.gf
Normal file
@@ -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) ;
|
||||
|
||||
}
|
||||
82
examples/attempto/TestAttempto.gf
Normal file
82
examples/attempto/TestAttempto.gf
Normal file
@@ -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 ;
|
||||
|
||||
|
||||
}
|
||||
86
examples/attempto/TestAttemptoEng.gf
Normal file
86
examples/attempto/TestAttemptoEng.gf
Normal file
@@ -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" ;
|
||||
|
||||
}
|
||||
85
examples/attempto/TestAttemptoSwe.gf
Normal file
85
examples/attempto/TestAttemptoSwe.gf
Normal file
@@ -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" ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user