| |
| package java_cup; |
| |
| /** A specialized version of a production used when we split an existing |
| * production in order to remove an embedded action. Here we keep a bit |
| * of extra bookkeeping so that we know where we came from. |
| * @version last updated: 11/25/95 |
| * @author Scott Hudson |
| */ |
| |
| public class action_production extends production { |
| |
| /** Constructor. |
| * @param base the production we are being factored out of. |
| * @param lhs_sym the LHS symbol for this production. |
| * @param rhs_parts array of production parts for the RHS. |
| * @param rhs_len how much of the rhs_parts array is valid. |
| * @param action_str the trailing reduce action for this production. |
| */ |
| public action_production( |
| production base, |
| non_terminal lhs_sym, |
| production_part rhs_parts[], |
| int rhs_len, |
| String action_str) |
| throws internal_error |
| { |
| super(lhs_sym, rhs_parts, rhs_len, action_str); |
| _base_production = base; |
| } |
| |
| /*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .*/ |
| |
| /** The production we were taken out of. */ |
| protected production _base_production; |
| |
| /** The production we were taken out of. */ |
| public production base_production() {return _base_production;} |
| }; |