//Fall 2011 Compiler class //ENG-LIKE-GRAMMAR-With Actual tokens //Complete the following predictive recursive descend parser #include #include using namespace std; #define Noun_ERR "..Must see a valid noun\n****Rejected****\n"; #define Verb_ERR "..Must see a valid verb\n****Rejected****\n"; #define all_ERR "..Must see all\n****Rejected****\n"; #define day_ERR "..Must see day.\n****Rejected****\n"; #define EC_ERR "..Charcters after all day..\n****Rejected****\n"; #define root " -> \n"; #define stree " -> \n"; #define sptree1 " -> and || , \n"; #define sptree2 " -> empty\n"; #define ntree " -> Adam | John | Sue | Kim\n"; #define ptree " -> all day.\n"; #define vtree " -> cried | laughed | studied | played\n"; ifstream f1; void gettoken(char* token) { if (!f1.eof()) f1>>token; } void noun(char* token) { cout<