at.dms.util
Class SIRPrinter

java.lang.Object
  extended by at.dms.util.Utils
      extended by at.dms.util.IRPrinter
          extended by at.dms.util.SIRPrinter
All Implemented Interfaces:
DeepCloneable, KjcVisitor, StreamVisitor, SLIRVisitor, Serializable

public class SIRPrinter
extends IRPrinter
implements StreamVisitor

See Also:
Serialized Form

Field Summary
 
Fields inherited from class at.dms.util.IRPrinter
indent, p
 
Fields inherited from class at.dms.util.Utils
EMPTY_LIST, getForLoopCallers
 
Constructor Summary
SIRPrinter(String filename)
          Build an IRPrinter for a particular file.
 
Method Summary
protected  void attrPrint(String name, int i)
           
 void postVisitFeedbackLoop(SIRFeedbackLoop self, SIRFeedbackLoopIter iter)
           
 void postVisitPipeline(SIRPipeline self, SIRPipelineIter iter)
          POST-VISITS
 void postVisitSplitJoin(SIRSplitJoin self, SIRSplitJoinIter iter)
           
 void preVisitFeedbackLoop(SIRFeedbackLoop self, SIRFeedbackLoopIter iter)
           
 void preVisitPipeline(SIRPipeline self, SIRPipelineIter iter)
          PRE-VISITS
 void preVisitSplitJoin(SIRSplitJoin self, SIRSplitJoinIter iter)
           
protected  void printData(int data)
           
 void visitFilter(SIRFilter self, SIRFilterIter iter)
          PLAIN-VISITS
 void visitJoiner(SIRJoiner self)
           
 void visitPhasedFilter(SIRPhasedFilter self, SIRPhasedFilterIter iter)
           
 void visitSplitter(SIRSplitter self)
           
 
Methods inherited from class at.dms.util.IRPrinter
attrEnd, attrList, attrPrint, attrPrint, attrStart, blockEnd, blockStart, close, printData, printData, printEnd, printNewline, printStart, visitArrayAccessExpression, visitArrayInitializer, visitArrayLengthExpression, visitAssignmentExpression, visitBinaryExpression, visitBitwiseComplementExpression, visitBitwiseExpression, visitBlockStatement, visitBooleanLiteral, visitBreakStatement, visitByteLiteral, visitCastExpression, visitCatchClause, visitCharLiteral, visitClassBody, visitClassDeclaration, visitClassExpression, visitClassImport, visitComment, visitComments, visitCompilationUnit, visitCompoundAssignmentExpression, visitCompoundStatement, visitConditionalExpression, visitConstructorCall, visitConstructorDeclaration, visitContinueStatement, visitCreatePortalExpression, visitDoStatement, visitDoubleLiteral, visitDynamicToken, visitEmittedTextExpression, visitEmptyStatement, visitEqualityExpression, visitExpressionListStatement, visitExpressionStatement, visitFieldDeclaration, visitFieldExpression, visitFileReader, visitFileWriter, visitFloatLiteral, visitFormalParameters, visitForStatement, visitFunctionPointer, visitIdentity, visitIfStatement, visitInitStatement, visitInnerClassDeclaration, visitInstanceofExpression, visitInterfaceDeclaration, visitInterfaceTable, visitIntLiteral, visitJavadoc, visitLabeledStatement, visitLatency, visitLatencyMax, visitLatencyRange, visitLatencySet, visitLocalVariableExpression, visitLogicalComplementExpression, visitLongLiteral, visitMainFunction, visitMarker, visitMessageStatement, visitMethodCallExpression, visitMethodDeclaration, visitNameExpression, visitNewArrayExpression, visitNode, visitNullLiteral, visitPackageImport, visitPackageName, visitParenthesedExpression, visitPeekExpression, visitPopExpression, visitPortal, visitPostfixExpression, visitPrefixExpression, visitPrintStatement, visitPushExpression, visitQualifiedAnonymousCreation, visitQualifiedInstanceCreation, visitRangeExpression, visitRegisterReceiver, visitRegReceiverStatement, visitRegSenderStatement, visitRelationalExpression, visitReturnStatement, visitSetBodyOfFeedback, visitSetChild, visitSetDecode, visitSetDelay, visitSetEncode, visitSetJoiner, visitSetLoopOfFeedback, visitSetParallelStream, visitSetPeek, visitSetPop, visitSetPush, visitSetSplitter, visitSetStreamType, visitSetTape, visitSetWork, visitShiftExpression, visitShortLiteral, visitStringLiteral, visitSuperExpression, visitSwitchGroup, visitSwitchLabel, visitSwitchStatement, visitSynchronizedStatement, visitThisExpression, visitThrowStatement, visitTryCatchStatement, visitTryFinallyStatement, visitTypeDeclarationStatement, visitTypeNameExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitUnaryPromoteExpression, visitUnqualifiedAnonymousCreation, visitUnqualifiedInstanceCreation, visitVariableDeclarationStatement, visitVariableDefinition, visitVectorLiteral, visitWhileStatement, visitWorkEntry, visitWorkExit
 
Methods inherited from class at.dms.util.Utils
asPercent, cellMathEquivalent, cMathEquivalent, cppMathEquivalent, deepClone, deepCloneInto, equalArrays, fail, getEnvironmentVariable, getExpression, hasPeeks, initArray, initArray, initLiteralArray, intArrayToList, isMathMethod, isUniform, kopi_assert, kopi_assert, makeCountdownForLoop, makeDotFileName, makeForLoop, makeForLoop, makeForLoop, makeForLoopFieldIndex, makeForLoopLocalIndex, nextPow2, passThruParens, peelMarkers, popBeforePeek, readFile, removeUnusedPops, replaceAll, setupDotFileName, simplifyMathMethod, splitQualifiedName, splitQualifiedName, toArray, toIntArray, toVector, voidToInt, writeFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SIRPrinter

public SIRPrinter(String filename)
Build an IRPrinter for a particular file.

Parameters:
filename - Name of the file to write IR to
Method Detail

visitFilter

public void visitFilter(SIRFilter self,
                        SIRFilterIter iter)
Description copied from interface: StreamVisitor
PLAIN-VISITS

Specified by:
visitFilter in interface StreamVisitor

visitPhasedFilter

public void visitPhasedFilter(SIRPhasedFilter self,
                              SIRPhasedFilterIter iter)
Specified by:
visitPhasedFilter in interface StreamVisitor

visitSplitter

public void visitSplitter(SIRSplitter self)

visitJoiner

public void visitJoiner(SIRJoiner self)

printData

protected void printData(int data)

attrPrint

protected void attrPrint(String name,
                         int i)

preVisitPipeline

public void preVisitPipeline(SIRPipeline self,
                             SIRPipelineIter iter)
PRE-VISITS

Specified by:
preVisitPipeline in interface StreamVisitor

preVisitSplitJoin

public void preVisitSplitJoin(SIRSplitJoin self,
                              SIRSplitJoinIter iter)
Specified by:
preVisitSplitJoin in interface StreamVisitor

preVisitFeedbackLoop

public void preVisitFeedbackLoop(SIRFeedbackLoop self,
                                 SIRFeedbackLoopIter iter)
Specified by:
preVisitFeedbackLoop in interface StreamVisitor

postVisitPipeline

public void postVisitPipeline(SIRPipeline self,
                              SIRPipelineIter iter)
POST-VISITS

Specified by:
postVisitPipeline in interface StreamVisitor

postVisitSplitJoin

public void postVisitSplitJoin(SIRSplitJoin self,
                               SIRSplitJoinIter iter)
Specified by:
postVisitSplitJoin in interface StreamVisitor

postVisitFeedbackLoop

public void postVisitFeedbackLoop(SIRFeedbackLoop self,
                                  SIRFeedbackLoopIter iter)
Specified by:
postVisitFeedbackLoop in interface StreamVisitor