/* Generated By:JJTree: Do not edit this line. ASTatom.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; import java.util.HashMap; import querying.parsing.query.QASTatom; import querying.parsing.query.QASTpredSymbol; import querying.parsing.query.QASTterm; import querying.parsing.query.QASTtermList; public class ASTatom extends SimpleNode { public ASTatom(int id) { super(id); } public ASTatom(QASTatom atom) { super(SparcTranslatorTreeConstants.JJTATOM); QASTpredSymbol QpredSymbol=(QASTpredSymbol)atom.jjtGetChild(0); ASTpredSymbol predSymbol=new ASTpredSymbol(SparcTranslatorTreeConstants.JJTPREDSYMBOL); predSymbol.image=QpredSymbol.getImage(); ASTextendedNonRelAtom nonRelAtom=new ASTextendedNonRelAtom(SparcTranslatorTreeConstants.JJTEXTENDEDNONRELATOM); nonRelAtom.jjtAddChild(predSymbol, 0); if(atom.jjtGetNumChildren()>1) { QASTtermList QtermList=(QASTtermList)atom.jjtGetChild(1); ASTtermList termList=new ASTtermList(SparcTranslatorTreeConstants.JJTTERMLIST); for(int i=0;i<QtermList.jjtGetNumChildren();i++) { QASTterm term =(QASTterm) QtermList.jjtGetChild(i); termList.jjtAddChild(new ASTterm(term.toString()), i); } nonRelAtom.jjtAddChild(termList, 1); } this.jjtAddChild(nonRelAtom, 0); } public ASTatom(SparcTranslator p, int id) { super(p, id); } /** Accept the visitor. **/ public Object jjtAccept(SparcTranslatorVisitor visitor, Object data) { return visitor.visit(this, data); } // disallow toString() call without sort renaming map @Override public String toString() { throw new UnsupportedOperationException(); } public String toString(HashMap<String,String> sortRenaming) { /* aggregate()|+ symbolicTerm() rel() symbolicTerm() | symbolicTerm() rel() var()| arithmeticTerm() rel() arithmeticTerm()| var() rel() symbolicTerm() | arithmeticTerm() eqrel() symbolicTerm() | symbolicTerm() eqrel() arithmeticTerm()| extendedNonRelAtom() + var() eq var() */ if(this.jjtGetNumChildren()>0 && (((SimpleNode)(this.jjtGetChild(0))).getId() ==SparcTranslatorTreeConstants.JJTAGGREGATE)) { return ((ASTaggregate)(this.jjtGetChild(0))).toString(sortRenaming); } if(this.jjtGetNumChildren()>0 && (((SimpleNode)(this.jjtGetChild(0))).getId() ==SparcTranslatorTreeConstants.JJTEXTENDEDNONRELATOM)) { return ((ASTextendedNonRelAtom)(this.jjtGetChild(0))).toString(sortRenaming); } else if(this.jjtGetNumChildren()==2) { SimpleNode child1=(SimpleNode)this.jjtGetChild(0); SimpleNode child2=(SimpleNode)this.jjtGetChild(1); return child1.toString()+this.image+child2.toString(); } else { return this.image; } } } /* JavaCC - OriginalChecksum=68be2106f288cf287b9a442791f7190c (do not edit this line) */