#include #include char *reserved_words[]={ "false", "true", "before", "after", "assimilate", "comply", "b_assimilate", "b_comply", "agent_init", "initial", "in_coming_message", "display", "cons_list", "empty", "empty_list", "intervals", "hours", "days", "months", "user", "yes", "no", "not", "find_all", "quit_request", "x_manager", "yes_no", "know", "dialog", "selection", "cancel", "inspect", "create", "state", "goal", "text", "dismiss", "agent", "schedule", "scheduler", "insert", "delete", "change", "enquire", "calendar", "start", "finish", "list", "item", "variable", "nonvar", "integer", "tuple", "string", "query", "meeting", "blocked", "private", "new", "read", "write" }; char *system_calls[]={ "intersection", "least_element", "term_to_string", "concatenate", "add", "times", "subtract", "divide", "less", "equal", "set_element", "empty_set", "search_substring", "print_the_term", "set_to_list", "common_element", "frequency_list", "string_term", "self_strip", "weekday", "free_times", "string_integer"}; char *action_preds[]={ "request", "inform", "b_request", "b_inform", "unrequest", "x_window", "m_message", "c_module", "end_window_process", "spy"}; char *evaluable_functions[]= { "plus", "now"}; int reserved_count=sizeof(reserved_words)/sizeof(char *); int system_count=sizeof(system_calls)/sizeof(char *); int action_count=sizeof(action_preds)/sizeof(char *); int evaluable_functions_count=sizeof(evaluable_functions)/sizeof(char *); void s_to_upper(char *lower, char *upper) { for(;*lower!='\0';lower++,upper++) *upper=toupper(*lower); *upper='\0'; } int main() { FILE *a, *s, *r,*rs,*ef; int i,j; char buffer[200]; a=fopen("actions.aux","w"); s=fopen("system.aux","w"); r=fopen("reserved_def.aux","w"); rs=fopen("reserved_str.aux","w"); ef=fopen("evaluable_functions.aux","w"); /* generate the action.aux file */ fprintf(a,"SystemActionDescriptor action_preds[]={\n"); for (i=0;i