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

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`
`rewriteLopDAG(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 Details

### DMLTranslator

public DMLTranslator(DMLProgram dmlp)

## Method Details

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

### rewriteLopDAG

public void rewriteLopDAG(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)