public interface IAST extends IExpr, java.util.List<IExpr>, java.lang.Cloneable
(I)nterface for the (A)bstract (S)yntax (T)ree of a given function.
In Symja, an abstract syntax tree (AST), is a tree representation of the
abstract syntactic structure of the Symja source code. Each node of the tree
denotes a construct occurring in the source code. The syntax is 'abstract' in
the sense that it does not represent every detail that appears in the real
syntax. For instance, grouping parentheses are implicit in the tree
structure, and a syntactic construct such as a Sin(x)
expression
will be denoted by an AST with 2 nodes. One node for the header
Sin
and one node for the argument x
.
java.util.List
which
contains
0
andn
arguments of a function in the index
1 to n
Modifier and Type | Interface and Description |
---|---|
static class |
IAST.PROPERTY
The enumeration for the properties (keys) of the map possibly associated
with this
IAST object. |
Modifier and Type | Field and Description |
---|---|
static int |
CONTAINS_DEFAULT_PATTERN
One of the arguments of the list contains a pattern object which can be
set to a default value.
|
static int |
CONTAINS_NO_DEFAULT_PATTERN_MASK
Negative flag mask for CONTAINS_DEFAULT_PATTERN
|
static int |
CONTAINS_NO_PATTERN
The list or the lists subexpressions contain no pattern object.
|
static int |
CONTAINS_PATTERN
The head or one of the arguments of the list or sublists contains a
pattern object
|
static int |
CONTAINS_PATTERN_EXPR
One of the arguments of the list or sublists contains a pattern object.
|
static int |
CONTAINS_PATTERN_SEQUENCE
The head or one of the arguments of the list or sublists contains a
pattern object
|
static int |
IS_ALL_EXPANDED
This expression is already evaluated by ExpandAll() function
|
static int |
IS_DECOMPOSED_PARTIAL_FRACTION
This expression represents an already decomposed partial fraction
|
static int |
IS_EXPANDED
This expression is already evaluated by Expand() function
|
static int |
IS_FLAT_ORDERLESS_EVALED
This expression is an already evaled expression
|
static int |
IS_FLATTENED
This expression is an already flattened expression
|
static int |
IS_FLATTENED_OR_SORTED_MASK
This expression is an already flattened or sorted expression
|
static int |
IS_LISTABLE_THREADED
This expression has already applied the Listable attribute to its
argument expressions
|
static int |
IS_MATRIX
This expression represents a matrix
|
static int |
IS_MATRIX_OR_VECTOR
This expression represents a matrix or vector if one of the following
bits is set.
|
static int |
IS_SORTED
This expression is an already sorted expression
|
static int |
IS_VECTOR
This expression represents a vector
|
static int |
NO_FLAG
NO_FLAG ACTIVATED
|
ASTID, BLANKID, COMPLEXID, DOUBLECOMPLEXID, DOUBLEID, FRACTIONID, INTEGERID, METHODSYMBOLID, PATTERNID, STRINGID, SYMBOLID
Modifier and Type | Method and Description |
---|---|
boolean |
addAll(java.util.List<? extends IExpr> ast)
Appends all of the arguments (starting from offset
1 ) in the
specified AST to the end of this AST. |
boolean |
addAll(java.util.List<? extends IExpr> ast,
int startPosition,
int endPosition)
Appends all elements from offset
startPosition to
endPosition in the specified AST to the end of this AST. |
IAST |
addAtClone(int position,
IExpr expr)
Create a shallow copy of this
IAST instance (the elements
themselves are not copied) and add the expr at the given
position . |
void |
addEvalFlags(int i)
Add an evaluation flag to the existing ones.
|
IAST |
addOneIdentity(IAST subAST)
Add an
subAST with attribute OneIdentity for
example Plus[] or Times[]. |
IAST |
appendClone(IExpr expr)
Append an expression to this list.
|
IAST |
apply(IExpr head)
Apply the given head to this expression (i.e. create a list clone and
replace the old head with the given one)
|
IAST |
apply(IExpr head,
int start)
Apply the given head to this expression (i.e. create a sublist clone
starting from index start and replacing the old head with the given one)
|
IAST |
apply(IExpr head,
int start,
int end)
Apply the given head to this expression (i.e. create a sublist clone from
index start to end, and replacing the old head with the given one)
|
IExpr |
arg1()
Get the first argument (i.e. the second element of the underlying list
structure) of the
AST function (i.e. get(1) ). |
IExpr |
arg2()
Get the second argument (i.e. the third element of the underlying list
structure) of the
AST function (i.e. get(2) ). |
IExpr |
arg3()
Get the third argument (i.e. the fourth element of the underlying list
structure) of the
AST function (i.e. get(3) ). |
IExpr |
arg4()
Get the fourth argument (i.e. the fifth element of the underlying list
structure) of the
AST function (i.e. get(4) ). |
IExpr |
arg5()
Get the fifth argument (i.e. the sixth element of the underlying list
structure) of the
AST function (i.e. get(5) ). |
ASTRange |
args()
Get the range of elements [1..ast.size()[.
|
java.util.Set<IExpr> |
asSet()
Collect all arguments of this AST in a new set.
|
void |
clearHashCache()
Set the cached hash value to zero.
|
IAST |
clone()
Returns a shallow copy of this
IAST instance (the elements
themselves are not cloned). |
default IAST |
copy()
Returns a shallow copy of this
IAST instance (the elements
themselves are not copied). |
IAST |
copyFrom(int position)
Create a copy of this
AST , which contains the same head and
all elements from to the given position (inclusive). |
IAST |
copyHead()
Create a copy of this
AST , which only contains the head
element of the list (i.e. the element with index 0). |
IAST |
copyUntil(int position)
Create a copy of this
AST , which contains the same head and
all elements up to the given position (exclusive). |
IAST |
copyUntil(int intialCapacity,
int position)
Create a copy of this
AST , which contains the same head and
all elements up to the given position (exclusive). |
boolean |
equalsAt(int position,
IExpr expr)
Calls
get(position).equals(expr) . |
IAST[] |
filter(java.util.function.Function<IExpr,IExpr> function)
Select all elements by applying the
function to each
argument in this AST and append the result elements for
which the function returns non-null elements to the
0th element of the result array, or otherwise append it to
the 1st element of the result array. |
IAST |
filter(IAST filterAST,
IAST restAST,
java.util.function.Function<IExpr,IExpr> function)
Select all elements by applying the
function to each
argument in this AST and append the result elements for
which the function returns non-null elements to the
filterAST , or otherwise append the argument to the
restAST . |
IAST |
filter(IAST filterAST,
IAST restAST,
java.util.function.Predicate<? super IExpr> predicate)
Select all elements by applying the
predicate to each
argument in this AST and append the elements which satisfy
the predicate to the filterAST , or otherwise
append it to the restAST . |
IAST |
filter(IAST filterAST,
IExpr expr)
Select all elements by applying the
Predicates.isTrue(expr)
predicate to each argument in this AST and append the
elements which satisfy the Predicates.isTrue(expr) predicate
to the filterAST . |
IAST |
filter(IAST filterAST,
java.util.function.Predicate<? super IExpr> predicate)
Select all elements by applying the
predicate to each
argument in this AST and append the arguments which satisfy
the predicate to the filterAST . |
IAST |
filter(IAST filterAST,
java.util.function.Predicate<? super IExpr> predicate,
int maxMatches)
Select all elements by applying the
predicate to each
argument in this AST and append up to
maxMatches arguments which satisfy the predicate to the
filterAST . |
IAST[] |
filter(java.util.function.Predicate<? super IExpr> predicate)
Select all elements by applying the
predicate to each
argument in this AST and append the arguments which satisfy
the predicate to the 0th element of the result array, or
otherwise append it to the 1st element of the result array. |
int |
findFirstEquals(IExpr expr)
Find the first argument position, which equals
expr . |
void |
forEach(java.util.function.Consumer<? super IExpr> action)
Iterate over all elements from index
1 to
size()-1 and call the method Consumer.accept()
for these elements. |
IAST |
getAST(int index)
Casts an
IExpr at position index to an
IAST . |
int |
getEvalFlags()
Get the evaluation flags for this list.
|
int |
getHashCache()
Get the cached hash value.
|
IInteger |
getInt(int index)
Casts an
IExpr at position index to an
IInteger . |
IAST |
getList(int index)
Casts an
IExpr which is a list at position
index to an IAST . |
INumber |
getNumber(int index)
Casts an
IExpr at position index to an
INumber . |
IExpr |
getOneIdentity(IExpr defaultValue)
Get the argument at index 1, if the
size() == 2 or the
complete ast if the size() > 2 (useful for ASTs with
attribute OneIdentity for example for Plus[]
you can call getOneIdentity(F.C0) or for
Times[] ) you can call getOneIdentity(F.C1) . |
IExpr |
getPart(int... positions)
Returns the element at the specified positions in the nested ASTs.
|
IExpr |
getPart(java.util.List<java.lang.Integer> positions)
Returns the element at the specified positions in the nested ASTs.
|
boolean |
isEvalFlagOff(int i)
Are the given evaluation flags disabled for this list ?
|
boolean |
isEvalFlagOn(int i)
Are the given evaluation flags enabled for this list ?
|
boolean |
isFreeAt(int position,
IExpr pattern)
Returns
true , if all of the elements in the
expressions or the expression itself at the given position ,
did not match the pattern . |
boolean |
isList()
Is this a list (i.e. with header == List)
|
boolean |
isPlus()
Test if this expression is the addition function
Plus[<arg1>, <arg2>, ...] |
boolean |
isPower()
Test if this expression is the function
Power[<arg1>, <arg2>] |
boolean |
isTimes()
Test if this expression is the multiplication function
Times[<arg1>, <arg2>, ...] |
java.util.Iterator<IExpr> |
iterator()
Returns an iterator over the elements in this list starting with offset
1.
|
java.util.Iterator<IExpr> |
iterator0()
Returns an iterator over the elements in this list starting with offset
0.
|
IExpr |
last()
Get the last element of the
AST list (i.e. get(size()-1). |
IAST |
map(java.util.function.Function<IExpr,IExpr> functor)
Maps the elements of this IAST with the unary functor.
|
IAST |
map(IAST clonedResultAST,
java.util.function.Function<IExpr,IExpr> functor)
Maps the elements of this IAST with the unary functor.
|
IAST |
map(IAST resultAST,
IAST secondAST,
java.util.function.BiFunction<IExpr,IExpr,IExpr> function)
Maps the elements of this IAST with the elements of the
secondAST . |
IAST |
map(IExpr head,
java.util.function.Function<IExpr,IExpr> functor)
Maps the elements of this IAST with the unary functor.
|
IAST |
mapAt(IAST appendAST,
IAST replacement,
int position)
Maps the elements of this IAST with the unary functor
Functors.replaceArg(replacement, position) , there
replacement is an IAST at which the argument at the given
position will be replaced by the currently mapped element and appends the
element to appendAST . |
IAST |
mapAt(IAST replacement,
int position)
Maps the elements of this IAST with the unary functor
Functors.replaceArg(replacement, position) , there
replacement is an IAST at which the argument at the given
position will be replaced by the currently mapped element. |
int |
patternHashCode()
Calculate a special hash value for pattern matching
|
IAST |
prependClone(IExpr expr)
Prepend an expression to this list.
|
ASTRange |
range()
Get the range of elements [0..ast.size()[ of the AST.
|
ASTRange |
range(int start)
Get the range of elements [start..sizeOfAST[ of the AST
|
ASTRange |
range(int start,
int end)
Get the range of elements [start..end[ of the AST
|
IAST |
removeAtClone(int position)
Create a shallow copy of this
IAST instance (the elements
themselves are not copied) and remove the element at the given
position . |
IAST |
setAtClone(int position,
IExpr expr)
Create a shallow copy of this
IAST instance (the elements
themselves are not copied) and set the expr at the given
position . |
default IAST |
setAtCopy(int position,
IExpr expr)
Create a shallow copy of this
IAST instance (the elements
themselves are not copied) and set the expr at the given
position . |
void |
setEvalFlags(int i)
Set the evaluation flags for this list.
|
ISymbol |
topHead()
Returns the header.
|
$div, $minus, $plus, $times, $up, accept, accept, accept, accept, and, apply, apply, asType, compareTo, dec, divide, evalComplex, evalDouble, evalNumber, evalSignedNumber, evaluate, evaluateHead, fullFormString, getAt, getField, head, hierarchy, ifPresent, inc, internalFormString, internalJavaString, internalScalaString, inverse, isAllExpanded, isAnd, isArcCos, isArcCosh, isArcSin, isArcSinh, isArcTan, isArcTanh, isAST, isAST, isAST, isAST, isAST, isAST, isAST, isASTSizeGE, isAtom, isBlank, isComplex, isComplexInfinity, isComplexNumeric, isCondition, isConstant, isCos, isCosh, isDerivative, isDirectedInfinity, isE, isExpanded, isFalse, isFlatAST, isFraction, isFree, isFree, isFree, isFreeAST, isFreeAST, isFreeOfPatterns, isFunction, isGEOrdered, isGTOrdered, isIndeterminate, isInfinity, isInteger, isIntegerResult, isLEOrdered, isListOfLists, isLog, isLTOrdered, isMatrix, isMember, isMember, isMinusOne, isModule, isNegative, isNegativeInfinity, isNegativeResult, isNonNegativeResult, isNot, isNumber, isNumEqualInteger, isNumEqualRational, isNumeric, isNumericFunction, isNumericMode, isNumIntValue, isOne, isONE, isOr, isOrderlessAST, isPattern, isPatternDefault, isPatternExpr, isPatternSequence, isPi, isPlusTimesPower, isPolynomial, isPolynomial, isPolynomialOfMaxDegree, isPositive, isPositiveResult, isPresent, isRational, isRationalResult, isRationalValue, isRealResult, isRuleAST, isSame, isSame, isSequence, isSignedNumber, isSin, isSinh, isSlot, isSlotSequence, isSpan, isSymbol, isTan, isTanh, isTrue, isUnit, isValue, isVariable, isVector, isZero, isZERO, leafCount, leaves, minus, mod, multiply, multiply, negative, ofNullable, opposite, optional, or, orElse, orElseGet, orElseThrow, plus, power, power, reciprocal, replaceAll, replaceAll, replacePart, replaceRepeated, replaceRepeated, replaceSlots, signum, subtract, sum, times, timesDistributed, variables2Slots
equals, factory, hashCode, toScript, toScriptFactory
static final int NO_FLAG
static final int CONTAINS_PATTERN
static final int CONTAINS_PATTERN_SEQUENCE
static final int CONTAINS_DEFAULT_PATTERN
static final int CONTAINS_NO_PATTERN
static final int CONTAINS_PATTERN_EXPR
CONTAINS_PATTERN, CONTAINS_PATTERN_SEQUENCE, CONTAINS_DEFAULT_PATTERN
static final int CONTAINS_NO_DEFAULT_PATTERN_MASK
static final int IS_MATRIX
static final int IS_VECTOR
static final int IS_MATRIX_OR_VECTOR
static final int IS_DECOMPOSED_PARTIAL_FRACTION
Apart
,
Constant Field Valuesstatic final int IS_FLATTENED
static final int IS_SORTED
static final int IS_LISTABLE_THREADED
static final int IS_FLATTENED_OR_SORTED_MASK
static final int IS_FLAT_ORDERLESS_EVALED
static final int IS_EXPANDED
static final int IS_ALL_EXPANDED
boolean addAll(java.util.List<? extends IExpr> ast)
1
) in the
specified AST to the end of this AST.ast
- AST containing elements to be added to this ASTList.add(Object)
boolean addAll(java.util.List<? extends IExpr> ast, int startPosition, int endPosition)
startPosition
to
endPosition
in the specified AST to the end of this AST.ast
- AST containing elements to be added to this ASTstartPosition
- the start position, inclusive.endPosition
- the ending position, exclusive.List.add(Object)
IAST addAtClone(int position, IExpr expr)
IAST
instance (the elements
themselves are not copied) and add the expr
at the given
position
.expr
element at the given
position
.void addEvalFlags(int i)
i
- IAST addOneIdentity(IAST subAST)
subAST
with attribute OneIdentity
for
example Plus[] or Times[].subAST
- an ast with attribute OneIdentity
.this
ast after adding the subASTIAST appendClone(IExpr expr)
this
after appending the given expression.IAST apply(IExpr head)
head
- IAST apply(IExpr head, int start)
head
- IAST apply(IExpr head, int start, int end)
head
- head
at the given
0
.IExpr arg1()
AST
function (i.e. get(1) ). Sin(x)
, arg1()
returns x
.AST
.IExpr.head()
IExpr arg2()
AST
function (i.e. get(2) ). x^y
(i.e. Power(x, y)
), arg2()
returns
y
.AST
.IExpr.head()
IExpr arg3()
AST
function (i.e. get(3) ).f(a, b, c)
, arg3()
returns c
.AST
.IExpr.head()
IExpr arg4()
AST
function (i.e. get(4) ).f(a, b ,c, d)
, arg4()
returns d
.AST
.IExpr.head()
IExpr arg5()
AST
function (i.e. get(5) ).f(a, b ,c, d, e)
, arg5()
returns e
.AST
.IExpr.head()
ASTRange args()
java.util.Set<IExpr> asSet()
void clearHashCache()
IAST clone()
IAST
instance (the elements
themselves are not cloned).IAST
instance.default IAST copy()
IAST
instance (the elements
themselves are not copied). In contrast to the clone()
method, this method returns exactly the same type for
AST0, AST1, AST2,AST3
.copy
in interface edu.jas.structure.Element<IExpr>
IAST
instance.IAST copyFrom(int position)
AST
, which contains the same head and
all elements from to the given position
(inclusive).position
- IAST copyHead()
AST
, which only contains the head
element of the list (i.e. the element with index 0).IAST copyUntil(int position)
AST
, which contains the same head and
all elements up to the given position
(exclusive).position
- IAST copyUntil(int intialCapacity, int position)
AST
, which contains the same head and
all elements up to the given position
(exclusive).intialCapacity
- the initial capacity of elementsposition
- boolean equalsAt(int position, IExpr expr)
get(position).equals(expr)
.position
- expr
- the expr which should be test for equalityIAST[] filter(java.util.function.Function<IExpr,IExpr> function)
function
to each
argument in this AST
and append the result elements for
which the function returns non-null elements to the
0th element
of the result array, or otherwise append it to
the 1st element
of the result array.function
- the function which filters each argument in this AST by
returning a non-null result.IAST filter(IAST filterAST, IAST restAST, java.util.function.Function<IExpr,IExpr> function)
function
to each
argument in this AST
and append the result elements for
which the function
returns non-null elements to the
filterAST
, or otherwise append the argument to the
restAST
.filterAST
- the non-null elements which were returned by the
function#apply()
methodrestAST
- the arguments in this AST
for which the
function#apply()
method returned
null
function
- the function which filters each argument by returning a
possibly non-null value.filterAST
IAST filter(IAST filterAST, IAST restAST, java.util.function.Predicate<? super IExpr> predicate)
predicate
to each
argument in this AST
and append the elements which satisfy
the predicate
to the filterAST
, or otherwise
append it to the restAST
.filterAST
- the elements where the predicate#apply()
method
returns true
restAST
- the elements which don't match the predicatepredicate
- the predicate which filters each argument in this
AST
filterAST
IAST filter(IAST filterAST, IExpr expr)
Predicates.isTrue(expr)
predicate to each argument in this AST
and append the
elements which satisfy the Predicates.isTrue(expr)
predicate
to the filterAST
.filterAST
- the elements where the predicate#apply()
method
returns true
expr
- create a Predicates.isTrue(expr)
predicate which
filters each element in this AST.filterAST
IAST filter(IAST filterAST, java.util.function.Predicate<? super IExpr> predicate)
predicate
to each
argument in this AST
and append the arguments which satisfy
the predicate to the filterAST
.filterAST
- the elements where the predicate#apply()
method
returns true
predicate
- the predicate which filters each argument in this
AST
filterAST
IAST filter(IAST filterAST, java.util.function.Predicate<? super IExpr> predicate, int maxMatches)
predicate
to each
argument in this AST
and append up to
maxMatches
arguments which satisfy the predicate to the
filterAST
.filterAST
- the elements where the predicate#apply()
method
returns true
predicate
- the predicate which filters each argument in this
AST
filterAST
IAST[] filter(java.util.function.Predicate<? super IExpr> predicate)
predicate
to each
argument in this AST
and append the arguments which satisfy
the predicate to the 0th element
of the result array, or
otherwise append it to the 1st element
of the result array.predicate
- the predicate which filters each element in the rangeint findFirstEquals(IExpr expr)
expr
. The
serarch starts at index 1
.IExpr
- -1
if no position was foundvoid forEach(java.util.function.Consumer<? super IExpr> action)
Iterate over all elements from index 1
to
size()-1
and call the method Consumer.accept()
for these elements.
forEach
in interface java.lang.Iterable<IExpr>
IAST getAST(int index)
IExpr
at position index
to an
IAST
.index
- WrongArgumentType
- if the cast is not possibleint getEvalFlags()
int getHashCache()
IInteger getInt(int index)
IExpr
at position index
to an
IInteger
.index
- WrongArgumentType
- if the cast is not possibleIAST getList(int index)
IExpr
which is a list at position
index
to an IAST
.index
- WrongArgumentType
INumber getNumber(int index)
IExpr
at position index
to an
INumber
.index
- WrongArgumentType
- if the cast is not possibleIExpr getOneIdentity(IExpr defaultValue)
size() == 2
or the
complete ast if the size() > 2
(useful for ASTs with
attribute OneIdentity
for example for Plus[]
you can call getOneIdentity(F.C0)
or for
Times[]
) you can call getOneIdentity(F.C1)
.defaultValue
- default value, if size() < 2
.IExpr getPart(int... positions)
positions
- index of the element to returnjava.lang.IndexOutOfBoundsException
- if one of the positions are out of rangeIExpr getPart(java.util.List<java.lang.Integer> positions)
positions
- index of the element to returnjava.lang.IndexOutOfBoundsException
- if one of the positions are out of rangeboolean isEvalFlagOff(int i)
boolean isEvalFlagOn(int i)
boolean isFreeAt(int position, IExpr pattern)
true
, if all of the elements in the
expressions or the expression itself at the given position
,
did not match the pattern
. Calls
get(Position).isFree(pattern, true)
.position
- pattern
- a pattern-matching expressionboolean isList()
boolean isPlus()
Plus[<arg1>, <arg2>, ...]
boolean isPower()
Power[<arg1>, <arg2>]
boolean isTimes()
Times[<arg1>, <arg2>, ...]
java.util.Iterator<IExpr> iterator()
java.util.Iterator<IExpr> iterator0()
IExpr last()
AST
list (i.e. get(size()-1).AST
.IExpr.head()
IAST map(java.util.function.Function<IExpr,IExpr> functor)
null
the original element is used (i.e. the functor
didn't modified this AST).
Functors#replace1st()
, where the
first argument will be replaced by the current argument of this AST:
plusAST.map(Functors.replace1st(F.D(null, dAST.arg2())));
functor
- a unary functionIAST map(IAST clonedResultAST, java.util.function.Function<IExpr,IExpr> functor)
null
the original element of the result list is
used.clonedResultAST
- a list which is cloned from this
list or greater
or equal in size of this
list.functor
- a unary functionIAST map(IAST resultAST, IAST secondAST, java.util.function.BiFunction<IExpr,IExpr,IExpr> function)
secondAST
.functor
- a binary functionjava.lang.IndexOutOfBoundsException
- if the secondAST size is lesser than this AST sizeIAST map(IExpr head, java.util.function.Function<IExpr,IExpr> functor)
null
the original element of the result list is
used.head
- the new head element of the result listfunctor
- a unary functionIAST mapAt(IAST appendAST, IAST replacement, int position)
Functors.replaceArg(replacement, position)
, there
replacement
is an IAST at which the argument at the given
position will be replaced by the currently mapped element and appends the
element to appendAST
.appendAST
- replacement
- an IAST there the argument at the given position is replaced
by the currently mapped argument of this IAST.appendAST
map(Function)
IAST mapAt(IAST replacement, int position)
Functors.replaceArg(replacement, position)
, there
replacement
is an IAST at which the argument at the given
position will be replaced by the currently mapped element.
Functors#replaceArg()
, where the
argument at the given position will be replaced by the current argument
of this AST:
plusAST.mapAt(F.D(null, F.x), 1);
replacement
- an IAST there the argument at the given position is replaced
by the currently mapped argument of this IAST.map(Function)
int patternHashCode()
IAST prependClone(IExpr expr)
this
after prepending the given expression.ASTRange range()
ASTRange range(int start)
ASTRange range(int start, int end)
IAST removeAtClone(int position)
IAST
instance (the elements
themselves are not copied) and remove the element at the given
position
.IAST setAtClone(int position, IExpr expr)
IAST
instance (the elements
themselves are not copied) and set the expr
at the given
position
.expr
at the given
position
.default IAST setAtCopy(int position, IExpr expr)
IAST
instance (the elements
themselves are not copied) and set the expr
at the given
position
. In contrast to the setAtClone()
method, this method returns exactly the same type for
AST0, AST1, AST2, AST3
.expr
at the given
position
.void setEvalFlags(int i)
i
- ISymbol topHead()
null
.