part of Attempto controlled language in English and Swedish

This commit is contained in:
aarne
2008-10-28 14:05:55 +00:00
parent 7408089e29
commit 4f327ca357
11 changed files with 825 additions and 0 deletions

View 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 ;
}

View 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 ;
}

View File

@@ -0,0 +1,7 @@
--# -path=.:present
concrete AttemptoEng of Attempto = AttemptoI with
(Syntax = SyntaxEng),
(Symbolic = SymbolicEng),
(LexAttempto = LexAttemptoEng) ;

View 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 ;
}

View File

@@ -0,0 +1,7 @@
--# -path=.:present
concrete AttemptoSwe of Attempto = AttemptoI with
(Syntax = SyntaxSwe),
(Symbolic = SymbolicSwe),
(LexAttempto = LexAttemptoSwe) ;

View 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 ;
}

View 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) ;
}

View 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) ;
}

View 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 ;
}

View 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" ;
}

View 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" ;
}