at.dms.kjc
Interface SLIRAttributeVisitor<T>

All Superinterfaces:
AttributeVisitor<T>
All Known Implementing Classes:
ArrayDestroyer, BlockFlattener, BranchAnalyzer, ConvertArrayInitializers, ConvertChannelExprs, ConvertCommunication, ConvertCommunicationSimple, ConvertPushesToMethCall, DataFlow, IDDoLoops, IntroduceMultiPops, Propagator, RemoveDeadDoLoops, RemoveMultiPops, RemoveUnusedVars, RenameAll, RenameDestroyedVars, ReplaceVarDecls, SeparatePushPop, SLIREmptyAttributeVisitor, SLIRReplacingVisitor, StatementQueueVisitor, StructDestroyer, Unroller, VarDeclRaiser

public interface SLIRAttributeVisitor<T>
extends AttributeVisitor<T>

Implementation of an Attributed Visitor Design Pattern for KJC.


Method Summary
 T visitCreatePortalExpression(SIRCreatePortal self)
           
 T visitDynamicToken(SIRDynamicToken self)
          Visits a dynamic token.
 T visitFileReader(LIRFileReader self)
          Visits a file reader.
 T visitFileWriter(LIRFileWriter self)
          Visits a file writer.
 T visitFunctionPointer(LIRFunctionPointer self, String name)
          Visits a function pointer.
 T visitInitStatement(SIRInitStatement self, SIRStream target)
          Visits an init statement.
 T visitInterfaceTable(SIRInterfaceTable self)
          Visits an interface table.
 T visitLatency(SIRLatency self)
          Visits a latency.
 T visitLatencyMax(SIRLatencyMax self)
          Visits a max latency.
 T visitLatencyRange(SIRLatencyRange self)
          Visits a latency range.
 T visitLatencySet(SIRLatencySet self)
          Visits a latency set.
 T visitMainFunction(LIRMainFunction self, String typeName, LIRFunctionPointer init, List<JStatement> initStatements)
          Visits a main function contents.
 T visitMarker(SIRMarker self)
          Visit SIRMaker.
 T visitMessageStatement(SIRMessageStatement self, JExpression portal, String iname, String ident, JExpression[] args, SIRLatency latency)
          Visits a message statement.
 T visitNode(LIRNode self)
          Visits an LIR node.
 T visitPeekExpression(SIRPeekExpression self, CType tapeType, JExpression arg)
          Visits a peek expression.
 T visitPopExpression(SIRPopExpression self, CType tapeType)
          Visits a pop expression.
 T visitPortal(SIRPortal self)
          Visits a message-receiving portal.
 T visitPrintStatement(SIRPrintStatement self, JExpression arg)
          Visits a print statement.
 T visitPushExpression(SIRPushExpression self, CType tapeType, JExpression arg)
          Visits a push expression.
 T visitRangeExpression(SIRRangeExpression self)
          Visits a range expression.
 T visitRegReceiverStatement(SIRRegReceiverStatement self, JExpression portal, SIRStream receiver, JMethodDeclaration[] methods)
          Visits a register-receiver statement.
 T visitRegSenderStatement(SIRRegSenderStatement self, String portal, SIRLatency latency)
          Visits a register-sender statement.
 T visitSetBodyOfFeedback(LIRSetBodyOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set body of feedback loop.
 T visitSetChild(LIRSetChild self, JExpression streamContext, String childType, String childName)
          Visits a child registration node.
 T visitSetDecode(LIRSetDecode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits a decoder registration node.
 T visitSetDelay(LIRSetDelay self, JExpression data, JExpression streamContext, int delay, CType type, LIRFunctionPointer fp)
          Visits a feedback loop delay node.
 T visitSetEncode(LIRSetEncode self, JExpression streamContext, LIRFunctionPointer fp)
          Visits an encoder registration node.
 T visitSetJoiner(LIRSetJoiner self, JExpression streamContext, SIRJoinType type, int ways, int[] weights)
          Visits a joiner-setting node.
 T visitSetLoopOfFeedback(LIRSetLoopOfFeedback self, JExpression streamContext, JExpression childContext, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set loop of feedback loop.
 T visitSetParallelStream(LIRSetParallelStream self, JExpression streamContext, JExpression childContext, int position, CType inputType, CType outputType, int inputSize, int outputSize)
          Visits a set a parallel stream.
 T visitSetPeek(LIRSetPeek self, JExpression streamContext, int peek)
          Visits a peek-rate-setting node.
 T visitSetPop(LIRSetPop self, JExpression streamContext, int pop)
          Visits a pop-rate-setting node.
 T visitSetPush(LIRSetPush self, JExpression streamContext, int push)
          Visits a push-rate-setting node.
 T visitSetSplitter(LIRSetSplitter self, JExpression streamContext, SIRSplitType type, int ways, int[] weights)
          Visits a splitter-setting node.
 T visitSetStreamType(LIRSetStreamType self, JExpression streamContext, LIRStreamType streamType)
          Visits a stream-type-setting node.
 T visitSetTape(LIRSetTape self, JExpression streamContext, JExpression srcStruct, JExpression dstStruct, CType type, int size)
          Visits a tape registerer.
 T visitSetWork(LIRSetWork self, JExpression streamContext, LIRFunctionPointer fn)
          Visits a work-function-setting node.
 T visitVectorLiteral(JVectorLiteral self, JLiteral scalar)
          Visits a vector literal
 
Methods inherited from interface at.dms.kjc.AttributeVisitor
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, visitDoStatement, visitDoubleLiteral, visitEmittedTextExpression, visitEmptyStatement, visitEqualityExpression, visitExpressionListStatement, visitExpressionStatement, visitFieldDeclaration, visitFieldExpression, visitFloatLiteral, visitFormalParameters, visitForStatement, visitIfStatement, visitInnerClassDeclaration, visitInstanceofExpression, visitInterfaceDeclaration, visitIntLiteral, visitJavadoc, visitLabeledStatement, visitLocalVariableExpression, visitLogicalComplementExpression, visitLongLiteral, visitMethodCallExpression, visitMethodDeclaration, visitNameExpression, visitNewArrayExpression, visitNullLiteral, visitPackageImport, visitPackageName, visitParenthesedExpression, visitPostfixExpression, visitPrefixExpression, visitQualifiedAnonymousCreation, visitQualifiedInstanceCreation, visitRelationalExpression, visitReturnStatement, visitShiftExpression, visitShortLiteral, visitStringLiteral, visitSuperExpression, visitSwitchGroup, visitSwitchLabel, visitSwitchStatement, visitSynchronizedStatement, visitThisExpression, visitThrowStatement, visitTryCatchStatement, visitTryFinallyStatement, visitTypeDeclarationStatement, visitTypeNameExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitUnaryPromoteExpression, visitUnqualifiedAnonymousCreation, visitUnqualifiedInstanceCreation, visitVariableDeclarationStatement, visitVariableDefinition, visitWhileStatement
 

Method Detail

visitInitStatement

T visitInitStatement(SIRInitStatement self,
                     SIRStream target)
Visits an init statement.


visitInterfaceTable

T visitInterfaceTable(SIRInterfaceTable self)
Visits an interface table.


visitLatency

T visitLatency(SIRLatency self)
Visits a latency.


visitLatencyMax

T visitLatencyMax(SIRLatencyMax self)
Visits a max latency.


visitLatencyRange

T visitLatencyRange(SIRLatencyRange self)
Visits a latency range.


visitLatencySet

T visitLatencySet(SIRLatencySet self)
Visits a latency set.


visitCreatePortalExpression

T visitCreatePortalExpression(SIRCreatePortal self)

visitMessageStatement

T visitMessageStatement(SIRMessageStatement self,
                        JExpression portal,
                        String iname,
                        String ident,
                        JExpression[] args,
                        SIRLatency latency)
Visits a message statement.


visitRangeExpression

T visitRangeExpression(SIRRangeExpression self)
Visits a range expression.


visitDynamicToken

T visitDynamicToken(SIRDynamicToken self)
Visits a dynamic token.


visitPeekExpression

T visitPeekExpression(SIRPeekExpression self,
                      CType tapeType,
                      JExpression arg)
Visits a peek expression.


visitPopExpression

T visitPopExpression(SIRPopExpression self,
                     CType tapeType)
Visits a pop expression.


visitPortal

T visitPortal(SIRPortal self)
Visits a message-receiving portal.


visitPrintStatement

T visitPrintStatement(SIRPrintStatement self,
                      JExpression arg)
Visits a print statement.


visitPushExpression

T visitPushExpression(SIRPushExpression self,
                      CType tapeType,
                      JExpression arg)
Visits a push expression.


visitRegReceiverStatement

T visitRegReceiverStatement(SIRRegReceiverStatement self,
                            JExpression portal,
                            SIRStream receiver,
                            JMethodDeclaration[] methods)
Visits a register-receiver statement.


visitRegSenderStatement

T visitRegSenderStatement(SIRRegSenderStatement self,
                          String portal,
                          SIRLatency latency)
Visits a register-sender statement.


visitMarker

T visitMarker(SIRMarker self)
Visit SIRMaker.


visitFunctionPointer

T visitFunctionPointer(LIRFunctionPointer self,
                       String name)
Visits a function pointer.


visitNode

T visitNode(LIRNode self)
Visits an LIR node.


visitSetChild

T visitSetChild(LIRSetChild self,
                JExpression streamContext,
                String childType,
                String childName)
Visits a child registration node.


visitSetDecode

T visitSetDecode(LIRSetDecode self,
                 JExpression streamContext,
                 LIRFunctionPointer fp)
Visits a decoder registration node.


visitSetDelay

T visitSetDelay(LIRSetDelay self,
                JExpression data,
                JExpression streamContext,
                int delay,
                CType type,
                LIRFunctionPointer fp)
Visits a feedback loop delay node.


visitSetEncode

T visitSetEncode(LIRSetEncode self,
                 JExpression streamContext,
                 LIRFunctionPointer fp)
Visits an encoder registration node.


visitSetJoiner

T visitSetJoiner(LIRSetJoiner self,
                 JExpression streamContext,
                 SIRJoinType type,
                 int ways,
                 int[] weights)
Visits a joiner-setting node.


visitSetPeek

T visitSetPeek(LIRSetPeek self,
               JExpression streamContext,
               int peek)
Visits a peek-rate-setting node.


visitSetPop

T visitSetPop(LIRSetPop self,
              JExpression streamContext,
              int pop)
Visits a pop-rate-setting node.


visitSetPush

T visitSetPush(LIRSetPush self,
               JExpression streamContext,
               int push)
Visits a push-rate-setting node.


visitFileReader

T visitFileReader(LIRFileReader self)
Visits a file reader.


visitFileWriter

T visitFileWriter(LIRFileWriter self)
Visits a file writer.


visitSetSplitter

T visitSetSplitter(LIRSetSplitter self,
                   JExpression streamContext,
                   SIRSplitType type,
                   int ways,
                   int[] weights)
Visits a splitter-setting node.


visitSetStreamType

T visitSetStreamType(LIRSetStreamType self,
                     JExpression streamContext,
                     LIRStreamType streamType)
Visits a stream-type-setting node.


visitSetWork

T visitSetWork(LIRSetWork self,
               JExpression streamContext,
               LIRFunctionPointer fn)
Visits a work-function-setting node.


visitSetTape

T visitSetTape(LIRSetTape self,
               JExpression streamContext,
               JExpression srcStruct,
               JExpression dstStruct,
               CType type,
               int size)
Visits a tape registerer.


visitMainFunction

T visitMainFunction(LIRMainFunction self,
                    String typeName,
                    LIRFunctionPointer init,
                    List<JStatement> initStatements)
Visits a main function contents.


visitSetBodyOfFeedback

T visitSetBodyOfFeedback(LIRSetBodyOfFeedback self,
                         JExpression streamContext,
                         JExpression childContext,
                         CType inputType,
                         CType outputType,
                         int inputSize,
                         int outputSize)
Visits a set body of feedback loop.


visitSetLoopOfFeedback

T visitSetLoopOfFeedback(LIRSetLoopOfFeedback self,
                         JExpression streamContext,
                         JExpression childContext,
                         CType inputType,
                         CType outputType,
                         int inputSize,
                         int outputSize)
Visits a set loop of feedback loop.


visitSetParallelStream

T visitSetParallelStream(LIRSetParallelStream self,
                         JExpression streamContext,
                         JExpression childContext,
                         int position,
                         CType inputType,
                         CType outputType,
                         int inputSize,
                         int outputSize)
Visits a set a parallel stream.


visitVectorLiteral

T visitVectorLiteral(JVectorLiteral self,
                     JLiteral scalar)
Visits a vector literal