/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); }
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); } /**
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); } /**
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); }
/** Method for creating a new uniquely named hidden non-terminal using * the given string as a base for the name (or "NT$" if null is passed). * @param prefix base name to construct unique name from. */ static non_terminal create_new(String prefix) throws internal_error { return create_new(prefix,null); // TUM 20060608 embedded actions patch }
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); }
/** Method for creating a new uniquely named hidden non-terminal using * the given string as a base for the name (or "NT$" if null is passed). * @param prefix base name to construct unique name from. */ static non_terminal create_new(String prefix) throws internal_error { return create_new(prefix,null); // TUM 20060608 embedded actions patch }
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); }
/** static routine for creating a new uniquely named hidden non-terminal */ static non_terminal create_new() throws internal_error { return create_new(null); }
_rhs, act_loc, ""); new_nt = non_terminal.create_new(null, lhs().the_symbol().stack_type()); // TUM 20060608 embedded actions patch new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */
/** Remove all embedded actions from a production by factoring them * out into individual action production using new non terminals. * if the original production was: <pre> * A ::= B {action1} C {action2} D * </pre> * then it will be factored into: <pre> * A ::= B NT$1 C NT$2 D * NT$1 ::= {action1} * NT$2 ::= {action2} * </pre> * where NT$1 and NT$2 are new system created non terminals. */ protected void remove_embedded_actions() throws internal_error { non_terminal new_nt; production new_prod; /* walk over the production and process each action */ for (int act_loc = 0; act_loc < rhs_length(); act_loc++) if (rhs(act_loc).is_action()) { /* create a new non terminal for the action production */ new_nt = non_terminal.create_new(); /* create a new production with just the action */ new_prod = new action_production(this, new_nt, null, 0, ((action_part)rhs(act_loc)).code_string()); /* replace the action with the generated non terminal */ _rhs[act_loc] = new symbol_part(new_nt); } }
_rhs, act_loc, ""); new_nt = non_terminal.create_new(); new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */
_rhs, act_loc, ""); new_nt = non_terminal.create_new(); new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */
_rhs, act_loc, ""); new_nt = non_terminal.create_new(); new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */
_rhs, act_loc, ""); new_nt = non_terminal.create_new(); new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */
_rhs, act_loc, ""); new_nt = non_terminal.create_new(null, lhs().the_symbol().stack_type()); // TUM 20060608 embedded actions patch new_nt.is_embedded_action = true; /* 24-Mar-1998, CSA */