# Class ScriptEval

java.lang.Object
org.jmol.script.ScriptError
org.jmol.script.ScriptParam
org.jmol.script.ScriptEval

All Implemented Interfaces:
  `JmolScriptEvaluator`

public class ScriptEval extends ScriptParam

## Field Summary

Fields
Modifier and Type
Field
Description
`T[][]`
`aatoken`
`static int`
`commandHistoryLevelMax`
`ScriptCompiler`
`compiler`
`static final String`
`CONTEXT_DELAY`
`static final String`
`CONTEXT_HOLD_QUEUE`
`boolean`
`debugHigh`
`String`
`fullCommand`
`String`
`functionName`
`boolean`
`historyDisabled`
`boolean`
`isFuncReturn`
`boolean`
`isJS`
`boolean`
`isStateScript`
`SB`
`outputBuffer`
`int`
`pc`
`int`
`pcResume`
`protected Map<String, ScriptFunction>`
`privateFuncs`
`String`
`scriptFileName`
`int`
`scriptLevel`
`ShapeManager`
`sm`
`protected T[]`
`tempStatement`
`String`
`thisCommand`
`boolean`
`tQuiet`

### Fields inherited from class ScriptParam

`contextFunctions, contextVariables, coordinatesAreFractional, fractionalPoint, isBondSet, iToken, MODE_P_ALLOW_FRACTIONAL, MODE_P_CONVERT_TO_CARTESIAN, MODE_P_IMPLICIT_FRACTIONAL, MODE_P_INT_ONLY, MODE_P_NULL_ON_ERROR, MODE_P3, MODE_P34, MODE_P4, slen, st, theTok, theToken, thisContext`

### Fields inherited from class ScriptError

`chk, error, ERROR_badArgumentCount, ERROR_badRGBColor, ERROR_cannotSet, ERROR_endOfStatementUnexpected, ERROR_expressionExpected, ERROR_expressionOrIntegerExpected, ERROR_fileNotFoundException, ERROR_incompatibleArguments, ERROR_insufficientArguments, ERROR_invalidArgument, ERROR_invalidParameterOrder, ERROR_keywordExpected, ERROR_moCoefficients, ERROR_moIndex, ERROR_moModelError, ERROR_moOccupancy, ERROR_moOnlyOne, ERROR_multipleModelsDisplayedNotOK, ERROR_noData, ERROR_noPartialCharges, ERROR_numberExpected, ERROR_operationCanceled, ERROR_what, ERROR_writeWhat, errorMessage, errorMessageUntranslated, errorType, iCommandError, ignoreError, vwr`

## Constructor Summary

Constructors
Constructor
Description
`ScriptEval()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addFunction(ScriptFunction f)`
`BS`
`atomExpression(T[] code, int pcStart, int pcStop, boolean allowRefresh, boolean allowUnderflow, Object[] ret, boolean andNotDeleted)`
`BS`
`atomExpressionAt(int index)`
`String`
`checkFileExists(String prefix, boolean isAsync, String filename, int i, boolean doClear)`
`ScriptContext`
`checkScriptSilent(String script)`
a method for just checking a script
`boolean`
`checkSelect(Map<String,SV> h, T[] where)`
Check a map for a WHERE phrase
`void`
`clearDefinedVariableAtomSets()`
/////////////////////// defined atom sets ////////////////////////
`void`
`cmdLoad()`
`void`
`cmdRotate(boolean isSpin, boolean isSelected)`
`void`
`cmdScript(int tok, String filename, String theScript, Lst<SV> params)`
`void`
`cmdUndoRedo(int tok)`
`protected boolean`
`compareFloat(int tokOperator, float a, float b)`
`protected BS`
`compareFloatData(int tokWhat, float[] data, int tokOperator, float comparisonFloat)`
`boolean`
`compileScript(String filename, String strScript, boolean debugCompiler)`
`boolean`
`compileScriptString(String script, boolean tQuiet)`
`void`
`delayScript(int millis)`
`void`
`deleteAtomsInVariables(BS bsDeleted)`
`boolean`
`dispatchCommands(boolean isSpt, boolean fromFunc, boolean isTry)`
`boolean`
`doReport()`
`RadiusData`
`encodeRadiusParameter(int index, boolean isOnly, boolean allowAbsolute)`
`float`
`evalFunctionFloat(Object func, Object params, float[] values)`
`boolean`
`evalParallel(ScriptContext context, ShapeManager shapeManager)`
`void`
`evaluateCompiledScript(Object[] params, boolean isCmdLine_c_or_C_Option, boolean isCmdLine_C_Option, boolean historyDisabled, boolean listCommands, SB outputBuffer, boolean allowThreads)`
`Object`
`evaluateExpression(Object expr, boolean asVariable, boolean compileOnly)`
a general-use method to evaluate a "SET" type expression.
`Object`
`expandFloatArray(float[] a, int min, boolean asBS)`
Accepts a float array and expands [1 -3] to [1 2 3], for example.
`boolean`
`getAllowJSThreads()`
`protected Map<String,Object>`
`getAssocArray(int i)`
`protected BS`
`getAtomBits(int tokType, Object specInfo)`
`BS`
`getAtomBitSet(Object atomExpression)`
A general method to evaluate a string representing an atom set.
`Object`
`getBitsetProperty(BS bs, Lst<SV> pts, int tok, P3 ptRef, P4 planeRef, Object tokenValue, Object opValue, boolean useAtomMap, int index, boolean asVectorIfAll)`
`float[]`
`getBitsetPropertyFloat(BS bs, int tok, String property, float min, float max)`
`CmdExt`
`getCmdExt()`
`String`
`getColorRange(int i)`
`String`
`getCurrentModelFileAsString(String fname)`
`String`
`getErrorLineMessage2()`
`String`
`getFullPathName(boolean withType)`
`protected ScriptFunction`
`getFunction(String sf)`
`IsoExt`
`getIsoExt()`
`int`
`getLinenumber(ScriptContext c)`
`MathExt`
`getMathExt()`
`String`
`getNextStatement()`
when paused, indicates what statement will be next
`P3[]`
`getObjectBoundingBox(String id)`
`protected P3`
`getObjectCenter(String axisID, int index, int modelIndex)`
`void`
`getPartialCharges(BS bs)`
`protected P4`
`getPlaneForObject(String id, V3 vAB)`
`Quat[]`
`getQuaternionArray(Object quaternionOrSVData, int itype)`
`String`
`getScript()`
`ScriptContext`
`getScriptContext(String why)`
`protected static int`
`getSeqCode(T instruction)`
`int`
`getSetAxesTypeMad10(int index)`
`Object`
`getShapeProperty(int shapeType, String propertyName)`
`boolean`
`getShapePropertyData(int shapeType, String propertyName, Object[] data)`
`SmilesExt`
`getSmilesExt()`
`ScriptContext`
`getThisContext()`
`float`
`getTranslucentLevel(int i)`
`SV`
`getUserFunctionResult(String name, Lst<SV> params, SV tokenAtom)`
`void`
`haltExecution()`
`boolean`
`isAtomExpression(int i)`
`boolean`
`isExecuting()`
`protected boolean`
`isFunction(String sf)`
`boolean`
`isPaused()`
`boolean`
`isStateScript()`
`boolean`
`isStepping()`
`boolean`
`isStopped()`
`protected Lst<SV>`
`listBS(BS bs)`
`String`
`loadFileAsync(String prefix, String filename, int i, boolean doClear)`
Allows asynchronous file loading from the LOAD or SCRIPT command.
`void`
`loadFileResourceAsync(String fileName)`
load a static file asynchronously
`BS`
`lookupIdentifierValue(String identifier)`
`protected boolean`
`noCopy(int i, int dir)`
`void`
`notifyResumeStatus()`
`protected boolean`
`parameterExpressionBoolean(int pt, int ptMax)`
`protected Lst<SV>`
`parameterExpressionList(int pt, int ptAtom, boolean isArrayItem)`
`protected boolean`
`parameterExpressionSelect(Map<String,SV> h, T[] where)`
`protected String`
`parameterExpressionString(int pt, int ptMax)`
`protected SV`
`parameterExpressionToken(int pt)`
`void`
`pauseExecution(boolean withDelay)`
`void`
`pushContextDown(String why)`
`void`
`refresh(boolean doDelay)`
Refresh the display NOW
`void`
`report(String s, boolean isError)`
`void`
`restoreScriptContext(ScriptContext context, boolean isPopContext, boolean isFlowCommand, boolean statementOnly)`
`void`
`restrictSelected(boolean isBond, boolean doInvert)`
`void`
`resumeEval(Object sco)`
From dispatchCommands and JmolThread resumeEval.
`void`
`resumePausedExecution()`
`void`
`runBufferedSafely(String script, SB outputBuffer)`
`void`
`runScript(String script)`
`void`
`runScriptBuffer(String script, SB outputBuffer, boolean isFuncReturn)`
runs a script immediately and sends selected output to a provided SB
`static SV`
`runUserAction(String functionName, Object[] params, Viewer vwr)`
`void`
`setAllowJSThreads(boolean b)`
`protected void`
`setAtomProp(String prop, Object value, BS bs)`
`void`
`setCompiler()`
`void`
`setDebugging()`
`void`
`setException(ScriptException sx, String msg, String untranslated)`
`boolean`
`setMeshDisplayProperty(int shape, int i, int tok)`
`void`
`setObjectMad10(int iShape, String name, int mad10)`
`String`
`setObjectProperty()`
`String`
`setObjectPropSafe(String id, int tokCommand)`
called by Viewer in setting up a PyMOL scene.
`String`
`setShapeNameParameter(int i)`
`void`
`setShapeProperty(int shapeType, String propertyName, Object propertyValue)`
`void`
`setShapePropertyBs(int iShape, String propertyName, Object propertyValue, BS bs)`
`void`
`setShapeSizeBs(int shapeType, int size, BS bs)`
`void`
`setShapeTranslucency(int shapeType, String prefix, String translucency, float translucentLevel, BS bs)`
`protected boolean`
`setStatement(T[] st0, int pt0)`
provides support for @x and @{....} in statements.
`int`
`setStatic(int tok, int ival)`
set a static variable, with checking for range
`SV`
`setVariable(int pt, int ptMax, String key, boolean isSet)`
`ScriptEval`
`setViewer(Viewer vwr)`
`void`
`showString(String str)`
///////////////// showing strings /////////////////
`void`
`showStringPrint(String s, boolean mustDo)`
`static String`
`statementAsString(Viewer vwr, T[] statement, int iTok, boolean doLogMessages)`
`void`
`stepPausedExecution()`
`void`
`stopScriptThreads()`
`String`
`toString()`
`boolean`
`useThreads(boolean allowWaitFor)`

### Methods inherited from class ScriptParam

`atomCenterOrCoordinateParameter, centerParameter, centerParameterForModel, checkHKL, checkLast, checkLength, checkLength23, checkLength34, checkLengthErrorPt, checkToken, floatParameter, floatParameterRange, floatParameterSet, getArgbParam, getArgbParamLast, getArgbParamOrNone, getAtomsStartingAt, getCallbackParameter, getContextVariableAsVariable, getFractionalPoint, getHklPlane, getMadParameter, getMatrixParam, getParameter, getPoint3f, getPoint4f, getPoint4fNoError, getPointArray, getPointOrCenterVector, getPointOrPlane, getPointVector, getQuaternionParameter, getToken, getTransformMatrix4, getVarParameter, hklParameter, intParameter, intParameterRange, isArrayParameter, isCenterParameter, isColorParam, isFloatParameter, isPoint3f, listParameter, listParameter4, modelNumberParameter, objectNameParameter, optParameterAsString, paramAsStr, planeParameter, planeValue, setBooleanProperty, setFloatProperty, setIntProperty, setScriptArguments, setStringProperty, stringParameter, stringParameterSet, tickParamAsStr, tokAt, transformPoints, xypParameter, xyzpParameter`

### Methods inherited from class ScriptError

`bad, error, errorStr, errorStr2, evalError, getErrorLineMessage, getErrorMessage, getErrorMessageUntranslated, integerOutOfRange, invArg, invArgStr, numberOutOfRange, setCursorWait, setErrorMessage, warning`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### sm

public ShapeManager sm

### isJS

public boolean isJS

### isFuncReturn

public boolean isFuncReturn

### historyDisabled

public boolean historyDisabled

### tQuiet

public boolean tQuiet

### compiler

public ScriptCompiler compiler

### outputBuffer

public SB outputBuffer

### scriptFileName

public String scriptFileName

### functionName

public String functionName

### isStateScript

public boolean isStateScript

### scriptLevel

public int scriptLevel

### CONTEXT_HOLD_QUEUE

public static final String CONTEXT_HOLD_QUEUE

See Also:
  - Constant Field Values

### CONTEXT_DELAY

public static final String CONTEXT_DELAY

See Also:
  - Constant Field Values

### commandHistoryLevelMax

public static int commandHistoryLevelMax

### aatoken

public T[][] aatoken

### pc

public int pc

### thisCommand

public String thisCommand

### fullCommand

public String fullCommand

### pcResume

public int pcResume

### debugHigh

public boolean debugHigh

### privateFuncs

protected Map<String, ScriptFunction> privateFuncs

### tempStatement

protected T[] tempStatement

## Constructor Details

### ScriptEval

public ScriptEval()

## Method Details

### getAllowJSThreads

public boolean getAllowJSThreads()

### setAllowJSThreads

public void setAllowJSThreads(boolean b)

### doReport

public boolean doReport()

### isStateScript

public boolean isStateScript()

### setStatic

public int setStatic(int tok, int ival)
set a static variable, with checking for range

### getScript

public String getScript()

### setViewer

public ScriptEval setViewer(Viewer vwr)

### setCompiler

public void setCompiler()

### compileScriptString

public boolean compileScriptString(String script, boolean tQuiet)

### evaluateCompiledScript

public void evaluateCompiledScript(Object[] params, boolean isCmdLine_c_or_C_Option, boolean isCmdLine_C_Option, boolean historyDisabled, boolean listCommands, SB outputBuffer, boolean allowThreads)

### useThreads

public boolean useThreads(boolean allowWaitFor)

### resumeEval

public void resumeEval(Object sco)
From dispatchCommands and JmolThread resumeEval. After throwing a ScriptInterruption, all statements following the current one are lost. When a JavaScript timeout returns from a DELAY, MOVE, MOVETO, or other sleep-requiring command, it is the ScriptContext that contains all have to worry about this, because the current thread is just put to sleep, not stopped, but in JavaScript, where we only have one thread, we need to manage this more carefully. We re-enter the halted script here, using a saved script context. The program counter is incremented to skip the initiating statement, and all parent contexts up the line are set with mustResumeEval = true.

Parameters:
  `sco` -

### runScript

public void runScript(String script) throws ScriptException

Throws:
  `ScriptException`

### runScriptBuffer

public void runScriptBuffer(String script, SB outputBuffer, boolean isFuncReturn) throws ScriptException
runs a script immediately and sends selected output to a provided SB

Parameters:
  `script` -
  `outputBuffer` -
Throws:
  `ScriptException`

### checkScriptSilent

public ScriptContext checkScriptSilent(String script)
a method for just checking a script

Parameters:
  `script` -
Returns:
  a ScriptContext that indicates errors and provides a tokenized version of the script that has passed all syntax checking, both in the compiler and the evaluator

### setDebugging

public void setDebugging()

### haltExecution

public void haltExecution()

### pauseExecution

public void pauseExecution(boolean withDelay)

### stepPausedExecution

public void stepPausedExecution()

### resumePausedExecution

public void resumePausedExecution()

### isExecuting

public boolean isExecuting()

### isPaused

public boolean isPaused()

### isStepping

public boolean isStepping()

### isStopped

public boolean isStopped()

### getNextStatement

public String getNextStatement()
when paused, indicates what statement will be next

Returns:
  a string indicating the statement

### evaluateExpression

public Object evaluateExpression(Object expr, boolean asVariable, boolean compileOnly)
a general-use method to evaluate a "SET" type expression.

Parameters:
  `expr` -
  `asVariable` -
Returns:
  an object of one of the following types: Boolean, Integer, Float, String, Point3f, BitSet

### runBufferedSafely

public void runBufferedSafely(String script, SB outputBuffer)

### runUserAction

public static SV runUserAction(String functionName, Object[] params, Viewer vwr)

### checkSelect

public boolean checkSelect(Map<String,SV> h, T[] where)
Check a map for a WHERE phrase

### getAtomBitSet

public BS getAtomBitSet(Object atomExpression)
A general method to evaluate a string representing an atom set. Excepts one atom expression or one per line as "OR". Excepts "()" as "none".

Parameters:
  `atomExpression` -
Returns:
  is a bitset indicating the selected atoms

### compileScript

public boolean compileScript(String filename, String strScript, boolean debugCompiler)

### evalFunctionFloat

public float evalFunctionFloat(Object func, Object params, float[] values)

### getUserFunctionResult

public SV getUserFunctionResult(String name, Lst<SV> params, SV tokenAtom) throws ScriptException

Throws:
  `ScriptException`

### clearDefinedVariableAtomSets

public void clearDefinedVariableAtomSets()
/////////////////////// defined atom sets ////////////////////////

### lookupIdentifierValue

public BS lookupIdentifierValue(String identifier) throws ScriptException

Throws:
  `ScriptException`

### deleteAtomsInVariables

public void deleteAtomsInVariables(BS bsDeleted)

### getThisContext

public ScriptContext getThisContext()

### pushContextDown

public void pushContextDown(String why)

### getScriptContext

public ScriptContext getScriptContext(String why)

### restoreScriptContext

public void restoreScriptContext(ScriptContext context, boolean isPopContext, boolean isFlowCommand, boolean statementOnly)

### setException

public void setException(ScriptException sx, String msg, String untranslated)

### statementAsString

public static String statementAsString(Viewer vwr, T[] statement, int iTok, boolean doLogMessages)

### setObjectPropSafe

public String setObjectPropSafe(String id, int tokCommand)
called by Viewer in setting up a PyMOL scene.

### setAtomProp

protected void setAtomProp(String prop, Object value, BS bs)

### restrictSelected

public void restrictSelected(boolean isBond, boolean doInvert)

### showString

public void showString(String str)
///////////////// showing strings /////////////////

### showStringPrint

public void showStringPrint(String s, boolean mustDo)

Specified by:
  `showStringPrint` in class `ScriptError`

### report

public void report(String s, boolean isError)

### delayScript

public void delayScript(int millis)

### evalParallel

public boolean evalParallel(ScriptContext context, ShapeManager shapeManager)

### loadFileResourceAsync

public void loadFileResourceAsync(String fileName) throws ScriptException
load a static file asynchronously

Throws:
  `ScriptException`

### loadFileAsync

public String loadFileAsync(String prefix, String filename, int i, boolean doClear) throws ScriptException
Allows asynchronous file loading from the LOAD or SCRIPT command. Saves the context, initiates a FileLoadThread instance. When the file loading completes, the file data (sans filename) is saved in the FileManager cache under cache://localLoad_xxxxx. Context is resumed at this command in the script, and the file is then retrieved from the cache. Only run from JSmol/HTML5 when vwr.isJS; Incompatibilities: LOAD and SCRIPT commands, load() function only; only one "?" per LOAD command

Parameters:
  `prefix` -
  `filename` - or null if end of LOAD command and now just clearing out cache
  `i` -
  `doClear` - ensures only one file is in the cache for a given type
Returns:
  cached file name if it exists
Throws:
  `ScriptException`

### notifyResumeStatus

public void notifyResumeStatus()

### refresh

public void refresh(boolean doDelay) throws ScriptException
Refresh the display NOW

Parameters:
  `doDelay` -
Throws:
  `ScriptException`

### stopScriptThreads

public void stopScriptThreads()

### getErrorLineMessage2

public String getErrorLineMessage2()

### getLinenumber

public int getLinenumber(ScriptContext c)

### dispatchCommands

public boolean dispatchCommands(boolean isSpt, boolean fromFunc, boolean isTry) throws ScriptException

Parameters:
  `isSpt` -
  `fromFunc` -
  `isTry` -
Returns:
  false only when still working through resumeEval
Throws:
  `ScriptException`

### cmdLoad

public void cmdLoad() throws ScriptException

Throws:
  `ScriptException`

### checkFileExists

public String checkFileExists(String prefix, boolean isAsync, String filename, int i, boolean doClear) throws ScriptException

Throws:
  `ScriptException`

### isAtomExpression

public boolean isAtomExpression(int i)

### cmdRotate

public void cmdRotate(boolean isSpin, boolean isSelected) throws ScriptException

Throws:
  `ScriptException`

### cmdScript

public void cmdScript(int tok, String filename, String theScript, Lst<SV> params) throws ScriptException

Throws:
  `ScriptException`

### cmdUndoRedo

public void cmdUndoRedo(int tok) throws ScriptException

Throws:
  `ScriptException`

### getPartialCharges

public void getPartialCharges(BS bs) throws ScriptException

Throws:
  `ScriptException`

### encodeRadiusParameter

public RadiusData encodeRadiusParameter(int index, boolean isOnly, boolean allowAbsolute) throws ScriptException

Throws:
  `ScriptException`

### expandFloatArray

public Object expandFloatArray(float[] a, int min, boolean asBS) throws ScriptException
Accepts a float array and expands [1 -3] to [1 2 3], for example.

Parameters:
  `a` -
  `min` -
  `asBS` -
Returns:
  float[] or BS
Throws:
  `ScriptException`

### getColorRange

public String getColorRange(int i) throws ScriptException

Throws:
  `ScriptException`

### getFullPathName

public String getFullPathName(boolean withType) throws ScriptException

Throws:
  `ScriptException`

### getObjectBoundingBox

public P3[] getObjectBoundingBox(String id)

### getObjectCenter

protected P3 getObjectCenter(String axisID, int index, int modelIndex)

### getPlaneForObject

protected P4 getPlaneForObject(String id, V3 vAB)

### getQuaternionArray

public Quat[] getQuaternionArray(Object quaternionOrSVData, int itype)

### getSetAxesTypeMad10

public int getSetAxesTypeMad10(int index) throws ScriptException

Throws:
  `ScriptException`

### getShapeProperty

public Object getShapeProperty(int shapeType, String propertyName)

### getShapePropertyData

public boolean getShapePropertyData(int shapeType, String propertyName, Object[] data)

### getTranslucentLevel

public float getTranslucentLevel(int i) throws ScriptException

Throws:
  `ScriptException`

### setMeshDisplayProperty

public boolean setMeshDisplayProperty(int shape, int i, int tok) throws ScriptException

Parameters:
  `shape` -
  `i` -
  `tok` -
Returns:
  true if successful
Throws:
  `ScriptException`

### setObjectMad10

public void setObjectMad10(int iShape, String name, int mad10)

### setObjectProperty

public String setObjectProperty() throws ScriptException

Throws:
  `ScriptException`

### setShapeNameParameter

public String setShapeNameParameter(int i) throws ScriptException

Throws:
  `ScriptException`

### setShapeProperty

public void setShapeProperty(int shapeType, String propertyName, Object propertyValue)

### setShapePropertyBs

public void setShapePropertyBs(int iShape, String propertyName, Object propertyValue, BS bs)

### setShapeSizeBs

public void setShapeSizeBs(int shapeType, int size, BS bs)

### setShapeTranslucency

public void setShapeTranslucency(int shapeType, String prefix, String translucency, float translucentLevel, BS bs)

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getCurrentModelFileAsString

public String getCurrentModelFileAsString(String fname)

### getCmdExt

public CmdExt getCmdExt()

### getIsoExt

public IsoExt getIsoExt()

### getMathExt

public MathExt getMathExt()

### getSmilesExt

public SmilesExt getSmilesExt()

### parameterExpressionList

protected Lst<SV> parameterExpressionList(int pt, int ptAtom, boolean isArrayItem) throws ScriptException

Throws:
  `ScriptException`

### parameterExpressionString

protected String parameterExpressionString(int pt, int ptMax) throws ScriptException

Throws:
  `ScriptException`

### parameterExpressionBoolean

protected boolean parameterExpressionBoolean(int pt, int ptMax) throws ScriptException

Throws:
  `ScriptException`

### parameterExpressionToken

protected SV parameterExpressionToken(int pt) throws ScriptException

Throws:
  `ScriptException`

### parameterExpressionSelect

protected boolean parameterExpressionSelect(Map<String,SV> h, T[] where) throws ScriptException

Throws:
  `ScriptException`

### atomExpressionAt

public BS atomExpressionAt(int index) throws ScriptException

Throws:
  `ScriptException`

### atomExpression

public BS atomExpression(T[] code, int pcStart, int pcStop, boolean allowRefresh, boolean allowUnderflow, Object[] ret, boolean andNotDeleted) throws ScriptException

Parameters:
  `code` -
  `pcStart` -
  `pcStop` -
  `allowRefresh` -
  `allowUnderflow` -
  `ret` - -- true return value; may not be a BS
  `andNotDeleted` - IGNORED
Returns:
  atom bitset
Throws:
  `ScriptException`

### noCopy

protected boolean noCopy(int i, int dir)

### getAssocArray

protected Map<String,Object> getAssocArray(int i) throws ScriptException

Throws:
  `ScriptException`

### listBS

protected Lst<SV> listBS(BS bs)

### compareFloatData

protected BS compareFloatData(int tokWhat, float[] data, int tokOperator, float comparisonFloat)

Parameters:
  `tokWhat` -
  `data` -
  `tokOperator` -
  `comparisonFloat` -
Returns:
  BitSet

### compareFloat

protected boolean compareFloat(int tokOperator, float a, float b)

### getBitsetPropertyFloat

public float[] getBitsetPropertyFloat(BS bs, int tok, String property, float min, float max) throws ScriptException

Throws:
  `ScriptException`

### getBitsetProperty

public Object getBitsetProperty(BS bs, Lst<SV> pts, int tok, P3 ptRef, P4 planeRef, Object tokenValue, Object opValue, boolean useAtomMap, int index, boolean asVectorIfAll) throws ScriptException

Throws:
  `ScriptException`

### getAtomBits

protected BS getAtomBits(int tokType, Object specInfo)

### getSeqCode

protected static int getSeqCode(T instruction)

### setVariable

public SV setVariable(int pt, int ptMax, String key, boolean isSet) throws ScriptException

Parameters:
  `pt` - starting point in command token sequence
  `ptMax` - ending point in command token sequenec, possibly -1 for "all"
  `key` - the variable name to save the result in. This must be a standard user variable, either local or global
  `isSet` - from Set ... or Var .... or just xxx ....
Returns:
  a variable or null
Throws:
  `ScriptException`

### setStatement

protected boolean setStatement(T[] st0, int pt0) throws ScriptException
provides support for @x and @{....} in statements. The compiler passes on these, because they must be integrated with the statement dynamically.

Parameters:
  `st0` - aaToken[i]
  `pt0` -
Returns:
  a fixed token set -- with possible overrun of unused null tokens
Throws:
  `ScriptException`

### isFunction

protected boolean isFunction(String sf)

### addFunction

protected void addFunction(ScriptFunction f)

### getFunction

protected ScriptFunction getFunction(String sf)