Rules
articly -> [or article posesiv demonst]
testone -> [seq article adjctiv]
simpsub -> [or nompron noungrp]
subject -> [tag subject [or [seq descrip simpsub] person place]]
simpobj -> [or accpron noungrp]
sobject -> [tag object [or [seq descrip simpobj]
person
place
[seq [opt articly] amethod]]]
descrip -> [tag description [seq [opt articly] [opt adjects]]]
adjects -> [seq [opt modiadj] adjctiv [opt adjects]]
noungrp -> [or onenoun
[tag compound [seq onenoun onenoun]]]
amethod -> [seq [or 'how 'way 'method] 'to command]
adjctiv -> [or sizeadj colradj badadj goodadj insltdj emotadj gnrladj techadj fulladj]
adverbs -> [seq [opt modadvb] genadvb]
verbbit -> [seq [opt adverbs] oneverb [opt adverbs]]
oneverb -> [or vbattac vbprint vbutlis vbdstry vbcnsum vbenjoy vbsave
vbtravl vbacqir vbjumps verbdes vrbseem vbexist]
modifyr -> [or modstyl modwith modprep modsent]
modstyl -> [note manner [seq [or 'like 'as] sobject]]
modwith -> [seq 'with sobject]
modprep -> [seq preposi sobject]
modsent -> [seq [or 'because 'for 'when 'like 'as] statmnt]
actionphrase -> [tag action [seq verbbit
[opt sobject]
[opt modifyr]
[opt adverbs]]]
bephrase -> [tag is [seq [opt adverbs]
vbexist
[opt adverbs]
[tag state adjects]
[opt adverbs]]]
desirephrase -> [note desire
[tag desire [seq [opt adverbs]
verbdes
'to
verbphrase]]]
shouldphrase -> [tag should [seq [opt adverbs]
shouldword
[opt adverbs]
[opt 'to]
verbphrase]]
questionphrase -> [seq [or 'asked 'asks 'wondered [seq 'is 'asking]] question]
beliefphrase -> [note belief
[tag belief [seq [opt adverbs]
[or vbintro
[seq vrbseem [or [seq 'to 'be] 'like]]]
[opt 'that]
statement]]]
verbphrase -> [or actionphrase bephrase shouldphrase questionphrase
desirephrase beliefphrase]
statement -> [tag statement [seq subject verbphrase]]
command -> [tag command verbphrase]
howquestion -> [seq 'how shouldword statement]
whatquestion -> [seq [or 'what 'who] [or [note identity [seq vbexist subject]]
[note identity [seq subject vbexist]]
verbphrase
[seq subject verbbit]]]
whyquestion -> [note reason [seq 'why [opt 'did] statement]]
question -> [note question [tag question [or howquestion whatquestion whyquestion]]]
s -> [or [seq statement '.]
[seq question '?]
[seq command [or '. '!]]]