corrections in Attempto grammars

This commit is contained in:
aarne
2008-11-08 09:38:32 +00:00
parent 70e49b204c
commit fc0432e4e1
9 changed files with 48 additions and 34 deletions

View File

@@ -131,6 +131,10 @@ fun eachRS : RS -> RS ; -- each of who
fun suchCN : CN -> S -> CN ; fun suchCN : CN -> S -> CN ;
fun predRS : VP -> RS ;
fun slashRS : NP -> V2 -> RS ;
-- 2.2.4 -- 2.2.4
fun genNP : NP -> CN -> NP ; -- everybody's customer fun genNP : NP -> CN -> NP ; -- everybody's customer

View File

@@ -126,6 +126,9 @@ lin eachRS : RS -> RS ; -- each of who
lin suchCN cn s = mkCN (mkAP (mkAP such_A) s) cn ; lin suchCN cn s = mkCN (mkAP (mkAP such_A) s) cn ;
lin predRS vp = mkRS (mkRCl which_RP vp) ;
lin slashRS np v2 = mkRS (mkRCl which_RP np v2) ;
-- 2.2.4 -- 2.2.4
lin genNP = genitiveNP ; lin genNP = genitiveNP ;

View File

@@ -4,7 +4,7 @@ instance LexAttemptoSwe of LexAttempto =
oper oper
possible_A = mkA "möjlig" ; possible_A = mkA "möjlig" ;
necessary_A = mkA "nödvändig" ; necessary_A = mkA "nödvändig" ;
own_A = mkA "egen" ; own_A = mkA "egen" "eget" "egna" "egnare" "egnast" ;
have_VV = must_VV ; have_VV = must_VV ;
provably_Adv = mkAdv "bevisbart" ; provably_Adv = mkAdv "bevisbart" ;
provable_A = mkA "bevisbar" ; provable_A = mkA "bevisbar" ;

View File

@@ -5,15 +5,15 @@ concrete TestAttemptoEng of TestAttempto = AttemptoEng **
lin card_N = mkkN "card" ; lin card_N = mkkN "card" ;
lin water_MCN = mkCN (mkkN "water") ; lin water_MCN = mkCN (mkkN "water") ;
lin john_PN = mkPN "john" ; lin john_PN = mkPN "John" ;
lin apple_N = mkkN "apple" ; lin apple_N = mkkN "apple" ;
lin sleep_V = IrregEng.sleep_V ; lin sleep_V = IrregEng.sleep_V ;
lin young_A = mkA "young" ; lin young_A = mkA "young" ;
lin dog_N = mkkN "dog" ; lin dog_N = mkkN "dog" ;
lin animal_N = mkkN "animal" ; lin animal_N = mkkN "animal" ;
lin wait_V = mkV "wait" ; lin wait_V = mkV "wait" ;
lin man_N = mkkN "man" ; lin man_N = mkCN (mkN "man" "men") ;
lin woman_N = mkkN "woman" ; lin woman_N = mkCN (mkN "woman" "women") ;
lin give_V3 = mkV3 give_V (mkPrep []) (mkPrep "to") ; lin give_V3 = mkV3 give_V (mkPrep []) (mkPrep "to") ;
lin tired_A = mkA "tired" ; lin tired_A = mkA "tired" ;
lin rich_A = mkA "rich" ; lin rich_A = mkA "rich" ;
@@ -25,7 +25,7 @@ lin lucky_A = mkA "lucky" ;
lin well_known_A = mkA "well" ; lin well_known_A = mkA "well" ;
lin important_A = mkA "important" ; lin important_A = mkA "important" ;
lin expensive_A = mkA "expensive" ; lin expensive_A = mkA "expensive" ;
lin fill_in_V2 = mkV2 "fill" ; lin fill_in_V2 = mkV2 (partV (mkV "fill") "in") ;
lin form_N = mkkN "form" ; lin form_N = mkkN "form" ;
lin age_N = mkkN "age" ; lin age_N = mkkN "age" ;
lin teacher_N = mkkN "teacher" ; lin teacher_N = mkkN "teacher" ;
@@ -41,7 +41,7 @@ lin eat_V2 = mkV2 eat_V ;
lin burger_N = mkkN "burger" ; lin burger_N = mkkN "burger" ;
lin earn_V2 = mkV2 "earn" ; lin earn_V2 = mkV2 "earn" ;
lin income_N = mkkN "income" ; lin income_N = mkkN "income" ;
lin england_PN = mkPN "england" ; lin england_PN = mkPN "England" ;
lin beginning_N = mkkN "beginning" ; lin beginning_N = mkkN "beginning" ;
lin office_N = mkkN "office" ; lin office_N = mkkN "office" ;
lin interested_A2 = mkA2 (mkA "interested") (mkPrep "in") ; lin interested_A2 = mkA2 (mkA "interested") (mkPrep "in") ;

View File

@@ -42,9 +42,9 @@ lin burger_N = mkkN "hamburger" ;
lin earn_V2 = mkV2 "gagner" ; lin earn_V2 = mkV2 "gagner" ;
lin income_N = mkkN "revenu" ; lin income_N = mkkN "revenu" ;
lin england_PN = mkPN "Angleterre" ; lin england_PN = mkPN "Angleterre" ;
lin beginning_N = mkkN "debut" ; lin beginning_N = mkkN "début" ;
lin office_N = mkkN "bureau" ; lin office_N = mkkN "bureau" ;
lin interested_A2 = mkA2 (mkA "interessé") dative ; lin interested_A2 = mkA2 (mkA "interessé") (mkPrep "par") ;
lin classroom_N = mkkN "classe" ; lin classroom_N = mkkN "classe" ;
lin manually_Adv = mkAdv "manuellement" ; lin manually_Adv = mkAdv "manuellement" ;
lin slot_N = mkkN "trou" ; lin slot_N = mkkN "trou" ;
@@ -75,6 +75,8 @@ lin mary_PN = mkPN "Mary" ;
lin machine_N = mkkN "machine" ; lin machine_N = mkkN "machine" ;
lin correct_A = mkA "correct" ; lin correct_A = mkA "correct" ;
lin kilogram_Unit = mkkN "kilo" ;
oper oper
mkkN : Str -> CN = \n -> mkCN (ParadigmsFre.mkN n) ; mkkN : Str -> CN = \n -> mkCN (ParadigmsFre.mkN n) ;
mkgN : Str -> Gender -> CN = \n,g -> mkCN (ParadigmsFre.mkN n g) ; mkgN : Str -> Gender -> CN = \n,g -> mkCN (ParadigmsFre.mkN n g) ;

View File

@@ -26,14 +26,14 @@ lin well_known_A = mkA "bekannt" ;
lin important_A = mkA "wichtig" ; lin important_A = mkA "wichtig" ;
lin expensive_A = mkA "teuer" ; lin expensive_A = mkA "teuer" ;
lin fill_in_V2 = mkV2 (mkV "ab" (mkV "füllen")) ; lin fill_in_V2 = mkV2 (mkV "ab" (mkV "füllen")) ;
lin form_N = mkgN "Formulär" "Formuläre" neuter ; lin form_N = mkgN "Formular" "Formulare" neuter ;
lin age_N = mkgN "Alter" "Älter" masculine ; lin age_N = mkgN "Alter" "Älter" masculine ;
lin teacher_N = mkgN "Lehrer" "Lehrer" masculine ; lin teacher_N = mkgN "Lehrer" "Lehrer" masculine ;
lin successful_A = mkA "erfolgreich" ; lin successful_A = mkA "erfolgreich" ;
lin fond_A2 = mkA2 (mkA "verliebt") (mkPrep "in" dative) ; lin fond_A2 = mkA2 (mkA "verliebt") (mkPrep "in" dative) ;
lin garden_N = mkgN "Garten" "Gärten" masculine ; lin garden_N = mkgN "Garten" "Gärten" masculine ;
lin morning_N = mkgN "Morgen" "Morgen" masculine ; lin morning_N = mkgN "Morgen" "Morgen" masculine ;
lin code_N = mkkN "Code" ; lin code_N = mkgN "Code" "Codes" masculine ;
lin drinkable_A = mkA "trinkbar" ; lin drinkable_A = mkA "trinkbar" ;
lin work_V = mkV "arbeiten" ; lin work_V = mkV "arbeiten" ;
lin admitted_A = mkA "zugelassen" ; lin admitted_A = mkA "zugelassen" ;
@@ -44,7 +44,7 @@ lin income_N = mkgN "Einkommen" "Einkommen" neuter ;
lin england_PN = mkPN "England" ; lin england_PN = mkPN "England" ;
lin beginning_N = mkgN "Anfang" "Anfänge" masculine ; lin beginning_N = mkgN "Anfang" "Anfänge" masculine ;
lin office_N = mkgN "Büro" "Büros" neuter ; lin office_N = mkgN "Büro" "Büros" neuter ;
lin interested_A2 = mkA2 (mkA "interessiert") (mkPrep "an" accusative) ; ---- lin interested_A2 = mkA2 (mkA "interessiert") (mkPrep "an" dative) ; ----
lin classroom_N = mkkN "Klasse" ; lin classroom_N = mkkN "Klasse" ;
lin manually_Adv = mkAdv "manuell" ; lin manually_Adv = mkAdv "manuell" ;
lin slot_N = mkgN "Hohl" "Höhle" masculine ; ---- lin slot_N = mkgN "Hohl" "Höhle" masculine ; ----
@@ -55,16 +55,16 @@ lin time_N = mkgN "Zeit" "Zeiten" feminine ;
lin believe_V = mkV "glauben" ; lin believe_V = mkV "glauben" ;
lin seriously_Adv = mkAdv "seriös" ; ---- lin seriously_Adv = mkAdv "seriös" ; ----
lin clerk_N = mkgN "Angestellt" "Angestellten" masculine ; ---- lin clerk_N = mkgN "Angestellt" "Angestellten" masculine ; ----
lin screen_N = mkgN "Schirm" "Schirme" neuter ; lin screen_N = mkgN "Schirm" "Schirme" masculine ;
lin blink_V = mkV "blinken" ; ---- lin blink_V = mkV "blinken" ; ----
lin bed_N = mkgN "Bett" "Bette" neuter ; lin bed_N = mkgN "Bett" "Bette" neuter ;
lin container_N = mkgN "Gehälter" "Gehälter" masculine ; lin container_N = mkgN "Gehälter" "Gehälter" masculine ;
lin automated_teller_N = mkgN "Automat" "Automate" neuter ; lin automated_teller_N = mkgN "Automat" "Automate" neuter ;
lin reject_V2 = mkV2 (mkV "verwerfen") ; ---- lin reject_V2 = mkV2 (mkV "verwerfen" "verwirft" "verwarf" "verwürfe" "verworfen") ;
lin accept_V2 = mkV2 (mkV "an" nehmen_V) ; lin accept_V2 = mkV2 (mkV "an" nehmen_V) ;
lin type_V2 = mkV2 "typen" ; ---- lin type_V2 = mkV2 schreiben_V ;
lin know_V = wissen_V ; lin know_V = wissen_V ;
lin manager_N = mkgN "Manager" "Managers" masculine ; ---- lin manager_N = mkgN "Manager" "Manager" masculine ; ----
lin oversleep_V = schlafen_V ; ---- lin oversleep_V = schlafen_V ; ----
lin valid_A = mkA "gültig" ; lin valid_A = mkA "gültig" ;
lin see_V2 = mkV2 sehen_V ; lin see_V2 = mkV2 sehen_V ;
@@ -72,9 +72,11 @@ lin bark_V = mkV "bellen" ;
lin go_V2 = mkV2 gehen_V to_Prep ; lin go_V2 = mkV2 gehen_V to_Prep ;
lin brother_N = mkgN "Bruder" "Brüder" masculine ; lin brother_N = mkgN "Bruder" "Brüder" masculine ;
lin mary_PN = mkPN "Mary" ; lin mary_PN = mkPN "Mary" ;
lin machine_N = mkkN "maschine" ; lin machine_N = mkkN "Maschine" ;
lin correct_A = mkA "korrekt" ; lin correct_A = mkA "korrekt" ;
lin kilogram_Unit = mkgN "Kilo" "Kilo" neuter ;
oper oper
mkkN : Str -> CN = \n -> mkCN (ParadigmsGer.mkN n) ; mkkN : Str -> CN = \n -> mkCN (ParadigmsGer.mkN n) ;
mkgN : Str -> Str -> Gender -> CN = \s,n,g -> mkCN (ParadigmsGer.mkN s n g) ; mkgN : Str -> Str -> Gender -> CN = \s,n,g -> mkCN (ParadigmsGer.mkN s n g) ;

View File

@@ -4,48 +4,48 @@ concrete TestAttemptoSwe of TestAttempto = AttemptoSwe **
open SyntaxSwe, ParadigmsSwe, IrregSwe, (C = ConstructX) in { open SyntaxSwe, ParadigmsSwe, IrregSwe, (C = ConstructX) in {
lin card_N = mkkN "kort" neutrum ; lin card_N = mkkN "kort" neutrum ;
lin water_MCN = mkkN "vatten" neutrum ; lin water_MCN = mkCN (mkN "vatten" "vattnet" "vatten" "vattnen") ;
lin john_PN = mkPN "john" ; lin john_PN = mkPN "John" ;
lin apple_N = mkkN "äpple" neutrum ; lin apple_N = mkkN "äpple" neutrum ;
lin sleep_V = IrregSwe.sova_V ; lin sleep_V = IrregSwe.sova_V ;
lin young_A = mkA "ung" ; lin young_A = mkA "ung" ;
lin dog_N = mkkN "hund" utrum ; lin dog_N = mkkN "hund" utrum ;
lin animal_N = mkkN "djur" neutrum ; lin animal_N = mkkN "djur" neutrum ;
lin wait_V = mkV "vänta" ; lin wait_V = mkV "vänta" ;
lin man_N = mkCN (mkN "man" "män") ; lin man_N = mkCN (mkN "man" "mannen" "män" "männen") ;
lin woman_N = mkkN "kvinna" utrum ; lin woman_N = mkkN "kvinna" utrum ;
lin give_V3 = mkV3 giva_V (mkPrep []) (mkPrep "till") ; lin give_V3 = mkV3 giva_V (mkPrep []) (mkPrep "till") ;
lin tired_A = mkA "trött" ; lin tired_A = mkA "trött" ;
lin rich_A = mkA "rik" ; lin rich_A = mkA "rik" ;
lin customer_N = mkCN (mkN "kund" "kunder") ; lin customer_N = mkCN (mkN "kund" "kunder") ;
lin enter_V2 = mkV2 "beträda" ; lin enter_V2 = mkV2 (mkV (mkV "träder") "in") (mkPrep "i") ;
lin bank_N = mkCN (mkN "bank" "banker") ; lin bank_N = mkCN (mkN "bank" "banker") ;
lin satisfied_A = mkA "nöjd" ; lin satisfied_A = mkA "nöjd" "nöjt" ;
lin lucky_A = mkA "lycklig" ; lin lucky_A = mkA "lycklig" ;
lin well_known_A = mkA "välkänd" ; lin well_known_A = mkA "välkänd" ;
lin important_A = mkA "viktig" ; lin important_A = mkA "viktig" ;
lin expensive_A = mkA "dyr" ; lin expensive_A = mkA "dyr" ;
lin fill_in_V2 = mkV2 "fyller" ; lin fill_in_V2 = mkV2 (mkV (mkV "fyller") "i") ;
lin form_N = mkkN "formulär" neutrum ; lin form_N = mkkN "formulär" neutrum ;
lin age_N = mkkN "ålder" utrum ; lin age_N = mkkN "ålder" utrum ;
lin teacher_N = mkkN "lärare" utrum ; lin teacher_N = mkkN "lärare" utrum ;
lin successful_A = mkA "framgångsrik" ; lin successful_A = mkA "framgångsrik" ;
lin fond_A2 = mkA2 (mkA "kär") (mkPrep "i") ; lin fond_A2 = mkA2 (mkA "förtjust") (mkPrep "i") ;
lin garden_N = mkkN "trädgård" utrum ; lin garden_N = mkkN "trädgård" utrum ;
lin morning_N = mkCN (mkN "morgon" "morgnar") ; lin morning_N = mkCN (mkN "morgon" "morgonen" "morgnar" "morgnarna") ;
lin code_N = mkCN (mkN "kod" "koder") ; lin code_N = mkCN (mkN "kod" "koder") ;
lin drinkable_A = mkA "drickbar" ; lin drinkable_A = mkA "drickbar" ;
lin work_V = mkV "arbeta" ; lin work_V = mkV "arbeta" ;
lin admitted_A = mkA "godkänd" ; lin admitted_A = mkA "godkänd" ;
lin eat_V2 = mkV2 äta_V ; lin eat_V2 = mkV2 äta_V ;
lin burger_N = mkkN "burgare" utrum ; lin burger_N = mkkN "hamburgare" utrum ;
lin earn_V2 = mkV2 "tjäna" ; lin earn_V2 = mkV2 "tjäna" ;
lin income_N = mkCN (mkN "inkomst" "inkomster") ; lin income_N = mkCN (mkN "inkomst" "inkomster") ;
lin england_PN = mkPN "England" ; lin england_PN = mkPN "England" ;
lin beginning_N = mkCN (mkN "början" "början") ; lin beginning_N = mkCN (mkN "början" "början" "början" "början") ;
lin office_N = mkkN "kontor" neutrum ; lin office_N = mkkN "kontor" neutrum ;
lin interested_A2 = mkA2 (mkA "intresserad") (mkPrep "i") ; lin interested_A2 = mkA2 (compoundA (mkA "intresserad" "intresserat")) (mkPrep "i") ;
lin classroom_N = mkkN "klassrum" neutrum ; lin classroom_N = mkCN (mkN "klassrum" "klassrummet" "klassrum" "klassrummen") ;
lin manually_Adv = mkAdv "manuellt" ; lin manually_Adv = mkAdv "manuellt" ;
lin slot_N = mkkN "hål" neutrum ; lin slot_N = mkkN "hål" neutrum ;
lin patiently_Adv = mkAdv "tålamodigt" ; lin patiently_Adv = mkAdv "tålamodigt" ;
@@ -54,7 +54,7 @@ lin carefully_Adv = mkAdv "f
lin time_N = mkCN (mkN "tid" "tider") ; lin time_N = mkCN (mkN "tid" "tider") ;
lin believe_V = mkV "tro" ; lin believe_V = mkV "tro" ;
lin seriously_Adv = mkAdv "seriöst" ; lin seriously_Adv = mkAdv "seriöst" ;
lin clerk_N = mkkN "bokhållare" utrum ; lin clerk_N = mkCN (mkN "kontorist" "kontorister") ;
lin screen_N = mkkN "skärm" neutrum ; lin screen_N = mkkN "skärm" neutrum ;
lin blink_V = mkV "blinka" ; lin blink_V = mkV "blinka" ;
lin bed_N = mkkN "säng" utrum ; lin bed_N = mkkN "säng" utrum ;
@@ -62,7 +62,7 @@ lin container_N = mkkN "beh
lin automated_teller_N = mkCN (mkN "automat" "automater") ; lin automated_teller_N = mkCN (mkN "automat" "automater") ;
lin reject_V2 = mkV2 "förkasta" ; lin reject_V2 = mkV2 "förkasta" ;
lin accept_V2 = mkV2 "acceptera" ; lin accept_V2 = mkV2 "acceptera" ;
lin type_V2 = mkV2 "inmata" ; ---- lin type_V2 = mkV2 skriva_V ; ----
lin know_V = veta_V ; lin know_V = veta_V ;
lin manager_N = mkCN (mkN "chef" "chefer") ; lin manager_N = mkCN (mkN "chef" "chefer") ;
lin oversleep_V = mkV "försova" "försov" "försovit" ; lin oversleep_V = mkV "försova" "försov" "försovit" ;
@@ -70,13 +70,15 @@ lin valid_A = mkA "giltig" ;
lin see_V2 = mkV2 se_V ; lin see_V2 = mkV2 se_V ;
lin bark_V = mkV "skäller" ; lin bark_V = mkV "skäller" ;
lin go_V2 = mkV2 gå_V to_Prep ; lin go_V2 = mkV2 gå_V to_Prep ;
lin brother_N = mkCN (mkN "bror" "bröder") ; lin brother_N = mkCN (mkN "bror" "brodern" "bröder" "bröderna") ;
lin mary_PN = mkPN "Mary" ; lin mary_PN = mkPN "Mary" ;
lin machine_N = mkCN (mkN "maskin" "maskiner") ; lin machine_N = mkCN (mkN "maskin" "maskiner") ;
lin correct_A = mkA "korrekt" ; lin correct_A = mkA "korrekt" ;
oper mkkN : Str -> Gender -> CN = \n,g -> mkCN (ParadigmsSwe.mkN n g) ; oper mkkN : Str -> Gender -> CN = \n,g -> mkCN (ParadigmsSwe.mkN n g) ;
lin kilogram_Unit = mkCN (mkN "kilo" "kilot" "kilo" "kilon") ;
lin lin
in_Prep = SyntaxSwe.in_Prep ; in_Prep = SyntaxSwe.in_Prep ;
at_Prep = mkPrep "på" ; at_Prep = mkPrep "på" ;

View File

@@ -331,8 +331,9 @@ oper
} ; } ;
regGenN : Str -> Gender -> N = \bil, g -> case g of { regGenN : Str -> Gender -> N = \bil, g -> case g of {
Utr => case last bil of { Utr => case bil of {
"a" => decl1Noun bil ; _ + "are" => decl5Noun bil ;
_ + "a" => decl1Noun bil ;
_ => decl2Noun bil _ => decl2Noun bil
} ; } ;
Neutr => case last bil of { Neutr => case last bil of {

View File

@@ -132,7 +132,7 @@ lin
Sg => \\_,_ => genderForms "ingen" "inget" ; Sg => \\_,_ => genderForms "ingen" "inget" ;
Pl => \\_,_,_ => "inga" Pl => \\_,_,_ => "inga"
} ; } ;
det = DDef Def det = DIndef
} ; } ;
if_then_Conj = {s1 = "om" ; s2 = "så" ; n = singular} ; if_then_Conj = {s1 = "om" ; s2 = "så" ; n = singular} ;