Class StatementBlock

    • Field Detail


        public static final double DEFAULT_LOOP_REPETITIONS
        See Also:
        Constant Field Values
    • Constructor Detail

      • StatementBlock

        public StatementBlock()
    • Method Detail

      • setDMLProg

        public void setDMLProg​(DMLProgram dmlProg)
      • getSBID

        public long getSBID()
      • getName

        public String getName()
      • addStatement

        public void addStatement​(Statement s)
      • addStatementBlock

        public void addStatementBlock​(StatementBlock s)
      • getNumStatements

        public int getNumStatements()
      • getStatement

        public Statement getStatement​(int i)
      • mergeable

        public boolean mergeable()
      • setSplitDag

        public void setSplitDag​(boolean flag)
      • isSplitDag

        public boolean isSplitDag()
      • isMergeableFunctionCallBlock

        public boolean isMergeableFunctionCallBlock​(DMLProgram dmlProg)
      • isRewritableFunctionCall

        public boolean isRewritableFunctionCall​(Statement stmt,
                                                DMLProgram dmlProg)
      • setStatementFormatType

        public void setStatementFormatType​(OutputStatement s,
                                           boolean conditionalValidate)
      • setStatementFormatType

        public void setStatementFormatType​(AssignmentStatement s,
                                           boolean conditionalValidate)
      • initializeforwardLV

        public VariableSet initializeforwardLV​(VariableSet activeIn)
        For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.
        Specified by:
        initializeforwardLV in class LiveVariableAnalysis
      • hasHops

        public boolean hasHops()
      • updateRepetitionEstimates

        public void updateRepetitionEstimates​(double repetitions)
        Updates the repetition estimate for this statement block and all contained hops. FunctionStatementBlocks are loaded from the function dictionary and repetitions are estimated for the contained statement blocks. This method is overridden in the subclasses of StatementBlock.
        repetitions - estimated for this statement block
      • raiseValidateError

        public void raiseValidateError​(String msg,
                                       boolean conditional)
      • raiseValidateError

        public void raiseValidateError​(String msg,
                                       boolean conditional,
                                       String errorCode)
      • setBeginLine

        public void setBeginLine​(int passed)
        Specified by:
        setBeginLine in interface ParseInfo
      • setBeginColumn

        public void setBeginColumn​(int passed)
        Specified by:
        setBeginColumn in interface ParseInfo
      • setEndLine

        public void setEndLine​(int passed)
        Specified by:
        setEndLine in interface ParseInfo
      • setEndColumn

        public void setEndColumn​(int passed)
        Specified by:
        setEndColumn in interface ParseInfo
      • setParseInfo

        public void setParseInfo​(ParseInfo parseInfo)
        Set parse information.
        parseInfo - parse information, such as beginning line position, beginning column position, ending line position, ending column position, text, and filename the DML filename (if it exists)
      • printErrorLocation

        public String printErrorLocation()
      • printBlockErrorLocation

        public String printBlockErrorLocation()
      • printWarningLocation

        public String printWarningLocation()
      • updateRecompilationFlag

        public boolean updateRecompilationFlag()
      • requiresRecompilation

        public boolean requiresRecompilation()
      • setUpdateInPlaceVars

        public void setUpdateInPlaceVars​(ArrayList<String> vars)
      • setNondeterministic

        public void setNondeterministic​(boolean flag)
      • isNondeterministic

        public boolean isNondeterministic()
      • setCheckpointPosition

        public void setCheckpointPosition​(Lop input,
                                          List<Lop> outputs)