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, rhs_parts[] , int rhs_len, String action_str, int indexOfIntermediateResult)
Constructor.

Method Summary

production
base_production()
The production we were taken out of.
int
getIndexOfIntermediateResult()

Field Details

_base_production

protected production _base_production
The production we were taken out of.

Constructor Details

action_production

public action_production(production base,
                         non_terminal lhs_sym,
                         rhs_parts[] ,
                         int rhs_len,
                         String action_str,
                         int indexOfIntermediateResult)
            throws internal_error
Constructor.
Parameters:
base - the production we are being factored out of.
lhs_sym - the LHS symbol for this production.
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 Details

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