marcel@uiucdcs.UUCP (10/27/83)
#N:uiucdcs:19000027:000:2203
uiucdcs!marcel Oct 26 17:30:00 1983
I was recently experimenting with the amazing variety of English verb
forms, so as to generate a grammar for them. I generated (automatically) all
the verb combinations obtainable by stringing together all the verb PAIRS I
knew of, including special combinations like `am going to' `used to'
`have/has/had to'; auxiliary verbs (other than have & be, namely will/should/
must/can etc); and emphatics (I do like ..). This gave approximately 4000
feasible verb combinations of 7 words or less. Using my judgment about which
combinations `made sense', while deliberately erring on the generous side,
I reduced the number -- to nearly 400 verb forms! Suffice it to say that I
could not have generated a complete grammar for them without automatic help,
for both the generation and the analysis.
For feedback's sake I include the grammar. It does not include adverbs
or negatives. On the other hand, the grammar does allow some verbs that don't
make much sense, such as `I was having to have to try'. But for a first pass
at automatic grammar synthesis it's at least interesting. I can provide copies
of the 400 verb forms on request. (NB: participial verb forms, such as might
begin a participial phrase, can be matched by the PED and PING rules, but I
did not include them in my examples set).
In the grammar below, for `is' read also am/are (ie conjugated present
of `to be'); for `was' read also `were'; similarly for `does' and `has'.
Also, `aux' means any one of will/shall/should/might/could/must/can/may etc;
`inf' means any verb infinitive; `pastpart' means any past participle;
`prespart' means any present participle. Capitalized names represent
production-names.
VERB ==> aux() PRES |
{did} used TO |
[ did | does ] [ have TO | inf() ] |
[ is | was ] [ PING | TO | pastpart() ] |
[ has | had ] [ PED | TO ]
TO ==> to PRES
PRES ==> inf() |
have TO |
have PED |
be pastpart() |
be PING
PING ==> going TO |
having TO |
being pastpart() |
prespart()
PED ==> pastpart() |
had TO |
been PING |
been pastpart()
Marcel Schoppers
U of Illinois @ Urbana-Champaign
pur-ee!uiucdcs!marcel
~