procedure->rulename = copystr( global->name );
if ( !local_only ) { RULE* global = global_rule( rulename, m ); procedure->rulename = copystr( global->name ); set_rule_body( global, args, procedure ); } else { local->local_only = 1; procedure->rulename = global_name( rulename, m ); }
RULE* new_rule_body( module* m, char* rulename, argument_list* args, PARSE* procedure ){    RULE* local = enter_rule( rulename, m );    RULE* global = global_rule( rulename, m );    procedure->module = m;    procedure->rulename = copystr( global->name );    set_rule_body( local, args, procedure );    set_rule_body( global, args, procedure );        return local;}