merging Lexicon with Swadesh

This commit is contained in:
aarne
2006-03-07 18:26:47 +00:00
parent c168b6c489
commit 6c46034c09
35 changed files with 3837 additions and 1947 deletions

View File

@@ -22,11 +22,9 @@ abstract Swadesh = Cat ** {
that_Det : Det ;
this_Det : Det ;
all_Det : Det ;
---- all_Predet : Predet ;
many_Det : Det ;
some_Det : Det ;
few_Det : Det ;
other_Det : Det ;
left_Ord : Ord ;
right_Ord : Ord ;
@@ -81,6 +79,7 @@ abstract Swadesh = Cat ** {
near_A : A ;
new_A : A ;
old_A : A ;
other_A : A ;
red_A : A ;
rotten_A : A ;
round_A : A ;
@@ -118,7 +117,7 @@ abstract Swadesh = Cat ** {
egg_N : N ;
eye_N : N ;
fat_N : MassN ;
father_N : N ;
---- father_N : N ;
feather_N : N ;
fingernail_N : N ;
fire_N : N ;
@@ -146,7 +145,7 @@ abstract Swadesh = Cat ** {
man_N : N ;
meat_N : MassN ;
moon_N : N ;
mother_N : N ;
---- mother_N : N ;
mountain_N : N ;
mouth_N : N ;
name_N : N ;
@@ -186,61 +185,61 @@ abstract Swadesh = Cat ** {
-- Verbs
bite_V : V2 ;
bite_V2 : V2 ;
blow_V : V ;
breathe_V : V ;
burn_V : V ;
come_V : V ;
count_V : V2 ;
cut_V : V2 ;
count_V2 : V2 ;
cut_V2 : V2 ;
die_V : V ;
dig_V : V ;
drink_V : V2 ;
eat_V : V2 ;
drink_V2 : V2 ;
eat_V2 : V2 ;
fall_V : V ;
fear_V : V2 ;
fight_V : V2 ;
fear_V2 : V2 ;
fight_V2 : V2 ;
float_V : V ;
flow_V : V ;
fly_V : V ;
freeze_V : V ;
give_V : V3 ;
hear_V : V2 ;
hit_V : V2 ;
hold_V : V2 ;
hunt_V : V2 ;
kill_V : V2 ;
know_V : V2 ;
give_V3 : V3 ;
hear_V2 : V2 ;
hit_V2 : V2 ;
hold_V2 : V2 ;
hunt_V2 : V2 ;
kill_V2 : V2 ;
know_V2 : V2 ;
laugh_V : V ;
lie_V : V ;
live_V : V ;
play_V : V ;
pull_V : V2 ;
push_V : V2 ;
rub_V : V2 ;
pull_V2 : V2 ;
push_V2 : V2 ;
rub_V2 : V2 ;
say_V : V ;
scratch_V : V2 ;
see_V : V2 ;
scratch_V2 : V2 ;
see_V2 : V2 ;
sew_V : V ;
sing_V : V ;
sit_V : V ;
sleep_V : V ;
smell_V : V ;
spit_V : V ;
split_V : V2 ;
squeeze_V : V2 ;
stab_V : V2 ;
split_V2 : V2 ;
squeeze_V2 : V2 ;
stab_V2 : V2 ;
stand_V : V ;
suck_V : V2 ;
suck_V2 : V2 ;
swell_V : V ;
swim_V : V ;
think_V : V ;
throw_V : V2 ;
tie_V : V2 ;
throw_V2 : V2 ;
tie_V2 : V2 ;
turn_V : V ;
vomit_V : V ;
walk_V : V ;
wash_V : V2 ;
wipe_V : V2 ;
wash_V2 : V2 ;
wipe_V2 : V2 ;
}

View File

@@ -1,247 +1,5 @@
--# -path=.:../abstract:../common:../english:../../prelude
--# -path=.:present:prelude
concrete SwadeshEng of Swadesh = CatEng
** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in {
concrete SwadeshEng of Swadesh = CatEng ** SwadeshI with
(Lang = LangEng) ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = mkDeterminer Pl "all" ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = mkDeterminer Pl "few" ;
other_Det = mkDeterminer Pl "other" ;
left_Ord = ss "left" ;
right_Ord = ss "right" ;
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "far" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = ss "at" ;
in_Prep = ss "in" ;
with_Prep = ss "with" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = (regA "correct") ;
dirty_A = dirty_A ;
dry_A = regA "dry" ;
dull_A = regA "dull" ;
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "heavy" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "near" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = (regA "rotten") ;
round_A = regA "round" ;
sharp_A = regA "sharp" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "smooth" ;
straight_A = regA "straight" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "wet" ; ----
white_A = white_A ;
wide_A = regA "wide" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ;
ashes_N = regN "ash" ; -- FIXME: plural only?
back_N = regN "back" ;
bark_N = regN "bark" ;
belly_N = regN "belly" ;
bird_N = bird_N;
blood_N = regN "blood" ;
bone_N = regN "bone" ;
breast_N = regN "breast" ;
child_N = child_N ;
cloud_N = regN "cloud" ;
day_N = regN "day" ;
dog_N = dog_N ;
dust_N = regN "dust" ;
ear_N = regN "ear" ;
earth_N = regN "earth" ;
egg_N = regN "egg" ;
eye_N = regN "eye" ;
fat_N = regN "fat" ;
father_N = UseN2 father_N2 ;
feather_N = regN "feather" ;
fingernail_N = regN "fingernail" ;
fire_N = regN "fire" ;
fish_N = fish_N ;
flower_N = regN "flower" ;
fog_N = regN "fog" ;
foot_N = mk2N "foot" "feet" ;
forest_N = regN "forest" ;
fruit_N = fruit_N ;
grass_N = regN "grass" ;
guts_N = regN "gut" ; -- FIXME: no singular
hair_N = regN "hair" ;
hand_N = regN "hand" ;
head_N = regN "head" ;
heart_N = regN "heart" ;
horn_N = regN "horn" ;
husband_N = genderN masculine (regN "husband") ;
ice_N = regN "ice" ;
knee_N = regN "knee" ;
lake_N = lake_N ;
leaf_N = mk2N "leaf" "leaves" ;
leg_N = regN "leg" ;
liver_N = regN "liver" ;
louse_N = mk2N "louse" "lice" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "mouth" ;
name_N = regN "name" ;
neck_N = regN "neck" ;
night_N = regN "night" ;
nose_N = regN "nose" ;
person_N = genderN human (regN "person") ;
rain_N = regN "rain" ;
river_N = river_N ;
road_N = regN "road" ;
root_N = regN "root" ;
rope_N = regN "rope" ;
salt_N = regN "salt" ;
sand_N = regN "sand" ;
sea_N = sea_N ;
seed_N = regN "seed" ;
skin_N = regN "skin" ;
sky_N = regN "sky" ;
smoke_N = regN "smoke" ;
snake_N = snake_N ;
snow_N = regN "snow" ;
star_N = star_N ;
stick_N = regN "stick" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "tail" ;
tongue_N = regN "tongue" ;
tooth_N = mk2N "tooth" "teeth" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = genderN feminine (mk2N "wife" "wives") ;
wind_N = regN "wind" ;
wing_N = regN "wing" ;
woman_N = woman_N ;
worm_N = regN "worm" ;
year_N = regN "year" ;
-- Verbs
bite_V = dirV2 bite_V ;
blow_V = blow_V ;
breathe_V = dirV2 (regV "breathe") ;
burn_V = burn_V ;
come_V = come_V ;
count_V = dirV2 (regV "count") ;
cut_V = dirV2 cut_V ;
die_V = die_V ;
dig_V = dig_V ;
drink_V = dirV2 drink_V ;
eat_V = dirV2 eat_V ;
fall_V = fall_V ;
fear_V = dirV2 (regV "fear") ;
fight_V = dirV2 fight_V ;
float_V = regV "float" ;
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V = dirV3 give_V "to" ;
hear_V = dirV2 hear_V ;
hit_V = dirV2 hit_V ;
hold_V = dirV2 hold_V ;
hunt_V = dirV2 (regV "hunt") ;
kill_V = dirV2 (regV "kill") ;
know_V = dirV2 know_V ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
live_V = live_V ;
play_V = regV "play" ;
pull_V = dirV2 (regV "pull") ;
push_V = dirV2 (regV "push") ;
rub_V = dirV2 (regDuplV "rub") ;
say_V = say_V ;
scratch_V = dirV2 (regV "scratch") ;
see_V = dirV2 see_V ;
sew_V = sew_V ;
sing_V = sing_V ;
sit_V = sit_V ;
sleep_V = sleep_V ;
smell_V = regV "smell" ;
spit_V = spit_V ;
split_V = dirV2 split_V ;
squeeze_V = dirV2 (regV "squeeze") ;
stab_V = dirV2 (regDuplV "stab") ;
stand_V = stand_V ;
suck_V = dirV2 (regV "suck") ;
swell_V = swell_V ;
swim_V = swim_V ;
think_V = think_V ;
throw_V = dirV2 throw_V ;
tie_V = dirV2 (regV "tie") ;
turn_V = regV "turn" ;
vomit_V = regV "vomit" ;
walk_V = walk_V ;
wash_V = dirV2 (regV "wash") ;
wipe_V = dirV2 (regV "wipe") ;
}

View File

@@ -1,269 +1,5 @@
--# -path=.:../present:../finnish:../common:../abstract:../../prelude
--# -path=.:present:prelude
concrete SwadeshFin of Swadesh = CatFin
** open MorphoFin, LangFin, ParadigmsFin, Prelude in {
concrete SwadeshFin of Swadesh = CatFin ** SwadeshI with
(Lang = LangFin) ;
flags optimize=values ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = mkDet Pl {s = \\nf =>
let
kaiket = (nhn (sKorpi "kaikki" "kaiken" "kaikkena")).s
in
case nf of {
NCase Pl Nom => "kaikki" ;
_ => kaiket ! nf
}
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = mkDet Sg (regN "harva") ;
other_Det = mkDet Sg (regN "muu") ;
left_Ord = mkOrd (regN "vasen") ;
right_Ord = mkOrd (regN "oikea") ;
oper
mkOrd : N -> Ord ;
mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "kaukana" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = casePrep adessive ;
in_Prep = casePrep inessive ;
with_Prep = postGenPrep "kanssa" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "oikea" ;
dirty_A = dirty_A ;
dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ;
dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ;
full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "raskas" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "läheinen" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "mätä" ;
round_A = regA "pyöreä" ;
sharp_A = regA "terävä" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "sileä" ;
straight_A = mkADeg (regN "suora") "suorempi" "suorin" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = mkADeg (regN "märkä") "märempi" "märin" ;
white_A = white_A ;
wide_A = regA "leveä" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = reg3N "eläin" "eläimen" "eläimiä" ;
ashes_N = regN "tuhka" ;
back_N = regN "selkä" ;
bark_N = regN "kaarna" ;
belly_N = regN "vatsa" ;
bird_N = bird_N;
blood_N = nMeri "veri" ;
bone_N = regN "luu" ;
breast_N = regN "rinta" ;
child_N = child_N ;
cloud_N = reg2N "pilvi" "pilviä" ;
day_N = regN "päivä" ;
dog_N = dog_N ;
dust_N = regN "pöly" ;
ear_N = regN "korva" ;
earth_N = regN "maa" ;
egg_N = regN "muna" ;
eye_N = regN "silmä" ;
fat_N = regN "rasva" ;
father_N = regN "isä" ;
feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ;
fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ;
fire_N = reg2N "tuli" "tulia" ;
fish_N = fish_N ;
flower_N = regN "kukka" ;
fog_N = regN "sumu" ;
foot_N = regN "jalka" ;
forest_N = regN "metsä" ;
fruit_N = fruit_N ;
grass_N = regN "ruoho" ;
guts_N = regN "sisälmys" ; --- suoli
hair_N = regN "hius" ;
hand_N = reg3N "käsi" "käden" "käsiä" ;
head_N = regN "pää" ;
heart_N = reg3N "sydän" "sydämen" "sydämiä" ;
horn_N = reg2N "sarvi" "sarvia" ;
husband_N = man_N ; --- aviomies
ice_N = regN "jää" ;
knee_N = reg2N "polvi" "polvia" ;
lake_N = lake_N ;
leaf_N = reg2N "lehti" "lehtiä" ;
leg_N = regN "jalka" ; --- sääri
liver_N = regN "maksa" ;
louse_N = regN "lude" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = regN "äiti" ;
mountain_N = mountain_N ;
mouth_N = regN "suu" ;
name_N = reg2N "nimi" "nimiä" ;
neck_N = regN "niska" ;
night_N = regN "yö" ;
nose_N = regN "nenä" ;
person_N = regN "henkilö" ;
rain_N = regN "sade" ;
river_N = river_N ;
road_N = regN "tie" ;
root_N = reg2N "juuri" "juuria" ;
rope_N = reg3N "köysi" "köyden" "köysiä" ;
salt_N = regN "suola" ;
sand_N = regN "hiekka" ;
sea_N = sea_N ;
seed_N = regN "siemen" ;
skin_N = regN "nahka" ;
sky_N = reg3N "taivas" "taivaan" "taivaita" ;
smoke_N = regN "savu" ;
snake_N = snake_N ;
snow_N = sgpartN (nMeri "lumi") "lunta" ;
star_N = star_N ;
stick_N = regN "keppi" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "häntä" ;
tongue_N = reg2N "kieli" "kieliä" ;
tooth_N = regN "hammas" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "vaimo" ;
wind_N = reg2N "tuuli" "tuulia" ;
wing_N = reg2N "siipi" "siipiä" ;
woman_N = woman_N ;
worm_N = regN "mato" ;
year_N = reg3N "vuosi" "vuoden" "vuosia" ;
-- Verbs
bite_V = dirV2 (regV "purra") ;
blow_V = regV "puhaltaa" ;
breathe_V = dirV2 (regV "hengittää") ;
burn_V = regV "palaa" ;
come_V = come_V ;
count_V = dirV2 (regV "laskea") ;
cut_V = dirV2 (reg2V "leikata" "leikkasi") ;
die_V = regV "kuolla";
dig_V = regV "kaivaa" ;
drink_V = dirV2 ( drink_V2) ;
eat_V = dirV2 ( eat_V2) ;
fall_V = reg3V "pudota" "putoan" "putosi" ;
fear_V = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ;
fight_V = dirV2 (regV "taistella") ;
float_V = regV "kellua" ;
flow_V = reg3V "virrata" "virtaan" "virtasi" ;
fly_V = regV "lentää" ;
freeze_V = regV "jäätyä" ;
give_V = dirdirV3 (regV "antaa") ;
hear_V = dirV2 ( hear_V2) ;
hit_V = dirV2 (regV "lyödä") ;
hold_V = dirV2 (regV "pitää") ;
hunt_V = dirV2 (regV "metsästää") ;
kill_V = dirV2 (regV "tappaa") ;
know_V = dirV2 (reg2V "tuntea" "tunsin") ;
laugh_V = reg3V "nauraa" "nauran" "nauroi" ;
lie_V = reg3V "maata" "makaan" "makasi" ;
live_V = live_V ;
play_V = play_V2 ;
pull_V = dirV2 (regV "vetää") ;
push_V = dirV2 (regV "työntää") ;
rub_V = dirV2 (regV "hieroa") ;
say_V = regV "sanoa" ;
scratch_V = dirV2 (regV "raapia") ;
see_V = ( see_V2) ;
sew_V = regV "kylvää" ;
sing_V = regV "laulaa" ;
sit_V = regV "istua" ;
sleep_V = sleep_V ;
smell_V = reg2V "haistaa" "haistoi" ;
spit_V = regV "sylkeä" ;
split_V = dirV2 (reg2V "halkaista" "halkaisi") ;
squeeze_V = dirV2 (regV "puristaa") ;
stab_V = dirV2 (regV "pistää") ;
stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
suck_V = dirV2 (regV "imeä") ;
swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
"turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
swim_V = reg3V "uida" "uin" "ui" ;
think_V = reg3V "ajatella" "ajattelen" "ajatteli" ;
throw_V = dirV2 (regV "heittää") ;
tie_V = dirV2 (regV "sitoa") ;
turn_V = regV "kääntyä" ;
vomit_V = regV "oksentaa" ;
walk_V = walk_V ;
wash_V = dirV2 (regV "pestä") ;
wipe_V = dirV2 (regV "pyyhkiä") ;
oper
regA = regADeg ; ----
}

View File

@@ -1,259 +1,5 @@
--# -path=.:../french:../common:../abstract:../../prelude:../romance
--# -path=.:present:prelude
concrete SwadeshFre of Swadesh = CatFre
** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in {
concrete SwadeshFre of Swadesh = CatFre ** SwadeshI with
(Lang = LangFre) ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms "tous" "toutes" ! g ++ "les" ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ "d'autres" ; -- de d'autres
n = Pl
} ;
left_Ord = mkOrd (regA "gauche") ;
right_Ord = mkOrd (regA "droite") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "loin" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "correct" ;
dirty_A = dirty_A ;
dry_A = (mkA "sec" "sèche" "secs" "sèches") ;
dull_A = regA "émoussé" ;
full_A = regA "plein" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "lourd" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "proche" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "pourri" ;
round_A = regA "rond" ;
sharp_A = regA "tranchant" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "lisse" ;
straight_A = regA "droite" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "mouillé" ;
white_A = white_A ;
wide_A = regA "large" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ;
ashes_N = regGenN "cendre" masculine ;
back_N = regN "dos" ;
bark_N = regN "écorce" ;
belly_N = regGenN "ventre" masculine ;
bird_N = bird_N;
blood_N = regN "sang" ;
bone_N = regN "os" ;
breast_N = regN "sein" ; --- poitrine
child_N = child_N ;
cloud_N = regGenN "nuage" masculine ;
day_N = regN "jour" ;
dog_N = dog_N ;
dust_N = regN "poussière" ;
ear_N = regN "oreille" ;
earth_N = regN "terre" ;
egg_N = regN "oeuf" ;
eye_N = mkN "oeil" "yeux" masculine ;
fat_N = regN "graisse" ;
father_N = UseN2 father_N2 ;
feather_N = regN "plume" ;
fingernail_N = regGenN "ongle" masculine ;
fire_N = regN "feu" ;
fish_N = fish_N ;
flower_N = regGenN "fleur" feminine ;
fog_N = regN "brouillard" ;
foot_N = regN "pied" ;
forest_N = regGenN "forêt" feminine ;
fruit_N = fruit_N ;
grass_N = regN "herbe" ;
guts_N = regN "entraille" ;
hair_N = regN "cheveu" ;
hand_N = regGenN "main" feminine ;
head_N = regN "tête" ;
heart_N = regN "coeur" ;
horn_N = regGenN "corne" masculine ;
husband_N = regN "mari" ;
ice_N = regN "glace" ;
knee_N = regN "genou" ;
lake_N = lake_N ;
leaf_N = regN "feuille" ;
leg_N = regN "jambe" ;
liver_N = regGenN "foie" masculine ;
louse_N = regN "pou" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "bouche" ;
name_N = regN "nom" ;
neck_N = mkN "cou" "cous" masculine ;
night_N = regGenN "nuit" feminine ;
nose_N = regN "nez" ;
person_N = regN "personne" ;
rain_N = regN "pluie" ;
river_N = river_N ;
road_N = regN "route" ;
root_N = regN "racine" ;
rope_N = regN "corde" ;
salt_N = regN "sel" ;
sand_N = regGenN "sable" masculine ;
sea_N = sea_N ;
seed_N = regN "graine" ;
skin_N = regN "peau" ;
sky_N = mkN "ciel" "cieux" masculine ;
smoke_N = regN "fumée" ;
snake_N = snake_N ;
snow_N = regN "neige" ;
star_N = star_N ;
stick_N = regN "bâton" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "queue" ;
tongue_N = regN "langue" ;
tooth_N = regGenN "dent" feminine ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "femme" ;
wind_N = regN "vent" ;
wing_N = regN "aile" ;
woman_N = woman_N ;
worm_N = regN "ver" ;
year_N = regN "an" ; --- année
-- Verbs
bite_V = ( mordre_V2) ;
blow_V = regV "souffler" ;
breathe_V = dirV2 (regV "respirer") ;
burn_V = regV "brûler" ;
come_V = venir_V ;
count_V = dirV2 (regV "conter") ;
cut_V = dirV2 (regV "tailler") ;
die_V = mourir_V ;
dig_V = regV "creuser" ;
drink_V = ( boire_V2) ;
eat_V = dirV2 (regV "manger") ;
fall_V = regV "tomber" ;
fear_V = ( craindre_V2) ;
fight_V = dirV2 (regV "lutter") ;
float_V = regV "flotter" ;
flow_V = regV "couler" ;
fly_V = regV "voler" ;
freeze_V = reg3V "geler" "gèle" "gèlera" ;
give_V = dirdirV3 (regV "donner") ;
hear_V = ( entendre_V2) ;
hit_V = dirV2 (regV "frapper") ;
hold_V = ( tenir_V2) ;
hunt_V = dirV2 (regV "chasser") ;
kill_V = dirV2 (regV "tuer") ;
know_V = ( connaître_V2) ;
laugh_V = rire_V2 ;
lie_V = reflV étendre_V2 ;
live_V = vivre_V2 ;
play_V = regV "jouer" ;
pull_V = dirV2 (regV "tirer") ;
push_V = dirV2 (regV "pousser") ;
rub_V = dirV2 (regV "frotter") ;
say_V = dire_V2 ;
scratch_V = dirV2 (regV "gratter") ;
see_V = ( voir_V2) ;
sew_V = coudre_V2 ;
sing_V = regV "chanter" ;
sit_V = reflV asseoir_V2 ;
sleep_V = dormir_V2 ;
smell_V = v2V ( sentir_V2) ;
spit_V = regV "cracher" ;
split_V = ( fendre_V2) ;
squeeze_V = dirV2 (regV "serrer") ;
stab_V = dirV2 (regV "poignarder") ;
stand_V = reflV (reg3V "lever" "lève" "lèvera") ;
suck_V = dirV2 (regV "sucer") ;
swell_V = regV "gonfler" ;
swim_V = regV "nager" ;
think_V = regV "penser" ;
throw_V = dirV2 (regV "jeter") ;
tie_V = dirV2 (regV "lier") ;
turn_V = regV "tourner" ;
vomit_V = regV "vomir" ;
walk_V = regV "marcher" ;
wash_V = dirV2 (regV "laver") ;
wipe_V = dirV2 (regV "essuyer") ;
}

View File

@@ -0,0 +1,228 @@
incomplete concrete SwadeshI of Swadesh = open Lang in {
lincat
MassN = Lang.N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
many_Det = many_Det ;
some_Det = someSg_Det ;
---- few_Det = few_Det ;
left_Ord = left_Ord ;
right_Ord = right_Ord ;
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = far_Adv ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = correct_A ;
dirty_A = dirty_A ;
dry_A = dry_A ;
dull_A = dull_A ;
full_A = full_A ;
good_A = good_A ;
green_A = green_A ;
heavy_A = heavy_A ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = near_A ;
new_A = new_A ;
old_A = old_A ;
---- other_A = other_A ;
red_A = red_A ;
rotten_A = rotten_A ;
round_A = round_A ;
sharp_A = sharp_A ;
short_A = short_A ;
small_A = small_A ;
smooth_A = smooth_A ;
straight_A = straight_A ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = wet_A ;
white_A = white_A ;
wide_A = wide_A ;
yellow_A = yellow_A ;
-- Nouns
animal_N = animal_N ;
ashes_N = ashes_N ;
back_N = back_N ;
bark_N = bark_N ;
belly_N = belly_N ;
bird_N = bird_N;
blood_N = blood_N ;
bone_N = bone_N ;
breast_N = breast_N ;
child_N = child_N ;
cloud_N = cloud_N ;
day_N = day_N ;
dog_N = dog_N ;
dust_N = dust_N ;
ear_N = ear_N ;
earth_N = earth_N ;
egg_N = egg_N ;
eye_N = eye_N ;
fat_N = fat_N ;
feather_N = feather_N ;
fingernail_N = fingernail_N ;
fire_N = fire_N ;
fish_N = fish_N ;
flower_N = flower_N ;
fog_N = fog_N ;
foot_N = foot_N ;
forest_N = forest_N ;
fruit_N = fruit_N ;
grass_N = grass_N ;
guts_N = guts_N ;
hair_N = hair_N ;
hand_N = hand_N ;
head_N = head_N ;
heart_N = heart_N ;
horn_N = horn_N ;
husband_N = man_N ; --- aviomies
ice_N = ice_N ;
knee_N = knee_N ;
lake_N = lake_N ;
leaf_N = leaf_N ;
leg_N = leg_N ;
liver_N = liver_N ;
louse_N = louse_N ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
---- mother_N = mother_N ;
mountain_N = mountain_N ;
mouth_N = mouth_N ;
name_N = name_N ;
neck_N = neck_N ;
night_N = night_N ;
nose_N = nose_N ;
person_N = person_N ;
rain_N = rain_N ;
river_N = river_N ;
road_N = road_N ;
root_N = root_N ;
rope_N = rope_N ;
salt_N = salt_N ;
sand_N = sand_N ;
sea_N = sea_N ;
seed_N = seed_N ;
skin_N = skin_N ;
sky_N = sky_N ;
smoke_N = smoke_N ;
snake_N = snake_N ;
snow_N = snow_N ;
star_N = star_N ;
stick_N = stick_N ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = tail_N ;
tongue_N = tongue_N ;
tooth_N = tooth_N ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = wife_N ;
wind_N = wind_N ;
wing_N = wing_N ;
woman_N = woman_N ;
worm_N = worm_N ;
year_N = year_N ;
-- Verbs
bite_V2 = bite_V2 ;
blow_V = blow_V ;
breathe_V = breathe_V ;
burn_V = burn_V ;
come_V = come_V ;
count_V2 = count_V2 ;
cut_V2 = cut_V2 ;
die_V = die_V ;
dig_V = dig_V ;
drink_V2 = ( drink_V2) ;
eat_V2 = ( eat_V2) ;
fall_V = fall_V ;
fear_V2 = fear_V2 ;
fight_V2 = fight_V2 ;
float_V = float_V ;
flow_V = flow_V ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V3 = give_V3 ;
hear_V2 = hear_V2 ;
hit_V2 = hit_V2 ;
hold_V2 = hold_V2 ;
hunt_V2 = hunt_V2 ;
kill_V2 = kill_V2 ;
know_V2 = know_V2 ;
laugh_V = laugh_V ;
lie_V = lie_V ;
live_V = live_V ;
play_V = play_V2 ;
pull_V2 = pull_V2 ;
push_V2 = push_V2 ;
rub_V2 = rub_V2 ;
say_V = say_VS ;
scratch_V2 = scratch_V2 ;
see_V2 = ( see_V2) ;
sew_V = sew_V ;
sing_V = sing_V ;
sit_V = sit_V ;
sleep_V = sleep_V ;
smell_V = smell_V ;
spit_V = spit_V ;
split_V2 = split_V2 ;
squeeze_V2 = squeeze_V2 ;
stab_V2 = stab_V2 ;
stand_V = stand_V ;
suck_V2 = suck_V2 ;
swell_V = swell_V ;
swim_V = swim_V ;
think_V = think_V ;
throw_V2 = throw_V2 ;
tie_V2 = tie_V2 ;
turn_V = turn_V ;
vomit_V = vomit_V ;
walk_V = walk_V ;
wash_V2 = wash_V2 ;
wipe_V2 = wipe_V2 ;
}

View File

@@ -1,258 +1,5 @@
--# -path=.:../italian:../common:../abstract:../../prelude:../romance
--# -path=.:present:prelude
concrete SwadeshIta of Swadesh = CatIta
** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in {
concrete SwadeshIta of Swadesh = CatIta ** SwadeshI with
(Lang = LangIta) ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms ["tutti i"] ["tutte le"] ! g ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ genForms "altri" "altre" ! g ;
n = Pl
} ;
left_Ord = mkOrd (regA "sinistro") ;
right_Ord = mkOrd (regA "destro") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "lontano" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "corretto" ;
dirty_A = dirty_A ;
dry_A = regA "secco" ;
dull_A = regA "noioso" ;
full_A = regA "pieno" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "pesante" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "vicino" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "marcio" ;
round_A = regA "rotondo" ;
sharp_A = regA "aguzzo" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "liscio" ;
straight_A = regA "diretto" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "bagnato" ;
white_A = white_A ;
wide_A = regA "largo" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animale" ;
ashes_N = regN "cenere" ;
back_N = regN "schiena" ;
bark_N = regN "corteccia" ;
belly_N = regN "pancia" ;
bird_N = bird_N;
blood_N = regN "sangue" ;
bone_N = regN "osso" ;
breast_N = regN "seno" ;
child_N = child_N ;
cloud_N = regN "nuvola" ;
day_N = regN "giorno" ;
dog_N = dog_N ;
dust_N = regN "polvere" ;
ear_N = regN "orecchio" ;
earth_N = regN "terra" ;
egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl
eye_N = regN "occhio" ;
fat_N = regN "grasso" ;
father_N = UseN2 father_N2 ;
feather_N = regN "piuma" ;
fingernail_N = regN "unghia" ;
fire_N = regN "fuoco" ;
fish_N = fish_N ;
flower_N = regN "fiore" ;
fog_N = regN "nebbia" ;
foot_N = regN "piede" ;
forest_N = regN "bosco" ;
fruit_N = fruit_N ;
grass_N = regN "erba" ;
guts_N = regN "intestino" ;
hair_N = regN "capello" ;
hand_N = femN (regN "mano") ;
head_N = regN "testa" ;
heart_N = regN "cuore" ;
horn_N = regN "corno" ;
husband_N = regN "marito" ;
ice_N = regN "ghiaccio" ;
knee_N = regN "ginocchio" ;
lake_N = lake_N ;
leaf_N = regN "foglia" ;
leg_N = regN "gamba" ;
liver_N = regN "fegato" ;
louse_N = regN "pidocchio" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "bocca" ;
name_N = regN "nome" ;
neck_N = regN "collo" ;
night_N = femN (regN "notte") ;
nose_N = regN "naso" ;
person_N = regN "persona" ;
rain_N = regN "pioggia" ;
river_N = river_N ;
road_N = regN "strada" ;
root_N = femN (regN "radice") ;
rope_N = regN "corda" ;
salt_N = regN "sale" ;
sand_N = regN "sabbia" ;
sea_N = sea_N ;
seed_N = regN "seme" ;
skin_N = femN (regN "pelle") ;
sky_N = regN "cielo" ;
smoke_N = regN "fumo" ;
snake_N = snake_N ;
snow_N = femN (regN "neve") ;
star_N = star_N ;
stick_N = regN "bastone" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "coda" ;
tongue_N = regN "lingua" ;
tooth_N = regN "dente" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "donna" ;
wind_N = regN "vento" ;
wing_N = regN "ala" ;
woman_N = woman_N ;
worm_N = regN "verme" ;
year_N = regN "anno" ;
-- Verbs
bite_V = dirV2 (verboV (esplodere_51 "mordere")) ;
blow_V = regV "soffiare" ;
breathe_V = dirV2 (regV "respirare") ;
burn_V = regV "bruciare" ;
come_V = come_V ;
count_V = dirV2 (regV "contare") ;
cut_V = dirV2 (regV "tagliare") ;
die_V = die_V ;
dig_V = regV "scavare" ;
drink_V = dirV2 (drink_V2) ;
eat_V = dirV2 (regV "mangiare") ;
fall_V = essereV (verboV (cadere_28 "cadere")) ;
fear_V = dirV2 (fear_VS) ;
fight_V = dirV2 (regV "lottare") ;
float_V = regV "galleggiare" ;
flow_V = verboV (finire_100 "fluire") ;
fly_V = regV "volare" ;
freeze_V = regV "gelare" ;
give_V = dirdirV3 (verboV (dare_15 "dare")) ;
hear_V = dirV2 (hear_V2) ;
hit_V = dirV2 (regV "colpire") ;
hold_V = dirV2 (verboV (venire_110 "tenire")) ;
hunt_V = dirV2 (regV "cacciare") ;
kill_V = dirV2 (verboV (ridere_74 "uccidere")) ;
know_V = dirV2 (know_V2) ;
laugh_V = verboV (ridere_74 "ridere") ;
lie_V = verboV (piacere_64 "giacere") ;
live_V = live_V ;
play_V = regV "giocare" ;
pull_V = dirV2 (regV "tirare") ;
push_V = dirV2 (verboV (cingere_31 "spingere")) ;
rub_V = dirV2 (regV "strofinare") ;
say_V = say_VS ;
scratch_V = dirV2 (regV "graffiare") ;
see_V = dirV2 (see_V2) ;
sew_V = verboV (cucire_103 "cucire") ;
sing_V = regV "cantare" ;
sit_V = reflV (verboV (sedere_84 "sedere")) ;
sleep_V = sleep_V ;
smell_V = verboV (sentire_99 "sentire") ;
spit_V = regV "sputare" ;
split_V = dirV2 (verboV (ridere_74 "dividere")) ;
squeeze_V = dirV2 (verboV (temere_20 "spremere")) ;
stab_V = dirV2 (regV "pugnalare") ;
stand_V = verboV (stare_16 "stare") ; ---- in piedi
suck_V = dirV2 (regV "succhiare") ;
swell_V = regV "gonfiare" ;
swim_V = regV "nuotare" ;
think_V = regV "pensare" ;
throw_V = dirV2 (regV "gettare") ;
tie_V = dirV2 (regV "legare") ;
turn_V = regV "tornare" ;
vomit_V = regV "vomitare" ;
walk_V = regV "camminare" ;
wash_V = dirV2 (regV "lavare") ;
wipe_V = dirV2 (regV "asciugare") ;
}

View File

@@ -1,252 +1,5 @@
--# -path=.:../norwegian:../common:../abstract:../scandinavian:../../prelude
--# -path=.:present:prelude
concrete SwadeshNor of Swadesh = CatNor
** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in {
concrete SwadeshNor of Swadesh = CatNor ** SwadeshI with
(Lang = LangNor) ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {s = \\_,_ => "alle" ; n = Pl ; det = DDef Indef} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ;
left_Ord = {s = "venstre" ; isDet = True} ;
right_Ord = {s = "høyre" ; isDet = True} ;
-- Adverbs
here_Adv = here_Adv ;
there_Adv = there_Adv ;
where_IAdv = where_IAdv ;
when_IAdv = when_IAdv ;
how_IAdv = how_IAdv ;
far_Adv = mkAdv "fjern" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = ss "ved" ;
in_Prep = ss "i" ;
with_Prep = ss "med" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "riktig" ;
dirty_A = dirty_A ;
dry_A = mk2A "tørr" "tørt" ;
dull_A = regA "sløv" ;
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = irregADeg "tung" "tyngre" "tyngst" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = mk3ADeg "råtten" "råttent" "råtne" ;
round_A = regA "rund" ;
sharp_A = mk2A "kvass" "kvast" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = mk2A "slett" "slett" ;
straight_A = regA "rak" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "våt" ;
white_A = white_A ;
wide_A = regA "bred" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = mk2N "dyr" "dyret" ;
ashes_N = mk2N "aske" "aska" ;
back_N = mk2N "rygg" "ryggen" ;
bark_N = mk2N "bark" "barken" ;
belly_N = mk2N "mage" "magen" ;
bird_N = bird_N ;
blood_N = mk2N "blod" "blodet" ;
bone_N = mk2N "bein" "beinet" ;
breast_N = mk2N "bryst" "brystet" ;
child_N = child_N ;
cloud_N = mk2N "sky" "skya" ;
day_N = mk2N "dag" "dagen" ;
dog_N = dog_N ;
dust_N = mk2N "støv" "støvet" ;
ear_N = mk2N "øre" "øret" ;
earth_N = mk2N "jord" "jorda" ;
egg_N = mk2N "egg" "egget" ;
eye_N = mkN "øye" "øyet" "øyne" "øynene" ;
fat_N = mk2N "fett" "fettet" ;
father_N = mkN "far" "faren" "fedre" "fedrene" ;
-- father_N = UseN2 father_N2 ;
feather_N = mk2N "fjør" "fjøra" ;
fingernail_N = mk2N "negl" "neglen" ;
fire_N = mk2N "ild" "ilden" ;
fish_N = fish_N ;
flower_N = mk2N "blomst" "blomsten" ;
fog_N = mk2N "tåke" "tåka" ;
foot_N = mk2N "fot" "føtter" ;
forest_N = mk2N "skog" "skogen" ;
fruit_N = fruit_N ;
grass_N = mk2N "gras" "graset" ;
guts_N = mk2N "tarm" "tarmen" ; ---- involler
hair_N = mk2N "hår" "håret" ;
hand_N = mk2N "hånd" "hånden" ;
head_N = mk2N "hode" "hodet" ;
heart_N = mk2N "hjerte" "hjertet" ;
horn_N = mk2N "horn" "hornet" ;
husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ;
ice_N = mk2N "is" "isen" ;
knee_N = mkN "kne" "kneet" "knær" "knæne" ;
lake_N = lake_N ;
leaf_N = mk2N "løv" "løvet" ;
leg_N = mk2N "bein" "beinet" ;
liver_N = mkN "lever" "leveren" "levrer" "levrene" ;
louse_N = mk2N "lus" "lusa" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = mkN "mor" "moren" "mødre" "mødrene" ;
-- mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = mk2N "munn" "munnen" ;
name_N = mk2N "navn" "navnet" ;
neck_N = mk2N "nakke" "nakken" ;
night_N = mkN "natt" "natta" "netter" "nettene" ;
nose_N = mk2N "nese" "nesen" ;
person_N = mk2N "person" "personen" ;
rain_N = mk2N "regn" "regnet" ;
river_N = river_N ;
road_N = mk2N "vei" "veien" ;
root_N = mkN "rot" "rota" "røtter" "røttene" ;
rope_N = mk2N "tau" "tauet" ;
salt_N = mk2N "salt" "saltet" ;
sand_N = mk2N "sand" "sanden" ;
sea_N = sea_N ;
seed_N = mk2N "frø" "frøet" ;
skin_N = mk2N "skinn" "skinnet" ;
sky_N = mkN "himmel" "himmelen" "himler" "himlene" ;
smoke_N = mk2N "røyk" "røyken" ;
snake_N = snake_N ;
snow_N = mk2N "snø" "snøen" ;
star_N = star_N ;
stick_N = mk2N "pinne" "pinnen" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = mk2N "hale" "halen" ;
tongue_N = mk2N "tunge" "tunga" ;
tooth_N = mkN "tann" "tanna" "tenner" "tennene" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = mk2N "kone" "kona" ;
wind_N = mk2N "vind" "vinden" ;
wing_N = mk2N "vinge" "vingen" ;
woman_N = woman_N ;
worm_N = mk2N "mark" "marken" ;
year_N = mk2N "år" "året" ;
-- Verbs
bite_V = dirV2 (IrregNor.bite_V) ;
blow_V = mk2V "blåse" "blåste" ;
breathe_V = dirV2 (regV "puste") ;
burn_V = brenne_V ;
come_V = komme_V ;
count_V = dirV2 (regV "regne") ;
cut_V = dirV2 (skjære_V) ;
die_V = dø_V ;
dig_V = mk2V "grave" "gravde" ;
drink_V = dirV2 (drikke_V) ;
eat_V = dirV2 (mk2V "spise" "spiste") ;
fall_V = falle_V ;
fear_V = dirV2 (regV "frykte") ;
fight_V = dirV2 (slåss_V) ;
float_V = flyte_V ;
flow_V = renne_V ;
fly_V = fly_V ;
freeze_V = fryse_V ;
give_V = dirdirV3 gi_V ;
hear_V = dirV2 (mk2V "høre" "hørde") ;
hit_V = dirV2 (slå_V) ;
hold_V = dirV2 (holde_V) ;
hunt_V = dirV2 (regV "jakte") ;
kill_V = dirV2 (mk2V "drepe" "drepte") ;
know_V = dirV2 (vite_V) ;
laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ;
lie_V = ligge_V ;
live_V = mk2V "leve" "levde" ;
play_V = mk2V "leke" "lekte" ;
pull_V = dirV2 (dra_V) ;
push_V = dirV2 (irregV "skyve" "skjøv" "skjøvet") ;
rub_V = dirV2 (gni_V) ;
say_V = si_V ;
scratch_V = dirV2 (regV "klø") ;
see_V = dirV2 (se_V) ;
sew_V = mk2V "sy" "sydde" ;
sing_V = synge_V ;
sit_V = sitte_V ;
sleep_V = sove_V ;
smell_V = regV "lukte" ;
spit_V = regV "spytte" ;
split_V = dirV2 (mk2V "kløyve" "kløyvde") ;
squeeze_V = dirV2 (mk2V "klemme" "klemte") ;
stab_V = dirV2 (stikke_V) ;
stand_V = stå_V ;
suck_V = dirV2 (suge_V) ;
swell_V = partV (regV "hovne") "opp" ;
swim_V = regV "simme" ;
think_V = mk2V "tenke" "tenkte" ;
throw_V = dirV2 (regV "kaste") ;
tie_V = dirV2 (regV "knytte") ;
turn_V = mk2V "vende" "vendte" ;
vomit_V = partV (regV "kaste") "opp" ;
walk_V = gå_V ;
wash_V = dirV2 (regV "vaske") ;
wipe_V = dirV2 (regV "tørke") ;
}

View File

@@ -1,262 +1,5 @@
--# -path=.:../spanish:../common:../abstract:../../prelude:../romance
--# -path=.:present:prelude
concrete SwadeshSpa of Swadesh = CatSpa
** open PhonoSpa, MorphoSpa, LangSpa, ParadigmsSpa, BeschSpa, Prelude in {
concrete SwadeshSpa of Swadesh = CatSpa ** SwadeshI with
(Lang = LangSpa) ;
-- words contributed by Ana Bove, May 2005
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms ["todos los"] ["todas las"] ! g ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ genForms "pocos" "pocas" ! g ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ genForms "otros" "otras" ! g ;
n = Pl
} ;
left_Ord = mkOrd (regA "izquierda") ;
right_Ord = mkOrd (regA "derecha") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "lejos" ; ----?
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "correcto" ;
dirty_A = dirty_A ;
dry_A = regA "seco" ;
dull_A = regA "desafilado" ;
full_A = regA "lleno" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "pesado" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "cerca" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "podrido" ;
round_A = regA "redondo" ;
sharp_A = regA "filoso" ; -- afilado, puntiagudo
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "liso" ; -- suave
straight_A = regA "directo" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "mojado" ;
white_A = white_A ;
wide_A = regA "ancho" ; -- extenso
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ; -- masc (sometimes fem when adj)
ashes_N = regN "ceniza" ;
back_N = regN "espalda" ;
bark_N = regN "corteza" ;
belly_N = regN "panza" ; -- barriga
bird_N = bird_N;
blood_N = femN (regN "sangre") ;
bone_N = regN "hueso" ;
breast_N = regN "seno" ; -- pecho
child_N = child_N ;
cloud_N = femN (regN "nube") ;
day_N = mascN (regN "día") ;
dog_N = dog_N ;
dust_N = regN "polvo" ;
ear_N = regN "oreja" ;
earth_N = regN "tierra" ;
egg_N = regN "huevo" ;
eye_N = regN "ojo" ;
fat_N = regN "grasa" ;
father_N = UseN2 father_N2 ;
feather_N = regN "pluma" ;
fingernail_N = regN "uña" ;
fire_N = regN "fuego" ;
fish_N = fish_N ;
flower_N = femN (regN "flor") ;
fog_N = regN "niebla" ;
foot_N = regN "pie" ;
forest_N = regN "bosque" ;
fruit_N = fruit_N ;
grass_N = regN "pasto" ; -- hierba, césped (masc)
guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas
hair_N = regN "cabello" ; -- pelo
hand_N = femN (regN "mano") ;
head_N = regN "cabeza" ;
heart_N = mkN "corazón" "corazones" masculine ;
horn_N = regN "cuerno" ;
husband_N = regN "marido" ; -- esposo
ice_N = regN "hielo" ;
knee_N = regN "rodilla" ;
lake_N = lake_N ;
leaf_N = regN "hoja" ;
leg_N = regN "pierna" ;
liver_N = regN "hígado" ;
louse_N = regN "piojo" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "boca" ;
name_N = regN "nombre" ;
neck_N = regN "cuello" ;
night_N = femN (regN "noche") ;
nose_N = femN (regN "nariz") ;
person_N = regN "persona" ;
rain_N = regN "lluvia" ;
river_N = river_N ;
road_N = femN (regN "calle") ; -- camino
root_N = femN (regN "raíz") ;
rope_N = regN "cuerda" ;
salt_N = femN (regN "sal") ;
sand_N = regN "arena" ;
sea_N = sea_N ;
seed_N = regN "semilla" ;
skin_N = femN (regN "piel") ; -- fem
sky_N = regN "cielo" ;
smoke_N = regN "humo" ;
snake_N = snake_N ;
snow_N = femN (regN "nieve") ; -- fem
star_N = star_N ;
stick_N = mkN "bastón" "bastones" masculine ; -- palo
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "cola" ;
tongue_N = regN "lengua" ;
tooth_N = regN "diente" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "esposa" ;
wind_N = regN "viento" ;
wing_N = regN "ala" ;
woman_N = woman_N ;
worm_N = regN "gusano" ; -- lombriz (fem)
year_N = regN "año" ;
-- Verbs
bite_V = dirV2 (verboV (morder_50b "morder")) ;
blow_V = regV "soplar" ;
breathe_V = dirV2 (regV "respirar") ;
burn_V = regV "quemar" ;
come_V = come_V ;
count_V = dirV2 (verboV (contar_38b "contar")) ;
cut_V = dirV2 (regV "cortar") ;
die_V = die_V ;
dig_V = regV "escarbar" ;
drink_V = dirV2 (regV "tomar") ;
eat_V = dirV2 (regV "comer") ;
fall_V = verboV (caer_20 "caer") ;
fear_V = dirV2 (fear_VS) ;
fight_V = dirV2 (regV "pelear") ;
float_V = regV "flotar" ;
flow_V = verboV (influir_45 "fluir") ; -- circular
fly_V = regV "volar" ;
freeze_V = regV "congelar" ;
give_V = dirdirV3 (verboV (dar_27 "dar")) ;
hear_V = dirV2 (hear_V2) ;
hit_V = dirV2 (regV "golpear") ;
hold_V = dirV2 (verboV (tener_4 "tener")) ;
hunt_V = dirV2 (regV "cazar") ;
kill_V = dirV2 (regV "matar") ;
know_V = dirV2 (know_V2) ;
laugh_V = regV "reir" ; ----V reír_67
lie_V = reflV (regV "acostar") ; -- "acostarse"
live_V = live_V ;
play_V = regV "jugar" ;
pull_V = dirV2 (regV "tirar") ;
push_V = dirV2 (regV "empujar") ;
rub_V = dirV2 (regV "resfregar") ;
say_V = say_VS ;
scratch_V = dirV2 (regV "rascar") ;
see_V = dirV2 (see_V2) ;
sew_V = regV "coser" ;
sing_V = regV "cantar" ;
sit_V = reflV (regV "sentar") ;
sleep_V = sleep_V ;
smell_V = verboV (oler_52 "oler") ;
spit_V = regV "escupir" ;
split_V = dirV2 (regV "separar") ; -- dividir,) ;
squeeze_V = dirV2 (regV "exprimir") ;
stab_V = dirV2 (regV "apuñalar") ;
stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ;
suck_V = dirV2 (regV "chupar") ;
swell_V = regV "tragar" ;
swim_V = regV "nadar" ;
think_V = regV "pensar" ;
throw_V = dirV2 (regV "tirar") ;
tie_V = dirV2 (regV "atar") ;
turn_V = regV "doblar" ;
vomit_V = regV "vomitar" ;
walk_V = regV "caminar" ;
wash_V = dirV2 (regV "lavar") ;
wipe_V = dirV2 (regV "secar") ;
}

View File

@@ -1,252 +1,5 @@
--# -path=.:present:prelude
concrete SwadeshSwe of Swadesh = CatSwe
** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in {
concrete SwadeshSwe of Swadesh = CatSwe ** SwadeshI with
(Lang = LangSwe) ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {s = \\_,_ => "alla" ; n = Pl ; det = DDef Indef} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ;
left_Ord = {s = "vänstra" ; isDet = True} ;
right_Ord = {s = "högra" ; isDet = True} ;
-- Adverbs
here_Adv = here_Adv ;
there_Adv = there_Adv ;
where_IAdv = where_IAdv ;
when_IAdv = when_IAdv ;
how_IAdv = how_IAdv ;
far_Adv = mkAdv "långt" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = ss "vid" ;
in_Prep = ss "i" ;
with_Prep = ss "med" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "riktig" ;
dirty_A = dirty_A ;
dry_A = regA "torr" ;
dull_A = mk2A "slö" "slött";
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = irregA "tung" "tyngre" "tyngst" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = mkA "nära" "nära" "nära" "nära"
"närmare" "närmast" "närmaste" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = mk3A "rutten" "ruttet" "ruttna" ;
round_A = regA "rund" ;
sharp_A = regA "vass" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "slät" ;
straight_A = regA "rak" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "våt" ;
white_A = white_A ;
wide_A = mk2A "bred" "brett" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = mk2N "djur" "djur" ;
ashes_N = mk2N "aska" "askor" ;
back_N = mk2N "rygg" "ryggar" ;
bark_N = mk2N "bark" "barkar" ;
belly_N = mk2N "mage" "magar" ;
bird_N = bird_N ;
blood_N = mk2N "blod" "blod" ;
bone_N = mk2N "ben" "ben" ;
breast_N = mk2N "bröst" "bröst" ;
child_N = child_N ;
cloud_N = mk2N "moln" "moln" ;
day_N = mk2N "dag" "dagar" ;
dog_N = dog_N ;
dust_N = mk2N "damm" "damm" ;
ear_N = mkN "öra" "örat" "öron" "öronen" ;
earth_N = mk2N "jord" "jordar" ;
egg_N = mk2N "ägg" "ägg" ;
eye_N = mkN "öga" "ögat" "ögon" "ögonen" ;
fat_N = mk2N "fett" "fett" ;
father_N = (mkN "far" "fadern" "fäder" "fäderna") ;
-- father_N = UseN2 father_N2 ;
feather_N = mk2N "fjäder" "fjädrar" ;
fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna";
fire_N = mk2N "eld" "eldar" ;
fish_N = fish_N ;
flower_N = mk2N "blomma" "blommor" ;
fog_N = mk2N "dimma" "dimmor" ;
foot_N = mk2N "fot" "fötter" ;
forest_N = mk2N "skog" "skogar" ;
fruit_N = fruit_N ;
grass_N = mk2N "gräs" "gräs" ;
guts_N = mk2N "inälva" "inälvor" ;
hair_N = mk2N "hår" "hår" ;
hand_N = mk2N "hand" "händer" ;
head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ;
heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ;
horn_N = mk2N "horn" "horn" ;
husband_N = (mk2N "make" "makar") ;
ice_N = mk2N "is" "isar" ;
knee_N = mkN "knä" "knäet" "knän" "knäna" ;
lake_N = lake_N ;
leaf_N = mk2N "löv" "löv" ;
leg_N = mk2N "ben" "ben" ;
liver_N = mkN "lever" "levern" "levrar" "levrarna";
louse_N = mkN "lus" "lusen" "löss" "lössen" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = mkN "mor" "modern" "mödrar" "mödrarna" ;
-- mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ;
name_N = mk2N "namn" "namn" ;
neck_N = mk2N "nacke" "nackar" ;
night_N = mk2N "natt" "nätter" ;
nose_N = mk2N "näsa" "näsor" ;
person_N = mk2N "person" "personer" ;
rain_N = mk2N "regn" "regn" ;
river_N = river_N ;
road_N = mk2N "väg" "vägar" ;
root_N = mk2N "rot" "rötter" ;
rope_N = mk2N "rep" "rep" ;
salt_N = mkN "salt" "saltet" "salter" "salterna";
sand_N = mk2N "sand" "sander" ;
sea_N = sea_N ;
seed_N = mkN "frö" "fröet" "frön" "fröna" ;
skin_N = mk2N "skinn" "skinn" ;
sky_N = mk2N "himmel" "himlar" ;
smoke_N = mk2N "rök" "rökar" ;
snake_N = snake_N ;
snow_N = mkN "snö" "snön" "snöer" "snöerna" ;
star_N = star_N ;
stick_N = mk2N "pinne" "pinnar" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = mk2N "svans" "svansar" ;
tongue_N = mk2N "tunga" "tungor" ;
tooth_N = mk2N "tand" "tänder" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = mk2N "fru" "fruar" ;
wind_N = mk2N "vind" "vindar" ;
wing_N = mk2N "vinge" "vingar" ;
woman_N = woman_N ;
worm_N = mk2N "mask" "maskar" ;
year_N = mk2N "år" "år" ;
-- Verbs
bite_V = dirV2 (bita_V) ;
blow_V = mk2V "blåsa" "blåste" ;
breathe_V = dirV2 (depV (regV "anda")) ;
burn_V = brinna_V ; -- FIXME: bränna?
come_V = komma_V ;
count_V = dirV2 (regV "räkna") ;
cut_V = dirV2 (skära_V) ;
die_V = dö_V ;
dig_V = mk2V "gräva" "grävde" ;
drink_V = dirV2 (dricka_V) ;
eat_V = dirV2 (äta_V) ;
fall_V = falla_V ;
fear_V = dirV2 (regV "frukta") ;
-- FIXME: passive forms are very strange
fight_V = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
float_V = flyta_V ;
flow_V = rinna_V ;
fly_V = flyga_V ;
freeze_V = frysa_V ;
give_V = dirV3 giva_V "till";
hear_V = dirV2 (mk2V "höra" "hörde") ;
hit_V = dirV2 (slå_V) ;
hold_V = dirV2 (hålla_V) ;
hunt_V = dirV2 (regV "jaga") ;
kill_V = dirV2 (regV "döda") ;
know_V = dirV2 (känna_V) ;
laugh_V = regV "skratta" ;
lie_V = ligga_V ;
live_V = leva_V ;
play_V = mk2V "leka" "lekte" ;
pull_V = dirV2 (draga_V) ;
push_V = dirV2 (mk2V "trycka" "tryckte") ;
rub_V = dirV2 (gnida_V) ;
say_V = säga_V ;
scratch_V = dirV2 (regV "klia") ;
see_V = dirV2 (se_V) ;
sew_V = sy_V ;
sing_V = sjunga_V ;
sit_V = sitta_V ;
sleep_V = sova_V ;
smell_V = regV "lukta" ;
spit_V = regV "spotta" ;
split_V = dirV2 (klyva_V) ;
squeeze_V = dirV2 (klämma_V) ;
stab_V = dirV2 (sticka_V) ;
stand_V = stå_V ;
suck_V = dirV2 (suga_V) ;
swell_V = svälla_V ;
swim_V = regV "simma" ;
think_V = mk2V "tänka" "tänkte" ;
throw_V = dirV2 (regV "kasta") ;
tie_V = dirV2 (knyta_V) ;
turn_V = vända_V ;
vomit_V = mk2V "spy" "spydde" ;
walk_V = gå_V ;
wash_V = dirV2 (regV "tvätta") ;
wipe_V = dirV2 (regV "torka") ;
}

View File

@@ -0,0 +1,243 @@
concrete SwadeshEng of Swadesh = CatEng
** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in {
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Predet = all_Predet ;
many_Det = many_Det ;
some_Det = someSg_Det ;
-- left_Ord = left_Ord ;
-- right_Ord = right_Ord ;
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
-- far_Adv = far_Adv ;
-- "not" treated in Verb
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
--- at_Prep = ss "at" ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = (regA "correct") ;
dirty_A = dirty_A ;
dry_A = regA "dry" ;
dull_A = regA "dull" ;
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "heavy" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "near" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = (regA "rotten") ;
round_A = regA "round" ;
sharp_A = regA "sharp" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "smooth" ;
straight_A = regA "straight" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "wet" ; ----
white_A = white_A ;
wide_A = regA "wide" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ;
ashes_N = regN "ash" ; -- FIXME: plural only?
back_N = regN "back" ;
bark_N = regN "bark" ;
belly_N = regN "belly" ;
bird_N = bird_N;
blood_N = regN "blood" ;
bone_N = regN "bone" ;
breast_N = regN "breast" ;
child_N = child_N ;
cloud_N = regN "cloud" ;
day_N = regN "day" ;
dog_N = dog_N ;
dust_N = regN "dust" ;
ear_N = regN "ear" ;
earth_N = regN "earth" ;
egg_N = regN "egg" ;
eye_N = regN "eye" ;
fat_N = regN "fat" ;
father_N = UseN2 father_N2 ;
feather_N = regN "feather" ;
fingernail_N = regN "fingernail" ;
fire_N = regN "fire" ;
fish_N = fish_N ;
flower_N = regN "flower" ;
fog_N = regN "fog" ;
foot_N = mk2N "foot" "feet" ;
forest_N = regN "forest" ;
fruit_N = fruit_N ;
grass_N = regN "grass" ;
guts_N = regN "gut" ; -- FIXME: no singular
hair_N = regN "hair" ;
hand_N = regN "hand" ;
head_N = regN "head" ;
heart_N = regN "heart" ;
horn_N = regN "horn" ;
husband_N = genderN masculine (regN "husband") ;
ice_N = regN "ice" ;
knee_N = regN "knee" ;
lake_N = lake_N ;
leaf_N = mk2N "leaf" "leaves" ;
leg_N = regN "leg" ;
liver_N = regN "liver" ;
louse_N = mk2N "louse" "lice" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "mouth" ;
name_N = regN "name" ;
neck_N = regN "neck" ;
night_N = regN "night" ;
nose_N = regN "nose" ;
person_N = genderN human (regN "person") ;
rain_N = regN "rain" ;
river_N = river_N ;
road_N = regN "road" ;
root_N = regN "root" ;
rope_N = regN "rope" ;
salt_N = regN "salt" ;
sand_N = regN "sand" ;
sea_N = sea_N ;
seed_N = regN "seed" ;
skin_N = regN "skin" ;
sky_N = regN "sky" ;
smoke_N = regN "smoke" ;
snake_N = snake_N ;
snow_N = regN "snow" ;
star_N = star_N ;
stick_N = regN "stick" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "tail" ;
tongue_N = regN "tongue" ;
tooth_N = mk2N "tooth" "teeth" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = genderN feminine (mk2N "wife" "wives") ;
wind_N = regN "wind" ;
wing_N = regN "wing" ;
woman_N = woman_N ;
worm_N = regN "worm" ;
year_N = regN "year" ;
-- Verbs
bite_V2 = dirV2 bite_V ;
blow_V = blow_V ;
breathe_V = dirV2 (regV "breathe") ;
burn_V = burn_V ;
come_V = come_V ;
count_V2 = dirV2 (regV "count") ;
cut_V2 = dirV2 cut_V ;
die_V = die_V ;
dig_V = dig_V ;
drink_V2 = dirV2 drink_V ;
eat_V2 = dirV2 eat_V ;
fall_V = fall_V ;
fear_V2 = dirV2 (regV "fear") ;
fight_V2 = dirV2 fight_V ;
float_V = regV "float" ;
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V3 = dirV3 give_V "to" ;
hear_V2 = dirV2 hear_V ;
hit_V2 = dirV2 hit_V ;
hold_V2 = dirV2 hold_V ;
hunt_V2 = dirV2 (regV "hunt") ;
kill_V2 = dirV2 (regV "kill") ;
know_V2 = dirV2 know_V ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
live_V = live_V ;
play_V = regV "play" ;
pull_V2 = dirV2 (regV "pull") ;
push_V2 = dirV2 (regV "push") ;
rub_V2 = dirV2 (regDuplV "rub") ;
say_V = say_V ;
scratch_V2 = dirV2 (regV "scratch") ;
see_V2 = dirV2 see_V ;
sew_V = sew_V ;
sing_V = sing_V ;
sit_V = sit_V ;
sleep_V = sleep_V ;
smell_V = regV "smell" ;
spit_V = spit_V ;
split_V2 = dirV2 split_V ;
squeeze_V2 = dirV2 (regV "squeeze") ;
stab_V2 = dirV2 (regDuplV "stab") ;
stand_V = stand_V ;
suck_V2 = dirV2 (regV "suck") ;
swell_V = swell_V ;
swim_V = swim_V ;
think_V = think_V ;
throw_V2 = dirV2 throw_V ;
tie_V2 = dirV2 (regV "tie") ;
turn_V = regV "turn" ;
vomit_V = regV "vomit" ;
walk_V = walk_V ;
wash_V2 = dirV2 (regV "wash") ;
wipe_V2 = dirV2 (regV "wipe") ;
}

View File

@@ -0,0 +1,269 @@
--# -path=.:../present:../finnish:../common:../abstract:../../prelude
concrete SwadeshFin of Swadesh = CatFin
** open MorphoFin, LangFin, ParadigmsFin, Prelude in {
flags optimize=values ;
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = mkDet Pl {s = \\nf =>
let
kaiket = (nhn (sKorpi "kaikki" "kaiken" "kaikkena")).s
in
case nf of {
NCase Pl Nom => "kaikki" ;
_ => kaiket ! nf
}
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = mkDet Sg (regN "harva") ;
other_Det = mkDet Sg (regN "muu") ;
left_Ord = mkOrd (regN "vasen") ;
right_Ord = mkOrd (regN "oikea") ;
oper
mkOrd : N -> Ord ;
mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "kaukana" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = casePrep adessive ;
in_Prep = casePrep inessive ;
with_Prep = postGenPrep "kanssa" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "oikea" ;
dirty_A = dirty_A ;
dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ;
dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ;
full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "raskas" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "läheinen" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "mätä" ;
round_A = regA "pyöreä" ;
sharp_A = regA "terävä" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "sileä" ;
straight_A = mkADeg (regN "suora") "suorempi" "suorin" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = mkADeg (regN "märkä") "märempi" "märin" ;
white_A = white_A ;
wide_A = regA "leveä" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = reg3N "eläin" "eläimen" "eläimiä" ;
ashes_N = regN "tuhka" ;
back_N = regN "selkä" ;
bark_N = regN "kaarna" ;
belly_N = regN "vatsa" ;
bird_N = bird_N;
blood_N = nMeri "veri" ;
bone_N = regN "luu" ;
breast_N = regN "rinta" ;
child_N = child_N ;
cloud_N = reg2N "pilvi" "pilviä" ;
day_N = regN "päivä" ;
dog_N = dog_N ;
dust_N = regN "pöly" ;
ear_N = regN "korva" ;
earth_N = regN "maa" ;
egg_N = regN "muna" ;
eye_N = regN "silmä" ;
fat_N = regN "rasva" ;
father_N = regN "isä" ;
feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ;
fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ;
fire_N = reg2N "tuli" "tulia" ;
fish_N = fish_N ;
flower_N = regN "kukka" ;
fog_N = regN "sumu" ;
foot_N = regN "jalka" ;
forest_N = regN "metsä" ;
fruit_N = fruit_N ;
grass_N = regN "ruoho" ;
guts_N = regN "sisälmys" ; --- suoli
hair_N = regN "hius" ;
hand_N = reg3N "käsi" "käden" "käsiä" ;
head_N = regN "pää" ;
heart_N = reg3N "sydän" "sydämen" "sydämiä" ;
horn_N = reg2N "sarvi" "sarvia" ;
husband_N = man_N ; --- aviomies
ice_N = regN "jää" ;
knee_N = reg2N "polvi" "polvia" ;
lake_N = lake_N ;
leaf_N = reg2N "lehti" "lehtiä" ;
leg_N = regN "jalka" ; --- sääri
liver_N = regN "maksa" ;
louse_N = regN "lude" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = regN "äiti" ;
mountain_N = mountain_N ;
mouth_N = regN "suu" ;
name_N = reg2N "nimi" "nimiä" ;
neck_N = regN "niska" ;
night_N = regN "yö" ;
nose_N = regN "nenä" ;
person_N = regN "henkilö" ;
rain_N = regN "sade" ;
river_N = river_N ;
road_N = regN "tie" ;
root_N = reg2N "juuri" "juuria" ;
rope_N = reg3N "köysi" "köyden" "köysiä" ;
salt_N = regN "suola" ;
sand_N = regN "hiekka" ;
sea_N = sea_N ;
seed_N = regN "siemen" ;
skin_N = regN "nahka" ;
sky_N = reg3N "taivas" "taivaan" "taivaita" ;
smoke_N = regN "savu" ;
snake_N = snake_N ;
snow_N = sgpartN (nMeri "lumi") "lunta" ;
star_N = star_N ;
stick_N = regN "keppi" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "häntä" ;
tongue_N = reg2N "kieli" "kieliä" ;
tooth_N = regN "hammas" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "vaimo" ;
wind_N = reg2N "tuuli" "tuulia" ;
wing_N = reg2N "siipi" "siipiä" ;
woman_N = woman_N ;
worm_N = regN "mato" ;
year_N = reg3N "vuosi" "vuoden" "vuosia" ;
-- Verbs
bite_V2 = dirV2 (regV "purra") ;
blow_V = regV "puhaltaa" ;
breathe_V2 = dirV2 (regV "hengittää") ;
burn_V = regV "palaa" ;
come_V = come_V ;
count_V2 = dirV2 (regV "laskea") ;
cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ;
die_V = regV "kuolla";
dig_V = regV "kaivaa" ;
drink_V2 = dirV2 ( drink_V2) ;
eat_V2 = dirV2 ( eat_V2) ;
fall_V = reg3V "pudota" "putoan" "putosi" ;
fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ;
fight_V2 = dirV2 (regV "taistella") ;
float_V = regV "kellua" ;
flow_V = reg3V "virrata" "virtaan" "virtasi" ;
fly_V = regV "lentää" ;
freeze_V = regV "jäätyä" ;
give_V = dirdirV3 (regV "antaa") ;
hear_V2 = dirV2 ( hear_V2) ;
hit_V2 = dirV2 (regV "lyödä") ;
hold_V2 = dirV2 (regV "pitää") ;
hunt_V2 = dirV2 (regV "metsästää") ;
kill_V2 = dirV2 (regV "tappaa") ;
know_V2 = dirV2 (reg2V "tuntea" "tunsin") ;
laugh_V = reg3V "nauraa" "nauran" "nauroi" ;
lie_V = reg3V "maata" "makaan" "makasi" ;
live_V = live_V ;
play_V = play_V2 ;
pull_V2 = dirV2 (regV "vetää") ;
push_V2 = dirV2 (regV "työntää") ;
rub_V2 = dirV2 (regV "hieroa") ;
say_V = regV "sanoa" ;
scratch_V2 = dirV2 (regV "raapia") ;
see_V = ( see_V2) ;
sew_V = regV "kylvää" ;
sing_V = regV "laulaa" ;
sit_V = regV "istua" ;
sleep_V = sleep_V ;
smell_V = reg2V "haistaa" "haistoi" ;
spit_V = regV "sylkeä" ;
split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ;
squeeze_V2 = dirV2 (regV "puristaa") ;
stab_V2 = dirV2 (regV "pistää") ;
stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
suck_V2 = dirV2 (regV "imeä") ;
swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
"turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
swim_V = reg3V "uida" "uin" "ui" ;
think_V = reg3V "ajatella" "ajattelen" "ajatteli" ;
throw_V2 = dirV2 (regV "heittää") ;
tie_V2 = dirV2 (regV "sitoa") ;
turn_V = regV "kääntyä" ;
vomit_V = regV "oksentaa" ;
walk_V = walk_V ;
wash_V2 = dirV2 (regV "pestä") ;
wipe_V2 = dirV2 (regV "pyyhkiä") ;
oper
regA = regADeg ; ----
}

View File

@@ -0,0 +1,259 @@
--# -path=.:../french:../common:../abstract:../../prelude:../romance
concrete SwadeshFre of Swadesh = CatFre
** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in {
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms "tous" "toutes" ! g ++ "les" ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ "d'autres" ; -- de d'autres
n = Pl
} ;
left_Ord = mkOrd (regA "gauche") ;
right_Ord = mkOrd (regA "droite") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "loin" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "correct" ;
dirty_A = dirty_A ;
dry_A = (mkA "sec" "sèche" "secs" "sèches") ;
dull_A = regA "émoussé" ;
full_A = regA "plein" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "lourd" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "proche" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "pourri" ;
round_A = regA "rond" ;
sharp_A = regA "tranchant" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "lisse" ;
straight_A = regA "droite" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "mouillé" ;
white_A = white_A ;
wide_A = regA "large" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ;
ashes_N = regGenN "cendre" masculine ;
back_N = regN "dos" ;
bark_N = regN "écorce" ;
belly_N = regGenN "ventre" masculine ;
bird_N = bird_N;
blood_N = regN "sang" ;
bone_N = regN "os" ;
breast_N = regN "sein" ; --- poitrine
child_N = child_N ;
cloud_N = regGenN "nuage" masculine ;
day_N = regN "jour" ;
dog_N = dog_N ;
dust_N = regN "poussière" ;
ear_N = regN "oreille" ;
earth_N = regN "terre" ;
egg_N = regN "oeuf" ;
eye_N = mkN "oeil" "yeux" masculine ;
fat_N = regN "graisse" ;
father_N = UseN2 father_N2 ;
feather_N = regN "plume" ;
fingernail_N = regGenN "ongle" masculine ;
fire_N = regN "feu" ;
fish_N = fish_N ;
flower_N = regGenN "fleur" feminine ;
fog_N = regN "brouillard" ;
foot_N = regN "pied" ;
forest_N = regGenN "forêt" feminine ;
fruit_N = fruit_N ;
grass_N = regN "herbe" ;
guts_N = regN "entraille" ;
hair_N = regN "cheveu" ;
hand_N = regGenN "main" feminine ;
head_N = regN "tête" ;
heart_N = regN "coeur" ;
horn_N = regGenN "corne" masculine ;
husband_N = regN "mari" ;
ice_N = regN "glace" ;
knee_N = regN "genou" ;
lake_N = lake_N ;
leaf_N = regN "feuille" ;
leg_N = regN "jambe" ;
liver_N = regGenN "foie" masculine ;
louse_N = regN "pou" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "bouche" ;
name_N = regN "nom" ;
neck_N = mkN "cou" "cous" masculine ;
night_N = regGenN "nuit" feminine ;
nose_N = regN "nez" ;
person_N = regN "personne" ;
rain_N = regN "pluie" ;
river_N = river_N ;
road_N = regN "route" ;
root_N = regN "racine" ;
rope_N = regN "corde" ;
salt_N = regN "sel" ;
sand_N = regGenN "sable" masculine ;
sea_N = sea_N ;
seed_N = regN "graine" ;
skin_N = regN "peau" ;
sky_N = mkN "ciel" "cieux" masculine ;
smoke_N = regN "fumée" ;
snake_N = snake_N ;
snow_N = regN "neige" ;
star_N = star_N ;
stick_N = regN "bâton" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "queue" ;
tongue_N = regN "langue" ;
tooth_N = regGenN "dent" feminine ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "femme" ;
wind_N = regN "vent" ;
wing_N = regN "aile" ;
woman_N = woman_N ;
worm_N = regN "ver" ;
year_N = regN "an" ; --- année
-- Verbs
bite_V = ( mordre_V2) ;
blow_V = regV "souffler" ;
breathe_V2 = dirV2 (regV "respirer") ;
burn_V = regV "brûler" ;
come_V = venir_V ;
count_V2 = dirV2 (regV "conter") ;
cut_V2 = dirV2 (regV "tailler") ;
die_V = mourir_V ;
dig_V = regV "creuser" ;
drink_V = ( boire_V2) ;
eat_V2 = dirV2 (regV "manger") ;
fall_V = regV "tomber" ;
fear_V = ( craindre_V2) ;
fight_V2 = dirV2 (regV "lutter") ;
float_V = regV "flotter" ;
flow_V = regV "couler" ;
fly_V = regV "voler" ;
freeze_V = reg3V "geler" "gèle" "gèlera" ;
give_V = dirdirV3 (regV "donner") ;
hear_V = ( entendre_V2) ;
hit_V2 = dirV2 (regV "frapper") ;
hold_V = ( tenir_V2) ;
hunt_V2 = dirV2 (regV "chasser") ;
kill_V2 = dirV2 (regV "tuer") ;
know_V = ( connaître_V2) ;
laugh_V = rire_V2 ;
lie_V = reflV étendre_V2 ;
live_V = vivre_V2 ;
play_V = regV "jouer" ;
pull_V2 = dirV2 (regV "tirer") ;
push_V2 = dirV2 (regV "pousser") ;
rub_V2 = dirV2 (regV "frotter") ;
say_V = dire_V2 ;
scratch_V2 = dirV2 (regV "gratter") ;
see_V = ( voir_V2) ;
sew_V = coudre_V2 ;
sing_V = regV "chanter" ;
sit_V = reflV asseoir_V2 ;
sleep_V = dormir_V2 ;
smell_V = v2V ( sentir_V2) ;
spit_V = regV "cracher" ;
split_V = ( fendre_V2) ;
squeeze_V2 = dirV2 (regV "serrer") ;
stab_V2 = dirV2 (regV "poignarder") ;
stand_V = reflV (reg3V "lever" "lève" "lèvera") ;
suck_V2 = dirV2 (regV "sucer") ;
swell_V = regV "gonfler" ;
swim_V = regV "nager" ;
think_V = regV "penser" ;
throw_V2 = dirV2 (regV "jeter") ;
tie_V2 = dirV2 (regV "lier") ;
turn_V = regV "tourner" ;
vomit_V = regV "vomir" ;
walk_V = regV "marcher" ;
wash_V2 = dirV2 (regV "laver") ;
wipe_V2 = dirV2 (regV "essuyer") ;
}

View File

@@ -190,59 +190,59 @@ concrete SwadeshGer of Swadesh = CatGer
-- bite_V = bite_V ;
-- blow_V = blow_V ;
-- breathe_V = dirV2 (regV "breathe") ;
-- breathe_V2 = dirV2 (regV "breathe") ;
-- burn_V = burn_V ;
come_V = come_V ;
-- count_V = dirV2 (regV "count") ;
-- cut_V = dirV2 cut_V ;
-- count_V2 = dirV2 (regV "count") ;
-- cut_V2 = dirV2 cut_V ;
die_V = die_V ;
-- dig_V = dig_V ;
drink_V = drink_V2 ;
eat_V = eat_V2 ;
-- fall_V = fall_V ;
-- fear_V = dirV2 (regV "fear") ;
-- fight_V = dirV2 fight_V ;
-- fear_V2 = dirV2 (regV "fear") ;
-- fight_V2 = dirV2 fight_V ;
-- float_V = regV "float" ;
-- flow_V = regV "flow" ;
-- fly_V = fly_V ;
-- freeze_V = freeze_V ;
-- give_V = dirdirV3 give_V ;
hear_V = hear_V2 ;
-- hit_V = dirV2 hit_V ;
-- hold_V = dirV2 hold_V ;
-- hunt_V = dirV2 (regV "hunt") ;
-- kill_V = dirV2 (regV "kill") ;
-- know_V = dirV2 know_V ;
-- hit_V2 = dirV2 hit_V ;
-- hold_V2 = dirV2 hold_V ;
-- hunt_V2 = dirV2 (regV "hunt") ;
-- kill_V2 = dirV2 (regV "kill") ;
-- know_V2 = dirV2 know_V ;
-- laugh_V = regV "laugh" ;
-- lie_V = lie_V ;
live_V = live_V ;
-- play_V = regV "play" ;
-- pull_V = dirV2 (regV "pull") ;
-- push_V = dirV2 (regV "push") ;
-- rub_V = dirV2 (regDuplV "rub") ;
-- pull_V2 = dirV2 (regV "pull") ;
-- push_V2 = dirV2 (regV "push") ;
-- rub_V2 = dirV2 (regDuplV "rub") ;
-- say_V = say_V ;
-- scratch_V = dirV2 (regV "scratch") ;
-- scratch_V2 = dirV2 (regV "scratch") ;
-- see_V = see_V2 ;
-- sew_V = sew_V ;
-- sing_V = sing_V ;
-- sit_V = sit_V ;
sleep_V = sleep_V ;
-- smell_V = dirV2 (regV "smell") ;
-- smell_V2 = dirV2 (regV "smell") ;
-- spit_V = spit_V ;
-- split_V = dirV2 split_V ;
-- squeeze_V = dirV2 (regV "squeeze") ;
-- stab_V = dirV2 (regDuplV "stab") ;
-- split_V2 = dirV2 split_V ;
-- squeeze_V2 = dirV2 (regV "squeeze") ;
-- stab_V2 = dirV2 (regDuplV "stab") ;
-- stand_V = stand_V ;
-- suck_V = dirV2 (regV "suck") ;
-- suck_V2 = dirV2 (regV "suck") ;
-- swell_V = swell_V ;
-- swim_V = swim_V ;
-- think_V = think_V ;
-- throw_V = dirV2 throw_V ;
-- tie_V = dirV2 (regV "tie") ;
-- throw_V2 = dirV2 throw_V ;
-- tie_V2 = dirV2 (regV "tie") ;
-- turn_V = regV "turn" ;
-- vomit_V = regV "vomit" ;
walk_V = walk_V ;
-- wash_V = dirV2 (regV "wash") ;
-- wipe_V = dirV2 (regV "wipe") ;
-- wash_V2 = dirV2 (regV "wash") ;
-- wipe_V2 = dirV2 (regV "wipe") ;
}

View File

@@ -0,0 +1,258 @@
--# -path=.:../italian:../common:../abstract:../../prelude:../romance
concrete SwadeshIta of Swadesh = CatIta
** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in {
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms ["tutti i"] ["tutte le"] ! g ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ genForms "altri" "altre" ! g ;
n = Pl
} ;
left_Ord = mkOrd (regA "sinistro") ;
right_Ord = mkOrd (regA "destro") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "lontano" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "corretto" ;
dirty_A = dirty_A ;
dry_A = regA "secco" ;
dull_A = regA "noioso" ;
full_A = regA "pieno" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "pesante" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "vicino" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "marcio" ;
round_A = regA "rotondo" ;
sharp_A = regA "aguzzo" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "liscio" ;
straight_A = regA "diretto" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "bagnato" ;
white_A = white_A ;
wide_A = regA "largo" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animale" ;
ashes_N = regN "cenere" ;
back_N = regN "schiena" ;
bark_N = regN "corteccia" ;
belly_N = regN "pancia" ;
bird_N = bird_N;
blood_N = regN "sangue" ;
bone_N = regN "osso" ;
breast_N = regN "seno" ;
child_N = child_N ;
cloud_N = regN "nuvola" ;
day_N = regN "giorno" ;
dog_N = dog_N ;
dust_N = regN "polvere" ;
ear_N = regN "orecchio" ;
earth_N = regN "terra" ;
egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl
eye_N = regN "occhio" ;
fat_N = regN "grasso" ;
father_N = UseN2 father_N2 ;
feather_N = regN "piuma" ;
fingernail_N = regN "unghia" ;
fire_N = regN "fuoco" ;
fish_N = fish_N ;
flower_N = regN "fiore" ;
fog_N = regN "nebbia" ;
foot_N = regN "piede" ;
forest_N = regN "bosco" ;
fruit_N = fruit_N ;
grass_N = regN "erba" ;
guts_N = regN "intestino" ;
hair_N = regN "capello" ;
hand_N = femN (regN "mano") ;
head_N = regN "testa" ;
heart_N = regN "cuore" ;
horn_N = regN "corno" ;
husband_N = regN "marito" ;
ice_N = regN "ghiaccio" ;
knee_N = regN "ginocchio" ;
lake_N = lake_N ;
leaf_N = regN "foglia" ;
leg_N = regN "gamba" ;
liver_N = regN "fegato" ;
louse_N = regN "pidocchio" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "bocca" ;
name_N = regN "nome" ;
neck_N = regN "collo" ;
night_N = femN (regN "notte") ;
nose_N = regN "naso" ;
person_N = regN "persona" ;
rain_N = regN "pioggia" ;
river_N = river_N ;
road_N = regN "strada" ;
root_N = femN (regN "radice") ;
rope_N = regN "corda" ;
salt_N = regN "sale" ;
sand_N = regN "sabbia" ;
sea_N = sea_N ;
seed_N = regN "seme" ;
skin_N = femN (regN "pelle") ;
sky_N = regN "cielo" ;
smoke_N = regN "fumo" ;
snake_N = snake_N ;
snow_N = femN (regN "neve") ;
star_N = star_N ;
stick_N = regN "bastone" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "coda" ;
tongue_N = regN "lingua" ;
tooth_N = regN "dente" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "donna" ;
wind_N = regN "vento" ;
wing_N = regN "ala" ;
woman_N = woman_N ;
worm_N = regN "verme" ;
year_N = regN "anno" ;
-- Verbs
bite_V2 = dirV2 (verboV (esplodere_51 "mordere")) ;
blow_V = regV "soffiare" ;
breathe_V2 = dirV2 (regV "respirare") ;
burn_V = regV "bruciare" ;
come_V = come_V ;
count_V2 = dirV2 (regV "contare") ;
cut_V2 = dirV2 (regV "tagliare") ;
die_V = die_V ;
dig_V = regV "scavare" ;
drink_V2 = dirV2 (drink_V2) ;
eat_V2 = dirV2 (regV "mangiare") ;
fall_V = essereV (verboV (cadere_28 "cadere")) ;
fear_V2 = dirV2 (fear_VS) ;
fight_V2 = dirV2 (regV "lottare") ;
float_V = regV "galleggiare" ;
flow_V = verboV (finire_100 "fluire") ;
fly_V = regV "volare" ;
freeze_V = regV "gelare" ;
give_V = dirdirV3 (verboV (dare_15 "dare")) ;
hear_V2 = dirV2 (hear_V2) ;
hit_V2 = dirV2 (regV "colpire") ;
hold_V2 = dirV2 (verboV (venire_110 "tenire")) ;
hunt_V2 = dirV2 (regV "cacciare") ;
kill_V2 = dirV2 (verboV (ridere_74 "uccidere")) ;
know_V2 = dirV2 (know_V2) ;
laugh_V = verboV (ridere_74 "ridere") ;
lie_V = verboV (piacere_64 "giacere") ;
live_V = live_V ;
play_V = regV "giocare" ;
pull_V2 = dirV2 (regV "tirare") ;
push_V2 = dirV2 (verboV (cingere_31 "spingere")) ;
rub_V2 = dirV2 (regV "strofinare") ;
say_V = say_VS ;
scratch_V2 = dirV2 (regV "graffiare") ;
see_V2 = dirV2 (see_V2) ;
sew_V = verboV (cucire_103 "cucire") ;
sing_V = regV "cantare" ;
sit_V = reflV (verboV (sedere_84 "sedere")) ;
sleep_V = sleep_V ;
smell_V = verboV (sentire_99 "sentire") ;
spit_V = regV "sputare" ;
split_V2 = dirV2 (verboV (ridere_74 "dividere")) ;
squeeze_V2 = dirV2 (verboV (temere_20 "spremere")) ;
stab_V2 = dirV2 (regV "pugnalare") ;
stand_V = verboV (stare_16 "stare") ; ---- in piedi
suck_V2 = dirV2 (regV "succhiare") ;
swell_V = regV "gonfiare" ;
swim_V = regV "nuotare" ;
think_V = regV "pensare" ;
throw_V2 = dirV2 (regV "gettare") ;
tie_V2 = dirV2 (regV "legare") ;
turn_V = regV "tornare" ;
vomit_V = regV "vomitare" ;
walk_V = regV "camminare" ;
wash_V2 = dirV2 (regV "lavare") ;
wipe_V2 = dirV2 (regV "asciugare") ;
}

View File

@@ -0,0 +1,252 @@
--# -path=.:../norwegian:../common:../abstract:../scandinavian:../../prelude
concrete SwadeshNor of Swadesh = CatNor
** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in {
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {s = \\_,_ => "alle" ; n = Pl ; det = DDef Indef} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ;
left_Ord = {s = "venstre" ; isDet = True} ;
right_Ord = {s = "høyre" ; isDet = True} ;
-- Adverbs
here_Adv = here_Adv ;
there_Adv = there_Adv ;
where_IAdv = where_IAdv ;
when_IAdv = when_IAdv ;
how_IAdv = how_IAdv ;
far_Adv = mkAdv "fjern" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = ss "ved" ;
in_Prep = ss "i" ;
with_Prep = ss "med" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "riktig" ;
dirty_A = dirty_A ;
dry_A = mk2A "tørr" "tørt" ;
dull_A = regA "sløv" ;
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = irregADeg "tung" "tyngre" "tyngst" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = mk3ADeg "råtten" "råttent" "råtne" ;
round_A = regA "rund" ;
sharp_A = mk2A "kvass" "kvast" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = mk2A "slett" "slett" ;
straight_A = regA "rak" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "våt" ;
white_A = white_A ;
wide_A = regA "bred" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = mk2N "dyr" "dyret" ;
ashes_N = mk2N "aske" "aska" ;
back_N = mk2N "rygg" "ryggen" ;
bark_N = mk2N "bark" "barken" ;
belly_N = mk2N "mage" "magen" ;
bird_N = bird_N ;
blood_N = mk2N "blod" "blodet" ;
bone_N = mk2N "bein" "beinet" ;
breast_N = mk2N "bryst" "brystet" ;
child_N = child_N ;
cloud_N = mk2N "sky" "skya" ;
day_N = mk2N "dag" "dagen" ;
dog_N = dog_N ;
dust_N = mk2N "støv" "støvet" ;
ear_N = mk2N "øre" "øret" ;
earth_N = mk2N "jord" "jorda" ;
egg_N = mk2N "egg" "egget" ;
eye_N = mkN "øye" "øyet" "øyne" "øynene" ;
fat_N = mk2N "fett" "fettet" ;
father_N = mkN "far" "faren" "fedre" "fedrene" ;
-- father_N = UseN2 father_N2 ;
feather_N = mk2N "fjør" "fjøra" ;
fingernail_N = mk2N "negl" "neglen" ;
fire_N = mk2N "ild" "ilden" ;
fish_N = fish_N ;
flower_N = mk2N "blomst" "blomsten" ;
fog_N = mk2N "tåke" "tåka" ;
foot_N = mk2N "fot" "føtter" ;
forest_N = mk2N "skog" "skogen" ;
fruit_N = fruit_N ;
grass_N = mk2N "gras" "graset" ;
guts_N = mk2N "tarm" "tarmen" ; ---- involler
hair_N = mk2N "hår" "håret" ;
hand_N = mk2N "hånd" "hånden" ;
head_N = mk2N "hode" "hodet" ;
heart_N = mk2N "hjerte" "hjertet" ;
horn_N = mk2N "horn" "hornet" ;
husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ;
ice_N = mk2N "is" "isen" ;
knee_N = mkN "kne" "kneet" "knær" "knæne" ;
lake_N = lake_N ;
leaf_N = mk2N "løv" "løvet" ;
leg_N = mk2N "bein" "beinet" ;
liver_N = mkN "lever" "leveren" "levrer" "levrene" ;
louse_N = mk2N "lus" "lusa" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = mkN "mor" "moren" "mødre" "mødrene" ;
-- mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = mk2N "munn" "munnen" ;
name_N = mk2N "navn" "navnet" ;
neck_N = mk2N "nakke" "nakken" ;
night_N = mkN "natt" "natta" "netter" "nettene" ;
nose_N = mk2N "nese" "nesen" ;
person_N = mk2N "person" "personen" ;
rain_N = mk2N "regn" "regnet" ;
river_N = river_N ;
road_N = mk2N "vei" "veien" ;
root_N = mkN "rot" "rota" "røtter" "røttene" ;
rope_N = mk2N "tau" "tauet" ;
salt_N = mk2N "salt" "saltet" ;
sand_N = mk2N "sand" "sanden" ;
sea_N = sea_N ;
seed_N = mk2N "frø" "frøet" ;
skin_N = mk2N "skinn" "skinnet" ;
sky_N = mkN "himmel" "himmelen" "himler" "himlene" ;
smoke_N = mk2N "røyk" "røyken" ;
snake_N = snake_N ;
snow_N = mk2N "snø" "snøen" ;
star_N = star_N ;
stick_N = mk2N "pinne" "pinnen" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = mk2N "hale" "halen" ;
tongue_N = mk2N "tunge" "tunga" ;
tooth_N = mkN "tann" "tanna" "tenner" "tennene" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = mk2N "kone" "kona" ;
wind_N = mk2N "vind" "vinden" ;
wing_N = mk2N "vinge" "vingen" ;
woman_N = woman_N ;
worm_N = mk2N "mark" "marken" ;
year_N = mk2N "år" "året" ;
-- Verbs
bite_V2 = dirV2 (IrregNor.bite_V) ;
blow_V = mk2V "blåse" "blåste" ;
breathe_V2 = dirV2 (regV "puste") ;
burn_V = brenne_V ;
come_V = komme_V ;
count_V2 = dirV2 (regV "regne") ;
cut_V2 = dirV2 (skjære_V) ;
die_V = dø_V ;
dig_V = mk2V "grave" "gravde" ;
drink_V2 = dirV2 (drikke_V) ;
eat_V2 = dirV2 (mk2V "spise" "spiste") ;
fall_V = falle_V ;
fear_V2 = dirV2 (regV "frykte") ;
fight_V2 = dirV2 (slåss_V) ;
float_V = flyte_V ;
flow_V = renne_V ;
fly_V = fly_V ;
freeze_V = fryse_V ;
give_V = dirdirV3 gi_V ;
hear_V2 = dirV2 (mk2V "høre" "hørde") ;
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (holde_V) ;
hunt_V2 = dirV2 (regV "jakte") ;
kill_V2 = dirV2 (mk2V "drepe" "drepte") ;
know_V2 = dirV2 (vite_V) ;
laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ;
lie_V = ligge_V ;
live_V = mk2V "leve" "levde" ;
play_V = mk2V "leke" "lekte" ;
pull_V2 = dirV2 (dra_V) ;
push_V2 = dirV2 (irregV "skyve" "skjøv" "skjøvet") ;
rub_V2 = dirV2 (gni_V) ;
say_V = si_V ;
scratch_V2 = dirV2 (regV "klø") ;
see_V2 = dirV2 (se_V) ;
sew_V = mk2V "sy" "sydde" ;
sing_V = synge_V ;
sit_V = sitte_V ;
sleep_V = sove_V ;
smell_V = regV "lukte" ;
spit_V = regV "spytte" ;
split_V2 = dirV2 (mk2V "kløyve" "kløyvde") ;
squeeze_V2 = dirV2 (mk2V "klemme" "klemte") ;
stab_V2 = dirV2 (stikke_V) ;
stand_V = stå_V ;
suck_V2 = dirV2 (suge_V) ;
swell_V = partV (regV "hovne") "opp" ;
swim_V = regV "simme" ;
think_V = mk2V "tenke" "tenkte" ;
throw_V2 = dirV2 (regV "kaste") ;
tie_V2 = dirV2 (regV "knytte") ;
turn_V = mk2V "vende" "vendte" ;
vomit_V = partV (regV "kaste") "opp" ;
walk_V = gå_V ;
wash_V2 = dirV2 (regV "vaske") ;
wipe_V2 = dirV2 (regV "tørke") ;
}

View File

@@ -0,0 +1,262 @@
--# -path=.:../spanish:../common:../abstract:../../prelude:../romance
concrete SwadeshSpa of Swadesh = CatSpa
** open PhonoSpa, MorphoSpa, LangSpa, ParadigmsSpa, BeschSpa, Prelude in {
-- words contributed by Ana Bove, May 2005
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {
s = \\g,c => prepCase c ++ genForms ["todos los"] ["todas las"] ! g ;
n = Pl
} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\g,c => prepCase c ++ genForms "pocos" "pocas" ! g ; n = Pl} ;
other_Det = {
s = \\g,c => prepCase c ++ genForms "otros" "otras" ! g ;
n = Pl
} ;
left_Ord = mkOrd (regA "izquierda") ;
right_Ord = mkOrd (regA "derecha") ;
oper
mkOrd : A -> Ord ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
lin
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
far_Adv = mkAdv "lejos" ; ----?
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = dative ;
in_Prep = in_Prep ;
with_Prep = with_Prep ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "correcto" ;
dirty_A = dirty_A ;
dry_A = regA "seco" ;
dull_A = regA "desafilado" ;
full_A = regA "lleno" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = regA "pesado" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = regA "cerca" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = regA "podrido" ;
round_A = regA "redondo" ;
sharp_A = regA "filoso" ; -- afilado, puntiagudo
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "liso" ; -- suave
straight_A = regA "directo" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "mojado" ;
white_A = white_A ;
wide_A = regA "ancho" ; -- extenso
yellow_A = yellow_A ;
-- Nouns
animal_N = regN "animal" ; -- masc (sometimes fem when adj)
ashes_N = regN "ceniza" ;
back_N = regN "espalda" ;
bark_N = regN "corteza" ;
belly_N = regN "panza" ; -- barriga
bird_N = bird_N;
blood_N = femN (regN "sangre") ;
bone_N = regN "hueso" ;
breast_N = regN "seno" ; -- pecho
child_N = child_N ;
cloud_N = femN (regN "nube") ;
day_N = mascN (regN "día") ;
dog_N = dog_N ;
dust_N = regN "polvo" ;
ear_N = regN "oreja" ;
earth_N = regN "tierra" ;
egg_N = regN "huevo" ;
eye_N = regN "ojo" ;
fat_N = regN "grasa" ;
father_N = UseN2 father_N2 ;
feather_N = regN "pluma" ;
fingernail_N = regN "uña" ;
fire_N = regN "fuego" ;
fish_N = fish_N ;
flower_N = femN (regN "flor") ;
fog_N = regN "niebla" ;
foot_N = regN "pie" ;
forest_N = regN "bosque" ;
fruit_N = fruit_N ;
grass_N = regN "pasto" ; -- hierba, césped (masc)
guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas
hair_N = regN "cabello" ; -- pelo
hand_N = femN (regN "mano") ;
head_N = regN "cabeza" ;
heart_N = mkN "corazón" "corazones" masculine ;
horn_N = regN "cuerno" ;
husband_N = regN "marido" ; -- esposo
ice_N = regN "hielo" ;
knee_N = regN "rodilla" ;
lake_N = lake_N ;
leaf_N = regN "hoja" ;
leg_N = regN "pierna" ;
liver_N = regN "hígado" ;
louse_N = regN "piojo" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = regN "boca" ;
name_N = regN "nombre" ;
neck_N = regN "cuello" ;
night_N = femN (regN "noche") ;
nose_N = femN (regN "nariz") ;
person_N = regN "persona" ;
rain_N = regN "lluvia" ;
river_N = river_N ;
road_N = femN (regN "calle") ; -- camino
root_N = femN (regN "raíz") ;
rope_N = regN "cuerda" ;
salt_N = femN (regN "sal") ;
sand_N = regN "arena" ;
sea_N = sea_N ;
seed_N = regN "semilla" ;
skin_N = femN (regN "piel") ; -- fem
sky_N = regN "cielo" ;
smoke_N = regN "humo" ;
snake_N = snake_N ;
snow_N = femN (regN "nieve") ; -- fem
star_N = star_N ;
stick_N = mkN "bastón" "bastones" masculine ; -- palo
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "cola" ;
tongue_N = regN "lengua" ;
tooth_N = regN "diente" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = regN "esposa" ;
wind_N = regN "viento" ;
wing_N = regN "ala" ;
woman_N = woman_N ;
worm_N = regN "gusano" ; -- lombriz (fem)
year_N = regN "año" ;
-- Verbs
bite_V2 = dirV2 (verboV (morder_50b "morder")) ;
blow_V = regV "soplar" ;
breathe_V2 = dirV2 (regV "respirar") ;
burn_V = regV "quemar" ;
come_V = come_V ;
count_V2 = dirV2 (verboV (contar_38b "contar")) ;
cut_V2 = dirV2 (regV "cortar") ;
die_V = die_V ;
dig_V = regV "escarbar" ;
drink_V2 = dirV2 (regV "tomar") ;
eat_V2 = dirV2 (regV "comer") ;
fall_V = verboV (caer_20 "caer") ;
fear_V2 = dirV2 (fear_VS) ;
fight_V2 = dirV2 (regV "pelear") ;
float_V = regV "flotar" ;
flow_V = verboV (influir_45 "fluir") ; -- circular
fly_V = regV "volar" ;
freeze_V = regV "congelar" ;
give_V = dirdirV3 (verboV (dar_27 "dar")) ;
hear_V2 = dirV2 (hear_V2) ;
hit_V2 = dirV2 (regV "golpear") ;
hold_V2 = dirV2 (verboV (tener_4 "tener")) ;
hunt_V2 = dirV2 (regV "cazar") ;
kill_V2 = dirV2 (regV "matar") ;
know_V2 = dirV2 (know_V2) ;
laugh_V = regV "reir" ; ----V reír_67
lie_V = reflV (regV "acostar") ; -- "acostarse"
live_V = live_V ;
play_V = regV "jugar" ;
pull_V2 = dirV2 (regV "tirar") ;
push_V2 = dirV2 (regV "empujar") ;
rub_V2 = dirV2 (regV "resfregar") ;
say_V = say_VS ;
scratch_V2 = dirV2 (regV "rascar") ;
see_V2 = dirV2 (see_V2) ;
sew_V = regV "coser" ;
sing_V = regV "cantar" ;
sit_V = reflV (regV "sentar") ;
sleep_V = sleep_V ;
smell_V = verboV (oler_52 "oler") ;
spit_V = regV "escupir" ;
split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
squeeze_V2 = dirV2 (regV "exprimir") ;
stab_V2 = dirV2 (regV "apuñalar") ;
stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ;
suck_V2 = dirV2 (regV "chupar") ;
swell_V = regV "tragar" ;
swim_V = regV "nadar" ;
think_V = regV "pensar" ;
throw_V2 = dirV2 (regV "tirar") ;
tie_V2 = dirV2 (regV "atar") ;
turn_V = regV "doblar" ;
vomit_V = regV "vomitar" ;
walk_V = regV "caminar" ;
wash_V2 = dirV2 (regV "lavar") ;
wipe_V2 = dirV2 (regV "secar") ;
}

View File

@@ -0,0 +1,252 @@
--# -path=.:present:prelude
concrete SwadeshSwe of Swadesh = CatSwe
** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in {
lincat
MassN = N ;
lin
-- Pronouns
i_NP = i_Pron ;
youSg_NP = youSg_Pron ;
he_NP = he_Pron ;
we_NP = we_Pron ;
youPl_NP = youPl_Pron ;
they_NP = they_Pron ;
whoPl_IP = whoPl_IP ;
whoSg_IP = whoSg_IP ;
whatPl_IP = whatPl_IP ;
whatSg_IP = whatSg_IP ;
-- Determiners
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
all_Det = {s = \\_,_ => "alla" ; n = Pl ; det = DDef Indef} ;
many_Det = many_Det ;
some_Det = someSg_Det ;
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ;
left_Ord = {s = "vänstra" ; isDet = True} ;
right_Ord = {s = "högra" ; isDet = True} ;
-- Adverbs
here_Adv = here_Adv ;
there_Adv = there_Adv ;
where_IAdv = where_IAdv ;
when_IAdv = when_IAdv ;
how_IAdv = how_IAdv ;
far_Adv = mkAdv "långt" ;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
at_Prep = ss "vid" ;
in_Prep = ss "i" ;
with_Prep = ss "med" ;
-- Numerals
one_Det = DetSg one_Quant NoOrd ;
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_A = bad_A ;
big_A = big_A ;
black_A = black_A ;
cold_A = cold_A ;
correct_A = regA "riktig" ;
dirty_A = dirty_A ;
dry_A = regA "torr" ;
dull_A = mk2A "slö" "slött";
full_A = regA "full" ;
good_A = good_A ;
green_A = green_A ;
heavy_A = irregA "tung" "tyngre" "tyngst" ;
long_A = long_A ;
narrow_A = narrow_A ;
near_A = mkA "nära" "nära" "nära" "nära"
"närmare" "närmast" "närmaste" ;
new_A = new_A ;
old_A = old_A ;
red_A = red_A ;
rotten_A = mk3A "rutten" "ruttet" "ruttna" ;
round_A = regA "rund" ;
sharp_A = regA "vass" ;
short_A = short_A ;
small_A = small_A ;
smooth_A = regA "slät" ;
straight_A = regA "rak" ;
thick_A = thick_A ;
thin_A = thin_A ;
warm_A = warm_A ;
wet_A = regA "våt" ;
white_A = white_A ;
wide_A = mk2A "bred" "brett" ;
yellow_A = yellow_A ;
-- Nouns
animal_N = mk2N "djur" "djur" ;
ashes_N = mk2N "aska" "askor" ;
back_N = mk2N "rygg" "ryggar" ;
bark_N = mk2N "bark" "barkar" ;
belly_N = mk2N "mage" "magar" ;
bird_N = bird_N ;
blood_N = mk2N "blod" "blod" ;
bone_N = mk2N "ben" "ben" ;
breast_N = mk2N "bröst" "bröst" ;
child_N = child_N ;
cloud_N = mk2N "moln" "moln" ;
day_N = mk2N "dag" "dagar" ;
dog_N = dog_N ;
dust_N = mk2N "damm" "damm" ;
ear_N = mkN "öra" "örat" "öron" "öronen" ;
earth_N = mk2N "jord" "jordar" ;
egg_N = mk2N "ägg" "ägg" ;
eye_N = mkN "öga" "ögat" "ögon" "ögonen" ;
fat_N = mk2N "fett" "fett" ;
father_N = (mkN "far" "fadern" "fäder" "fäderna") ;
-- father_N = UseN2 father_N2 ;
feather_N = mk2N "fjäder" "fjädrar" ;
fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna";
fire_N = mk2N "eld" "eldar" ;
fish_N = fish_N ;
flower_N = mk2N "blomma" "blommor" ;
fog_N = mk2N "dimma" "dimmor" ;
foot_N = mk2N "fot" "fötter" ;
forest_N = mk2N "skog" "skogar" ;
fruit_N = fruit_N ;
grass_N = mk2N "gräs" "gräs" ;
guts_N = mk2N "inälva" "inälvor" ;
hair_N = mk2N "hår" "hår" ;
hand_N = mk2N "hand" "händer" ;
head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ;
heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ;
horn_N = mk2N "horn" "horn" ;
husband_N = (mk2N "make" "makar") ;
ice_N = mk2N "is" "isar" ;
knee_N = mkN "knä" "knäet" "knän" "knäna" ;
lake_N = lake_N ;
leaf_N = mk2N "löv" "löv" ;
leg_N = mk2N "ben" "ben" ;
liver_N = mkN "lever" "levern" "levrar" "levrarna";
louse_N = mkN "lus" "lusen" "löss" "lössen" ;
man_N = man_N ;
meat_N = meat_N ;
moon_N = moon_N ;
mother_N = mkN "mor" "modern" "mödrar" "mödrarna" ;
-- mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ;
mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ;
name_N = mk2N "namn" "namn" ;
neck_N = mk2N "nacke" "nackar" ;
night_N = mk2N "natt" "nätter" ;
nose_N = mk2N "näsa" "näsor" ;
person_N = mk2N "person" "personer" ;
rain_N = mk2N "regn" "regn" ;
river_N = river_N ;
road_N = mk2N "väg" "vägar" ;
root_N = mk2N "rot" "rötter" ;
rope_N = mk2N "rep" "rep" ;
salt_N = mkN "salt" "saltet" "salter" "salterna";
sand_N = mk2N "sand" "sander" ;
sea_N = sea_N ;
seed_N = mkN "frö" "fröet" "frön" "fröna" ;
skin_N = mk2N "skinn" "skinn" ;
sky_N = mk2N "himmel" "himlar" ;
smoke_N = mk2N "rök" "rökar" ;
snake_N = snake_N ;
snow_N = mkN "snö" "snön" "snöer" "snöerna" ;
star_N = star_N ;
stick_N = mk2N "pinne" "pinnar" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = mk2N "svans" "svansar" ;
tongue_N = mk2N "tunga" "tungor" ;
tooth_N = mk2N "tand" "tänder" ;
tree_N = tree_N ;
water_N = water_N ;
wife_N = mk2N "fru" "fruar" ;
wind_N = mk2N "vind" "vindar" ;
wing_N = mk2N "vinge" "vingar" ;
woman_N = woman_N ;
worm_N = mk2N "mask" "maskar" ;
year_N = mk2N "år" "år" ;
-- Verbs
bite_V2 = dirV2 (bita_V) ;
blow_V = mk2V "blåsa" "blåste" ;
breathe_V2 = dirV2 (depV (regV "anda")) ;
burn_V = brinna_V ; -- FIXME: bränna?
come_V = komma_V ;
count_V2 = dirV2 (regV "räkna") ;
cut_V2 = dirV2 (skära_V) ;
die_V = dö_V ;
dig_V = mk2V "gräva" "grävde" ;
drink_V2 = dirV2 (dricka_V) ;
eat_V2 = dirV2 (äta_V) ;
fall_V = falla_V ;
fear_V2 = dirV2 (regV "frukta") ;
-- FIXME: passive forms are very strange
fight_V = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
float_V = flyta_V ;
flow_V = rinna_V ;
fly_V = flyga_V ;
freeze_V = frysa_V ;
give_V = dirV3 giva_V "till";
hear_V2 = dirV2 (mk2V "höra" "hörde") ;
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (hålla_V) ;
hunt_V2 = dirV2 (regV "jaga") ;
kill_V2 = dirV2 (regV "döda") ;
know_V2 = dirV2 (känna_V) ;
laugh_V = regV "skratta" ;
lie_V = ligga_V ;
live_V = leva_V ;
play_V = mk2V "leka" "lekte" ;
pull_V2 = dirV2 (draga_V) ;
push_V2 = dirV2 (mk2V "trycka" "tryckte") ;
rub_V2 = dirV2 (gnida_V) ;
say_V = säga_V ;
scratch_V2 = dirV2 (regV "klia") ;
see_V2 = dirV2 (se_V) ;
sew_V = sy_V ;
sing_V = sjunga_V ;
sit_V = sitta_V ;
sleep_V = sova_V ;
smell_V = regV "lukta" ;
spit_V = regV "spotta" ;
split_V2 = dirV2 (klyva_V) ;
squeeze_V2 = dirV2 (klämma_V) ;
stab_V2 = dirV2 (sticka_V) ;
stand_V = stå_V ;
suck_V2 = dirV2 (suga_V) ;
swell_V = svälla_V ;
swim_V = regV "simma" ;
think_V = mk2V "tänka" "tänkte" ;
throw_V2 = dirV2 (regV "kasta") ;
tie_V2 = dirV2 (knyta_V) ;
turn_V = vända_V ;
vomit_V = mk2V "spy" "spydde" ;
walk_V = gå_V ;
wash_V2 = dirV2 (regV "tvätta") ;
wipe_V2 = dirV2 (regV "torka") ;
}

View File

@@ -1,47 +1,47 @@
--1 A Lexicon Lexicon
-- This files gives a list of words whose purpose is to test the GF
-- resource grammar. It covers all lexical categories of [Cat Cat.html].
-- By containing some of the most common words,
-- it is aimed to cover, with high probability, all morphological
-- patterns in the different languages.
-- Using this lexicon for translation is not recommended. The linearizations
-- of the words in different languages are not guaranteed to be translation
-- equivalents.
abstract Lexicon = Cat ** {
fun
fun
add_V3 : V3 ;
airplane_N : N ;
already_Adv : Adv ;
animal_N : N ;
answer_V2S : V2 ;
apartment_N : N ;
apple_N : N ;
art_N : N ;
ashes_N : N ;
ask_V2Q : V2 ;
baby_N : N ;
back_N : N ;
bad_A : A ;
bank_N : N ;
bark_N : N ;
beautiful_A : A ;
become_VA : VA ;
beer_N : N ;
beg_V2V : V2 ;
belly_N : N ;
big_A : A ;
bike_N : N ;
bird_N : N ;
bite_V2 : V2 ;
black_A : A ;
blood_N : N ;
blow_V : V ;
blue_A : A ;
boat_N : N ;
bone_N : N ;
book_N : N ;
boot_N : N ;
boss_N : N ;
boy_N : N ;
bread_N : N ;
break_V2 : V2 ;
breast_N : N ;
breathe_V : V ;
broad_A : A ;
brother_N2 : N2 ;
brown_A : A ;
burn_V : V ;
butter_N : N ;
buy_V2 : V2 ;
camera_N : N ;
@@ -58,82 +58,147 @@ abstract Lexicon = Cat ** {
clean_A : A ;
clever_A : A ;
close_V2 : V2 ;
cloud_N : N ;
coat_N : N ;
cold_A : A ;
come_V : V ;
computer_N : N ;
correct_A : A ;
country_N : N ;
count_V2 : V2 ;
cousin_N : N ;
cow_N : N ;
cut_V2 : V2 ;
day_N : N ;
die_V : V ;
dig_V : V ;
dirty_A : A ;
distance_N3 : N3 ;
do_V2 : V2 ;
doctor_N : N ;
dog_N : N ;
door_N : N ;
do_V2 : V2 ;
drink_V2 : V2 ;
drink_V2 : V2 ;
dry_A : A ;
dull_A : A ;
dust_N : N ;
ear_N : N ;
earth_N : N ;
easy_A2V : A2 ;
eat_V2 : V2 ;
enemy_N : N ;
eat_V2 : V2 ;
egg_N : N ;
empty_A : A ;
enemy_N : N ;
eye_N : N ;
factory_N : N ;
fall_V : V ;
far_Adv : Adv ;
father_N2 : N2 ;
fat_N : N ;
fear_VS : VS ;
fear_V2 : V2 ;
feather_N : N ;
fight_V2 : V2 ;
find_V2 : V2 ;
fingernail_N : N ;
fire_N : N ;
fish_N : N ;
float_V : V ;
floor_N : N ;
flower_N : N ;
flow_V : V ;
fly_V : V ;
fog_N : N ;
foot_N : N ;
forest_N : N ;
forget_V2 : V2 ;
freeze_V : V ;
fridge_N : N ;
friend_N : N ;
fruit_N : N ;
full_A : A ;
fun
fun_AV : A ;
garden_N : N ;
girl_N : N ;
give_V3 : V3 ;
glove_N : N ;
gold_N : N ;
good_A : A ;
go_V : V ;
grass_N : N ;
green_A : A ;
guts_N : N ;
hair_N : N ;
hand_N : N ;
harbour_N : N ;
hate_V2 : V2 ;
hat_N : N ;
have_V2 : V2 ;
head_N : N ;
heart_N : N ;
hear_V2 : V2 ;
hear_V2 : V2 ;
heavy_A : A ;
hill_N : N ;
hit_V2 : V2 ;
hold_V2 : V2 ;
hope_VS : VS ;
horn_N : N ;
horse_N : N ;
hot_A : A ;
house_N : N ;
hunt_V2 : V2 ;
husband_N : N ;
ice_N : N ;
important_A : A ;
industry_N : N ;
iron_N : N ;
jump_V : V ;
kill_V2 : V2 ;
king_N : N ;
knee_N : N ;
know_V2 : V2 ;
know_V2 : V2 ;
lake_N : N ;
lamp_N : N ;
laugh_V : V ;
leaf_N : N ;
learn_V2 : V2 ;
leather_N : N ;
leave_V2 : V2 ;
left_Ord : Ord ;
leg_N : N ;
lie_V : V ;
like_V2 : V2 ;
listen_V2 : V2 ;
liver_N : N ;
live_V : V ;
long_A : A ;
lose_V2 : V2 ;
louse_N : N ;
love_N : N ;
love_V2 : V2 ;
man_N : N ;
married_A2 : A2 ;
meat_N : N ;
meat_N : N ;
milk_N : N ;
moon_N : N ;
mother_N2 : N2 ;
mountain_N : N ;
mouth_N : N ;
music_N : N ;
name_N : N ;
narrow_A : A ;
near_A : A ;
neck_N : N ;
new_A : A ;
newspaper_N : N ;
night_N : N ;
nose_N : N ;
now_Adv : Adv ;
number_N : N ;
oil_N : N ;
@@ -144,33 +209,52 @@ abstract Lexicon = Cat ** {
paris_PN : PN ;
peace_N : N ;
pen_N : N ;
person_N : N ;
planet_N : N ;
plastic_N : N ;
play_V2 : V2 ;
play_V : V ;
policeman_N : N ;
priest_N : N ;
probable_AS : A ;
pull_V2 : V2 ;
push_V2 : V2 ;
put_V2 : V2 ;
queen_N : N ;
radio_N : N ;
rain_N : N ;
rain_V0 : V ;
read_V2 : V2 ;
red_A : A ;
religion_N : N ;
restaurant_N : N ;
right_Ord : Ord ;
river_N : N ;
road_N : N ;
rock_N : N ;
roof_N : N ;
root_N : N ;
rope_N : N ;
rotten_A : A ;
round_A : A ;
rubber_N : N ;
rub_V2 : V2 ;
run_V : V ;
salt_N : N ;
sand_N : N ;
say_VS : VS ;
school_N : N ;
science_N : N ;
scratch_V2 : V2 ;
sea_N : N ;
seed_N : N ;
seek_V2 : V2 ;
see_V2 : V2 ;
see_V2 : V2 ;
sell_V3 : V3 ;
send_V3 : V3 ;
sew_V : V ;
sharp_A : A ;
sheep_N : N ;
ship_N : N ;
shirt_N : N ;
@@ -178,52 +262,87 @@ abstract Lexicon = Cat ** {
shop_N : N ;
short_A : A ;
silver_N : N ;
sing_V : V ;
sister_N : N ;
sit_V : V ;
skin_N : N ;
sky_N : N ;
sleep_V : V ;
small_A : A ;
smell_V : V ;
smoke_N : N ;
smooth_A : A ;
snake_N : N ;
snow_N : N ;
sock_N : N ;
song_N : N ;
speak_V2 : V2 ;
spit_V : V ;
split_V2 : V2 ;
squeeze_V2 : V2 ;
stab_V2 : V2 ;
stand_V : V ;
star_N : N ;
steel_N : N ;
stick_N : N ;
stone_N : N ;
stop_V : V ;
stove_N : N ;
straight_A : A ;
student_N : N ;
stupid_A : A ;
suck_V2 : V2 ;
sun_N : N ;
swell_V : V ;
swim_V : V ;
switch8off_V2 : V2 ;
switch8on_V2 : V2 ;
table_N : N ;
tail_N : N ;
talk_V3 : V3 ;
teacher_N : N ;
teach_V2 : V2 ;
television_N : N ;
thick_A : A ;
thin_A : A ;
think_V : V ;
throw_V2 : V2 ;
tie_V2 : V2 ;
tongue_N : N ;
tooth_N : N ;
train_N : N ;
travel_V : V ;
tree_N : N ;
---- trousers_N : N ;
turn_V : V ;
ugly_A : A ;
understand_V2 : V2 ;
university_N : N ;
village_N : N ;
vomit_V : V ;
wait_V2 : V2 ;
walk_V : V ;
warm_A : A ;
war_N : N ;
wash_V2 : V2 ;
watch_V2 : V2 ;
water_N : N ;
water_N : N ;
wet_A : A ;
white_A : A ;
wide_A : A ;
wife_N : N ;
wind_N : N ;
window_N : N ;
wine_N : N ;
wing_N : N ;
win_V2 : V2 ;
wipe_V2 : V2 ;
woman_N : N ;
wonder_VQ : VQ ;
wood_N : N ;
worm_N : N ;
write_V2 : V2 ;
year_N : N ;
yellow_A : A ;
young_A : A ;

View File

@@ -38,6 +38,7 @@ abstract Structural = Cat ** {
everything_NP : NP ;
everywhere_Adv : Adv ;
first_Ord : Ord ;
few_Det : Det ;
from_Prep : Prep ;
he_Pron : Pron ;
here_Adv : Adv ;

View File

@@ -7,7 +7,7 @@
<P ALIGN="center"><CENTER><H1>The GF Resource Grammar Library Version 1.0</H1>
<FONT SIZE="4">
<I>Author: Aarne Ranta &lt;aarne (at) cs.chalmers.se&gt;</I><BR>
Last update: Sat Mar 4 14:20:07 2006
Last update: Tue Mar 7 16:01:46 2006
</FONT></CENTER>
<P>
@@ -274,9 +274,7 @@ Rosetta Machine Translation (<A HREF="http://citeseer.ist.psu.edu/181924.html">B
<!-- NEW -->
</P>
<H2>Coverage</H2>
<P>
===Languages====
</P>
<H3>Languages</H3>
<P>
The current GF Resource Project covers ten languages:
</P>
@@ -302,9 +300,7 @@ API 1.0 not yet implemented for Danish and Russian
<P>
<!-- NEW -->
</P>
<P>
===Morphology====
</P>
<H3>Morphology and lexicon</H3>
<P>
Complete inflection engine
</P>
@@ -315,24 +311,20 @@ Complete inflection engine
</UL>
<P>
High-level access via <CODE>ParadigmsX</CODE>; e.g. Swedish:
Basic lexicon
</P>
<UL>
<LI>worst-case functions
<PRE>
mkV : (supa,super,sup,söp,supit,supen : Str) -&gt; V ;
</PRE>
<LI>common patterns
<PRE>
regV : (talar : Str) -&gt; V ;
irregV : (dricka, drack, druckit : Str) -&gt; V ;
</PRE>
<LI>irregular words in <CODE>IrregX</CODE>:
<PRE>
draga_V : V =
mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"})
(variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
</PRE>
<LI>100 structural words
<LI>350 content words, mainly for testing
<LI>these include the 207 <A HREF="http://en.wiktionary.org/wiki/Swadesh_List">Swadesh words</A>
</UL>
<P>
It is more important to enable lexicon extensions than to
provide a huge lexicon.
</P>
<UL>
<LI>technical lexica can have very special words, which tend to be regular
</UL>
<P>
@@ -340,7 +332,32 @@ High-level access via <CODE>ParadigmsX</CODE>; e.g. Swedish:
</P>
<H3>Syntactic structures</H3>
<P>
<IMG ALIGN="middle" SRC="Lang.png" BORDER="0" ALT="">
Texts:
sequences of phrases with punctuation
</P>
<P>
Phrases:
declaratives, questions, imperatives, vocatives
</P>
<P>
Tense, mood, and polarity:
present, past, future, conditional ; similtaneous, anterior ; positive, negative
</P>
<P>
Questions:
yes-no, "wh" ; direct, indirect
</P>
<P>
Clauses:
main, relative, embedded (subject, object, adverbial)
</P>
<P>
Verb phrases:
intransitive, transitive, ditransitive, prepositional
</P>
<P>
Noun phrases:
proper names, pronouns, determiners, possessives, cardinals and ordinals
</P>
<P>
<!-- NEW -->
@@ -378,15 +395,125 @@ Lines of source code (4/3/2006):
<P>
<!-- NEW -->
</P>
<H2>Structure</H2>
<H2>Structure of the API</H2>
<H3>Language-independent ground API</H3>
<P>
<IMG ALIGN="middle" SRC="Lang.png" BORDER="0" ALT="">
</P>
<P>
<!-- NEW -->
</P>
<H3>Language-independent ground API</H3>
<H3>The structure of a text sentence</H3>
<PRE>
John walks.
TFullStop : Phr -&gt; Text -&gt; Text
(PhrUtt : PConj -&gt; Utt -&gt; Voc -&gt; Phr
NoPConj
(UttS : S -&gt; Utt
(UseCl : Tense -&gt; Anter -&gt; Pol -&gt; Cl -&gt; S
TPres
ASimul
PPos
(PredVP : NP -&gt; VP -&gt; Cl
(UsePN : PN -&gt; NP
john_PN)
(UseV : V -&gt; VP
walk_V))))
NoVoc)
TEmpty
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H3>Structure in syntax editor</H3>
<P>
<IMG ALIGN="middle" SRC="editor.png" BORDER="0" ALT="">
</P>
<P>
<!-- NEW -->
</P>
<H3>Language-dependent paradigm modules</H3>
<H4>Regular paradigms</H4>
<P>
Every language implements these regular patterns that take
"dictionary forms" as arguments.
</P>
<PRE>
regN : Str -&gt; N
regA : Str -&gt; A
regV : Str -&gt; V
</PRE>
<P>
Their usefulness varies. For instance, they
all are quite good in Finnish and English.
In Swedish, less so:
</P>
<PRE>
regN "val" ---&gt; val, valen, valar, valarna
</PRE>
<P>
Initializing a lexicon with <CODE>regX</CODE>s is
usually a good starting point in grammar development.
</P>
<P>
<!-- NEW -->
</P>
<H4>Regular paradigms</H4>
<P>
In Swedish, giving the gender of <CODE>N</CODE> improves a lot
</P>
<PRE>
regGenN "val" neutrum ---&gt; val, valet, val, valen
</PRE>
<P></P>
<P>
There are also special constructs taking other forms:
</P>
<PRE>
mk2N : (nyckel,nycklar : Str) -&gt; N
mk1N : (bilarna : Str) -&gt; N
irregV : (dricka, drack, druckit : Str) -&gt; V
</PRE>
<P></P>
<P>
Regular verbs are actually implemented the
<A HREF="http://lexin.nada.kth.se/sve-sve.shtml">Lexin</A> way
</P>
<PRE>
regV : (talar : Str) -&gt; N
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H4>Worst-case paradigms</H4>
<P>
To cover all situations, worst-case paradigms are given. E.g. Swedish
</P>
<PRE>
mkN : (apa,apan,apor,aporna : Str) -&gt; N
mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -&gt; A
mkV : (supa,super,sup,söp,supit,supen : Str) -&gt; V
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H4>Irregular words</H4>
<P>
Iregular words in <CODE>IrregX</CODE>, e.g. Swedish:
</P>
<PRE>
draga_V : V =
mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"})
(variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
</PRE>
<P>
Goal: eliminate the user's need of worst-case functions.
</P>
<P>
<!-- NEW -->
</P>
@@ -395,6 +522,20 @@ Lines of source code (4/3/2006):
<!-- NEW -->
</P>
<H3>Special-purpose APIs</H3>
<P>
Syntactic structures that are not shared by all languages.
</P>
<P>
Not implemented yet.
</P>
<P>
Candidates:
</P>
<UL>
<LI><CODE>Nor</CODE> post-possessives: <CODE>bilen min</CODE>
<LI><CODE>Fre</CODE> question forms: <CODE>est-ce que tu dors ?</CODE>
</UL>
<P>
<!-- NEW -->
</P>
@@ -402,20 +543,127 @@ Lines of source code (4/3/2006):
<P>
<!-- NEW -->
</P>
<H3>Compiling</H3>
<P>
It is a good idea to compile the library, so that it can be opened faster
</P>
<PRE>
GF/lib/resource-1.0% make
writes GF/lib/alltenses
GF/lib/present
GF/lib/resource-1.0/langs.gfcm
</PRE>
<P>
If you don't intend to change the library, you never need to process the source
files again. Just do some of
</P>
<PRE>
gf -nocf langs.gfcm -- all 8 languages
gf -nocf -path=alltenses:prelude alltenses/LangSwe.gfc -- Swedish only
gf -nocf -path=alltenses:prelude present/LangSwe.gfc -- Swedish only, present tense only
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H3>Parsing</H3>
<P>
The default parser does not work!
</P>
<P>
The MCFG parser works in some languages, after waiting appr. 20 seconds
</P>
<PRE>
p -mcfg -lang=LangEng -cat=S "I would see her"
p -mcfg -lang=LangSwe -cat=S "jag skulle se henne"
p -mcfg -lang=LangNor -cat=S "jeg ville se henne"
</PRE>
<P>
Parsing in <CODE>present/</CODE> versions is quicker.
</P>
<P>
<!-- NEW -->
</P>
<H3>Treebank generation</H3>
<P>
Multilingual treebank entry = tree + linearizations
</P>
<P>
Some examples on treebank generation, assuming <CODE>langs.gfcm</CODE>
</P>
<PRE>
gr -cat=S -number=10 -cf | tb -- 10 random S
gt -cat=Phr -depth=4 | tb -xml | wf ex.xml -- all Phr to depth 4, into file ex.xml
</PRE>
<P>
Regression testing
</P>
<PRE>
rf ex.xml | tb -c -- read treebank from file and compare to present grammars
</PRE>
<P>
Updating a treebank
</P>
<PRE>
rf old.xml | tb -trees | tb -xml | wf new.xml -- read old from file, write new to file
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H3>Treebank-based parsing</H3>
<P>
Brute-force method that helps if real parsing is more expensive.
</P>
<PRE>
make treebank -- make treebank with all languages
gf -treebank langs.xml -- start GF by reading the treebank
&gt; ut -strings -treebank=LangIta -- show all Ita strings
&gt; ut -treebank=LangIta -raw "Quello non si romperebbe" -- look up a string
&gt; i -nocf langs.gfcm -- read grammar to be able to linearize
&gt; ut -treebank=LangIta "Quello non si romperebbe" | l -multi -- translate to all
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<H3>Morphology</H3>
<P>
Use morphological analyser
</P>
<PRE>
gf -nocf -retain -path=alltenses:prelude alltenses/LangSwe.gf
&gt; ma "jag kan inte höra vad du säger"
</PRE>
<P></P>
<P>
Try out a morphology quiz
</P>
<PRE>
&gt; mq -cat=V
</PRE>
<P></P>
<P>
Try out inflection patterns
</P>
<PRE>
gf -retain -path=alltenses:prelude alltenses/ParadigmsSwe.gfr
&gt; cc regV "lyser"
</PRE>
<P></P>
<P>
<!-- NEW -->
</P>
<P>
@@ -423,6 +671,16 @@ Lines of source code (4/3/2006):
</P>
<H3>Syntax editing</H3>
<P>
We start a demo by
</P>
<PRE>
gfeditor langs.gfcm
</PRE>
<P></P>
<P>
<IMG ALIGN="middle" SRC="editor.png" BORDER="0" ALT="">
</P>
<P>
<!-- NEW -->
</P>
<H3>Efficient parsing via application grammar</H3>
@@ -469,6 +727,6 @@ Lines of source code (4/3/2006):
</P>
<H3>Extend old modules or add a new one?</H3>
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags clt2006.txt -->
</BODY></HTML>

View File

@@ -217,7 +217,7 @@ Rosetta Machine Translation ([Book 1994 http://citeseer.ist.psu.edu/181924.html]
==Coverage==
===Languages====
===Languages===
The current GF Resource Project covers ten languages:
- ``Dan``ish
@@ -240,7 +240,7 @@ API 1.0 not yet implemented for Danish and Russian
#NEW
===Morphology====
===Morphology and lexicon===
Complete inflection engine
- all word classes
@@ -248,24 +248,16 @@ Complete inflection engine
- all inflectional paradigms
High-level access via ``ParadigmsX``; e.g. Swedish:
- worst-case functions
```
mkV : (supa,super,sup,söp,supit,supen : Str) -> V ;
```
- common patterns
```
regV : (talar : Str) -> V ;
irregV : (dricka, drack, druckit : Str) -> V ;
```
- irregular words in ``IrregX``:
```
draga_V : V =
mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"})
(variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
```
Basic lexicon
- 100 structural words
- 350 content words, mainly for testing
- these include the 207 [Swadesh words http://en.wiktionary.org/wiki/Swadesh_List]
It is more important to enable lexicon extensions than to
provide a huge lexicon.
- technical lexica can have very special words, which tend to be regular
@@ -274,7 +266,28 @@ High-level access via ``ParadigmsX``; e.g. Swedish:
===Syntactic structures===
[Lang.png]
Texts:
sequences of phrases with punctuation
Phrases:
declaratives, questions, imperatives, vocatives
Tense, mood, and polarity:
present, past, future, conditional ; similtaneous, anterior ; positive, negative
Questions:
yes-no, "wh" ; direct, indirect
Clauses:
main, relative, embedded (subject, object, adverbial)
Verb phrases:
intransitive, transitive, ditransitive, prepositional
Noun phrases:
proper names, pronouns, determiners, possessives, cardinals and ordinals
#NEW
@@ -307,16 +320,117 @@ Lines of source code (4/3/2006):
#NEW
==Structure==
==Structure of the API==
===Language-independent ground API===
[Lang.png]
#NEW
===Language-independent ground API===
===The structure of a text sentence===
```
John walks.
TFullStop : Phr -> Text -> Text
(PhrUtt : PConj -> Utt -> Voc -> Phr
NoPConj
(UttS : S -> Utt
(UseCl : Tense -> Anter -> Pol -> Cl -> S
TPres
ASimul
PPos
(PredVP : NP -> VP -> Cl
(UsePN : PN -> NP
john_PN)
(UseV : V -> VP
walk_V))))
NoVoc)
TEmpty
```
#NEW
===Structure in syntax editor===
[editor.png]
#NEW
===Language-dependent paradigm modules===
====Regular paradigms====
Every language implements these regular patterns that take
"dictionary forms" as arguments.
```
regN : Str -> N
regA : Str -> A
regV : Str -> V
```
Their usefulness varies. For instance, they
all are quite good in Finnish and English.
In Swedish, less so:
```
regN "val" ---> val, valen, valar, valarna
```
Initializing a lexicon with ``regX``s is
usually a good starting point in grammar development.
#NEW
====Regular paradigms====
In Swedish, giving the gender of ``N`` improves a lot
```
regGenN "val" neutrum ---> val, valet, val, valen
```
There are also special constructs taking other forms:
```
mk2N : (nyckel,nycklar : Str) -> N
mk1N : (bilarna : Str) -> N
irregV : (dricka, drack, druckit : Str) -> V
```
Regular verbs are actually implemented the
[Lexin http://lexin.nada.kth.se/sve-sve.shtml] way
```
regV : (talar : Str) -> N
```
#NEW
====Worst-case paradigms====
To cover all situations, worst-case paradigms are given. E.g. Swedish
```
mkN : (apa,apan,apor,aporna : Str) -> N
mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> A
mkV : (supa,super,sup,söp,supit,supen : Str) -> V
```
#NEW
====Irregular words====
Iregular words in ``IrregX``, e.g. Swedish:
```
draga_V : V =
mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"})
(variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
```
Goal: eliminate the user's need of worst-case functions.
#NEW
===Language-dependent syntax extensions===
@@ -325,34 +439,139 @@ Lines of source code (4/3/2006):
===Special-purpose APIs===
Syntactic structures that are not shared by all languages.
Not implemented yet.
Candidates:
- ``Nor`` post-possessives: ``bilen min``
- ``Fre`` question forms: ``est-ce que tu dors ?``
#NEW
===How to use as top-level grammar===
#NEW
===Compiling===
It is a good idea to compile the library, so that it can be opened faster
```
GF/lib/resource-1.0% make
writes GF/lib/alltenses
GF/lib/present
GF/lib/resource-1.0/langs.gfcm
```
If you don't intend to change the library, you never need to process the source
files again. Just do some of
```
gf -nocf langs.gfcm -- all 8 languages
gf -nocf -path=alltenses:prelude alltenses/LangSwe.gfc -- Swedish only
gf -nocf -path=alltenses:prelude present/LangSwe.gfc -- Swedish only, present tense only
```
#NEW
===Parsing===
The default parser does not work!
The MCFG parser works in some languages, after waiting appr. 20 seconds
```
p -mcfg -lang=LangEng -cat=S "I would see her"
p -mcfg -lang=LangSwe -cat=S "jag skulle se henne"
p -mcfg -lang=LangNor -cat=S "jeg ville se henne"
```
Parsing in ``present/`` versions is quicker.
#NEW
===Treebank generation===
Multilingual treebank entry = tree + linearizations
Some examples on treebank generation, assuming ``langs.gfcm``
```
gr -cat=S -number=10 -cf | tb -- 10 random S
gt -cat=Phr -depth=4 | tb -xml | wf ex.xml -- all Phr to depth 4, into file ex.xml
```
Regression testing
```
rf ex.xml | tb -c -- read treebank from file and compare to present grammars
```
Updating a treebank
```
rf old.xml | tb -trees | tb -xml | wf new.xml -- read old from file, write new to file
```
#NEW
===Treebank-based parsing===
Brute-force method that helps if real parsing is more expensive.
```
make treebank -- make treebank with all languages
gf -treebank langs.xml -- start GF by reading the treebank
> ut -strings -treebank=LangIta -- show all Ita strings
> ut -treebank=LangIta -raw "Quello non si romperebbe" -- look up a string
> i -nocf langs.gfcm -- read grammar to be able to linearize
> ut -treebank=LangIta "Quello non si romperebbe" | l -multi -- translate to all
```
#NEW
===Morphology===
Use morphological analyser
```
gf -nocf -retain -path=alltenses:prelude alltenses/LangSwe.gf
> ma "jag kan inte höra vad du säger"
```
Try out a morphology quiz
```
> mq -cat=V
```
Try out inflection patterns
```
gf -retain -path=alltenses:prelude alltenses/ParadigmsSwe.gfr
> cc regV "lyser"
```
#NEW
#NEW
===Syntax editing===
We start a demo by
``` gfeditor langs.gfcm
[editor.png]
#NEW
===Efficient parsing via application grammar===

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,6 +1,7 @@
--# -path=.:prelude
concrete LexiconEng of Lexicon = CatEng ** open ParadigmsEng, IrregEng in {
concrete LexiconEng of Lexicon = CatEng **
open ParadigmsEng, IrregEng, Prelude in {
flags
optimize=values ;
@@ -222,4 +223,132 @@ lin
stop_V = regDuplV "stop" ;
jump_V = regV "jump" ;
left_Ord = ss "left" ;
right_Ord = ss "right" ;
far_Adv = mkAdv "far" ;
correct_A = (regA "correct") ;
dry_A = regA "dry" ;
dull_A = regA "dull" ;
full_A = regA "full" ;
heavy_A = regA "heavy" ;
near_A = regA "near" ;
rotten_A = (regA "rotten") ;
round_A = regA "round" ;
sharp_A = regA "sharp" ;
smooth_A = regA "smooth" ;
straight_A = regA "straight" ;
wet_A = regA "wet" ; ----
wide_A = regA "wide" ;
animal_N = regN "animal" ;
ashes_N = regN "ash" ; -- FIXME: plural only?
back_N = regN "back" ;
bark_N = regN "bark" ;
belly_N = regN "belly" ;
blood_N = regN "blood" ;
bone_N = regN "bone" ;
breast_N = regN "breast" ;
cloud_N = regN "cloud" ;
day_N = regN "day" ;
dust_N = regN "dust" ;
ear_N = regN "ear" ;
earth_N = regN "earth" ;
egg_N = regN "egg" ;
eye_N = regN "eye" ;
fat_N = regN "fat" ;
feather_N = regN "feather" ;
fingernail_N = regN "fingernail" ;
fire_N = regN "fire" ;
flower_N = regN "flower" ;
fog_N = regN "fog" ;
foot_N = mk2N "foot" "feet" ;
forest_N = regN "forest" ;
grass_N = regN "grass" ;
guts_N = regN "gut" ; -- FIXME: no singular
hair_N = regN "hair" ;
hand_N = regN "hand" ;
head_N = regN "head" ;
heart_N = regN "heart" ;
horn_N = regN "horn" ;
husband_N = genderN masculine (regN "husband") ;
ice_N = regN "ice" ;
knee_N = regN "knee" ;
leaf_N = mk2N "leaf" "leaves" ;
leg_N = regN "leg" ;
liver_N = regN "liver" ;
louse_N = mk2N "louse" "lice" ;
mouth_N = regN "mouth" ;
name_N = regN "name" ;
neck_N = regN "neck" ;
night_N = regN "night" ;
nose_N = regN "nose" ;
person_N = genderN human (regN "person") ;
rain_N = regN "rain" ;
road_N = regN "road" ;
root_N = regN "root" ;
rope_N = regN "rope" ;
salt_N = regN "salt" ;
sand_N = regN "sand" ;
seed_N = regN "seed" ;
skin_N = regN "skin" ;
sky_N = regN "sky" ;
smoke_N = regN "smoke" ;
snow_N = regN "snow" ;
stick_N = regN "stick" ;
tail_N = regN "tail" ;
tongue_N = regN "tongue" ;
tooth_N = mk2N "tooth" "teeth" ;
wife_N = genderN feminine (mk2N "wife" "wives") ;
wind_N = regN "wind" ;
wing_N = regN "wing" ;
worm_N = regN "worm" ;
year_N = regN "year" ;
blow_V = blow_V ;
breathe_V = dirV2 (regV "breathe") ;
burn_V = burn_V ;
dig_V = dig_V ;
fall_V = fall_V ;
float_V = regV "float" ;
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V3 = dirV3 give_V "to" ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
play_V = regV "play" ;
sew_V = sew_V ;
sing_V = sing_V ;
sit_V = sit_V ;
smell_V = regV "smell" ;
spit_V = spit_V ;
stand_V = stand_V ;
swell_V = swell_V ;
swim_V = swim_V ;
think_V = think_V ;
turn_V = regV "turn" ;
vomit_V = regV "vomit" ;
bite_V2 = dirV2 bite_V ;
count_V2 = dirV2 (regV "count") ;
cut_V2 = dirV2 cut_V ;
fear_V2 = dirV2 (regV "fear") ;
fight_V2 = dirV2 fight_V ;
hit_V2 = dirV2 hit_V ;
hold_V2 = dirV2 hold_V ;
hunt_V2 = dirV2 (regV "hunt") ;
kill_V2 = dirV2 (regV "kill") ;
pull_V2 = dirV2 (regV "pull") ;
push_V2 = dirV2 (regV "push") ;
rub_V2 = dirV2 (regDuplV "rub") ;
scratch_V2 = dirV2 (regV "scratch") ;
split_V2 = dirV2 split_V ;
squeeze_V2 = dirV2 (regV "squeeze") ;
stab_V2 = dirV2 (regDuplV "stab") ;
suck_V2 = dirV2 (regV "suck") ;
throw_V2 = dirV2 throw_V ;
tie_V2 = dirV2 (regV "tie") ;
wash_V2 = dirV2 (regV "wash") ;
wipe_V2 = dirV2 (regV "wipe") ;
-- other_A = regA "other" ;
} ;

View File

@@ -30,6 +30,7 @@ concrete StructuralEng of Structural = CatEng **
every_Det = mkDeterminer Sg "every" ;
everything_NP = regNP "everything" Sg ;
everywhere_Adv = ss "everywhere" ;
few_Det = mkDeterminer Pl "few" ;
first_Ord = ss "first" ;
from_Prep = ss "from" ;
he_Pron = mkNP "he" "him" "his" Sg P3 ;
@@ -105,6 +106,7 @@ concrete StructuralEng of Structural = CatEng **
youPl_Pron = mkNP "you" "you" "your" Pl P2 ;
youPol_Pron = mkNP "you" "you" "your" Sg P2 ;
oper
mkQuant : Str -> Str -> {s : Number => Str} = \x,y -> {
s = table Number [x ; y]

View File

@@ -1,6 +1,6 @@
--# -path=.:prelude
concrete LexiconFin of Lexicon = CatFin ** open ParadigmsFin in {
concrete LexiconFin of Lexicon = CatFin ** open MorphoFin, ParadigmsFin in {
flags
optimize=values ;
@@ -51,8 +51,8 @@ lin
"lapsina" "lapsissa" "lasten" "lapsia" "lapsiin" ;
church_N = nLukko "kirkko" ;
city_N = regN "kaupunki" ;
clean_A = regADeg "puhdas" ;
clever_A = regADeg "viisas" ;
clean_A = regA "puhdas" ;
clever_A = regA "viisas" ;
close_V2 = dirV2 (regV "sulkea") ;
coat_N = regN "takki" ;
cold_A = mkADeg (nLukko "kylmä") "kylmempi" "kylmin" ;
@@ -121,7 +121,8 @@ lin
love_V2 = caseV2 (regV "rakastaa") partitive ;
man_N = mkN "mies" "miehen" "miehenä" "miestä" "mieheen"
"miehinä" "miehissä" "miesten" "miehiä" "miehiin" ;
married_A2 = mkA2 (mkA (nRae "avioitunut" "avioituneena")) (postPrep genitive "kanssa") ;
married_A2 =
mkA2 (mkA (nRae "avioitunut" "avioituneena")) (postPrep genitive "kanssa") ;
meat_N = nLukko "liha" ;
milk_N = nLukko "maito" ;
moon_N = regN "kuu" ;
@@ -149,7 +150,7 @@ lin
radio_N = reg2N "radio" "radioita" ;
rain_V0 = mkV0 (reg2V "sataa" "satoi") ;
read_V2 = dirV2 (regV "lukea") ;
red_A = regADeg "punainen" ;
red_A = regA "punainen" ;
religion_N = nLukko "uskonto" ;
restaurant_N = nLukko "ravintola" ;
river_N = nArpi "joki" ;
@@ -172,7 +173,7 @@ lin
shirt_N = nLukko "paita" ;
shoe_N = nLukko "kenkä" ;
shop_N = nLukko "kauppa" ;
short_A = regADeg "lyhyt" ;
short_A = regA "lyhyt" ;
silver_N = regN "hopea" ;
sister_N = nLukko "sisko" ;
sleep_V = regV "nukkua" ;
@@ -185,7 +186,7 @@ lin
stone_N = nSylki "kivi" ;
stove_N = reg3N "liesi" "lieden" "liesiä" ;
student_N = reg2N "opiskelija" "opiskelijoita" ;
stupid_A = regADeg "tyhmä" ;
stupid_A = regA "tyhmä" ;
sun_N = nLukko "aurinko" ;
switch8off_V2 = dirV2 (regV "sammuttaa") ; ---
switch8on_V2 = dirV2 (regV "sytyttää") ; ---
@@ -194,8 +195,8 @@ lin
teacher_N = nLukko "opettaja" ;
teach_V2 = dirV2 (regV "opettaa") ;
television_N = reg2N "televisio" "televisioita" ;
thick_A = regADeg "paksu" ;
thin_A = regADeg "ohut" ;
thick_A = regA "paksu" ;
thin_A = regA "ohut" ;
train_N = nLukko "juna" ;
travel_V = regV "matkustaa" ;
tree_N = regN "puu" ;
@@ -214,7 +215,7 @@ lin
war_N = nLukko "sota" ;
watch_V2 = dirV2 (regV "katsella") ;
water_N = reg3N "vesi" "veden" "vesiä" ;
white_A = regADeg "valkoinen" ;
white_A = regA "valkoinen" ;
window_N = reg2N "ikkuna" "ikkunoita" ;
wine_N = regN "viini" ;
win_V2 = dirV2 (regV "voittaa") ;
@@ -222,7 +223,7 @@ lin
wonder_VQ = mkVQ (regV "ihmetellä") ;
wood_N = regN "puu" ;
write_V2 = dirV2 (regV "kirjoittaa") ;
yellow_A = regADeg "keltainen" ;
yellow_A = regA "keltainen" ;
young_A = mkADeg (nArpi "nuori") "nuorempi" "nuorin" ;
do_V2 = dirV2 (
@@ -237,13 +238,137 @@ lin
put_V2 = dirV2 (regV "panna") ;
stop_V = regV "pysähtyä" ;
jump_V = regV "hypätä" ;
{-
here_Adv = mkAdv "täällä" ;
here7to_Adv = mkAdv "tänne" ;
here7from_Adv = mkAdv "täältä" ;
there_Adv = mkAdv "siellä" ; --- tuolla
there7to_Adv = mkAdv "sinne" ;
there7from_Adv = mkAdv "sieltä" ;
-}
left_Ord = mkOrd (regN "vasen") ;
right_Ord = mkOrd (regN "oikea") ;
far_Adv = mkAdv "kaukana" ;
correct_A = regA "oikea" ;
dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ;
dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ;
full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
heavy_A = regA "raskas" ;
near_A = regA "läheinen" ;
rotten_A = regA "mätä" ;
round_A = regA "pyöreä" ;
sharp_A = regA "terävä" ;
smooth_A = regA "sileä" ;
straight_A = mkADeg (regN "suora") "suorempi" "suorin" ;
wet_A = mkADeg (regN "märkä") "märempi" "märin" ;
wide_A = regA "leveä" ;
animal_N = reg3N "eläin" "eläimen" "eläimiä" ;
ashes_N = regN "tuhka" ;
back_N = regN "selkä" ;
bark_N = regN "kaarna" ;
belly_N = regN "vatsa" ;
blood_N = nMeri "veri" ;
bone_N = regN "luu" ;
breast_N = regN "rinta" ;
cloud_N = reg2N "pilvi" "pilviä" ;
day_N = regN "päivä" ;
dust_N = regN "pöly" ;
ear_N = regN "korva" ;
earth_N = regN "maa" ;
egg_N = regN "muna" ;
eye_N = regN "silmä" ;
fat_N = regN "rasva" ;
feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ;
fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ;
fire_N = reg2N "tuli" "tulia" ;
flower_N = regN "kukka" ;
fog_N = regN "sumu" ;
foot_N = regN "jalka" ;
forest_N = regN "metsä" ;
grass_N = regN "ruoho" ;
guts_N = regN "sisälmys" ; --- suoli
hair_N = regN "hius" ;
hand_N = reg3N "käsi" "käden" "käsiä" ;
head_N = regN "pää" ;
heart_N = reg3N "sydän" "sydämen" "sydämiä" ;
horn_N = reg2N "sarvi" "sarvia" ;
husband_N = mkN "mies" "miehen" "miehenä" "miestä" "mieheen"
"miehinä" "miehissä" "miesten" "miehiä" "miehiin" ;
ice_N = regN "jää" ;
knee_N = reg2N "polvi" "polvia" ;
leaf_N = reg2N "lehti" "lehtiä" ;
leg_N = regN "jalka" ; --- sääri
liver_N = regN "maksa" ;
louse_N = regN "lude" ;
mouth_N = regN "suu" ;
name_N = reg2N "nimi" "nimiä" ;
neck_N = regN "niska" ;
night_N = regN "yö" ;
nose_N = regN "nenä" ;
person_N = regN "henkilö" ;
rain_N = regN "sade" ;
road_N = regN "tie" ;
root_N = reg2N "juuri" "juuria" ;
rope_N = reg3N "köysi" "köyden" "köysiä" ;
salt_N = regN "suola" ;
sand_N = regN "hiekka" ;
seed_N = regN "siemen" ;
skin_N = regN "nahka" ;
sky_N = reg3N "taivas" "taivaan" "taivaita" ;
smoke_N = regN "savu" ;
snow_N = sgpartN (nMeri "lumi") "lunta" ;
stick_N = regN "keppi" ;
tail_N = regN "häntä" ;
tongue_N = reg2N "kieli" "kieliä" ;
tooth_N = regN "hammas" ;
wife_N = regN "vaimo" ;
wind_N = reg2N "tuuli" "tuulia" ;
wing_N = reg2N "siipi" "siipiä" ;
worm_N = regN "mato" ;
year_N = reg3N "vuosi" "vuoden" "vuosia" ;
bite_V2 = dirV2 (regV "purra") ;
blow_V = regV "puhaltaa" ;
burn_V = regV "palaa" ;
count_V2 = dirV2 (regV "laskea") ;
cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ;
dig_V = regV "kaivaa" ;
fall_V = reg3V "pudota" "putoan" "putosi" ;
fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ;
fight_V2 = dirV2 (regV "taistella") ;
float_V = regV "kellua" ;
flow_V = reg3V "virrata" "virtaan" "virtasi" ;
fly_V = regV "lentää" ;
freeze_V = regV "jäätyä" ;
give_V3 = dirdirV3 (regV "antaa") ;
hit_V2 = dirV2 (regV "lyödä") ;
hold_V2 = dirV2 (regV "pitää") ;
hunt_V2 = dirV2 (regV "metsästää") ;
kill_V2 = dirV2 (regV "tappaa") ;
laugh_V = reg3V "nauraa" "nauran" "nauroi" ;
lie_V = reg3V "maata" "makaan" "makasi" ;
play_V = regV "pelata" ;
pull_V2 = dirV2 (regV "vetää") ;
push_V2 = dirV2 (regV "työntää") ;
rub_V2 = dirV2 (regV "hieroa") ;
scratch_V2 = dirV2 (regV "raapia") ;
sew_V = regV "kylvää" ;
sing_V = regV "laulaa" ;
sit_V = regV "istua" ;
smell_V = reg2V "haistaa" "haistoi" ;
spit_V = regV "sylkeä" ;
split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ;
squeeze_V2 = dirV2 (regV "puristaa") ;
stab_V2 = dirV2 (regV "pistää") ;
stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
suck_V2 = dirV2 (regV "imeä") ;
swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
"turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
swim_V = reg3V "uida" "uin" "ui" ;
think_V = reg3V "ajatella" "ajattelen" "ajatteli" ;
throw_V2 = dirV2 (regV "heittää") ;
tie_V2 = dirV2 (regV "sitoa") ;
turn_V = regV "kääntyä" ;
vomit_V = regV "oksentaa" ;
wash_V2 = dirV2 (regV "pestä") ;
wipe_V2 = dirV2 (regV "pyyhkiä") ;
breathe_V = regV "hengittää" ;
oper
mkOrd : N -> Ord ;
mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ;
} ;

View File

@@ -224,7 +224,7 @@ oper
-- The regular adjectives are based on $regN$ in the positive.
regADeg : (punainen : Str) -> A ;
regA : (punainen : Str) -> A ;
--2 Verbs
@@ -490,13 +490,15 @@ reg3N = \vesi,veden,vesi
in
regAdjective x kivempaa kivinta ** {lock_A = <>} ;
regADeg suuri =
regA suuri =
let suur = regN suuri in
mkADeg
suur
(init (suur.s ! NCase Sg Gen) + "mpi")
(init (suur.s ! NCase Pl Ess)) ;
regADeg = regA ; -- for bw compat
mkV a b c d e f g h i j k l = mkVerb a b c d e f g h i j k l **
{sc = NPCase Nom ; lock_V = <>} ;

View File

@@ -1,6 +1,7 @@
--# -path=.:../romance:../common:../abstract:../../prelude
concrete LexiconFre of Lexicon = CatFre ** open ParadigmsFre, IrregFre in {
concrete LexiconFre of Lexicon = CatFre **
open MorphoFre, ParadigmsFre, IrregFre in {
flags
optimize=values ;
@@ -71,6 +72,7 @@ lin
factory_N = regGenN "usine" feminine ;
father_N2 = deN2 (regGenN "père" masculine) ;
fear_VS = mkVS (v2V craindre_V2) ;
fear_V2 = dirV2 (v2V craindre_V2) ;
find_V2 = dirV2 (regV "trouver") ;
fish_N = regGenN "poisson" masculine ;
floor_N = regGenN "plancher" masculine ;
@@ -224,4 +226,127 @@ lin
stop_V = reflV (regV "arrêter") ;
jump_V = regV "sauter" ;
left_Ord = mkOrd (regA "gauche") ;
right_Ord = mkOrd (regA "droite") ;
far_Adv = mkAdv "loin" ;
correct_A = regA "correct" ;
dry_A = (mkA "sec" "sèche" "secs" "sèches") ;
dull_A = regA "émoussé" ;
full_A = regA "plein" ;
heavy_A = regA "lourd" ;
near_A = regA "proche" ;
rotten_A = regA "pourri" ;
round_A = regA "rond" ;
sharp_A = regA "tranchant" ;
smooth_A = regA "lisse" ;
straight_A = regA "droite" ;
wet_A = regA "mouillé" ;
wide_A = regA "large" ;
animal_N = regN "animal" ;
ashes_N = regGenN "cendre" masculine ;
back_N = regN "dos" ;
bark_N = regN "écorce" ;
belly_N = regGenN "ventre" masculine ;
blood_N = regN "sang" ;
bone_N = regN "os" ;
breast_N = regN "sein" ; --- poitrine
cloud_N = regGenN "nuage" masculine ;
day_N = regN "jour" ;
dust_N = regN "poussière" ;
ear_N = regN "oreille" ;
earth_N = regN "terre" ;
egg_N = regN "oeuf" ;
eye_N = mkN "oeil" "yeux" masculine ;
fat_N = regN "graisse" ;
feather_N = regN "plume" ;
fingernail_N = regGenN "ongle" masculine ;
fire_N = regN "feu" ;
flower_N = regGenN "fleur" feminine ;
fog_N = regN "brouillard" ;
foot_N = regN "pied" ;
forest_N = regGenN "forêt" feminine ;
grass_N = regN "herbe" ;
guts_N = regN "entraille" ;
hair_N = regN "cheveu" ;
hand_N = regGenN "main" feminine ;
head_N = regN "tête" ;
heart_N = regN "coeur" ;
horn_N = regGenN "corne" masculine ;
husband_N = regN "mari" ;
ice_N = regN "glace" ;
knee_N = regN "genou" ;
leaf_N = regN "feuille" ;
leg_N = regN "jambe" ;
liver_N = regGenN "foie" masculine ;
louse_N = regN "pou" ;
mouth_N = regN "bouche" ;
name_N = regN "nom" ;
neck_N = mkN "cou" "cous" masculine ;
night_N = regGenN "nuit" feminine ;
nose_N = regN "nez" ;
person_N = regN "personne" ;
rain_N = regN "pluie" ;
road_N = regN "route" ;
root_N = regN "racine" ;
rope_N = regN "corde" ;
salt_N = regN "sel" ;
sand_N = regGenN "sable" masculine ;
seed_N = regN "graine" ;
skin_N = regN "peau" ;
sky_N = mkN "ciel" "cieux" masculine ;
smoke_N = regN "fumée" ;
snow_N = regN "neige" ;
stick_N = regN "bâton" ;
tail_N = regN "queue" ;
tongue_N = regN "langue" ;
tooth_N = regGenN "dent" feminine ;
wife_N = regN "femme" ;
wind_N = regN "vent" ;
wing_N = regN "aile" ;
worm_N = regN "ver" ;
year_N = regN "an" ; --- année
bite_V2 = mordre_V2 ;
blow_V = regV "souffler" ;
breathe_V = regV "respirer" ;
burn_V = regV "brûler" ;
count_V2 = dirV2 (regV "conter") ;
cut_V2 = dirV2 (regV "tailler") ;
dig_V = regV "creuser" ;
fall_V = regV "tomber" ;
fight_V2 = dirV2 (regV "lutter") ;
float_V = regV "flotter" ;
flow_V = regV "couler" ;
fly_V = regV "voler" ;
freeze_V = reg3V "geler" "gèle" "gèlera" ;
give_V3 = dirdirV3 (regV "donner") ;
hit_V2 = dirV2 (regV "frapper") ;
hunt_V2 = dirV2 (regV "chasser") ;
kill_V2 = dirV2 (regV "tuer") ;
laugh_V = rire_V2 ;
lie_V = reflV étendre_V2 ;
play_V = regV "jouer" ;
pull_V2 = dirV2 (regV "tirer") ;
push_V2 = dirV2 (regV "pousser") ;
rub_V2 = dirV2 (regV "frotter") ;
scratch_V2 = dirV2 (regV "gratter") ;
sew_V = coudre_V2 ;
sing_V = regV "chanter" ;
sit_V = reflV asseoir_V2 ;
smell_V = v2V ( sentir_V2) ;
spit_V = regV "cracher" ;
squeeze_V2 = dirV2 (regV "serrer") ;
stab_V2 = dirV2 (regV "poignarder") ;
stand_V = reflV (reg3V "lever" "lève" "lèvera") ;
suck_V2 = dirV2 (regV "sucer") ;
swell_V = regV "gonfler" ;
swim_V = regV "nager" ;
think_V = regV "penser" ;
throw_V2 = dirV2 (regV "jeter") ;
tie_V2 = dirV2 (regV "lier") ;
turn_V = regV "tourner" ;
vomit_V = regV "vomir" ;
wash_V2 = dirV2 (regV "laver") ;
wipe_V2 = dirV2 (regV "essuyer") ;
} ;

View File

@@ -202,7 +202,8 @@ lin
tree_N = reg2N "Baum" "Bäume" masculine ;
---- trousers_N = regN "trousers" ; ---- pl t !
ugly_A = regA "häßlich" ;
understand_V2 = dirV2 (irregV "verstehen" "versteht" "verstand" "verstände" "verstanden") ;
understand_V2 =
dirV2 (irregV "verstehen" "versteht" "verstand" "verstände" "verstanden") ;
university_N = reg2N "Universitet" "Universiteten" feminine ;
village_N = reg2N "Dorf" "Dörfer" neuter ;
wait_V2 = mkV2 (regV "warten") (mkPrep "auf" accusative) ;
@@ -222,4 +223,136 @@ lin
yellow_A = regA "gelb" ;
young_A = mkA "jung" "jünger" "jüngste" ;
-- rest of Swadesh words: to be completed!
{-
left_Ord = ss "link" ; -- should be the adjective!
right_Ord = ss "recht" ; -- adjective!
far_Adv = mkAdv "weit" ;
correct_A = (regA "recht") ;
dry_A = regA "trocken" ;
dull_A = regA "dull" ;
full_A = regA "voll" ;
heavy_A = regA "schwer" ;
near_A = regA "nahe" ;
rotten_A = (regA "rotten") ;
round_A = regA "rund" ;
sharp_A = regA "scharf" ;
smooth_A = regA "eben" ;
straight_A = regA "gerade" ;
wet_A = regA "nass" ; ----
wide_A = regA "weit" ;
animal_N = regN "Tier" ;
ashes_N = regN "Asch" ; -- FIXME: plural only?
back_N = regN "Ruecke" ;
bark_N = regN "bark" ;
belly_N = regN "Mage" ;
blood_N = regN "Blut" ;
bone_N = regN "Bein" ;
breast_N = regN "Brust" ;
cloud_N = regN "Wolk" ;
day_N = regN "Tag" ;
dust_N = regN "dust" ;
ear_N = regN "Ohre" ;
earth_N = regN "Erde" ;
egg_N = regN "Ei" ;
eye_N = regN "Auge" ;
fat_N = regN "dick" ;
feather_N = regN "feather" ;
fingernail_N = regN "Nagel" ;
fire_N = regN "Feuer" ;
flower_N = regN "Blum" ;
fog_N = regN "fog" ;
foot_N = mk2N "foot" "feet" ;
forest_N = regN "forest" ;
grass_N = regN "grass" ;
guts_N = regN "gut" ; -- FIXME: no singular
hair_N = regN "hair" ;
hand_N = regN "hand" ;
head_N = regN "head" ;
heart_N = regN "heart" ;
horn_N = regN "horn" ;
husband_N = regN "Ehemann" ;
ice_N = regN "ice" ;
knee_N = regN "knee" ;
leaf_N = mk2N "leaf" "leaves" ;
leg_N = regN "leg" ;
liver_N = regN "liver" ;
louse_N = mk2N "louse" "lice" ;
mouth_N = regN "mouth" ;
name_N = regN "name" ;
neck_N = regN "neck" ;
night_N = regN "night" ;
nose_N = regN "nose" ;
person_N = regN "Persone" ;
rain_N = regN "regnen" ;
road_N = regN "Strasse" ;
root_N = regN "root" ;
rope_N = regN "rope" ;
salt_N = regN "salt" ;
sand_N = regN "sand" ;
seed_N = regN "seed" ;
skin_N = regN "skin" ;
sky_N = regN "sky" ;
smoke_N = regN "smoke" ;
snow_N = regN "snow" ;
stick_N = regN "stick" ;
tail_N = regN "tail" ;
tongue_N = regN "tongue" ;
tooth_N = regN "Zahn" ;
wife_N = regN "Frau" ;
wind_N = regN "wind" ;
wing_N = regN "wing" ;
worm_N = regN "worm" ;
year_N = regN "year" ;
blow_V = blow_V ;
breathe_V = dirV2 (regV "breathe") ;
burn_V = burn_V ;
dig_V = dig_V ;
fall_V = fall_V ;
float_V = regV "float" ;
flow_V = regV "flow" ;
fly_V = fly_V ;
freeze_V = freeze_V ;
give_V3 = dirV3 give_V "to" ;
laugh_V = regV "laugh" ;
lie_V = lie_V ;
play_V = regV "play" ;
sew_V = sew_V ;
sing_V = sing_V ;
sit_V = sit_V ;
smell_V = regV "smell" ;
spit_V = spit_V ;
stand_V = stand_V ;
swell_V = swell_V ;
swim_V = swim_V ;
think_V = think_V ;
turn_V = regV "turn" ;
vomit_V = regV "vomit" ;
bite_V2 = dirV2 bite_V ;
count_V2 = dirV2 (regV "count") ;
cut_V2 = dirV2 cut_V ;
fear_V2 = dirV2 (regV "fear") ;
fight_V2 = dirV2 fight_V ;
hit_V2 = dirV2 hit_V ;
hold_V2 = dirV2 hold_V ;
hunt_V2 = dirV2 (regV "hunt") ;
kill_V2 = dirV2 (regV "kill") ;
pull_V2 = dirV2 (regV "pull") ;
push_V2 = dirV2 (regV "push") ;
rub_V2 = dirV2 (regDuplV "rub") ;
scratch_V2 = dirV2 (regV "scratch") ;
split_V2 = dirV2 split_V ;
squeeze_V2 = dirV2 (regV "squeeze") ;
stab_V2 = dirV2 (regDuplV "stab") ;
suck_V2 = dirV2 (regV "suck") ;
throw_V2 = dirV2 throw_V ;
tie_V2 = dirV2 (regV "tie") ;
wash_V2 = dirV2 (regV "wash") ;
wipe_V2 = dirV2 (regV "wipe") ;
-}
} ;

View File

@@ -1,6 +1,7 @@
--# -path=.:../romance:../common:../abstract:../../prelude
concrete LexiconIta of Lexicon = CatIta ** open ParadigmsIta, BeschIta in {
concrete LexiconIta of Lexicon = CatIta ** open
MorphoIta, ParadigmsIta, BeschIta in {
flags
optimize=values ;
@@ -223,12 +224,130 @@ lin
put_V2 = dirV2 (verboV (mettere_57 "mettere")) ;
stop_V = reflV (regV "fermare") ;
jump_V = regV "saltare" ;
{-
here_Adv = mkAdv "quì" ;
here7to_Adv = mkAdv "quì" ;
here7from_Adv = mkAdv ["da quì"] ;
there_Adv = mkAdv "lì" ;
there7to_Adv = mkAdv "lì" ;
there7from_Adv = mkAdv ["da lì"] ;
-}
left_Ord = mkOrd (regA "sinistro") ;
right_Ord = mkOrd (regA "destro") ;
far_Adv = mkAdv "lontano" ;
correct_A = regA "corretto" ;
dry_A = regA "secco" ;
dull_A = regA "noioso" ;
full_A = regA "pieno" ;
heavy_A = regA "pesante" ;
near_A = regA "vicino" ;
rotten_A = regA "marcio" ;
round_A = regA "rotondo" ;
sharp_A = regA "aguzzo" ;
smooth_A = regA "liscio" ;
straight_A = regA "diretto" ;
wet_A = regA "bagnato" ;
wide_A = regA "largo" ;
animal_N = regN "animale" ;
ashes_N = regN "cenere" ;
back_N = regN "schiena" ;
bark_N = regN "corteccia" ;
belly_N = regN "pancia" ;
blood_N = regN "sangue" ;
bone_N = regN "osso" ;
breast_N = regN "seno" ;
cloud_N = regN "nuvola" ;
day_N = regN "giorno" ;
dust_N = regN "polvere" ;
ear_N = regN "orecchio" ;
earth_N = regN "terra" ;
egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl
eye_N = regN "occhio" ;
fat_N = regN "grasso" ;
feather_N = regN "piuma" ;
fingernail_N = regN "unghia" ;
fire_N = regN "fuoco" ;
flower_N = regN "fiore" ;
fog_N = regN "nebbia" ;
foot_N = regN "piede" ;
forest_N = regN "bosco" ;
grass_N = regN "erba" ;
guts_N = regN "intestino" ;
hair_N = regN "capello" ;
hand_N = femN (regN "mano") ;
head_N = regN "testa" ;
heart_N = regN "cuore" ;
horn_N = regN "corno" ;
husband_N = regN "marito" ;
ice_N = regN "ghiaccio" ;
knee_N = regN "ginocchio" ;
leaf_N = regN "foglia" ;
leg_N = regN "gamba" ;
liver_N = regN "fegato" ;
louse_N = regN "pidocchio" ;
mouth_N = regN "bocca" ;
name_N = regN "nome" ;
neck_N = regN "collo" ;
night_N = femN (regN "notte") ;
nose_N = regN "naso" ;
person_N = regN "persona" ;
rain_N = regN "pioggia" ;
road_N = regN "strada" ;
root_N = femN (regN "radice") ;
rope_N = regN "corda" ;
salt_N = regN "sale" ;
sand_N = regN "sabbia" ;
seed_N = regN "seme" ;
skin_N = femN (regN "pelle") ;
sky_N = regN "cielo" ;
smoke_N = regN "fumo" ;
snow_N = femN (regN "neve") ;
stick_N = regN "bastone" ;
tail_N = regN "coda" ;
tongue_N = regN "lingua" ;
tooth_N = regN "dente" ;
wife_N = regN "donna" ;
wind_N = regN "vento" ;
wing_N = regN "ala" ;
worm_N = regN "verme" ;
year_N = regN "anno" ;
bite_V2 = dirV2 (verboV (esplodere_51 "mordere")) ;
blow_V = regV "soffiare" ;
burn_V = regV "bruciare" ;
count_V2 = dirV2 (regV "contare") ;
cut_V2 = dirV2 (regV "tagliare") ;
dig_V = regV "scavare" ;
fall_V = essereV (verboV (cadere_28 "cadere")) ;
fear_V2 = dirV2 (verboV (temere_20 "temere")) ;
fight_V2 = dirV2 (regV "lottare") ;
float_V = regV "galleggiare" ;
flow_V = verboV (finire_100 "fluire") ;
fly_V = regV "volare" ;
freeze_V = regV "gelare" ;
give_V3 = dirdirV3 (verboV (dare_15 "dare")) ;
hit_V2 = dirV2 (regV "colpire") ;
hold_V2 = dirV2 (verboV (venire_110 "tenire")) ;
hunt_V2 = dirV2 (regV "cacciare") ;
kill_V2 = dirV2 (verboV (ridere_74 "uccidere")) ;
laugh_V = verboV (ridere_74 "ridere") ;
lie_V = verboV (piacere_64 "giacere") ;
play_V = regV "giocare" ;
pull_V2 = dirV2 (regV "tirare") ;
push_V2 = dirV2 (verboV (cingere_31 "spingere")) ;
rub_V2 = dirV2 (regV "strofinare") ;
scratch_V2 = dirV2 (regV "graffiare") ;
sew_V = verboV (cucire_103 "cucire") ;
sing_V = regV "cantare" ;
sit_V = reflV (verboV (sedere_84 "sedere")) ;
smell_V = verboV (sentire_99 "sentire") ;
spit_V = regV "sputare" ;
split_V2 = dirV2 (verboV (ridere_74 "dividere")) ;
squeeze_V2 = dirV2 (verboV (temere_20 "spremere")) ;
stab_V2 = dirV2 (regV "pugnalare") ;
stand_V = verboV (stare_16 "stare") ; ---- in piedi
suck_V2 = dirV2 (regV "succhiare") ;
swell_V = regV "gonfiare" ;
swim_V = regV "nuotare" ;
think_V = regV "pensare" ;
throw_V2 = dirV2 (regV "gettare") ;
tie_V2 = dirV2 (regV "legare") ;
turn_V = regV "tornare" ;
vomit_V = regV "vomitare" ;
wash_V2 = dirV2 (regV "lavare") ;
wipe_V2 = dirV2 (regV "asciugare") ;
breathe_V = (regV "respirare") ;
} ;

View File

@@ -1,12 +1,26 @@
module MkLexicon where
import Char
import qualified Data.Set as S
-- apply function o to each line in file f
allLines o f = do
s <- readFile f
mapM_ (putStrLn . o) (filter noComm (lines s))
-- take each line in file k as a key, and choose those lines in file f
-- that match any of the keys (i.e. whose first word matches it)
chooseKeys k f = do
keys <- readFile k >>= return . (S.fromList . lines)
let choose line = case words line of
w:_ -> S.member w keys
_ -> False
old <- readFile f >>= return . lines
mapM_ (putStrLn . drop 2) $ filter choose old -- to remove extra indent
-- discard comments and empty lines
noComm s = case s of
@@ -141,3 +155,10 @@ getAllThose sought given = do
gi <- readFile given
let so = [w | l <- lines s, w:_ <- [words l]]
mapM_ putStrLn $ allThose so $ lines gi
-- Swadesh 7/3/2006: replace string defs with f = f ;
reuseLex line = case words line of
w : "=" : _ | elem '"' line -> " " ++ w ++ " = " ++ w ++ " ;"
_ -> line

View File

@@ -1,6 +1,7 @@
--# -path=.:../scandinavian:../common:../abstract:../../prelude
concrete LexiconNor of Lexicon = CatNor ** open ParadigmsNor, IrregNor in {
concrete LexiconNor of Lexicon = CatNor **
open Prelude, ParadigmsNor, IrregNor in {
flags startcat=Phr ; lexer=textlit ; unlexer=text ;
optimize=values ;
@@ -221,14 +222,133 @@ lin
put_V2 = mkV2 (irregV "sette" "satte" "satt") [] ;
stop_V = regV "stanse" ;
jump_V = regV "hoppe" ;
{-
here_Adv = mkAdv "her" ;
here7to_Adv = mkAdv "hit" ;
here7from_Adv = mkAdv ["herfra"] ;
there_Adv = mkAdv "der" ;
there7to_Adv = mkAdv "dit" ;
there7from_Adv = mkAdv ["derfra"] ;
-}
left_Ord = {s = "venstre" ; isDet = True} ;
right_Ord = {s = "høyre" ; isDet = True} ;
far_Adv = mkAdv "fjern" ;
correct_A = regA "riktig" ;
dry_A = mk2A "tørr" "tørt" ;
dull_A = regA "sløv" ;
full_A = regA "full" ;
heavy_A = irregADeg "tung" "tyngre" "tyngst" ;
near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ;
rotten_A = mk3ADeg "råtten" "råttent" "råtne" ;
round_A = regA "rund" ;
sharp_A = mk2A "kvass" "kvast" ;
smooth_A = mk2A "slett" "slett" ;
straight_A = regA "rak" ;
wet_A = regA "våt" ;
wide_A = regA "bred" ;
animal_N = mk2N "dyr" "dyret" ;
ashes_N = mk2N "aske" "aska" ;
back_N = mk2N "rygg" "ryggen" ;
bark_N = mk2N "bark" "barken" ;
belly_N = mk2N "mage" "magen" ;
blood_N = mk2N "blod" "blodet" ;
bone_N = mk2N "bein" "beinet" ;
breast_N = mk2N "bryst" "brystet" ;
cloud_N = mk2N "sky" "skya" ;
day_N = mk2N "dag" "dagen" ;
dust_N = mk2N "støv" "støvet" ;
ear_N = mk2N "øre" "øret" ;
earth_N = mk2N "jord" "jorda" ;
egg_N = mk2N "egg" "egget" ;
eye_N = mkN "øye" "øyet" "øyne" "øynene" ;
fat_N = mk2N "fett" "fettet" ;
feather_N = mk2N "fjør" "fjøra" ;
fingernail_N = mk2N "negl" "neglen" ;
fire_N = mk2N "ild" "ilden" ;
flower_N = mk2N "blomst" "blomsten" ;
fog_N = mk2N "tåke" "tåka" ;
foot_N = mk2N "fot" "føtter" ;
forest_N = mk2N "skog" "skogen" ;
grass_N = mk2N "gras" "graset" ;
guts_N = mk2N "tarm" "tarmen" ; ---- involler
hair_N = mk2N "hår" "håret" ;
hand_N = mk2N "hånd" "hånden" ;
head_N = mk2N "hode" "hodet" ;
heart_N = mk2N "hjerte" "hjertet" ;
horn_N = mk2N "horn" "hornet" ;
husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ;
ice_N = mk2N "is" "isen" ;
knee_N = mkN "kne" "kneet" "knær" "knæne" ;
leaf_N = mk2N "løv" "løvet" ;
leg_N = mk2N "bein" "beinet" ;
liver_N = mkN "lever" "leveren" "levrer" "levrene" ;
louse_N = mk2N "lus" "lusa" ;
mouth_N = mk2N "munn" "munnen" ;
name_N = mk2N "navn" "navnet" ;
neck_N = mk2N "nakke" "nakken" ;
night_N = mkN "natt" "natta" "netter" "nettene" ;
nose_N = mk2N "nese" "nesen" ;
person_N = mk2N "person" "personen" ;
rain_N = mk2N "regn" "regnet" ;
road_N = mk2N "vei" "veien" ;
root_N = mkN "rot" "rota" "røtter" "røttene" ;
rope_N = mk2N "tau" "tauet" ;
salt_N = mk2N "salt" "saltet" ;
sand_N = mk2N "sand" "sanden" ;
seed_N = mk2N "frø" "frøet" ;
skin_N = mk2N "skinn" "skinnet" ;
sky_N = mkN "himmel" "himmelen" "himler" "himlene" ;
smoke_N = mk2N "røyk" "røyken" ;
snow_N = mk2N "snø" "snøen" ;
stick_N = mk2N "pinne" "pinnen" ;
tail_N = mk2N "hale" "halen" ;
tongue_N = mk2N "tunge" "tunga" ;
tooth_N = mkN "tann" "tanna" "tenner" "tennene" ;
wife_N = mk2N "kone" "kona" ;
wind_N = mk2N "vind" "vinden" ;
wing_N = mk2N "vinge" "vingen" ;
worm_N = mk2N "mark" "marken" ;
year_N = mk2N "år" "året" ;
bite_V2 = dirV2 (IrregNor.bite_V) ;
blow_V = mk2V "blåse" "blåste" ;
burn_V = brenne_V ;
count_V2 = dirV2 (regV "regne") ;
cut_V2 = dirV2 (skjære_V) ;
dig_V = mk2V "grave" "gravde" ;
fall_V = falle_V ;
fear_V2 = dirV2 (regV "frykte") ;
fight_V2 = dirV2 (slåss_V) ;
float_V = flyte_V ;
flow_V = renne_V ;
fly_V = fly_V ;
freeze_V = fryse_V ;
give_V3 = dirdirV3 gi_V ;
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (holde_V) ;
hunt_V2 = dirV2 (regV "jakte") ;
kill_V2 = dirV2 (mk2V "drepe" "drepte") ;
laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ;
lie_V = ligge_V ;
play_V = mk2V "leke" "lekte" ;
pull_V2 = dirV2 (dra_V) ;
push_V2 = dirV2 (irregV "skyve" "skjøv" "skjøvet") ;
rub_V2 = dirV2 (gni_V) ;
scratch_V2 = dirV2 (regV "klø") ;
sew_V = mk2V "sy" "sydde" ;
sing_V = synge_V ;
sit_V = sitte_V ;
smell_V = regV "lukte" ;
spit_V = regV "spytte" ;
split_V2 = dirV2 (mk2V "kløyve" "kløyvde") ;
squeeze_V2 = dirV2 (mk2V "klemme" "klemte") ;
stab_V2 = dirV2 (stikke_V) ;
stand_V = stå_V ;
suck_V2 = dirV2 (suge_V) ;
swell_V = partV (regV "hovne") "opp" ;
swim_V = regV "simme" ;
think_V = mk2V "tenke" "tenkte" ;
throw_V2 = dirV2 (regV "kaste") ;
tie_V2 = dirV2 (regV "knytte") ;
turn_V = mk2V "vende" "vendte" ;
vomit_V = partV (regV "kaste") "opp" ;
wash_V2 = dirV2 (regV "vaske") ;
wipe_V2 = dirV2 (regV "tørke") ;
breathe_V = regV "puste" ;
} ;
-- a" -> e" 86

View File

@@ -168,6 +168,10 @@ oper
vpAgrNone : VPAgr = VPAgrClit (aagr Masc Sg) ;
oper
mkOrd : {s : Degree => AForm => Str} -> {s : AAgr => Str} ;
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n} ;
param
VPAgr =
VPAgrSubj -- elle est partie, elle s'est vue
@@ -189,5 +193,6 @@ oper
ext : Polarity => Str ; -- que je dors / que je dorme
} ;
}

View File

@@ -1,6 +1,7 @@
--# -path=.:../romance:../common:../abstract:../../prelude
concrete LexiconSpa of Lexicon = CatSpa ** open ParadigmsSpa, BeschSpa in {
concrete LexiconSpa of Lexicon = CatSpa ** open
MorphoSpa, ParadigmsSpa, BeschSpa in {
flags
optimize=values ;
@@ -222,4 +223,130 @@ lin
stop_V = regV "parar" ;
jump_V = regV "saltar" ;
left_Ord = mkOrd (regA "izquierda") ;
right_Ord = mkOrd (regA "derecha") ;
far_Adv = mkAdv "lejos" ; ----?
correct_A = regA "correcto" ;
dry_A = regA "seco" ;
dull_A = regA "desafilado" ;
full_A = regA "lleno" ;
heavy_A = regA "pesado" ;
near_A = regA "cerca" ;
rotten_A = regA "podrido" ;
round_A = regA "redondo" ;
sharp_A = regA "filoso" ; -- afilado, puntiagudo
smooth_A = regA "liso" ; -- suave
straight_A = regA "directo" ;
wet_A = regA "mojado" ;
wide_A = regA "ancho" ; -- extenso
animal_N = regN "animal" ; -- masc (sometimes fem when adj)
ashes_N = regN "ceniza" ;
back_N = regN "espalda" ;
bark_N = regN "corteza" ;
belly_N = regN "panza" ; -- barriga
blood_N = femN (regN "sangre") ;
bone_N = regN "hueso" ;
breast_N = regN "seno" ; -- pecho
cloud_N = femN (regN "nube") ;
day_N = mascN (regN "día") ;
dust_N = regN "polvo" ;
ear_N = regN "oreja" ;
earth_N = regN "tierra" ;
egg_N = regN "huevo" ;
eye_N = regN "ojo" ;
fat_N = regN "grasa" ;
feather_N = regN "pluma" ;
fingernail_N = regN "uña" ;
fire_N = regN "fuego" ;
flower_N = femN (regN "flor") ;
fog_N = regN "niebla" ;
foot_N = regN "pie" ;
forest_N = regN "bosque" ;
grass_N = regN "pasto" ; -- hierba, césped (masc)
guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas
hair_N = regN "cabello" ; -- pelo
hand_N = femN (regN "mano") ;
head_N = regN "cabeza" ;
heart_N = mkN "corazón" "corazones" masculine ;
horn_N = regN "cuerno" ;
husband_N = regN "marido" ; -- esposo
ice_N = regN "hielo" ;
knee_N = regN "rodilla" ;
leaf_N = regN "hoja" ;
leg_N = regN "pierna" ;
liver_N = regN "hígado" ;
louse_N = regN "piojo" ;
mouth_N = regN "boca" ;
name_N = regN "nombre" ;
neck_N = regN "cuello" ;
night_N = femN (regN "noche") ;
nose_N = femN (regN "nariz") ;
person_N = regN "persona" ;
rain_N = regN "lluvia" ;
road_N = femN (regN "calle") ; -- camino
root_N = femN (regN "raíz") ;
rope_N = regN "cuerda" ;
salt_N = femN (regN "sal") ;
sand_N = regN "arena" ;
seed_N = regN "semilla" ;
skin_N = femN (regN "piel") ; -- fem
sky_N = regN "cielo" ;
smoke_N = regN "humo" ;
snow_N = femN (regN "nieve") ; -- fem
stick_N = mkN "bastón" "bastones" masculine ; -- palo
tail_N = regN "cola" ;
tongue_N = regN "lengua" ;
tooth_N = regN "diente" ;
wife_N = regN "esposa" ;
wind_N = regN "viento" ;
wing_N = regN "ala" ;
worm_N = regN "gusano" ; -- lombriz (fem)
year_N = regN "año" ;
bite_V2 = dirV2 (verboV (morder_50b "morder")) ;
blow_V = regV "soplar" ;
burn_V = regV "quemar" ;
count_V2 = dirV2 (verboV (contar_38b "contar")) ;
cut_V2 = dirV2 (regV "cortar") ;
dig_V = regV "escarbar" ;
fall_V = verboV (caer_20 "caer") ;
fear_V2 = dirV2 (regV "temer") ;
fight_V2 = dirV2 (regV "pelear") ;
float_V = regV "flotar" ;
flow_V = verboV (influir_45 "fluir") ; -- circular
fly_V = regV "volar" ;
freeze_V = regV "congelar" ;
give_V3 = dirdirV3 (verboV (dar_27 "dar")) ;
hit_V2 = dirV2 (regV "golpear") ;
hold_V2 = dirV2 (verboV (tener_4 "tener")) ;
hunt_V2 = dirV2 (regV "cazar") ;
kill_V2 = dirV2 (regV "matar") ;
laugh_V = regV "reir" ; ----V reír_67
lie_V = reflV (regV "acostar") ; -- "acostarse"
play_V = regV "jugar" ;
pull_V2 = dirV2 (regV "tirar") ;
push_V2 = dirV2 (regV "empujar") ;
rub_V2 = dirV2 (regV "resfregar") ;
scratch_V2 = dirV2 (regV "rascar") ;
sew_V = regV "coser" ;
sing_V = regV "cantar" ;
sit_V = reflV (regV "sentar") ;
smell_V = verboV (oler_52 "oler") ;
spit_V = regV "escupir" ;
split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
squeeze_V2 = dirV2 (regV "exprimir") ;
stab_V2 = dirV2 (regV "apuñalar") ;
stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ;
suck_V2 = dirV2 (regV "chupar") ;
swell_V = regV "tragar" ;
swim_V = regV "nadar" ;
think_V = regV "pensar" ;
throw_V2 = dirV2 (regV "tirar") ;
tie_V2 = dirV2 (regV "atar") ;
turn_V = regV "doblar" ;
vomit_V = regV "vomitar" ;
wash_V2 = dirV2 (regV "lavar") ;
wipe_V2 = dirV2 (regV "secar") ;
breathe_V = (regV "respirar") ;
} ;

View File

@@ -1,6 +1,7 @@
--# -path=.:../scandinavian:../common:../abstract:../../prelude
concrete LexiconSwe of Lexicon = CatSwe ** open ParadigmsSwe, IrregSwe in {
concrete LexiconSwe of Lexicon = CatSwe **
open Prelude, ParadigmsSwe, IrregSwe in {
flags
optimize=values ;
@@ -223,4 +224,130 @@ lin
stop_V = regV "stanna" ;
jump_V = regV "hoppa" ;
left_Ord = {s = "vänstra" ; isDet = True} ;
right_Ord = {s = "högra" ; isDet = True} ;
far_Adv = mkAdv "långt" ;
correct_A = regA "riktig" ;
dry_A = regA "torr" ;
dull_A = mk2A "slö" "slött";
full_A = regA "full" ;
heavy_A = irregA "tung" "tyngre" "tyngst" ;
near_A = mkA "nära" "nära" "nära" "nära" "närmare" "närmast" "närmaste" ;
rotten_A = mk3A "rutten" "ruttet" "ruttna" ;
round_A = regA "rund" ;
sharp_A = regA "vass" ;
smooth_A = regA "slät" ;
straight_A = regA "rak" ;
wet_A = regA "våt" ;
wide_A = mk2A "bred" "brett" ;
animal_N = mk2N "djur" "djur" ;
ashes_N = mk2N "aska" "askor" ;
back_N = mk2N "rygg" "ryggar" ;
bark_N = mk2N "bark" "barkar" ;
belly_N = mk2N "mage" "magar" ;
blood_N = mk2N "blod" "blod" ;
bone_N = mk2N "ben" "ben" ;
breast_N = mk2N "bröst" "bröst" ;
cloud_N = mk2N "moln" "moln" ;
day_N = mk2N "dag" "dagar" ;
dust_N = mk2N "damm" "damm" ;
ear_N = mkN "öra" "örat" "öron" "öronen" ;
earth_N = mk2N "jord" "jordar" ;
egg_N = mk2N "ägg" "ägg" ;
eye_N = mkN "öga" "ögat" "ögon" "ögonen" ;
fat_N = mk2N "fett" "fett" ;
feather_N = mk2N "fjäder" "fjädrar" ;
fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna";
fire_N = mk2N "eld" "eldar" ;
flower_N = mk2N "blomma" "blommor" ;
fog_N = mk2N "dimma" "dimmor" ;
foot_N = mk2N "fot" "fötter" ;
forest_N = mk2N "skog" "skogar" ;
grass_N = mk2N "gräs" "gräs" ;
guts_N = mk2N "inälva" "inälvor" ;
hair_N = mk2N "hår" "hår" ;
hand_N = mk2N "hand" "händer" ;
head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ;
heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ;
horn_N = mk2N "horn" "horn" ;
husband_N = (mk2N "make" "makar") ;
ice_N = mk2N "is" "isar" ;
knee_N = mkN "knä" "knäet" "knän" "knäna" ;
leaf_N = mk2N "löv" "löv" ;
leg_N = mk2N "ben" "ben" ;
liver_N = mkN "lever" "levern" "levrar" "levrarna";
louse_N = mkN "lus" "lusen" "löss" "lössen" ;
mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ;
name_N = mk2N "namn" "namn" ;
neck_N = mk2N "nacke" "nackar" ;
night_N = mk2N "natt" "nätter" ;
nose_N = mk2N "näsa" "näsor" ;
person_N = mk2N "person" "personer" ;
rain_N = mk2N "regn" "regn" ;
road_N = mk2N "väg" "vägar" ;
root_N = mk2N "rot" "rötter" ;
rope_N = mk2N "rep" "rep" ;
salt_N = mkN "salt" "saltet" "salter" "salterna";
sand_N = mk2N "sand" "sander" ;
seed_N = mkN "frö" "fröet" "frön" "fröna" ;
skin_N = mk2N "skinn" "skinn" ;
sky_N = mk2N "himmel" "himlar" ;
smoke_N = mk2N "rök" "rökar" ;
snow_N = mkN "snö" "snön" "snöer" "snöerna" ;
stick_N = mk2N "pinne" "pinnar" ;
tail_N = mk2N "svans" "svansar" ;
tongue_N = mk2N "tunga" "tungor" ;
tooth_N = mk2N "tand" "tänder" ;
wife_N = mk2N "fru" "fruar" ;
wind_N = mk2N "vind" "vindar" ;
wing_N = mk2N "vinge" "vingar" ;
worm_N = mk2N "mask" "maskar" ;
year_N = mk2N "år" "år" ;
bite_V2 = dirV2 (bita_V) ;
blow_V = mk2V "blåsa" "blåste" ;
burn_V = brinna_V ; -- FIXME: bränna?
count_V2 = dirV2 (regV "räkna") ;
cut_V2 = dirV2 (skära_V) ;
dig_V = mk2V "gräva" "grävde" ;
fall_V = falla_V ;
fear_V2 = dirV2 (regV "frukta") ;
float_V = flyta_V ;
flow_V = rinna_V ;
fly_V = flyga_V ;
freeze_V = frysa_V ;
give_V3 = dirV3 giva_V "till";
hit_V2 = dirV2 (slå_V) ;
hold_V2 = dirV2 (hålla_V) ;
hunt_V2 = dirV2 (regV "jaga") ;
kill_V2 = dirV2 (regV "döda") ;
laugh_V = regV "skratta" ;
lie_V = ligga_V ;
play_V = mk2V "leka" "lekte" ;
pull_V2 = dirV2 (draga_V) ;
push_V2 = dirV2 (mk2V "trycka" "tryckte") ;
rub_V2 = dirV2 (gnida_V) ;
scratch_V2 = dirV2 (regV "klia") ;
sew_V = sy_V ;
sing_V = sjunga_V ;
sit_V = sitta_V ;
smell_V = regV "lukta" ;
spit_V = regV "spotta" ;
split_V2 = dirV2 (klyva_V) ;
squeeze_V2 = dirV2 (klämma_V) ;
stab_V2 = dirV2 (sticka_V) ;
stand_V = stå_V ;
suck_V2 = dirV2 (suga_V) ;
swell_V = svälla_V ;
swim_V = regV "simma" ;
think_V = mk2V "tänka" "tänkte" ;
throw_V2 = dirV2 (regV "kasta") ;
tie_V2 = dirV2 (knyta_V) ;
turn_V = vända_V ;
vomit_V = mk2V "spy" "spydde" ;
wash_V2 = dirV2 (regV "tvätta") ;
wipe_V2 = dirV2 (regV "torka") ;
breathe_V = depV (regV "anda") ;
fight_V2 = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
} ;