public class ScriptMathProcessor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private boolean |
allowUnderflow |
boolean |
asBitSet |
private boolean |
assignLeft |
private boolean |
asVector |
private int |
braceCount |
private boolean |
chk |
private boolean |
debugHigh |
private boolean |
doSelections |
private int |
equalCount |
private ScriptExpr |
eval |
private boolean |
haveSpaceBeforeSquare |
private int |
ifPt |
private char[] |
ifStack |
private boolean |
isArrayItem |
private boolean |
isAssignment |
private boolean |
isSpecialAssignment |
private SV |
lastAssignedString |
int |
oPt |
private T[] |
oStack |
private int |
parenCount |
private int |
ptid |
private int |
pto |
private int |
ptx |
private static java.lang.String |
qMods |
private boolean |
skipping |
private int |
squareCount |
private Viewer |
vwr |
private boolean |
wasSyntaxCheck |
boolean |
wasX
Reverse Polish Notation Engine for IF, SET, and @{...} -- Bob Hanson
2/16/2007 Just a (not so simple?) RPN processor that can handle boolean,
int, float, String, Point3f, BitSet, Array, Hashtable, Matrix3f, Matrix4f
hansonr@stolaf.edu
|
private int |
xPt |
private SV[] |
xStack |
Constructor and Description |
---|
ScriptMathProcessor(ScriptExpr eval,
boolean isSpecialAssignment,
boolean isArrayItem,
boolean asVector,
boolean asBitSet,
boolean allowUnderflow,
java.lang.String key) |
Modifier and Type | Method and Description |
---|---|
boolean |
addOp(T op)
addOp The primary driver of the Reverse Polish Notation evaluation engine.
|
(package private) boolean |
addOpAllowMath(T op,
boolean allowMathFunc) |
boolean |
addX(SV x) |
boolean |
addXAD(double[] x) |
boolean |
addXAF(float[] x) |
boolean |
addXAFF(float[][] x) |
boolean |
addXAI(int[] x) |
boolean |
addXAII(int[][] x) |
boolean |
addXAS(java.lang.String[] x) |
boolean |
addXAV(SV[] x) |
boolean |
addXBool(boolean x) |
boolean |
addXBs(BS bs) |
boolean |
addXCopy(SV x) |
boolean |
addXFloat(float x) |
boolean |
addXInt(int x) |
boolean |
addXList(javajs.util.Lst<?> x) |
boolean |
addXM3(javajs.util.M3 x) |
boolean |
addXM4(javajs.util.M4 x) |
boolean |
addXMap(java.util.Map<java.lang.String,?> x) |
boolean |
addXNum(T x) |
boolean |
addXObj(java.lang.Object x) |
boolean |
addXPt(javajs.util.P3 pt) |
boolean |
addXPt4(javajs.util.P4 pt) |
boolean |
addXStr(java.lang.String x) |
boolean |
binaryOp(T op,
SV x1,
SV x2) |
private boolean |
checkSkip(T op,
int tok0) |
private boolean |
doSelection() |
(package private) void |
dumpStacks(java.lang.String message) |
boolean |
endAssignment() |
SV |
evalOp(T token) |
private boolean |
evaluateFunction(int tok) |
private boolean |
getAllProperties(SV x2,
java.lang.String abbr) |
private boolean |
getBoundBox(SV x2) |
private void |
getKeyList(SV x2,
boolean isAll,
javajs.util.Lst<java.lang.String> keys,
java.lang.String prefix) |
private boolean |
getKeys(SV x2,
boolean isAll) |
private JmolMathExtension |
getMathExt() |
static javajs.util.M4 |
getMatrix4f(javajs.util.M3 matRotate,
javajs.util.T3 vTranslate) |
private boolean |
getPointOrBitsetOperation(T op,
SV x2) |
(package private) SV |
getResult() |
SV |
getX() |
private boolean |
isDecimal(SV x) |
private static boolean |
isOpFunc(T op) |
private boolean |
operate() |
javajs.util.P4 |
planeValue(T x) |
javajs.util.P3 |
ptValue(SV x,
boolean allowFloat) |
private void |
putIf(char c) |
private void |
putOp(T op) |
private void |
putX(SV x) |
private static java.lang.String |
typeOf(SV x) |
public boolean wasX
public boolean asBitSet
public int oPt
private boolean chk
private boolean wasSyntaxCheck
private boolean debugHigh
private ScriptExpr eval
private Viewer vwr
private T[] oStack
private SV[] xStack
private char[] ifStack
private int ifPt
private int xPt
private int parenCount
private int squareCount
private int braceCount
private boolean isArrayItem
private boolean asVector
private boolean haveSpaceBeforeSquare
private int equalCount
private int ptid
private int ptx
private int pto
private boolean isSpecialAssignment
private boolean doSelections
private boolean assignLeft
private boolean allowUnderflow
private boolean isAssignment
private boolean skipping
private SV lastAssignedString
private static final java.lang.String qMods
ScriptMathProcessor(ScriptExpr eval, boolean isSpecialAssignment, boolean isArrayItem, boolean asVector, boolean asBitSet, boolean allowUnderflow, java.lang.String key)
public boolean endAssignment()
SV getResult() throws ScriptException
ScriptException
private void putX(SV x)
private void putOp(T op)
private void putIf(char c)
public boolean addXCopy(SV x)
public boolean addX(SV x)
public boolean addXObj(java.lang.Object x)
public boolean addXStr(java.lang.String x)
public boolean addXBool(boolean x)
public boolean addXInt(int x)
public boolean addXList(javajs.util.Lst<?> x)
public boolean addXMap(java.util.Map<java.lang.String,?> x)
public boolean addXM3(javajs.util.M3 x)
public boolean addXM4(javajs.util.M4 x)
public boolean addXFloat(float x)
public boolean addXBs(BS bs)
public boolean addXPt(javajs.util.P3 pt)
public boolean addXPt4(javajs.util.P4 pt)
public boolean addXNum(T x) throws ScriptException
ScriptException
public boolean addXAV(SV[] x)
public boolean addXAD(double[] x)
public boolean addXAS(java.lang.String[] x)
public boolean addXAI(int[] x)
public boolean addXAII(int[][] x)
public boolean addXAF(float[] x)
public boolean addXAFF(float[][] x)
private static boolean isOpFunc(T op)
public boolean addOp(T op) throws ScriptException
op
- ScriptException
boolean addOpAllowMath(T op, boolean allowMathFunc) throws ScriptException
ScriptException
private boolean checkSkip(T op, int tok0)
private boolean doSelection()
void dumpStacks(java.lang.String message)
public SV getX() throws ScriptException
ScriptException
private boolean evaluateFunction(int tok) throws ScriptException
ScriptException
private boolean operate() throws ScriptException
ScriptException
private boolean getKeys(SV x2, boolean isAll)
private void getKeyList(SV x2, boolean isAll, javajs.util.Lst<java.lang.String> keys, java.lang.String prefix)
public boolean binaryOp(T op, SV x1, SV x2) throws ScriptException
ScriptException
private boolean isDecimal(SV x)
public javajs.util.P3 ptValue(SV x, boolean allowFloat) throws ScriptException
ScriptException
public javajs.util.P4 planeValue(T x)
private static java.lang.String typeOf(SV x)
private boolean getAllProperties(SV x2, java.lang.String abbr) throws ScriptException
ScriptException
public static javajs.util.M4 getMatrix4f(javajs.util.M3 matRotate, javajs.util.T3 vTranslate)
private boolean getBoundBox(SV x2)
private boolean getPointOrBitsetOperation(T op, SV x2) throws ScriptException
ScriptException
private JmolMathExtension getMathExt()
public SV evalOp(T token) throws ScriptException
ScriptException