public class AST0 extends AbstractAST implements java.util.List<IExpr>, java.lang.Cloneable, java.io.Externalizable, java.util.RandomAccess
Immutable (A)bstract (S)yntax (T)ree of a given function with no argument.
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
AST
,
Serialized FormAbstractAST.ASTIterator
IAST.PROPERTY
Modifier and Type | Field and Description |
---|---|
protected IExpr |
arg0
The head of this function.
|
fEvalFlags, hashValue
CONTAINS_DEFAULT_PATTERN, CONTAINS_NO_DEFAULT_PATTERN_MASK, CONTAINS_NO_PATTERN, CONTAINS_PATTERN, CONTAINS_PATTERN_EXPR, CONTAINS_PATTERN_SEQUENCE, IS_ALL_EXPANDED, IS_DECOMPOSED_PARTIAL_FRACTION, IS_EXPANDED, IS_FLAT_ORDERLESS_EVALED, IS_FLATTENED, IS_FLATTENED_OR_SORTED_MASK, IS_LISTABLE_THREADED, IS_MATRIX, IS_MATRIX_OR_VECTOR, IS_SORTED, IS_VECTOR, NO_FLAG
ASTID, BLANKID, COMPLEXID, DOUBLECOMPLEXID, DOUBLEID, FRACTIONID, INTEGERID, METHODSYMBOLID, PATTERNID, STRINGID, SYMBOLID
Modifier | Constructor and Description |
---|---|
protected |
AST0(IExpr head)
Create a function with no arguments (i.e.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(IExpr object)
Adds the specified object at the end of this
ArrayList . |
void |
add(int location,
IExpr object)
Inserts the specified object into this
ArrayList at the specified
location. |
boolean |
addAll(java.util.Collection<? extends IExpr> collection)
Adds the objects in the specified collection to this
ArrayList . |
boolean |
addAll(int location,
java.util.Collection<? extends IExpr> collection)
Inserts the objects in the specified collection at the specified location
in this List.
|
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 |
addOneIdentity(IAST subAST)
Add an
subAST with attribute OneIdentity for
example Plus[] or Times[]. |
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) ). |
java.util.Set<IExpr> |
asSet()
Collect all arguments of this AST in a new set.
|
void |
clear()
Removes all elements from this
ArrayList , leaving it empty. |
IAST |
clone()
Returns a new
HMArrayList with the same elements, the same size
and the same capacity as this HMArrayList . |
boolean |
contains(java.lang.Object object) |
IAST |
copy()
Returns a shallow copy of this
IAST instance (the elements
themselves are not copied). |
boolean |
equals(java.lang.Object obj)
Test if this is equal to b.
|
IExpr |
get(int location) |
int |
hashCode()
Hashcode of this Element.
|
IExpr |
head()
If this object is an instance of
IAST get the first element
(offset 0) of the IAST list (i.e. get(0) ). |
boolean |
isSameHead(IExpr head)
Check if the object at index 0 (i.e. the head of the list) is the same
object as
head |
boolean |
isSameHead(IExpr head,
int length)
Check if the object at index 0 (i.e. the head of the list) is the same
object as
head and if the size of the list equals
length . |
boolean |
isSameHead(IExpr head,
int minLength,
int maxLength)
Check if the object at index 0 (i.e. the head of the list) is the same
object as
head and if the size of the list is between
minLength and maxLength . |
boolean |
isSameHeadSizeGE(IExpr head,
int length)
Check if the object at index 0 (i.e. the head of the list) is the same
object as
head and if the size of the list is greater or
equal length . |
void |
readExternal(java.io.ObjectInput objectInput) |
IExpr |
remove(int location)
Removes the object at the specified location from this list.
|
boolean |
remove(java.lang.Object object) |
protected void |
removeRange(int start,
int end)
Removes the objects in the specified range from the start to the end, but
not including the end index.
|
IExpr |
set(int location,
IExpr object)
Replaces the element at the specified location in this
ArrayList
with the specified object. |
int |
size()
Returns the number of elements in this
ArrayList . |
java.lang.Object[] |
toArray()
Returns a new array containing all elements contained in this
ArrayList . |
void |
writeExternal(java.io.ObjectOutput objectOutput) |
$div, $minus, $plus, $times, $up, abs, accept, accept, accept, accept, addAtClone, addEvalFlags, and, appendClone, apply, apply, apply, apply, apply, args, asType, clearHashCache, compareTo, copyFrom, copyHead, copyUntil, copyUntil, dec, divide, egcd, equalsAt, equalsFromPosition, evalComplex, evalDouble, evalNumber, evalSignedNumber, evaluate, factory, filter, filter, filter, filter, filter, filter, filter, findFirstEquals, forEach, fullFormString, gcd, getAST, getAt, getEvalFlags, getHashCache, getInt, getList, getNumber, getOneIdentity, getPart, getPart, hierarchy, inc, indexOf, internalFormString, internalJavaString, internalScalaString, inverse, isAllExpanded, isAnd, isArcCos, isArcCosh, isArcSin, isArcSinh, isArcTan, isArcTanh, isAST, isAST, isAST, isAST, isAST, isAST, isAST, isASTSizeGE, isAtom, isComplex, isComplexInfinity, isComplexNumeric, isCondition, isCos, isCosh, isDerivative, isDirectedInfinity, isEmpty, isEvalFlagOff, isEvalFlagOn, isExpanded, isFlatAST, isFraction, isFree, isFree, isFree, isFreeAST, isFreeAST, isFreeAt, isFreeOfPatterns, isFunction, isGEOrdered, isGTOrdered, isInfinity, isInteger, isIntegerResult, isList, isListOfLists, isLog, isMatrix, isMember, isModule, isNegative, isNegativeInfinity, isNegativeResult, isNonNegativeResult, isNot, isNumber, isNumeric, isNumericFunction, isNumericMode, isOr, isOrderlessAST, isPatternExpr, isPlus, isPlusTimesPower, isPolynomial, isPolynomial, isPolynomialOfMaxDegree, isPolynomialOfMaxDegree, isPositive, isPositiveResult, isPower, isRationalResult, isRealResult, isRuleAST, isSame, isSame, isSequence, isSignedNumber, isSin, isSinh, isSlot, isSlotSequence, isSpan, isTan, isTanh, isTimes, isUnit, isValue, isVector, iterator, iterator0, last, lastIndexOf, leafCount, leaves, map, map, map, map, mapAt, mapAt, minus, mod, multiply, negate, negative, opposite, optional, or, patternHashCode, plus, power, power, prependClone, range, range, range, remainder, removeAtClone, replaceAll, replaceAll, replacePart, replaceRepeated, replaceRepeated, replaceSlots, setAtClone, setEvalFlags, signum, subtract, sum, times, timesDistributed, topHead, toScript, toScriptFactory, toString, variables2Slots
containsAll, removeAll, retainAll, toArray
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAll, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, removeAll, replaceAll, retainAll, sort, spliterator, subList, toArray
evaluateHead, getField, ifPresent, isBlank, isConstant, isE, isFalse, isIndeterminate, isLEOrdered, isLTOrdered, isMember, isMinusOne, isNumEqualInteger, isNumEqualRational, isNumIntValue, isOne, isONE, isPattern, isPatternDefault, isPatternSequence, isPi, isPresent, isRational, isRationalValue, isSymbol, isTrue, isVariable, isZero, isZERO, multiply, ofNullable, orElse, orElseGet, orElseThrow, reciprocal
protected IExpr arg0
protected AST0(IExpr head)
head[ ]
).head
- the head of the functionpublic IExpr arg1()
AST
function (i.e. get(1) ). Sin(x)
, arg1()
returns x
.arg1
in interface IAST
AST
.IExpr.head()
public IExpr arg2()
AST
function (i.e. get(2) ). x^y
(i.e. Power(x, y)
), arg2()
returns
y
.arg2
in interface IAST
AST
.IExpr.head()
public IExpr arg3()
AST
function (i.e. get(3) ).f(a, b, c)
, arg3()
returns c
.arg3
in interface IAST
AST
.IExpr.head()
public IExpr arg4()
AST
function (i.e. get(4) ).f(a, b ,c, d)
, arg4()
returns d
.arg4
in interface IAST
AST
.IExpr.head()
public IExpr arg5()
AST
function (i.e. get(5) ).f(a, b ,c, d, e)
, arg5()
returns e
.arg5
in interface IAST
AST
.IExpr.head()
public java.util.Set<IExpr> asSet()
IAST
public boolean add(IExpr object)
ArrayList
.public void add(int location, IExpr object)
ArrayList
at the specified
location. The object is inserted before any previous element at the
specified location. If the location is equal to the size of this
ArrayList
, the object is added at the end.public boolean addAll(java.util.Collection<? extends IExpr> collection)
ArrayList
.public boolean addAll(int location, java.util.Collection<? extends IExpr> collection)
addAll
in interface java.util.List<IExpr>
addAll
in class java.util.AbstractList<IExpr>
location
- the index at which to insert.collection
- the collection of objects.true
if this ArrayList
is modified, false
otherwise.java.lang.IndexOutOfBoundsException
- when location < 0 || > size()
public boolean addAll(java.util.List<? extends IExpr> ast)
IAST
1
) in the
specified AST to the end of this AST.public boolean addAll(java.util.List<? extends IExpr> ast, int startPosition, int endPosition)
IAST
startPosition
to
endPosition
in the specified AST to the end of this AST.public IAST addOneIdentity(IAST subAST)
IAST
subAST
with attribute OneIdentity
for
example Plus[] or Times[].addOneIdentity
in interface IAST
subAST
- an ast with attribute OneIdentity
.this
ast after adding the subASTpublic void clear()
ArrayList
, leaving it empty.clear
in interface java.util.Collection<IExpr>
clear
in interface java.util.List<IExpr>
clear
in class java.util.AbstractList<IExpr>
AbstractAST.isEmpty()
,
size()
public IAST clone()
HMArrayList
with the same elements, the same size
and the same capacity as this HMArrayList
.clone
in interface IAST
clone
in class AbstractAST
ArrayList
Cloneable
public 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>
copy
in interface IAST
copy
in class AbstractAST
IAST
instance.public boolean contains(java.lang.Object object)
contains
in interface java.util.Collection<IExpr>
contains
in interface java.util.List<IExpr>
contains
in class AbstractAST
public boolean equals(java.lang.Object obj)
edu.jas.structure.Element
equals
in interface edu.jas.structure.Element<IExpr>
equals
in interface java.util.Collection<IExpr>
equals
in interface java.util.List<IExpr>
equals
in class AbstractAST
public IExpr get(int location)
get
in interface java.util.List<IExpr>
get
in class AbstractAST
public int hashCode()
edu.jas.structure.Element
hashCode
in interface edu.jas.structure.Element<IExpr>
hashCode
in interface java.util.Collection<IExpr>
hashCode
in interface java.util.List<IExpr>
hashCode
in class AbstractAST
public final IExpr head()
IExpr
IAST
get the first element
(offset 0) of the IAST
list (i.e. get(0) ).public boolean isSameHead(IExpr head)
head
isSameHead
in class AbstractAST
head
- object to compare with element at location 0
public boolean isSameHead(IExpr head, int length)
head
and if the size of the list equals
length
.isSameHead
in class AbstractAST
head
- object to compare with element at location 0
public boolean isSameHead(IExpr head, int minLength, int maxLength)
head
and if the size of the list is between
minLength
and maxLength
.isSameHead
in class AbstractAST
head
- object to compare with element at location 0
minLength
- minimum length of list elements.maxLength
- maximum length of list elements.public boolean isSameHeadSizeGE(IExpr head, int length)
head
and if the size of the list is greater or
equal length
.isSameHeadSizeGE
in class AbstractAST
head
- object to compare with element at location 0
public void readExternal(java.io.ObjectInput objectInput) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public IExpr remove(int location)
public boolean remove(java.lang.Object object)
protected void removeRange(int start, int end)
removeRange
in class java.util.AbstractList<IExpr>
start
- the index at which to start removing.end
- the index one after the end of the range to remove.java.lang.IndexOutOfBoundsException
- when start < 0, start > end
or end > size()
public IExpr set(int location, IExpr object)
ArrayList
with the specified object.set
in interface java.util.List<IExpr>
set
in class java.util.AbstractList<IExpr>
location
- the index at which to put the specified object.object
- the object to add.java.lang.IndexOutOfBoundsException
- when location < 0 || >= size()
public int size()
ArrayList
.size
in interface java.util.Collection<IExpr>
size
in interface java.util.List<IExpr>
size
in class AbstractAST
ArrayList
.public java.lang.Object[] toArray()
ArrayList
.public void writeExternal(java.io.ObjectOutput objectOutput) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException