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 ~