## 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 |
  org.apache.sysds.runtime.meta |

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

    Classes in org.apache.sysds.hops that implement ParseInfo
    Modifier and Type | Class | 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 | 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 | Description
    --- | --- | ---
    `class` | `SpoofFusedOp` |

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

    Classes in org.apache.sysds.parser that implement ParseInfo
    Modifier and Type | Class | 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 | 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 | Description
    --- | --- | ---
    `static DataExpression` | DataExpression.`getDataExpression​(String functionName, ArrayList<ParameterExpression> passedParamExprs, ParseInfo parseInfo, CustomErrorListener errorListener)` |
    `void` | Expression.`setParseInfo​(ParseInfo parseInfo)` | Set parse information.
    `void` | Statement.`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 | 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​(double val, ParseInfo parseInfo)` |
    `DoubleIdentifier​(DoubleIdentifier d, ParseInfo parseInfo)` |
    `IntIdentifier​(long val, ParseInfo parseInfo)` |
    `IntIdentifier​(IntIdentifier i, 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 | 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 | 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 | Description
    --- | --- | ---
    `void` | ProgramBlock.`setParseInfo​(ParseInfo parseInfo)` | Set parse information.

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

    Classes in org.apache.sysds.runtime.meta that implement ParseInfo
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `MetaDataAll` |