Uses of Interface
edu.uiuc.ncsa.qdl.statements.ExpressionInterface
-
Packages that use ExpressionInterface Package Description edu.uiuc.ncsa.qdl.evaluate Evaluators evaluate the built-in functions for QDL as well as perform the usual algebraic operations.edu.uiuc.ncsa.qdl.expressions Expressions are objects that take zero or more arguments and return a result.edu.uiuc.ncsa.qdl.functions Function handling and processing.edu.uiuc.ncsa.qdl.parsing Classes that support parsing and the parser itself.edu.uiuc.ncsa.qdl.statements The two basic syntactic units of QDL are expressions (which return results) and statements which are the other control structures, such as conditionals, loops, etc.edu.uiuc.ncsa.qdl.variables Variables in QDL and classes that support them. -
-
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.evaluate
Methods in edu.uiuc.ncsa.qdl.evaluate that return types with arguments of type ExpressionInterface Modifier and Type Method Description protected ArrayList<ExpressionInterface>
AbstractEvaluator. toConstants(ArrayList<Object> objects)
Takes a list of Java objects and converts them to QDL constants to be used as arguments to functions.Methods in edu.uiuc.ncsa.qdl.evaluate with parameters of type ExpressionInterface Modifier and Type Method Description protected Object
ListEvaluator. checkCopyNode(ExpressionInterface expr, State state, boolean doInsert)
protected boolean
SystemEvaluator. checkDefined(ExpressionInterface exp, State state)
static void
AbstractEvaluator. checkNull(Object arg, ExpressionInterface swri)
If a function gets an argument which should not be a Java null, then this will try to track down the variable reference.static void
AbstractEvaluator. checkNull(Object arg1, ExpressionInterface swri, State state)
Check for Java nulls and logs any errorsprotected FunctionReferenceNodeInterface
AbstractEvaluator. getFunctionReferenceNode(State state, ExpressionInterface arg0)
FunctionReferenceNodeInterface
AbstractEvaluator. getFunctionReferenceNode(State state, ExpressionInterface arg0, boolean pushNewState)
This will take a node that is either a function reference,FunctionDefinitionStatement
or perhaps aLambdaDefinitionNode
and determine the rightFunctionReferenceNode
, updating the state (including adding local state as needed for the duration of the evaluation).protected QDLStem
AbstractEvaluator. getOrCreateStem(ExpressionInterface node, State state, String informativeMessage)
This will take anExpressionImpl
that should contain a stem, check the reference and it the stem does not exist, create and put it in the symbol table.boolean
AbstractEvaluator. isFunctionRef(ExpressionInterface arg0)
Checks if the argument is some form of a function reference. -
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.expressions
Subinterfaces of ExpressionInterface in edu.uiuc.ncsa.qdl.expressions Modifier and Type Interface Description interface
ExpressionNode
This class mostly manages the structure of expressions (so arguments are the children) and evaluating them is delegating the result to theOpEvaluator
class.Classes in edu.uiuc.ncsa.qdl.expressions that implement ExpressionInterface Modifier and Type Class Description class
AllIndices
Marker class to show all the indices are to be used.class
AltIfExpressionNode
Created by Jeff Gaynor
on 5/27/21 at 5:13 PMclass
ANode2
Very much improved way to handle assignments.class
ClosedSliceNode
Created by Jeff Gaynor
on 6/1/21 at 9:25 AMclass
ComparisonDyad
Dyad that compares the arguments, such as with comparisons, regex matching and types of equality.class
ConstantNode
Created by Jeff Gaynor
on 1/13/20 at 4:08 PMclass
Dyad
Created by Jeff Gaynor
on 1/13/20 at 3:47 PMclass
ESN2
After a parser change to treat the dot as an operator, this was introduced.class
ExpressionImpl
Created by Jeff Gaynor
on 1/13/20 at 3:15 PMclass
ExpressionStemNode
Models a stem.class
ModuleExpression
Models a single module expression of the form A#expression where A is the alias giving the instance of the current module and expression is a general expression to be evaluated against the state of the module.class
Monad
A post or prefix operator, such a logical not or ++.class
Nilad
This would be an operator that takes no arguments.class
OpenSliceNode
Created by Jeff Gaynor
on 6/1/21 at 8:38 AMclass
ParenthesizedExpression
Created by Jeff Gaynor
on 6/13/21 at 3:44 PMclass
Polyad
For multiple arguments.class
SelectExpressionNode
An expression for switches.class
StemExtractionNode
This will allow for creating a subset (copy of portion) of a stem.class
VariableNode
Created by Jeff Gaynor
on 1/13/20 at 4:28 PMFields in edu.uiuc.ncsa.qdl.expressions declared as ExpressionInterface Modifier and Type Field Description ExpressionInterface
IndexArg. swri
Fields in edu.uiuc.ncsa.qdl.expressions with type parameters of type ExpressionInterface Modifier and Type Field Description protected ArrayList<ExpressionInterface>
ExpressionImpl. arguments
Methods in edu.uiuc.ncsa.qdl.expressions that return types with arguments of type ExpressionInterface Modifier and Type Method Description ArrayList<ExpressionInterface>
AltIfExpressionNode. getArguments()
ArrayList<ExpressionInterface>
ExpressionImpl. getArguments()
ArrayList<ExpressionInterface>
ExpressionNode. getArguments()
ArrayList<ExpressionInterface>
ExpressionStemNode. getArguments()
ArrayList<ExpressionInterface>
ParenthesizedExpression. getArguments()
ArrayList<ExpressionInterface>
SelectExpressionNode. getArguments()
Methods in edu.uiuc.ncsa.qdl.expressions with parameters of type ExpressionInterface Modifier and Type Method Description void
Polyad. addArgument(ExpressionInterface expr)
protected Object
ExpressionStemNode. doLeftSVCase(ExpressionInterface leftArg, ExpressionInterface rightArg, State state)
protected Object
ExpressionStemNode. doLeftSVCase(ExpressionInterface leftArg, List<ExpressionInterface> indices, State state)
Case that the left hand argument is a stem variable.void
Monad. setArgument(ExpressionInterface node)
void
SelectExpressionNode. setCASE(ExpressionInterface x)
void
SelectExpressionNode. setDEFAULT(ExpressionInterface x)
void
AltIfExpressionNode. setELSE(ExpressionInterface x)
void
ModuleExpression. setExpression(ExpressionInterface expressionInterface)
void
ParenthesizedExpression. setExpression(ExpressionInterface expression)
void
AltIfExpressionNode. setIF(ExpressionInterface x)
void
ANode2. setLeftArg(ExpressionInterface leftArg)
void
ESN2. setLeftArg(ExpressionInterface swri)
void
ExpressionStemNode. setLeftArg(ExpressionInterface swri)
void
StemExtractionNode. setLeftArg(ExpressionInterface swri)
void
Dyad. setLeftArgument(ExpressionInterface node)
void
ANode2. setRightArg(ExpressionInterface rightArg)
void
ESN2. setRightArg(ExpressionInterface swri)
void
ExpressionStemNode. setRightArg(ExpressionInterface swri)
void
StemExtractionNode. setRightArg(ExpressionInterface swri)
void
Dyad. setRightArgument(ExpressionInterface node)
void
SelectExpressionNode. setSWITCH(ExpressionInterface x)
void
AltIfExpressionNode. setTHEN(ExpressionInterface x)
Method parameters in edu.uiuc.ncsa.qdl.expressions with type arguments of type ExpressionInterface Modifier and Type Method Description protected Object
ExpressionStemNode. doLeftSVCase(ExpressionInterface leftArg, List<ExpressionInterface> indices, State state)
Case that the left hand argument is a stem variable.void
ExpressionImpl. setArguments(ArrayList<ExpressionInterface> arguments)
void
ExpressionNode. setArguments(ArrayList<ExpressionInterface> arguments)
void
ExpressionStemNode. setArguments(ArrayList<ExpressionInterface> arguments)
void
ParenthesizedExpression. setArguments(ArrayList<ExpressionInterface> arguments)
Constructors in edu.uiuc.ncsa.qdl.expressions with parameters of type ExpressionInterface Constructor Description IndexArg(ExpressionInterface swri, boolean strictOrder)
Constructor parameters in edu.uiuc.ncsa.qdl.expressions with type arguments of type ExpressionInterface Constructor Description ArgList(Collection<? extends ExpressionInterface> c)
-
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.functions
Classes in edu.uiuc.ncsa.qdl.functions that implement ExpressionInterface Modifier and Type Class Description class
DyadicFunctionReferenceNode
Created by Jeff Gaynor
on 6/10/24 at 12:43 PMclass
FunctionReferenceNode
Just a pointer to the collection of functions for a given name.class
LambdaDefinitionNode
To treat defined lambda expressions they must beExpressionNode
s This wraps aFunctionDefinitionStatement
, which cannot be replaced.Methods in edu.uiuc.ncsa.qdl.functions that return ExpressionInterface Modifier and Type Method Description ExpressionInterface
DyadicFunctionReferenceNode. makeCopy()
ExpressionInterface
FunctionReferenceNode. makeCopy()
ExpressionInterface
LambdaDefinitionNode. makeCopy()
-
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.parsing
Classes in edu.uiuc.ncsa.qdl.parsing that implement ExpressionInterface Modifier and Type Class Description class
ParseExpressionBlockNode
Created by Jeff Gaynor
on 6/1/21 at 6:43 AMclass
ParseStatementBlock
Top level for various block statements in the parser.Methods in edu.uiuc.ncsa.qdl.parsing that return ExpressionInterface Modifier and Type Method Description ExpressionInterface
ParseExpressionBlockNode. makeCopy()
ExpressionInterface
ParseStatementBlock. makeCopy()
-
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.statements
Methods in edu.uiuc.ncsa.qdl.statements that return ExpressionInterface Modifier and Type Method Description ExpressionInterface
AssertStatement. getConditional()
ExpressionInterface
AssertStatement. getMesssge()
ExpressionInterface
ExpressionInterface. makeCopy()
Methods in edu.uiuc.ncsa.qdl.statements with parameters of type ExpressionInterface Modifier and Type Method Description void
AssertStatement. setConditional(ExpressionInterface conditional)
void
AssertStatement. setMesssge(ExpressionInterface messsge)
-
Uses of ExpressionInterface in edu.uiuc.ncsa.qdl.variables
Classes in edu.uiuc.ncsa.qdl.variables that implement ExpressionInterface Modifier and Type Class Description class
QDLNull
This represents when the user explicitly sets a variable to null.class
QDLSetNode
Created by Jeff Gaynor
on 4/6/22 at 4:06 PMclass
StemEntryNode
Models an entry for a stem variable (that is not a list element).class
StemListNode
Created by Jeff Gaynor
on 9/28/20 at 1:28 PMclass
StemVariableNode
This is used in parsing.Methods in edu.uiuc.ncsa.qdl.variables that return ExpressionInterface Modifier and Type Method Description ExpressionInterface
StemEntryNode. getKey()
ExpressionInterface
QDLSetNode. makeCopy()
ExpressionInterface
StemEntryNode. makeCopy()
ExpressionInterface
StemListNode. makeCopy()
ExpressionInterface
StemVariableNode. makeCopy()
Methods in edu.uiuc.ncsa.qdl.variables that return types with arguments of type ExpressionInterface Modifier and Type Method Description ArrayList<ExpressionInterface>
QDLSetNode. getStatements()
ArrayList<ExpressionInterface>
StemListNode. getStatements()
Methods in edu.uiuc.ncsa.qdl.variables with parameters of type ExpressionInterface Modifier and Type Method Description void
StemEntryNode. setKey(ExpressionInterface key)
void
StemEntryNode. setValue(ExpressionInterface value)
Method parameters in edu.uiuc.ncsa.qdl.variables with type arguments of type ExpressionInterface Modifier and Type Method Description void
QDLSetNode. setStatements(ArrayList<ExpressionInterface> statements)
void
StemListNode. setStatements(ArrayList<ExpressionInterface> statements)
-