/* Generated By:JJTree: Do not edit this line. ASTatomicArithmeticTerm.java Version 4.3 */
/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=false,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
package parser;
/**
* The class implements AST node for atomic arithmetic terms (vrriables or constants)
* @author Evgenii Balai
*
*/
public class ASTatomicArithmeticTerm extends SimpleNode {
/**
* Standard JAVACC generated constructor
* @param p
* @param id
*/
public ASTatomicArithmeticTerm(int id) {
super(id);
}
/**
* Standard JAVACC generated constructor
* @param p
* @param id
*/
public ASTatomicArithmeticTerm(SparcTranslator p, int id) {
super(p, id);
}
/** Accept the visitor. **/
public Object jjtAccept(SparcTranslatorVisitor visitor, Object data) {
return visitor.visit(this, data);
}
/**
* String representation of the term
* @param useOriginalImage must be set to true if the original strings
* (returned by SparcTranslator) should be used
*/
public String toString(boolean useOriginalImages) {
if (this.jjtGetNumChildren()==0) {
return this.image;
}
else if( ((SimpleNode)(this.jjtGetChild(0))).getId()==SparcTranslatorTreeConstants.JJTVAR) {
return ((SimpleNode)(this.jjtGetChild(0))).toString(useOriginalImages);
}
else {
String insideImage=((SimpleNode)(this.jjtGetChild(0))).toString(useOriginalImages);
if(insideImage.indexOf('*')!=-1 || insideImage.indexOf('/')!=-1 || insideImage.indexOf('+')!=-1 || insideImage.indexOf('-')!=-1)
return "("+insideImage+")";
else return insideImage;
}
}
public String toString() {
return toString(false);
}
}
/*
* JavaCC - OriginalChecksum=33dcd7bdc49d34770d502ff47cc527be (do not edit this
* line)
*/