swe and eng ok

This commit is contained in:
aarne
2005-02-17 20:30:49 +00:00
parent 945919a255
commit 1cdf68df79
11 changed files with 220 additions and 89 deletions

View File

@@ -148,8 +148,8 @@ lin
ImperOne = imperUtterance singular ;
ImperMany = imperUtterance plural ;
AdvCl = advClause ;
AdvVP = advVerbPhrase ;
AdvCl = advClause ;
AdvVPI = advVerbPhrase ;
AdCPhr = advSentence ;
AdvPhr = advSentence ;

View File

@@ -340,8 +340,8 @@ oper
SForm =
VFinite Tense Anteriority
--- | VInfinit Anteriority
--- | VPresPart
| VInfinit Anteriority
| VPresPart
;
-- This is how the syntactic verb phrase forms are realized as
@@ -349,53 +349,6 @@ oper
oper
{- --vg
verbSForm : Bool -> Verb -> Bool -> SForm -> Agr -> {fin,inf : Str} =
\isAux,verb,b,sf,agr ->
let
parts : Str -> Str -> {fin,inf : Str} = \x,y ->
{fin = x ; inf = y} ;
likes : Tense -> Str = \t -> verb.s ! case <t,agr> of {
<Present,ASgP1> => Indic P1 ;
<Present,ASgP3 _> => Indic P3 ;
<Present,_> => Indic P2 ;
<Past,ASgP1> => Pastt Pl ;
<Past,ASgP3 _> => Pastt Sg ;
_ => Pastt Pl --- Future doesn't matter
} ;
like = verb.s ! InfImp ;
liked = verb.s ! PPart ;
liking = verb.s ! PresPart ;
has : Tense -> Str = \t -> auxHave b t agr ;
have = "have" ;
neg = if_then_Str b [] "not" ;
does : Tense -> Str = \t -> auxTense b t agr
in
case sf of {
VFinite Present Simul => case b of {
True => parts (likes Present) [] ;
False => case isAux of {
True => parts (likes Present ++ "not") [] ;
_ => parts (does Present) like
}
} ;
VFinite Past Simul => case b of {
True => parts (likes Past) [] ;
False => case isAux of {
True => parts (likes Past ++ "not") [] ;
_ => parts (does Past) like
}
} ;
VFinite t Simul => parts (does t) like ;
VFinite Present Anter => parts (has Present) liked ;
VFinite Past Anter => parts (has Past) liked ;
VFinite t Anter => parts (does t) (have ++ liked) ;
VInfinit Simul => parts neg like ;
VInfinit Anter => parts neg (have ++ liked) ;
VPresPart => parts neg liking
} ;
-}
auxHave : Bool -> Tense -> Agr -> Str = \b,t,a ->
let has =
case t of {
@@ -461,6 +414,15 @@ oper
s1 : Str -- "not" or []
} ;
-- To form an infinitival group
predVerbGroup : Bool -> {s : Str ; a : Anteriority} -> VerbGroup -> VerbPhrase =
\b,ant,vg -> {
s = table {
VIInfinit => \\a => ant.s ++ vg.s2 ! b ! VInfinit ant.a ! a ;
VIPresPart => \\a => ant.s ++ vg.s2 ! b ! VPresPart ! a
} ;
s1 = if_then_Str b [] "not"
} ;
-- All negative verb phrase behave as auxiliary ones in questions.
@@ -794,7 +756,9 @@ oper
has : Bool -> Tense -> Str = \b,t -> auxHave b t agr ;
does : Bool -> Tense -> Str = \b,t -> auxTense b t agr
in
\\b => table {
\\b =>
let neg = if_then_Str b [] "not" in
table {
VFinite Present Simul => case b of {
True => <it,goes Present,off> ;
---- does b Present ++ it ++ go
@@ -808,11 +772,10 @@ oper
VFinite t Simul => <it,does b t, go> ;
VFinite Present Anter => <it,has b Present, gone> ;
VFinite Past Anter => <it,has b Past, gone> ;
VFinite t Anter => <it,does b t, have ++ gone>
--- ;
--- VInfinit Simul => it ++ neg ++ go ;
--- VInfinit Anter => it ++ neg ++ (have ++ gone) ;
--- VPresPart => it ++ neg ++ going
VFinite t Anter => <it,does b t, have ++ gone> ;
VInfinit Simul => <it, neg, go> ;
VInfinit Anter => <it, neg, have ++ gone> ;
VPresPart => <it, neg, going>
} ;
-- This is for auxiliaries.
@@ -825,18 +788,6 @@ oper
}
} ;
{- ---
predClauseGroup : Verb -> Complement -> VerbGroup = \verb,comp ->
let
nvg : Agr -> (Bool => SForm => (Str * Str * Str)) =
\ag -> predVerbClauseGen {s = \\_ => [] ; a = ag} verb comp
in
{s = \\b,f,a => (nvg a ! b ! f).p2 ;
s2 = \\b,f,a => (nvg a ! b ! f).p3 ;
isAux = True
} ;
-}
predAuxClauseGen : NounPhrase -> AuxVerb -> Complement ->
(Bool => SForm => (Str * Str * Str)) = \np,verb,comp ->
let
@@ -868,10 +819,10 @@ oper
\\b =>
table {
VFinite t Simul => <it, is b t, begood t> ;
VFinite t Anter => <it, has b t, beengood t>
--- VInfinit Simul => it ++ begood Future ;
--- VInfinit Anter => it ++ beengood Future ;
--- VPresPart => it ++ "being" ++ good
VFinite t Anter => <it, has b t, beengood t> ;
VInfinit Simul => <it, [], begood Future> ;
VInfinit Anter => <it, [], beengood Future> ;
VPresPart => <it, [], "being" ++ good>
} ;
auxVerbForm : AuxVerb -> Bool -> Tense -> Agr -> Str = \verb,b,t,a ->

View File

@@ -57,9 +57,9 @@ concrete VerbphraseEng of Verbphrase = CategoriesEng **
RelVP = relVerbPhrase ;
IntVP = intVerbPhrase ;
-- PosVP tp = predVerbGroup True tp.a ;
-- NegVP tp = predVerbGroup False tp.a ;
PosVP = predVerbGroup True ;
NegVP = predVerbGroup False ;
---- AdvVP = adVerbPhrase ;
AdvVP = adVerbPhrase ;
SubjVP = subjunctVerbPhrase ;
}

View File

@@ -0,0 +1,177 @@
abstract VerbsEngAbs = Categories ** {
fun
awake_V : V ;
bear_V : V ;
beat_V : V ;
become_V : V ;
begin_V : V ;
bend_V : V ;
beset_V : V ;
bet_V : V ;
bid_V : V ;
bind_V : V ;
bite_V : V ;
bleed_V : V ;
blow_V : V ;
break_V : V ;
breed_V : V ;
bring_V : V ;
broadcast_V : V ;
build_V : V ;
burn_V : V ;
burst_V : V ;
buy_V : V ;
cast_V : V ;
catch_V : V ;
choose_V : V ;
cling_V : V ;
come_V : V ;
cost_V : V ;
creep_V : V ;
cut_V : V ;
deal_V : V ;
dig_V : V ;
dive_V : V ;
do_V : V ;
draw_V : V ;
dream_V : V ;
drive_V : V ;
drink_V : V ;
eat_V : V ;
fall_V : V ;
feed_V : V ;
feel_V : V ;
fight_V : V ;
find_V : V ;
fit_V : V ;
flee_V : V ;
fling_V : V ;
fly_V : V ;
forbid_V : V ;
forget_V : V ;
forgive_V : V ;
forsake_V : V ;
freeze_V : V ;
get_V : V ;
give_V : V ;
go_V : V ;
grind_V : V ;
grow_V : V ;
hang_V : V ;
have_V : V ;
hear_V : V ;
hide_V : V ;
hit_V : V ;
hold_V : V ;
hurt_V : V ;
keep_V : V ;
kneel_V : V ;
knit_V : V ;
know_V : V ;
lay_V : V ;
lead_V : V ;
leap_V : V ;
learn_V : V ;
leave_V : V ;
lend_V : V ;
let_V : V ;
lie_V : V ;
light_V : V ;
lose_V : V ;
make_V : V ;
mean_V : V ;
meet_V : V ;
misspell_V : V ;
mistake_V : V ;
mow_V : V ;
overcome_V : V ;
overdo_V : V ;
overtake_V : V ;
overthrow_V : V ;
pay_V : V ;
plead_V : V ;
prove_V : V ;
put_V : V ;
quit_V : V ;
read_V : V ;
rid_V : V ;
ride_V : V ;
ring_V : V ;
rise_V : V ;
run_V : V ;
saw_V : V ;
say_V : V ;
see_V : V ;
seek_V : V ;
sell_V : V ;
send_V : V ;
set_V : V ;
sew_V : V ;
shake_V : V ;
shave_V : V ;
shear_V : V ;
shed_V : V ;
shine_V : V ;
shoe_V : V ;
shoot_V : V ;
show_V : V ;
shrink_V : V ;
shut_V : V ;
sing_V : V ;
sink_V : V ;
sit_V : V ;
sleep_V : V ;
slay_V : V ;
slide_V : V ;
sling_V : V ;
slit_V : V ;
smite_V : V ;
sow_V : V ;
speak_V : V ;
speed_V : V ;
spend_V : V ;
spill_V : V ;
spin_V : V ;
spit_V : V ;
split_V : V ;
spread_V : V ;
spring_V : V ;
stand_V : V ;
steal_V : V ;
stick_V : V ;
sting_V : V ;
stink_V : V ;
stride_V : V ;
strike_V : V ;
string_V : V ;
strive_V : V ;
swear_V : V ;
sweep_V : V ;
swell_V : V ;
swim_V : V ;
swing_V : V ;
take_V : V ;
teach_V : V ;
tear_V : V ;
tell_V : V ;
think_V : V ;
thrive_V : V ;
throw_V : V ;
thrust_V : V ;
tread_V : V ;
understand_V : V ;
uphold_V : V ;
upset_V : V ;
wake_V : V ;
wear_V : V ;
weave_V : V ;
wed_V : V ;
weep_V : V ;
wind_V : V ;
win_V : V ;
withhold_V : V ;
withstand_V : V ;
wring_V : V ;
write_V : V ;
}