Improve the range and accuracy of the ATN for English.

(The write-up of how it works and the file formats associated
 with this assignment is now complete, you won't get far without
 reading it)

Add to or change the dictionary, grammar, and python code as needed.
Be inventive and don't treat this as a programming assignment, it is all
about what you can manage to make this natural language system do.

When you turn this in, make it very clear which parts are yours, either
something you added or something you changed. Setting the text in a different
colour is probably the easiest way, but choose something bold and clear,
not faint. I suggest that you don't attempt to keep a note of everything
you did. There are numerous pieces of software available that compare two
files and show all the differences. When you are done, just use one of them
to compare your final files with my posted originals and it will be easy.

The phrases that I write here are just examples, make sure that what you do
extends to other similar phrases with other similar words and orderings.

Start simply and build up

1  There are things that I pointed out as mistakes in the write-up.
   Correct them. These are the example phrases:

   "... ate ... near the window but above the floor" should be accepted
   "the cat frightened the dog near the door" should have another valid parsing
   "eat hungrily but sincerely" should be accepted
   "eat hungrily quickly" should not be accepted

2  Add a lot more words of various kinds so that you can say a larger variety 
   of interesting things

3  A few more things that should be accepted but currently are not:

   "the cat very near the table ..." (it is already accepted without the "very")
   "the cat sat on the chair" (prepositions don't currently work with intransitive verbs)
   conjunctions (and similar) of more things:
      sentences: "I ate a pie and/then/but you ate a chicken"
      actions: "we saw a pie and ate some beef"
      complements: "the hippopotamus was big and very fat"

4  Add some more tenses and moods:
   reasons: "we ate the pie because we were hungry"
   consequences: "if you eat that pie susan will leave"
   beliefs: "i think your president stole my pencil"
   "i will/did/should eat that pie"

5  More forms of questions:
   "why/how did you eat that pie"
   "where are the orange cats"

6  This takes a bit more thought, but after the others shouldn't be too much,
   Check various agreements:
   "a cats ate a mice" is wrong
   "cats chases dog" is wrong for two reasons
   "he is my mother" is wrong

7  Don't go overboard with this one, keep it simple.
   "the mouse ran away" should be accepted
   "he looked hungry" should be accepted
   be careful not to accidentally allow a lot of senseless sentences too

8  This is for extra credit.
   Keep track of what the referrent for future pronouns might be:
   "the dog saw a cat and chased it", it refers to the cat
   "the little dog saw a big cat and it ran away", it could be the dog or the cat
   "sally ate his pie", genders don't match, so "his" must be some unmentioned other person
       (his is a possessive rather than a pronoun, but it is a similar situation)
   "sally ate her pie", just because the genders agree, it isn't necessarily sally's pie
   
9  This is only for those registered at the 600 level, extra credit for everyone else.
   Think about this carefully before you jump in.
   After a sentence is accepted, rearrange and record the parse trees, in something
   dictionary-like so that after "joe ate the pie" you will easily be able to find out
   what joe did, what happened to the pie, and who/what ate who/what, not just limited
   to single sentences (using the root: entries in the dictionary will help out here) 
   and make the system actually answer questions rather than just parsing them.