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 '. '!]]]