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

Packages that use ParseInfo
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
`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
`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
`class` `SpoofFusedOp`

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

Classes in org.apache.sysds.parser that implement ParseInfo
`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
`static ParseInfo` ParseInfo.`ctxAndFilenameToParseInfo​(org.antlr.v4.runtime.ParserRuleContext ctx, String fname)`

Methods in org.apache.sysds.parser with parameters of type ParseInfo
`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
`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
`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
`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
`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
`class` `MetaDataAll`