# 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.einsum
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`
Binary (cell operations): aij + bij Properties: Symbol: *, -, +, ...
`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`
Hop is a High level operator, that is the first intermediate representation compiled from the definitions supplied in DML.
`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`
`ListIdentifier`
`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
Modifier
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.einsum

Methods in org.apache.sysds.runtime.einsum with type parameters of type ParseInfo
Modifier and Type
Method
Description
`static <HopOrIdentifier extends ParseInfo>
org.apache.commons.lang3.tuple.Triple<Long,Long,Types.DataType>`
EinsumEquationValidator.`validateEinsumEquationAndReturnDimensions(String equationString, List<HopOrIdentifier> expressionsOrIdentifiers)`

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