## Uses of Interface
org.apache.sysds.parser.ParseInfo

- Packages that use ParseInfo
  Package | Description
  --- | ---
  org.apache.sysds.hops |
  org.apache.sysds.hops.codegen |
  org.apache.sysds.parser |
  org.apache.sysds.parser.dml |
  org.apache.sysds.runtime.controlprogram |

- - ### Uses of ParseInfo in org.apache.sysds.hops

    Classes in org.apache.sysds.hops that implement ParseInfo
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AggBinaryOp`
    `class` | `AggUnaryOp`
    `class` | `BinaryOp`
    `class` | `DataGenOp` A DataGenOp can be rand (or matrix constructor), sequence, and sample - these operators have different parameters and use a map of parameter type to hop position.
    `class` | `DataOp` A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input, but all types can have parameters (e.g., for csv literals of delimiter, header, etc).
    `class` | `DnnOp`
    `class` | `FunctionOp` This FunctionOp represents the call to a DML-bodied or external function.
    `class` | `Hop`
    `class` | `IndexingOp`
    `class` | `LeftIndexingOp`
    `class` | `LiteralOp`
    `class` | `MultiThreadedHop` Optional hop interface, to be implemented by multi-threaded hops.
    `class` | `NaryOp` The NaryOp Hop allows for a variable number of operands.
    `class` | `ParameterizedBuiltinOp` Defines the HOP for calling an internal function (with custom parameters) from a DML script.
    `class` | `QuaternaryOp` Note: this hop should be called AggQuaternaryOp in consistency with AggUnaryOp and AggBinaryOp; however, since there does not exist a real QuaternaryOp yet - we can leave it as is for now.
    `class` | `ReorgOp` Reorg (cell) operation: aij Properties: Symbol: ', rdiag, rshape, rsort 1 Operand (except sort and reshape take additional arguments) Semantic: change indices (in mapper or reducer) NOTE MB: reshape integrated here because (1) ParameterizedBuiltinOp requires name-value pairs for params and (2) most importantly semantic of reshape is exactly a reorg op.
    `class` | `TernaryOp` Primary use cases for now, are `quantile (<n-1-matrix>, <n-1-matrix>, <literal>): quantile (A, w, 0.5)` `quantile (<n-1-matrix>, <n-1-matrix>, <scalar>): quantile (A, w, s)` `interquantile (<n-1-matrix>, <n-1-matrix>, <scalar>): interquantile (A, w, s)` Keep in mind, that we also have binaries for it w/o weights.
    `class` | `UnaryOp`

    Methods in org.apache.sysds.hops with parameters of type ParseInfo
    Modifier and Type | Method and Description
    --- | ---
    `void` | Hop.`setParseInfo(ParseInfo parseInfo)` Set parse information.

  - ### Uses of ParseInfo in org.apache.sysds.hops.codegen

    Classes in org.apache.sysds.hops.codegen that implement ParseInfo
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SpoofFusedOp`

  - ### Uses of ParseInfo in org.apache.sysds.parser

    Classes in org.apache.sysds.parser that implement ParseInfo
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AssignmentStatement`
    `class` | `BinaryExpression`
    `class` | `BooleanExpression`
    `class` | `BooleanIdentifier`
    `class` | `BuiltinFunctionExpression`
    `class` | `ConditionalPredicate`
    `class` | `ConstIdentifier`
    `class` | `DataExpression`
    `class` | `DataIdentifier`
    `class` | `DoubleIdentifier`
    `class` | `Expression`
    `class` | `ExpressionList`
    `class` | `ForStatement`
    `class` | `ForStatementBlock`
    `class` | `FunctionCallIdentifier`
    `class` | `FunctionStatement`
    `class` | `FunctionStatementBlock`
    `class` | `Identifier`
    `class` | `IfStatement`
    `class` | `IfStatementBlock`
    `class` | `ImportStatement`
    `class` | `IndexedIdentifier`
    `class` | `IntIdentifier`
    `class` | `IterablePredicate`
    `class` | `MultiAssignmentStatement`
    `class` | `OutputStatement`
    `class` | `ParameterizedBuiltinFunctionExpression`
    `class` | `ParForStatement` This ParForStatement is essentially identical to a ForStatement, except an extended toString method for printing the 'parfor' keyword.
    `class` | `ParForStatementBlock` This ParForStatementBlock is essentially identical to a ForStatementBlock, except an extended validate for checking/setting optional parfor parameters and running the loop dependency analysis.
    `class` | `PathStatement`
    `class` | `PrintStatement`
    `class` | `RelationalExpression`
    `class` | `Statement`
    `class` | `StatementBlock`
    `class` | `StringIdentifier`
    `class` | `WhileStatement`
    `class` | `WhileStatementBlock`

    Methods in org.apache.sysds.parser that return ParseInfo
    Modifier and Type | Method and Description
    --- | ---
    `static ParseInfo` | ParseInfo.`ctxAndFilenameToParseInfo(org.antlr.v4.runtime.ParserRuleContext ctx, String fname)`

    Methods in org.apache.sysds.parser with parameters of type ParseInfo
    Modifier and Type | Method and Description
    --- | ---
    `static DataExpression` | DataExpression.`getDataExpression(String functionName, ArrayList<ParameterExpression> passedParamExprs, ParseInfo parseInfo, CustomErrorListener errorListener)`
    `void` | Statement.`setParseInfo(ParseInfo parseInfo)` Set parse information.
    `void` | Expression.`setParseInfo(ParseInfo parseInfo)` Set parse information.
    `void` | StatementBlock.`setParseInfo(ParseInfo parseInfo)` Set parse information.

    Constructors in org.apache.sysds.parser with parameters of type ParseInfo
    Constructor and Description
    `AssignmentStatement(DataIdentifier di, Expression exp, ParseInfo parseInfo)`
    `BinaryExpression(Expression.BinaryOp bop, ParseInfo parseInfo)`
    `BooleanExpression(Expression.BooleanOp bop, ParseInfo parseInfo)`
    `BooleanIdentifier(boolean val, ParseInfo parseInfo)`
    `BuiltinFunctionExpression(Builtins bifop, Expression[] args, ParseInfo parseInfo)`
    `DataExpression(Expression.DataOp op, HashMap<String,Expression> varParams, ParseInfo parseInfo)`
    `DoubleIdentifier(DoubleIdentifier d, ParseInfo parseInfo)`
    `DoubleIdentifier(double val, ParseInfo parseInfo)`
    `IntIdentifier(IntIdentifier i, ParseInfo parseInfo)`
    `IntIdentifier(long val, ParseInfo parseInfo)`
    `OutputStatement(DataIdentifier t, Expression.DataOp op, ParseInfo parseInfo)`
    `ParameterizedBuiltinFunctionExpression(Builtins op, LinkedHashMap<String,Expression> varParams, ParseInfo parseInfo)`
    `RelationalExpression(Expression.RelationalOp bop, ParseInfo parseInfo)`
    `StringIdentifier(String val, ParseInfo parseInfo)`

  - ### Uses of ParseInfo in org.apache.sysds.parser.dml

    Methods in org.apache.sysds.parser.dml with parameters of type ParseInfo
    Modifier and Type | Method and Description
    --- | ---
    `void` | CustomErrorListener.`validationError(ParseInfo parseInfo, String msg)`

  - ### Uses of ParseInfo in org.apache.sysds.runtime.controlprogram

    Classes in org.apache.sysds.runtime.controlprogram that implement ParseInfo
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicProgramBlock`
    `class` | `ForProgramBlock`
    `class` | `FunctionProgramBlock`
    `class` | `IfProgramBlock`
    `class` | `ParForProgramBlock` The ParForProgramBlock has the same execution semantics as a ForProgamBlock but executes the independent iterations in parallel.
    `class` | `ProgramBlock`
    `class` | `WhileProgramBlock`

    Methods in org.apache.sysds.runtime.controlprogram with parameters of type ParseInfo
    Modifier and Type | Method and Description
    --- | ---
    `void` | ProgramBlock.`setParseInfo(ParseInfo parseInfo)` Set parse information.

Copyright © 2020 The Apache Software Foundation. All rights reserved.