![JAR search and dependency download from the Maven repository](/logo.png)
com.creativewidgetworks.goldparser.engine.Reduction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of goldengine Show documentation
Show all versions of goldengine Show documentation
Java implementation of Devin Cook's GOLD Parser engine
package com.creativewidgetworks.goldparser.engine;
import java.util.ArrayList;
import com.creativewidgetworks.goldparser.parser.Variable;
/**
* Reduction
*
* This class is used by the engine to hold a reduced rule. A reduction contains
* a list of Tokens corresponding to the the rule it represents. This class is
* important since it is used to store the actual source program parsed by the Engine
* Dependencies:
* @see Production
* @see Token
*
* @author Devin Cook (http://www.DevinCook.com/GOLDParser)
* @author Ralph Iden (http://www.creativewidgetworks.com), port to Java
* @version 5.0.0
*/
public class Reduction extends ArrayList {
private Production parent;
private Variable value;
public Reduction() {
// default constructor
}
/**
* Constructor that establishes the size of the list and creates placeholder
* objects so the list can be accessed in a "random" fashion when setting
* items.
* @param size
*/
public Reduction(int size) {
super(size);
for (int i = 0; i < size; i++) {
add(null);
}
}
/*----------------------------------------------------------------------------*/
/**
* This method is called when the parsed program tree is executed. Rule handler
* classes override this method as necessary to implement code generation or
* execution strategies
* @throws ParserException
*/
public void execute() throws ParserException {
// Base implementation does nothing, override as necessary
}
/*----------------------------------------------------------------------------*/
public Production getParent() {
return parent;
}
public void setParent(Production parent) {
this.parent = parent;
}
public Variable getValue() {
return value;
}
public void setValue(Variable value) {
this.value = value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy