java_cup

Class action_production

public class action_production extends production

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

Field Summary
protected production_base_production
The production we were taken out of.
Constructor Summary
action_production(production base, non_terminal lhs_sym, production_part[] rhs_parts, int rhs_len, String action_str, int indexOfIntermediateResult)
Constructor.
Method Summary
productionbase_production()
The production we were taken out of.
intgetIndexOfIntermediateResult()

Field Detail

_base_production

protected production _base_production
The production we were taken out of.

Constructor Detail

action_production

public action_production(production base, non_terminal lhs_sym, production_part[] rhs_parts, int rhs_len, String action_str, int indexOfIntermediateResult)
Constructor.

Parameters: base the production we are being factored out of. lhs_sym the LHS symbol for this production. rhs_parts array of production parts for the RHS. rhs_len how much of the rhs_parts array is valid. action_str the trailing reduce action for this production. indexOfIntermediateResult the index of the result of the previous intermediate action on the stack relative to top, -1 if no previous action

Method Detail

base_production

public production base_production()
The production we were taken out of.

getIndexOfIntermediateResult

public int getIndexOfIntermediateResult()

Returns: the index of the result of the previous intermediate action on the stack relative to top, -1 if no previous action