Package org.apache.sysds.parser

## Class DMLTranslator

- java.lang.Object
- - org.apache.sysds.parser.DMLTranslator

-     public class DMLTranslator
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DMLTranslator​(DMLProgram dmlp)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `cleanupLiveOutVariables​(List<StatementBlock> sbs, VariableSet unionLiveIn)` |
    `void` | `codgenHopsDAG​(DMLProgram dmlp)` |
    `void` | `codgenHopsDAG​(Program rtprog)` |
    `void` | `codgenHopsDAG​(ProgramBlock pb)` |
    `void` | `constructHops​(DMLProgram dmlp)` |
    `void` | `constructHops​(DMLProgram dmlp, boolean inclFuns)` |
    `void` | `constructHops​(StatementBlock sb)` |
    `void` | `constructHopsForConditionalPredicate​(StatementBlock passedSB)` |
    `void` | `constructHopsForForControlBlock​(ForStatementBlock sb)` | Constructs Hops for a given ForStatementBlock or ParForStatementBlock, respectively.
    `void` | `constructHopsForFunctionControlBlock​(FunctionStatementBlock fsb)` |
    `void` | `constructHopsForIfControlBlock​(IfStatementBlock sb)` |
    `void` | `constructHopsForIterablePredicate​(ForStatementBlock fsb)` | Constructs all predicate Hops (for FROM, TO, INCREMENT) of an iterable predicate and assigns these Hops to the passed statement block.
    `void` | `constructHopsForWhileControlBlock​(WhileStatementBlock sb)` |
    `void` | `constructLops​(DMLProgram dmlp)` |
    `boolean` | `constructLops​(StatementBlock sb)` |
    `ProgramBlock` | `createRuntimeProgramBlock​(Program prog, StatementBlock sb, DMLConfig config)` |
    `Program` | `getRuntimeProgram​(DMLProgram prog, DMLConfig config)` |
    `void` | `liveVariableAnalysis​(DMLProgram dmlp)` |
    `void` | `liveVariableAnalysis​(DMLProgram dmlp, boolean inclFuns)` |
    `void` | `liveVariableAnalysisFunction​(DMLProgram dmlp, FunctionStatementBlock fsb)` |
    `static void` | `refreshMemEstimates​(DMLProgram dmlp)` |
    `static void` | `refreshMemEstimates​(StatementBlock current)` |
    `static void` | `resetHopsDAGVisitStatus​(DMLProgram dmlp)` |
    `static void` | `resetHopsDAGVisitStatus​(StatementBlock current)` |
    `void` | `resetLopsDAGVisitStatus​(DMLProgram dmlp)` |
    `void` | `resetLopsDAGVisitStatus​(StatementBlock current)` |
    `void` | `rewriteHopsDAG​(DMLProgram dmlp)` |
    `void` | `setIdentifierParams​(Hop h, Identifier id)` |
    `void` | `validateFunction​(DMLProgram dmlp, FunctionStatementBlock fsb)` |
    `void` | `validateFunction​(DMLProgram dmlp, FunctionStatementBlock fsb, boolean conditional)` |
    `void` | `validateParseTree​(DMLProgram dmlp)` |
    `void` | `validateParseTree​(DMLProgram dmlp, boolean inclFuns)` |

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DMLTranslator

          public DMLTranslator​(DMLProgram dmlp)

  - ### Method Detail

    - #### validateParseTree

          public void validateParseTree​(DMLProgram dmlp)

    - #### validateParseTree

          public void validateParseTree​(DMLProgram dmlp,
                                        boolean inclFuns)

    - #### validateFunction

          public void validateFunction​(DMLProgram dmlp,
                                       FunctionStatementBlock fsb)

    - #### validateFunction

          public void validateFunction​(DMLProgram dmlp,
                                       FunctionStatementBlock fsb,
                                       boolean conditional)

    - #### liveVariableAnalysis

          public void liveVariableAnalysis​(DMLProgram dmlp)

    - #### liveVariableAnalysis

          public void liveVariableAnalysis​(DMLProgram dmlp,
                                           boolean inclFuns)

    - #### liveVariableAnalysisFunction

          public void liveVariableAnalysisFunction​(DMLProgram dmlp,
                                                   FunctionStatementBlock fsb)

    - #### cleanupLiveOutVariables

          public void cleanupLiveOutVariables​(List<StatementBlock> sbs,
                                              VariableSet unionLiveIn)

    - #### constructHops

          public void constructHops​(DMLProgram dmlp)

    - #### constructHops

          public void constructHops​(DMLProgram dmlp,
                                    boolean inclFuns)

    - #### rewriteHopsDAG

          public void rewriteHopsDAG​(DMLProgram dmlp)

    - #### codgenHopsDAG

          public void codgenHopsDAG​(DMLProgram dmlp)

    - #### codgenHopsDAG

          public void codgenHopsDAG​(Program rtprog)

    - #### codgenHopsDAG

          public void codgenHopsDAG​(ProgramBlock pb)

    - #### constructLops

          public void constructLops​(DMLProgram dmlp)

    - #### constructLops

          public boolean constructLops​(StatementBlock sb)

    - #### getRuntimeProgram

          public Program getRuntimeProgram​(DMLProgram prog,
                                           DMLConfig config)
                                    throws LanguageException,
                                           DMLRuntimeException,
                                           LopsException,
                                           HopsException

      Throws:
        `LanguageException`
        `DMLRuntimeException`
        `LopsException`
        `HopsException`

    - #### createRuntimeProgramBlock

          public ProgramBlock createRuntimeProgramBlock​(Program prog,
                                                        StatementBlock sb,
                                                        DMLConfig config)

    - #### refreshMemEstimates

          public static void refreshMemEstimates​(DMLProgram dmlp)

    - #### refreshMemEstimates

          public static void refreshMemEstimates​(StatementBlock current)

    - #### resetHopsDAGVisitStatus

          public static void resetHopsDAGVisitStatus​(DMLProgram dmlp)

    - #### resetHopsDAGVisitStatus

          public static void resetHopsDAGVisitStatus​(StatementBlock current)

    - #### resetLopsDAGVisitStatus

          public void resetLopsDAGVisitStatus​(DMLProgram dmlp)

    - #### resetLopsDAGVisitStatus

          public void resetLopsDAGVisitStatus​(StatementBlock current)

    - #### constructHops

          public void constructHops​(StatementBlock sb)

    - #### constructHopsForIfControlBlock

          public void constructHopsForIfControlBlock​(IfStatementBlock sb)

    - #### constructHopsForForControlBlock

          public void constructHopsForForControlBlock​(ForStatementBlock sb)

      Constructs Hops for a given ForStatementBlock or ParForStatementBlock, respectively.
      Parameters:
        `sb` - for statement block

    - #### constructHopsForFunctionControlBlock

          public void constructHopsForFunctionControlBlock​(FunctionStatementBlock fsb)

    - #### constructHopsForWhileControlBlock

          public void constructHopsForWhileControlBlock​(WhileStatementBlock sb)

    - #### constructHopsForConditionalPredicate

          public void constructHopsForConditionalPredicate​(StatementBlock passedSB)

    - #### constructHopsForIterablePredicate

          public void constructHopsForIterablePredicate​(ForStatementBlock fsb)

      Constructs all predicate Hops (for FROM, TO, INCREMENT) of an iterable predicate and assigns these Hops to the passed statement block. Method used for both ForStatementBlock and ParForStatementBlock.
      Parameters:
        `fsb` - for statement block

    - #### setIdentifierParams

          public void setIdentifierParams​(Hop h,
                                          Identifier id)