org.apache.sysds.parser

## Class DMLTranslator

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

    public class DMLTranslator
    extends Object

### Constructor Summary

Constructors
Constructor and Description
`DMLTranslator(DMLProgram dmlp)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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` `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)

#### 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)