|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.isi.stella.Stella_Object
public abstract class Stella_Object
A reflective object that can participate in dynamically-typed contexts. Either a STANDARD-OBJECT or a WRAPPER or a GENERIC-OBJECT. Also, either an OBJECT-WITH-INHERITED-TYPE or an OBJECT-WITH-OWN-TYPE.
Constructor Summary | |
---|---|
Stella_Object()
|
Method Summary | |
---|---|
static Stella_Object |
_(Stella_Object place,
Cons decrement)
Decrement the value of place and return the result. |
static Stella_Object |
accessInContext(Stella_Object value,
Context homecontext,
boolean dontinheritP)
|
static void |
addPropertyValue(Stella_Object property,
Stella_Object value)
Add value to the end of property s (a string or symbol) value
list in the configuration table. |
static Symbol |
amPm(Stella_Object string)
|
static boolean |
anchoredTypeSpecifierP(Stella_Object x)
|
static boolean |
andOrNotTreeP(Stella_Object tree)
|
static Stella_Object |
applyCoercionMethod(Stella_Object expression,
Surrogate sourcetype,
Surrogate targettype,
Stella_Object coercionmethod,
java.lang.Object[] MV_returnarray)
|
static boolean |
atomicExpressionP(Stella_Object tree)
|
static boolean |
bindToSurrogateP(Stella_Object self,
java.lang.String name,
boolean clipoldvalueP,
boolean askforpermissionP,
java.lang.Object[] MV_returnarray)
|
static boolean |
booleanP(Stella_Object x)
|
static boolean |
bootstrapIsaP(Stella_Object x,
Surrogate type)
|
static Stella_Object |
bquotify(Stella_Object tree)
|
static Stella_Object |
cast(Stella_Object value,
Surrogate type)
Perform a run-time type check, and then return value . |
static boolean |
characterP(Stella_Object x)
|
static java.lang.reflect.Method |
chooseSortPredicate(Stella_Object firstelement)
|
static Stella_Object |
clConditionalizeTypeDeclarationTree(Stella_Object declaration)
|
Stella_Object |
clTranslateAtomicTree()
|
static Stella_Object |
clTranslateATree(Stella_Object tree)
|
static Stella_Object |
clTranslateBooleanTest(Stella_Object tree,
boolean invertP)
|
static Stella_Object |
clTranslatePlainBooleanTest(Stella_Object tree,
boolean invertP)
|
static Stella_Object |
clTranslateVerbatimBodySymbols(Stella_Object body,
List parameters)
|
static Stella_Object |
clYieldTypedExpressionTree(Stella_Object tree,
StandardObject type)
|
static Stella_Object |
coerceATree(Stella_Object tree,
StandardObject sourcetype,
StandardObject targettype,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
coerceEvaluatedTree(Stella_Object tree,
Stella_Object sourcetree,
StandardObject sourcetype,
StandardObject targettype,
boolean evaluateP,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
coerceMvTree(Stella_Object tree,
Symbol operator,
List sourcetypes,
List targettypes,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
coerceOptionValue(Stella_Object value,
Surrogate type)
Coerce value to type . |
static BooleanWrapper |
coerceToBoolean(Stella_Object renamed_Object)
Return the boolean object represented by renamed_Object . |
static double |
coerceToFloat(Stella_Object renamed_Object)
Coerce number to a float value or NULL if not possible. |
static HashSet |
coerceToHashSet(Stella_Object self,
boolean equaltestP)
Coerce the collection self into a HASH-SET. |
static Module |
coerceToModule(Stella_Object renamed_Object,
boolean warnP)
|
static java.lang.String |
coerceToModuleName(Stella_Object namespec,
boolean warnP)
|
static java.lang.String |
coerceToString(Stella_Object renamed_Object)
Coerce renamed_Object into a string. |
static GeneralizedSymbol |
coerceToSymbol(Stella_Object name)
Return the (generalized) symbol represented by name . |
static XmlElement |
coerceToXmlElement(Stella_Object regiontag)
|
static BooleanWrapper |
coerceValueToBoolean(Stella_Object value,
boolean errorP)
Return the boolean object represented by value . |
static double |
coerceValueToFloat(Stella_Object value,
boolean errorP)
Coerce value to a float value if possible, return
NULL otherwise or raise an error if errorP is true. |
static java.lang.String |
coerceValueToString(Stella_Object value,
boolean errorP)
Coerce value into a string if possible, return NULL
otherwise or raise an error if errorP is true. |
static Stella_Object |
coerceValueToType(Stella_Object value,
Surrogate type,
boolean errorP)
Coerce value to type . |
static boolean |
coercibleP(Stella_Object tree,
StandardObject sourcetype,
StandardObject targettype)
|
static List |
collectFeatureList(Stella_Object tree)
|
static KeyValueList |
collectKeyValueList(Stella_Object tree)
|
static boolean |
commonLispSymbolP(Stella_Object self)
|
static StandardObject |
computeExpressionType(Stella_Object expression,
boolean wrapP)
|
Cons |
consify()
If renamed_Object is a CONS, return it. |
static Stella_Object |
consifyListsAndIterators(Stella_Object tree)
|
static boolean |
consP(Stella_Object x)
|
static boolean |
consTreeMatchP(Stella_Object tree,
Stella_Object pattern)
Predicate version of matchConsTree (which see). |
static Stella_Object |
convertToLiteral(Stella_Object renamed_Object)
|
static Stella_Object |
copyConsTree(Stella_Object self)
Return a copy of the cons tree self . |
static boolean |
cppArgumentIsStreamP(Stella_Object arg)
|
static boolean |
cppBinaryOperatorP(Stella_Object statement)
|
static boolean |
cppBlockP(Stella_Object tree)
|
static void |
cppMaybeOutputStatementWithParentheses(Stella_Object statement)
|
static boolean |
cppOperatorP(Stella_Object statement)
|
static void |
cppOutputAtomicExpression(Stella_Object atom)
|
void |
cppOutputLiteral()
|
static void |
cppOutputOneActualParameter(Stella_Object parameter)
|
static void |
cppOutputStatement(Stella_Object statement)
|
static void |
cppOutputTypedEntity(Stella_Object type,
Stella_Object entity,
Stella_Object initialvalue)
|
static Cons |
cppPrognifyStatement(Stella_Object statement)
|
static boolean |
cppPrognP(Stella_Object tree)
|
static Cons |
cppStatementToList(Stella_Object statement)
|
static boolean |
cppStreamIsStandardOutputP(Stella_Object tree)
|
static void |
cpptrans(Stella_Object statement)
Translate statement to C++ and print the result. |
Cons |
cppTranslateAtomicTree()
|
static Stella_Object |
cppTranslateATree(Stella_Object tree)
|
static boolean |
cppTranslatedArrayTypeP(Stella_Object translatedtype)
|
static boolean |
csValueP(Stella_Object self)
|
static BooleanWrapper |
dateDivider(Stella_Object thecharacter)
|
static BooleanWrapper |
dateTimeDivider(Stella_Object thecharacter)
|
static BooleanWrapper |
day(Stella_Object number)
|
static void |
dealWithAmPm(Stella_Object formValue,
DecodedDateTime parsedValues)
|
static void |
dealWithEra(Stella_Object formValue,
DecodedDateTime parsedValues)
|
static void |
dealWithNoonMidn(Stella_Object formValue,
DecodedDateTime parsedValues)
|
void |
decrementReferenceCount()
|
static void |
defaultOptionHandler(Stella_Object self,
StorageSlot slot,
Stella_Object tree)
|
static SystemDefinition |
defineSystem(Stella_Object name,
Cons options)
|
static void |
defmodule(Stella_Object name,
Cons options)
Define (or redefine) a module named name . |
boolean |
deletedP()
Default deletedP method which always returns FALSE. |
static void |
describe(Stella_Object name,
Cons mode)
Print a description of an object in :verbose, :terse, or :source modes. |
void |
describeObject(OutputStream stream,
Keyword mode)
Prints a description of 'self' to stream 'stream'. |
static void |
describeTersely(Stella_Object self,
OutputStream stream)
|
static Symbol |
destructureMethodNameTree(Stella_Object nametree,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
deUglifyParseTree(Stella_Object tree)
|
static Stella_Object |
either(Stella_Object value1,
Stella_Object value2)
If 'value1' is defined, return that, else return 'value2'. |
static boolean |
eqlP(Stella_Object x,
Stella_Object y)
Return true if x and y are eqP or equivalent literals
such as strings that also might be wrapped in non-identical wrappers. |
static boolean |
eqlToBooleanP(Stella_Object y,
boolean x)
|
static boolean |
eqlToCharacterP(Stella_Object y,
char x)
|
static boolean |
eqlToFloatP(Stella_Object y,
double x)
|
static boolean |
eqlToIntegerP(Stella_Object y,
int x)
|
static boolean |
eqlToLongIntegerP(Stella_Object y,
long x)
|
static boolean |
eqlToStringP(Stella_Object y,
java.lang.String x)
|
static boolean |
equalConsTreesP(Stella_Object tree1,
Stella_Object tree2)
Return true iff the cons trees tree1 and tree2 are
structurally equivalent. |
int |
equalHashCode()
Return a hash code for self (can be negative). |
static boolean |
equalP(Stella_Object x,
Stella_Object y)
Return true if x and y are eqlP or considered equal
by a user-defined objectEqualP method. |
static Symbol |
era(Stella_Object string)
|
static int |
estimatedEvaluationCost(Stella_Object tree)
|
static Stella_Object |
evaluate(Stella_Object expression)
Evaluate the expression expression and return the result. |
static Stella_Object |
evaluateArgumentTree(Stella_Object tree,
boolean evaluateP,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
evaluateAtomicTree(Stella_Object tree,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
evaluateCommand(Stella_Object command,
boolean finalizeP)
|
static Stella_Object |
expandBquoteTree(Stella_Object tree)
|
static boolean |
filterModuleP(Stella_Object self,
AllPurposeIterator iterator)
|
static boolean |
floatP(Stella_Object x)
|
void |
free()
Default method. |
static Stella_Object |
get(Stella_Object name,
Cons type)
|
Stella_Object |
getObject(Stella_Object type)
|
static Stella_Object |
getProperty(Stella_Object property,
Cons defaultvalue)
Lookup property (a string or symbol) in the configuration
table and return its value. |
int |
hashCode_()
Return a hash code for self (can be negative). |
static Stella_Object |
hashlist(Stella_Object list,
Stella_Object table)
|
static int |
hashMemoizedArguments(Stella_Object arg1,
Stella_Object arg2,
Stella_Object arg3,
Stella_Object arg4,
int eqvector)
|
static Stella_Object |
helpBquotify(Stella_Object tree)
|
static Stella_Object |
helpClTranslateATree(Stella_Object tree)
|
static Stella_Object |
helpCoerceATree(Stella_Object tree,
StandardObject sourcetype,
StandardObject targettype,
boolean testonlyP,
java.lang.Object[] MV_returnarray)
|
static void |
helpLptrans(Stella_Object statement)
|
void |
helpPrintOutline(OutputStream stream,
int currentDepth,
int depth,
boolean namedP)
Helper method for printOutline |
static Cons |
helpTransformBooleanProceduralExpression(Stella_Object expression,
Symbol testvariable)
|
static Stella_Object |
helpWalkATree(Stella_Object tree,
java.lang.Object[] MV_returnarray)
|
Module |
homeModule()
Return the home module of self . |
static BooleanWrapper |
hour(Stella_Object number)
|
static void |
idlOutputAtomicExpression(Stella_Object atom)
|
void |
idlOutputLiteral()
|
static void |
idlOutputStatement(Stella_Object statement)
|
Cons |
idlTranslateAtomicTree()
|
static Stella_Object |
idlTranslateATree(Stella_Object tree)
|
static boolean |
illegalTreeP(Stella_Object tree)
|
static java.lang.String |
implodePathname(Stella_Object filepath)
|
static Stella_Object |
incrementallyTranslate(Stella_Object tree)
Translate a single Stella expression tree and return
the result. |
void |
incrementReferenceCount()
|
static Stella_Object |
inlineUnwrapBoolean(Stella_Object expression)
|
static Stella_Object |
inlineWrapBoolean(Stella_Object expression)
|
static Module |
inModule(Stella_Object name)
Change the current module to the module named name . |
static boolean |
integerP(Stella_Object x)
|
static boolean |
isaP(Stella_Object renamed_Object,
Surrogate type)
Return true iff renamed_Object is an instance of the class named type . |
static boolean |
javaBinaryOperatorP(Stella_Object statement)
|
static boolean |
javaBlockP(Stella_Object tree)
|
static boolean |
javaEndOfLineTokenP(Stella_Object token)
|
static void |
javaHelpOutputPrintStream(Stella_Object stream,
Cons exps,
boolean nativestreamP,
boolean endoflineP)
|
static void |
javaMaybeOutputStatementWithParentheses(Stella_Object statement)
|
static boolean |
javaOperatorP(Stella_Object statement)
|
void |
javaOutputLiteral()
|
static void |
javaOutputStatement(Stella_Object statement)
|
static boolean |
javaPrognP(Stella_Object tree)
|
static boolean |
javaStreamIsStandardOutputP(Stella_Object tree)
|
static boolean |
javaSymbolCaseP(Stella_Object keyform)
|
Cons |
javaTranslateAtomicTree()
|
static Stella_Object |
javaTranslateATree(Stella_Object tree)
|
static Cons |
javaTranslateWithNativeWrapper(Stella_Object tree,
StandardObject type)
|
static void |
jptrans(Stella_Object statement)
Translate statement to C++ and print the result. |
static boolean |
keywordP(Stella_Object x)
|
static boolean |
legalTokenizerFromStateP(Stella_Object x)
|
static boolean |
legalTokenizerStateP(Stella_Object x)
|
static boolean |
legalTokenizerToStateP(Stella_Object x)
|
static boolean |
literalEqlP(Stella_Object x,
Stella_Object y)
|
static boolean |
logLevelLE(Stella_Object level,
java.lang.String module)
Return TRUE if level is lower than or equal to the current
log level of module . |
static boolean |
longIntegerP(Stella_Object x)
|
static void |
lptrans(Stella_Object statement)
Translate statement to Common-Lisp and print the result. |
static Stella_Object |
makeEvaluatableBquoteTree(Stella_Object tree)
|
static java.lang.String |
makeFileNameFromRelativePath(Stella_Object filepath,
Keyword type)
|
static Cons |
makeMemoizedValueEntry(Stella_Object value,
Stella_Object arg1,
Stella_Object arg2,
Stella_Object arg3,
Stella_Object arg4)
|
static Cons |
makeMemoizedValueEntryn(Stella_Object value,
Cons args)
|
static KeyValueList |
matchConsTree(Stella_Object tree,
Stella_Object pattern,
KeyValueList bindings)
Match pattern against tree and return a list of
variable bindings if they match, or NULL otherwise. |
static boolean |
methodSlotP(Stella_Object x)
|
static BooleanWrapper |
minute(Stella_Object number)
|
static IntegerWrapper |
month(Stella_Object thing)
|
static java.lang.String |
nameToString(Stella_Object name)
Return the string represented by name . |
static boolean |
nilP(Stella_Object x)
Return true iff x equals nil . |
static Symbol |
noonMidn(Stella_Object string)
|
double |
numberWrapperToFloat()
|
boolean |
objectEqlP(Stella_Object y)
|
boolean |
objectEqualP(Stella_Object y)
Return true if x and y are eqP . |
static int |
objectHashCode(Stella_Object self)
Return a hash code for self (can be negative). |
static Stella_Object |
one(Stella_Object expression)
Subtract 1 from 'expression' and return the result. |
static Stella_Object |
oneI(Stella_Object expression)
Add 1 to 'expression' and return the result. |
static Stella_Object |
onlyIf(Stella_Object test,
Stella_Object expression)
If 'test' is TRUE, return the result of evaluating 'expression'. |
static boolean |
parametricTypeSpecifierP(Stella_Object x)
|
static List |
parseArrayDimensionsSpec(Stella_Object dimensionsspec)
|
static PropertyList |
parseOptions(Stella_Object options,
Cons legaloptionsAtypes,
boolean coercionerrorP,
boolean allowotherkeysP)
Parse options , check their validity according to
legalOptionsATypes and return the result as a PROPERTY-LIST. |
static Cons |
parseTokenizerCharacterSpec(Stella_Object characterspec,
List allcharactersets)
|
static int |
parseTokenizerStateModifiers(Stella_Object modifier)
|
static Stella_Object |
permanentCopy(Stella_Object tree)
|
Stella_Object |
permanentify()
|
static Stella_Object |
permanentifyForm(Stella_Object form)
|
static void |
po(Stella_Object thing)
|
static void |
prettyPrintLiteral(Stella_Object literal,
OutputStream stream)
|
Stella_Class |
primaryClass()
|
Surrogate |
primaryType()
Returns the primary type of self . |
void |
printObject(java.io.PrintStream stream)
|
static void |
printOutline(Stella_Object thing,
OutputStream stream,
int depth,
boolean namedP)
Print an outline of thing and its subparts on stream . |
static void |
printStellaCode(Stella_Object tree,
java.io.PrintStream stream)
|
static void |
printStellaDefinition(Stella_Object tree,
java.io.PrintStream stream)
|
static void |
printUndefinedSuperClasses(Stella_Object renamed_Class)
Print all undefined or bad (indirect) super classes of renamed_Class . |
static boolean |
proceduralExpressionP(Stella_Object tree)
|
static void |
ptrans(Stella_Object statement)
Translate statement to Common-Lisp and print the result. |
Iterator |
publicSlots()
Return an iterator over public slots of self . |
static void |
registerRecycledItem(Stella_Object item)
|
static boolean |
runOptionHandlerP(Stella_Object renamed_Object,
Keyword option,
Stella_Object valuetree)
|
static int |
safeEqualHashCode(Stella_Object self)
Return a hash code for self . |
static int |
safeHashCode(Stella_Object self)
Return a hash code for self . |
static Surrogate |
safePrimaryType(Stella_Object x)
|
static StandardObject |
safeYieldTypeSpecifier(Stella_Object typetree)
|
static boolean |
searchConsTreeP(Stella_Object tree,
Stella_Object value)
Return true iff the value value is embedded within
the cons tree tree . |
static boolean |
searchConsTreeWithFilterP(Stella_Object tree,
Stella_Object value,
Cons filter)
Return true iff the value value is embedded within
the cons tree tree . |
static Stella_Object |
searchForObject(Stella_Object self,
Stella_Object typeref)
If self is a string or a symbol, search for an object named
self of type type . |
static BooleanWrapper |
secondp(Stella_Object number)
|
static void |
setProperty(Stella_Object property,
Stella_Object value)
Set property (a string or symbol) in the configuration
table to value . |
static boolean |
sideEffectFreeExpressionP(Stella_Object tree)
|
static Stella_Object |
simplifyBquoteTree(Stella_Object tree)
|
static Symbol |
specialp(Stella_Object string)
|
boolean |
standardObjectP()
|
static Stella_Object |
stella_Increment(Stella_Object place,
Cons increment)
Increment the value of place and return the result. |
static boolean |
stellaClassP(Stella_Object x)
|
static boolean |
stellaCollectionP(Stella_Object self)
Return true if self is a native collection. |
static boolean |
stellaNeedToCompileP(Stella_Object file)
|
static boolean |
stellaNeedToTranslateP(Stella_Object file,
Keyword language)
|
static boolean |
stellaObjectP(Stella_Object self)
Return true if self is a member of the STELLA class OBJECT . |
static Stella_Object |
stellify(Stella_Object self)
Convert a Lisp object into a STELLA object. |
static boolean |
storageSlotP(Stella_Object x)
|
static java.lang.String |
stringifyInModule(Stella_Object tree,
Module module)
Stringify a parse tree relative to module , or
$MODULE$ if no module is specified. |
static boolean |
stringP(Stella_Object x)
|
static Stella_Object |
substituteConsTree(Stella_Object tree,
Stella_Object newvalue,
Stella_Object oldvalue)
Destructively replace each appearance of oldvalue by
newvalue in the cons tree tree . |
static boolean |
substituteOnce(Stella_Object expression,
Stella_Object newtree,
Stella_Object oldtree)
|
static boolean |
surrogateP(Stella_Object x)
|
Surrogate |
surrogatify()
|
void |
sweep()
Default method. |
static boolean |
symbolCaseP(Stella_Object keyform)
|
static boolean |
symbolP(Stella_Object x)
|
static Cons |
sysTree(Stella_Object tree,
StandardObject typespec,
java.lang.Object[] MV_returnarray)
|
static Surrogate |
targetLanguageType(Stella_Object tree)
|
static boolean |
taxonomyIsaP(Stella_Object renamed_Object,
Surrogate type)
|
static BooleanWrapper |
timeDivider(Stella_Object thecharacter)
|
static TimeDuration |
timeMultiply(Stella_Object t1,
Stella_Object t2)
Multiplies a relative date by a wrapped number. |
static boolean |
tokenizerIncludeSpecP(Stella_Object x)
|
static GeneralizedSymbol |
tokenizerToStateAlias(Stella_Object state)
|
static GeneralizedSymbol |
tokenizerToStateName(Stella_Object state)
|
java.lang.String |
toString()
|
static Stella_Object |
traceIf(Stella_Object keyword,
Cons body)
If keyword is a trace keyword that has been enabled with addTrace
print all the elements in body to standard output. |
static boolean |
traceKeywordP(Stella_Object keyword)
|
static Stella_Object |
transientifyForm(Stella_Object form)
|
static boolean |
transientObjectP(Stella_Object renamed_Object)
|
static boolean |
transientSymbolP(Stella_Object x)
|
static Stella_Object |
translateWalkedTree(Stella_Object codetree)
|
static int |
treeSize(Stella_Object self)
|
static Cons |
treeToTrees(Stella_Object tree)
|
static boolean |
trueOptionP(Stella_Object value)
|
static Stella_Object |
tryToEvaluate(Stella_Object tree)
Variant of evaluate that only evaluates tree if it
represents an evaluable expression. |
static boolean |
typeP(Stella_Object x)
|
static Surrogate |
typify(Stella_Object self)
|
static void |
unmake(Stella_Object self)
|
static void |
unregisterRecycledItem(Stella_Object item)
|
static Stella_Object |
updateInContext(Stella_Object oldvalue,
Stella_Object newvalue,
Context homecontext,
boolean copytochildrenP)
|
static boolean |
valuesTreeP(Stella_Object tree)
|
static boolean |
variableExpressionP(Stella_Object tree)
|
static boolean |
verbatimStringP(Stella_Object x)
|
static boolean |
verbatimTreeP(Stella_Object tree)
|
static PropertyList |
vetOptions(Stella_Object plist,
Cons legaloptions)
|
static boolean |
vrletExpressionP(Stella_Object tree)
|
Stella_Object |
walkAtomicTree(java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkATree(Stella_Object tree,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkCollectionTree(Stella_Object tree,
boolean dontoptimizeP,
java.lang.Object[] MV_returnarray)
|
static Cons |
walkDontCallMeTree(Stella_Object tree,
StandardObject returntype,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkedExpressionExpression(Stella_Object tree)
|
static StandardObject |
walkedExpressionType(Stella_Object tree)
|
static Stella_Object |
walkExpressionTree(Stella_Object exptree,
StandardObject targettype,
Symbol operatorname,
boolean vrletisokP,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkMvExpressionTree(Stella_Object tree,
List targettypes,
Symbol operator,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkMvTree(Stella_Object tree,
java.lang.Object[] MV_returnarray)
|
static Stella_Object |
walkStatement(Stella_Object tree,
boolean warnonatomP)
|
static Stella_Object |
walkTopLevelExpression(Stella_Object tree)
|
static Stella_Object |
walkWithoutTypeTree(Stella_Object tree)
|
static void |
warnAboutUnknownSourceType(Stella_Object tree)
|
static Keyword |
weekday(Stella_Object thing)
|
static Stella_Object |
withinContext(Stella_Object contextform,
Cons body)
Execute body within the context resulting from contextform . |
static Stella_Object |
withinModule(Stella_Object moduleform,
Cons body)
Execute body within the module resulting from moduleform . |
static Stella_Object |
withinWorld(Stella_Object worldform,
Cons body)
Execute body within the world resulting from worldform . |
static Stella_Object |
withStellaTokenizer(Stella_Object input,
Cons body)
|
static Stella_Object |
withSystemDefinition(Stella_Object systemnameexpression,
Cons body)
Set *currentSystemDefinition* to the system definition named system . |
static Stella_Object |
withTokenizer(Stella_Object table,
Stella_Object input,
Cons body)
|
static boolean |
wrapperP(Stella_Object x)
|
static Cons |
wrapWhereTest(Stella_Object wheretest,
Cons actions)
|
static boolean |
xmlAttributeP(Stella_Object item)
Return true if item is an XML attribute object |
static boolean |
xmlBaseAttributeP(Stella_Object item)
Return true if item is an XML attribute object |
static boolean |
xmlCdataFormP(Stella_Object form)
Return true if form is a CONS headed by a CDATA tag |
static boolean |
xmlCdataP(Stella_Object item)
Return true if item is an XML CDATA tag object |
static boolean |
xmlDeclarationFormP(Stella_Object form)
Return true if form is a CONS headed by an XML DECLARATION tag |
static boolean |
xmlDeclarationP(Stella_Object item)
Return true if item is an XML declaration object |
static boolean |
xmlDoctypeFormP(Stella_Object form)
Return true if form is a CONS headed by a DOCTYPE tag |
static boolean |
xmlElementFormP(Stella_Object form)
Return true if form is a CONS headed by an XML ELEMENT tag |
static boolean |
xmlElementP(Stella_Object item)
Return true if item is an XML element object |
static boolean |
xmlGlobalAttributeP(Stella_Object item)
Return true if item is an XML attribute object |
static boolean |
xmlLocalAttributeP(Stella_Object item)
Return true if item is an XML attribute object |
static boolean |
xmlnsAttributeP(Stella_Object attribute)
|
static boolean |
xmlProcessingInstructionFormP(Stella_Object form)
Return true if form is a CONS headed by an XML PROCESSING INSTRUCTION tag |
static boolean |
xmlProcessingInstructionP(Stella_Object item)
Return true if item is an XML processing instruction object |
static Stella_Object |
xmlTagCase(Stella_Object item,
Cons clauses)
A case form for matching item against XML element tags. |
static BooleanWrapper |
year(Stella_Object number)
|
static Cons |
yieldCondTest(Stella_Object casetest,
Stella_Object testvariable,
Symbol equalitytest)
|
static Stella_Object |
yieldCondTestOrTests(Stella_Object casetest,
Stella_Object testvariable,
Symbol equalitytest)
|
static Stella_Object |
yieldHardcodedCaseSymbolIdOrIds(Stella_Object casetest)
|
static Cons |
yieldInCursorClausesForArgumentList(Stella_Object collectiontree,
StandardObject collectiontype,
Symbol keyvar,
Symbol valuevar,
java.lang.Object[] MV_returnarray)
|
static Cons |
yieldInCursorClausesForGeneralCollection(Stella_Object collectiontree,
StandardObject collectiontype,
Symbol keyvar,
Symbol valuevar,
java.lang.Object[] MV_returnarray)
|
static Cons |
yieldInCursorClausesForVector(Stella_Object collectiontree,
StandardObject collectiontype,
Symbol keyvar,
Symbol valuevar,
java.lang.Object[] MV_returnarray)
|
StandardObject |
yieldTypeSpecifier()
|
static FloatWrapper |
zone(Stella_Object thing)
|
static BooleanWrapper |
zoneMinute(Stella_Object number)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Stella_Object()
Method Detail |
---|
public void helpPrintOutline(OutputStream stream, int currentDepth, int depth, boolean namedP)
printOutline
stream
- currentDepth
- depth
- namedP
- public static void printOutline(Stella_Object thing, OutputStream stream, int depth, boolean namedP)
thing
and its subparts on stream
.
If depth
is non-negative, only depth
levels will be printed.
If namedP
is TRUE
, then only named entities will be printed.
This function is intended to be used on things like modules, contexts,
concepts, etc. that have hierarchical structure. If thing
doesn't
have a hierarchical structure, it will just be printed.
thing
- stream
- depth
- namedP
- public static void idlOutputAtomicExpression(Stella_Object atom)
public void idlOutputLiteral()
public static void idlOutputStatement(Stella_Object statement)
public Cons idlTranslateAtomicTree()
public static Stella_Object idlTranslateATree(Stella_Object tree)
public static boolean javaOperatorP(Stella_Object statement)
public static boolean javaBinaryOperatorP(Stella_Object statement)
public static void javaHelpOutputPrintStream(Stella_Object stream, Cons exps, boolean nativestreamP, boolean endoflineP)
public static boolean javaEndOfLineTokenP(Stella_Object token)
public static boolean javaBlockP(Stella_Object tree)
public static boolean javaPrognP(Stella_Object tree)
public void javaOutputLiteral()
public static void javaMaybeOutputStatementWithParentheses(Stella_Object statement)
public static void javaOutputStatement(Stella_Object statement)
public Cons javaTranslateAtomicTree()
public static boolean javaStreamIsStandardOutputP(Stella_Object tree)
public static Cons javaTranslateWithNativeWrapper(Stella_Object tree, StandardObject type)
public static boolean javaSymbolCaseP(Stella_Object keyform)
public static Stella_Object javaTranslateATree(Stella_Object tree)
public static void jptrans(Stella_Object statement)
statement
to C++ and print the result.
statement
- public static void cppOutputOneActualParameter(Stella_Object parameter)
public static boolean cppArgumentIsStreamP(Stella_Object arg)
public static void cppOutputTypedEntity(Stella_Object type, Stella_Object entity, Stella_Object initialvalue)
public static boolean cppOperatorP(Stella_Object statement)
public static boolean cppBinaryOperatorP(Stella_Object statement)
public static void cppMaybeOutputStatementWithParentheses(Stella_Object statement)
public static void cppOutputAtomicExpression(Stella_Object atom)
public void cppOutputLiteral()
public static boolean cppBlockP(Stella_Object tree)
public static boolean cppPrognP(Stella_Object tree)
public static void cppOutputStatement(Stella_Object statement)
public static Cons cppStatementToList(Stella_Object statement)
public static Cons cppPrognifyStatement(Stella_Object statement)
public static boolean cppTranslatedArrayTypeP(Stella_Object translatedtype)
public Cons cppTranslateAtomicTree()
public static boolean cppStreamIsStandardOutputP(Stella_Object tree)
public static boolean symbolCaseP(Stella_Object keyform)
public static Stella_Object cppTranslateATree(Stella_Object tree)
public static void cpptrans(Stella_Object statement)
statement
to C++ and print the result.
statement
- public void describeObject(OutputStream stream, Keyword mode)
stream
- mode
- public static Stella_Object convertToLiteral(Stella_Object renamed_Object)
public static boolean literalEqlP(Stella_Object x, Stella_Object y)
public static void prettyPrintLiteral(Stella_Object literal, OutputStream stream)
public static Stella_Object consifyListsAndIterators(Stella_Object tree)
public static void describeTersely(Stella_Object self, OutputStream stream)
public static void describe(Stella_Object name, Cons mode)
name
- mode
- public static Stella_Object searchForObject(Stella_Object self, Stella_Object typeref)
self
is a string or a symbol, search for an object named
self
of type type
. Otherwise, if self
is an object, return it.
self
- typeref
-
public Stella_Object getObject(Stella_Object type)
public static Stella_Object get(Stella_Object name, Cons type)
public static void addPropertyValue(Stella_Object property, Stella_Object value)
value
to the end of property
s (a string or symbol) value
list in the configuration table. Coerces the current value to a list or initializes
the list if it is as yet undefined. Allows incremental addition of values to
list-valued propertys. Note that property
is evaluated and will need to be quoted
if supplied as a symbol. Symbols will also be upcased if this command is run in a
non-case-sensitive module.
property
- value
- public static void setProperty(Stella_Object property, Stella_Object value)
property
(a string or symbol) in the configuration
table to value
. Note that property
is evaluated and will need to be quoted
if supplied as a symbol. Symbols will also be upcased if this command is run in
a non-case-sensitive module.
property
- value
- public static Stella_Object getProperty(Stella_Object property, Cons defaultvalue)
property
(a string or symbol) in the configuration
table and return its value. If it is undefined, return the optional defaultvalue
.
Note that property
is evaluated and will need to be quoted if supplied as a
symbol. Symbols will also be upcased if this command is run in a non-case-
sensitive module.
property
- defaultvalue
-
public static SystemDefinition defineSystem(Stella_Object name, Cons options)
public static Stella_Object evaluateCommand(Stella_Object command, boolean finalizeP)
public static PropertyList parseOptions(Stella_Object options, Cons legaloptionsAtypes, boolean coercionerrorP, boolean allowotherkeysP)
options
, check their validity according to
legalOptionsATypes
and return the result as a PROPERTY-LIST.
legalOptionsATypes
has to either be NULL or a flat list of legal
<keyword> <coercionType> pairs. A type specifcation of @IDENTITY
means don't perform any coercion.
If coercionErrorP
is TRUE, raise an error if a coercion failed.
If allowOtherKeysP
is TRUE options other than those specified in
legalOptionsATypes
are allowed but won't be coerced since we don't
know their type.
options
- legaloptionsAtypes
- coercionerrorP
- allowotherkeysP
-
public static PropertyList vetOptions(Stella_Object plist, Cons legaloptions)
public static Stella_Object coerceOptionValue(Stella_Object value, Surrogate type)
value
to type
. Return NULL if not possible.
value
- type
-
public static Stella_Object coerceValueToType(Stella_Object value, Surrogate type, boolean errorP)
value
to type
. Return NULL if not possible
or raise an error if errorP
is TRUE.
value
- type
- errorP
-
public static double coerceToFloat(Stella_Object renamed_Object)
number
to a float value or NULL if not possible.
renamed_Object
-
public static double coerceValueToFloat(Stella_Object value, boolean errorP)
value
to a float value if possible, return
NULL otherwise or raise an error if errorP
is true.
value
- errorP
-
public static java.lang.String coerceToString(Stella_Object renamed_Object)
renamed_Object
into a string. If no standard coercion
is possible, simply stringify renamed_Object
.
renamed_Object
-
public static java.lang.String coerceValueToString(Stella_Object value, boolean errorP)
value
into a string if possible, return NULL
otherwise or raise an error if errorP
is true.
value
- errorP
-
public static BooleanWrapper coerceToBoolean(Stella_Object renamed_Object)
renamed_Object
.
Return NULL if coercion is not possible.
renamed_Object
-
public static BooleanWrapper coerceValueToBoolean(Stella_Object value, boolean errorP)
value
. Return NULL
if coercion is not possible or raise an error if errorP
is TRUE.
value
- errorP
-
public static boolean stellaNeedToCompileP(Stella_Object file)
public static boolean stellaNeedToTranslateP(Stella_Object file, Keyword language)
public static java.lang.String implodePathname(Stella_Object filepath)
public static java.lang.String makeFileNameFromRelativePath(Stella_Object filepath, Keyword type)
public static Cons makeMemoizedValueEntryn(Stella_Object value, Cons args)
public static Cons makeMemoizedValueEntry(Stella_Object value, Stella_Object arg1, Stella_Object arg2, Stella_Object arg3, Stella_Object arg4)
public static int hashMemoizedArguments(Stella_Object arg1, Stella_Object arg2, Stella_Object arg3, Stella_Object arg4, int eqvector)
public static Stella_Object withSystemDefinition(Stella_Object systemnameexpression, Cons body)
system
.
Set *currentSystemDefinitionSubdirectory* to match. Execute body
within
that scope.
systemnameexpression
- body
-
public static Stella_Object withinModule(Stella_Object moduleform, Cons body)
body
within the module resulting from moduleform
.
$MODULE$
is an acceptable moduleform
. It will locally rebind
$MODULE$
and $CONTEXT$
and shield the outer bindings from changes.
moduleform
- body
-
public static Stella_Object withinContext(Stella_Object contextform, Cons body)
body
within the context resulting from contextform
.
contextform
- body
-
public static Stella_Object withinWorld(Stella_Object worldform, Cons body)
body
within the world resulting from worldform
.
worldform
- body
-
public static Stella_Object onlyIf(Stella_Object test, Stella_Object expression)
test
- expression
-
public static Stella_Object either(Stella_Object value1, Stella_Object value2)
value1
- value2
-
public static Stella_Object one(Stella_Object expression)
expression
-
public static Stella_Object oneI(Stella_Object expression)
expression
-
public static Stella_Object _(Stella_Object place, Cons decrement)
place
and return the result.
place
can be either a variable name or a slot reference. Decrement by
the optional decrement
(which can be a float) or 1 otherwise.
place
- decrement
-
public static Stella_Object stella_Increment(Stella_Object place, Cons increment)
place
and return the result.
place
can be either a variable name or a slot reference. Increment by
the optional increment
(which can be a float) or 1 otherwise.
place
- increment
-
public static Stella_Object xmlTagCase(Stella_Object item, Cons clauses)
item
against XML element tags. Each
element of clauses
should be a clause with the form
("tagname" ...) or
(("tagname" "namespace-uri") ...)
The clause heads can optionally be symbols instead of strings. The key forms the
parameters to the method xmlElementMatchP
, with a missing namespace argument
passed as NULL.
The namespace argument will be evaluated, so one can use bound variables in place of a fixed string. As a special case, if the namespace argument is :ANY, then the test will be done for a match on the tag name alone.
item
- clauses
-
public static boolean xmlCdataFormP(Stella_Object form)
true
if form
is a CONS headed by a CDATA tag
form
-
public static boolean xmlDoctypeFormP(Stella_Object form)
true
if form
is a CONS headed by a DOCTYPE tag
form
-
public static boolean xmlDeclarationFormP(Stella_Object form)
true
if form
is a CONS headed by an XML DECLARATION tag
form
-
public static boolean xmlProcessingInstructionFormP(Stella_Object form)
true
if form
is a CONS headed by an XML PROCESSING INSTRUCTION tag
form
-
public static boolean xmlElementFormP(Stella_Object form)
true
if form
is a CONS headed by an XML ELEMENT tag
form
-
public static boolean xmlProcessingInstructionP(Stella_Object item)
true
if item
is an XML processing instruction object
item
-
public static boolean xmlDeclarationP(Stella_Object item)
true
if item
is an XML declaration object
item
-
public static boolean xmlBaseAttributeP(Stella_Object item)
true
if item
is an XML attribute object
item
-
public static boolean xmlLocalAttributeP(Stella_Object item)
true
if item
is an XML attribute object
item
-
public static boolean xmlGlobalAttributeP(Stella_Object item)
true
if item
is an XML attribute object
item
-
public static boolean xmlAttributeP(Stella_Object item)
true
if item
is an XML attribute object
item
-
public static boolean xmlElementP(Stella_Object item)
true
if item
is an XML element object
item
-
public static boolean xmlCdataP(Stella_Object item)
true
if item
is an XML CDATA tag object
item
-
public static XmlElement coerceToXmlElement(Stella_Object regiontag)
public static boolean xmlnsAttributeP(Stella_Object attribute)
public static Stella_Object withStellaTokenizer(Stella_Object input, Cons body)
public static Stella_Object withTokenizer(Stella_Object table, Stella_Object input, Cons body)
public static Cons parseTokenizerCharacterSpec(Stella_Object characterspec, List allcharactersets)
public static boolean tokenizerIncludeSpecP(Stella_Object x)
public static int parseTokenizerStateModifiers(Stella_Object modifier)
public static GeneralizedSymbol tokenizerToStateAlias(Stella_Object state)
public static GeneralizedSymbol tokenizerToStateName(Stella_Object state)
public static boolean legalTokenizerToStateP(Stella_Object x)
public static boolean legalTokenizerFromStateP(Stella_Object x)
public static boolean legalTokenizerStateP(Stella_Object x)
public static Stella_Object updateInContext(Stella_Object oldvalue, Stella_Object newvalue, Context homecontext, boolean copytochildrenP)
public static Stella_Object accessInContext(Stella_Object value, Context homecontext, boolean dontinheritP)
public static boolean csValueP(Stella_Object self)
public static boolean filterModuleP(Stella_Object self, AllPurposeIterator iterator)
public static Module inModule(Stella_Object name)
name
.
name
-
public static void defmodule(Stella_Object name, Cons options)
name
.
The accepted syntax is:
(defmodule <module-name>
[:documentation <docstring>]
[:includes {<module-name> | (<module-name>*)}]
[:uses {<module-name> | (<module-name>*)}]
[:lisp-package <package-name-string>]
[:java-package <package-specification-string>]
[:cpp-namespace <namespace-name-string>]
[:java-catchall-class
[:api? {TRUE | FALSE}]
[:case-sensitive? {TRUE | FALSE}]
[:shadow (<symbol>*)]
[:java-catchall-class <class-name-string>]
[<other-options>*])
name
can be a string or a symbol.
Modules include objects from other modules via two separate mechanisms:
(1) they inherit from their parents specified via the Cincludes
option
and/or a fully qualified module name, and (2) they inherit from used
modules specified via the Cuses
option. The main difference between
the two mechanisms is that inheritance from parents is transitive, while
uses-links are only followed one level deep. I.e., a module A that uses
B will see all objects of B (and any of B's parents) but not see anything
from modules used by B. Another difference is that only objects declared
as public can be inherited via uses-links (this is not yet enforced).
Note that - contrary to Lisp - there are separate name spaces for classes,
functions, and variables. For example, a module could inherit the class
CONS
from the STELLA
module, but shadow the function of the same name.
The above discussion of Cincludes
and Cuses
semantics keyed on the
inheritance/visibility of symbols. The PowerLoom system makes another
very important distinction: If a module 'A' is inherited directly or
indirectly via Cincludes
specification(s) by a submodule 'B', then all
definitions and facts asserted in 'A' are visible in 'B'. This is not the
cases for Cuses
; the Cuses
options does not impact inheritance of
propositions at all.
The list of modules specified in the
Cincludes
option plus (if supplied) the parent in the path used for
name
become the new module's parents. If no Cuses
option was
supplied, the new module will use the STELLA
module by default,
otherwise, it will use the set of specified modules.
If CcaseSensitiveP
is supplied as TRUE, symbols in the module
will be interned case-sensitively, otherwise (the default), they
will be converted to uppercase before they get interned. That
means that any reference from inside a case-sensitive module to a
non-case-sensitive module will have to use uppercase names for
symbols in the non-case-sensitive module. The standard system
modules are all NOT case sensitive.
Modules can shadow definitions of functions and classes inherited
from parents or used modules. Shadowing is done automatically,
but generates a warning unless the shadowed type or function name
is listed in the Cshadow
option of the module definition .
Examples: (defmodule "PL-KERNEL/PL-USER" :uses ("LOGIC" "STELLA") :package "PL-USER")
(defmodule PL-USER/GENEALOGY) The remaining options are relevant only for modules that contain STELLA code. Modules used only to contain knowledge base definitions and assertions have no use for them:
The keywords ClispPackage
, CjavaPackage
, and CcppPackage
specify
the name of a native package or name space in which symbols of the module
should be allocated when they get translated into one of Lisp, Java, or
C++. By default, Lisp symbols are allocated in the STELLA
package, and
C++ names are translated without any prefixes. The rules that the STELLA
translator uses to attach translated Java objects to classes and packages
are somewhat complex. Use :java-package option to specify a list of
package names (separated by periods) that prefix the Java object in this
module. Use :java-catchall-class to specify the name of the Java class to
contain all global & special variables, parameter-less functions and functions
defined on arguments that are not classes in the current module.
The default value will be the name of the module.
When set to TRUE, the :api? option tells the PowerLoom User Manual
generator that all functions defined in this module should be included in
the API section. Additionally, the Java translator makes all API
functions renamed_Synchronized
.
name
- options
- public static boolean trueOptionP(Stella_Object value)
public static Module coerceToModule(Stella_Object renamed_Object, boolean warnP)
public static java.lang.String coerceToModuleName(Stella_Object namespec, boolean warnP)
public static void helpLptrans(Stella_Object statement)
public static void ptrans(Stella_Object statement)
statement
to Common-Lisp and print the result.
statement
- public static void lptrans(Stella_Object statement)
statement
to Common-Lisp and print the result.
statement
- public static Stella_Object clConditionalizeTypeDeclarationTree(Stella_Object declaration)
public static Stella_Object clYieldTypedExpressionTree(Stella_Object tree, StandardObject type)
public static Stella_Object clTranslateVerbatimBodySymbols(Stella_Object body, List parameters)
public static Stella_Object clTranslatePlainBooleanTest(Stella_Object tree, boolean invertP)
public static Stella_Object clTranslateBooleanTest(Stella_Object tree, boolean invertP)
public static Stella_Object cast(Stella_Object value, Surrogate type)
value
.
value
- type
-
public Stella_Object clTranslateAtomicTree()
public static Stella_Object helpClTranslateATree(Stella_Object tree)
public static Stella_Object clTranslateATree(Stella_Object tree)
public static Stella_Object coerceEvaluatedTree(Stella_Object tree, Stella_Object sourcetree, StandardObject sourcetype, StandardObject targettype, boolean evaluateP, java.lang.Object[] MV_returnarray)
public static Stella_Object makeEvaluatableBquoteTree(Stella_Object tree)
public static Stella_Object evaluateAtomicTree(Stella_Object tree, java.lang.Object[] MV_returnarray)
public static Stella_Object evaluateArgumentTree(Stella_Object tree, boolean evaluateP, java.lang.Object[] MV_returnarray)
public static Stella_Object tryToEvaluate(Stella_Object tree)
evaluate
that only evaluates tree
if it
represents an evaluable expression. If it does not, tree
is returned
unmodified. This can be used to implement commands with mixed argument
evaluation strategies.
tree
-
public static Stella_Object evaluate(Stella_Object expression)
expression
and return the result.
Currently, only the evaluation of (possibly nested) commands and global
variables is supported. The second return value indicates the actual type
of the result (which might have been wrapped), and the third return value
indicates whether an error occurred during the evaluation. Expressions
are simple to program in Common Lisp, since they are built into the language,
and relatively awkward in Java and C++. Users of either of those
languages are more likely to want to call evaluateString
.
expression
-
public static Stella_Object deUglifyParseTree(Stella_Object tree)
public static boolean verbatimTreeP(Stella_Object tree)
public static int estimatedEvaluationCost(Stella_Object tree)
public static boolean sideEffectFreeExpressionP(Stella_Object tree)
public static Stella_Object yieldCondTestOrTests(Stella_Object casetest, Stella_Object testvariable, Symbol equalitytest)
public static Cons yieldCondTest(Stella_Object casetest, Stella_Object testvariable, Symbol equalitytest)
public static Stella_Object yieldHardcodedCaseSymbolIdOrIds(Stella_Object casetest)
public static boolean andOrNotTreeP(Stella_Object tree)
public static Stella_Object coerceMvTree(Stella_Object tree, Symbol operator, List sourcetypes, List targettypes, java.lang.Object[] MV_returnarray)
public static Stella_Object walkMvTree(Stella_Object tree, java.lang.Object[] MV_returnarray)
public static Stella_Object walkMvExpressionTree(Stella_Object tree, List targettypes, Symbol operator, java.lang.Object[] MV_returnarray)
public static boolean valuesTreeP(Stella_Object tree)
public static StandardObject safeYieldTypeSpecifier(Stella_Object typetree)
public static Cons helpTransformBooleanProceduralExpression(Stella_Object expression, Symbol testvariable)
public static boolean substituteOnce(Stella_Object expression, Stella_Object newtree, Stella_Object oldtree)
public static boolean proceduralExpressionP(Stella_Object tree)
public static boolean vrletExpressionP(Stella_Object tree)
public static boolean variableExpressionP(Stella_Object tree)
public static boolean atomicExpressionP(Stella_Object tree)
public Stella_Object walkAtomicTree(java.lang.Object[] MV_returnarray)
public static Stella_Object helpWalkATree(Stella_Object tree, java.lang.Object[] MV_returnarray)
public static Stella_Object walkATree(Stella_Object tree, java.lang.Object[] MV_returnarray)
public static Surrogate targetLanguageType(Stella_Object tree)
public static Stella_Object walkedExpressionExpression(Stella_Object tree)
public static StandardObject walkedExpressionType(Stella_Object tree)
public static Cons sysTree(Stella_Object tree, StandardObject typespec, java.lang.Object[] MV_returnarray)
public static Stella_Object walkStatement(Stella_Object tree, boolean warnonatomP)
public static Stella_Object walkWithoutTypeTree(Stella_Object tree)
public static StandardObject computeExpressionType(Stella_Object expression, boolean wrapP)
public static Stella_Object walkExpressionTree(Stella_Object exptree, StandardObject targettype, Symbol operatorname, boolean vrletisokP, java.lang.Object[] MV_returnarray)
public static boolean coercibleP(Stella_Object tree, StandardObject sourcetype, StandardObject targettype)
public static Stella_Object helpCoerceATree(Stella_Object tree, StandardObject sourcetype, StandardObject targettype, boolean testonlyP, java.lang.Object[] MV_returnarray)
public static Stella_Object coerceATree(Stella_Object tree, StandardObject sourcetype, StandardObject targettype, java.lang.Object[] MV_returnarray)
public static void warnAboutUnknownSourceType(Stella_Object tree)
public static Stella_Object applyCoercionMethod(Stella_Object expression, Surrogate sourcetype, Surrogate targettype, Stella_Object coercionmethod, java.lang.Object[] MV_returnarray)
public static Cons treeToTrees(Stella_Object tree)
public static boolean illegalTreeP(Stella_Object tree)
public static Cons walkDontCallMeTree(Stella_Object tree, StandardObject returntype, java.lang.Object[] MV_returnarray)
public static void po(Stella_Object thing)
public static Stella_Object incrementallyTranslate(Stella_Object tree)
tree
and return
the result. For C++ and Java print the translation to standard output and
return NIL instead.
tree
-
public static Stella_Object translateWalkedTree(Stella_Object codetree)
public static Stella_Object walkTopLevelExpression(Stella_Object tree)
public static boolean traceKeywordP(Stella_Object keyword)
public static Stella_Object traceIf(Stella_Object keyword, Cons body)
keyword
is a trace keyword that has been enabled with addTrace
print all the elements in body
to standard output. Otherwise, do nothing.
keyword
can also be a list of keywords in which case printing is done if
one or more of them are trace enabled.
keyword
- body
-
public static Cons wrapWhereTest(Stella_Object wheretest, Cons actions)
public static Cons yieldInCursorClausesForArgumentList(Stella_Object collectiontree, StandardObject collectiontype, Symbol keyvar, Symbol valuevar, java.lang.Object[] MV_returnarray)
public static Cons yieldInCursorClausesForVector(Stella_Object collectiontree, StandardObject collectiontype, Symbol keyvar, Symbol valuevar, java.lang.Object[] MV_returnarray)
public static Cons yieldInCursorClausesForGeneralCollection(Stella_Object collectiontree, StandardObject collectiontype, Symbol keyvar, Symbol valuevar, java.lang.Object[] MV_returnarray)
public static Stella_Object walkCollectionTree(Stella_Object tree, boolean dontoptimizeP, java.lang.Object[] MV_returnarray)
public static void defaultOptionHandler(Stella_Object self, StorageSlot slot, Stella_Object tree)
public static boolean runOptionHandlerP(Stella_Object renamed_Object, Keyword option, Stella_Object valuetree)
public static Symbol destructureMethodNameTree(Stella_Object nametree, java.lang.Object[] MV_returnarray)
public static KeyValueList collectKeyValueList(Stella_Object tree)
public static List collectFeatureList(Stella_Object tree)
public static java.lang.String stringifyInModule(Stella_Object tree, Module module)
tree
relative to module
, or
$MODULE$
if no module is specified.
tree
- module
-
public static Stella_Object transientifyForm(Stella_Object form)
public static Stella_Object permanentifyForm(Stella_Object form)
public static void dealWithEra(Stella_Object formValue, DecodedDateTime parsedValues)
public static void dealWithAmPm(Stella_Object formValue, DecodedDateTime parsedValues)
public static void dealWithNoonMidn(Stella_Object formValue, DecodedDateTime parsedValues)
public static BooleanWrapper dateTimeDivider(Stella_Object thecharacter)
public static BooleanWrapper dateDivider(Stella_Object thecharacter)
public static BooleanWrapper timeDivider(Stella_Object thecharacter)
public static BooleanWrapper year(Stella_Object number)
public static BooleanWrapper day(Stella_Object number)
public static BooleanWrapper hour(Stella_Object number)
public static BooleanWrapper zoneMinute(Stella_Object number)
public static BooleanWrapper minute(Stella_Object number)
public static BooleanWrapper secondp(Stella_Object number)
public static Symbol specialp(Stella_Object string)
public static FloatWrapper zone(Stella_Object thing)
public static IntegerWrapper month(Stella_Object thing)
public static Keyword weekday(Stella_Object thing)
public static Symbol noonMidn(Stella_Object string)
public static Symbol era(Stella_Object string)
public static Symbol amPm(Stella_Object string)
public static Stella_Object hashlist(Stella_Object list, Stella_Object table)
public static TimeDuration timeMultiply(Stella_Object t1, Stella_Object t2)
t1
or t2
must be a relative date and the other a wrapped number.
t1
- t2
-
public static boolean transientObjectP(Stella_Object renamed_Object)
public static void unregisterRecycledItem(Stella_Object item)
public static void registerRecycledItem(Stella_Object item)
public void sweep()
self
-type objects.
public static List parseArrayDimensionsSpec(Stella_Object dimensionsspec)
public StandardObject yieldTypeSpecifier()
public static boolean taxonomyIsaP(Stella_Object renamed_Object, Surrogate type)
public static boolean isaP(Stella_Object renamed_Object, Surrogate type)
true
iff renamed_Object
is an instance of the class named type
.
renamed_Object
- type
-
public static void printUndefinedSuperClasses(Stella_Object renamed_Class)
renamed_Class
.
renamed_Class
- public static GeneralizedSymbol coerceToSymbol(Stella_Object name)
name
.
Return null
if name
is undefined or does not represent a string.
name
-
public static java.lang.String nameToString(Stella_Object name)
name
. Return null
if name
is undefined or does not represent a string.
name
-
public Iterator publicSlots()
self
.
public void free()
self
.
public static boolean bindToSurrogateP(Stella_Object self, java.lang.String name, boolean clipoldvalueP, boolean askforpermissionP, java.lang.Object[] MV_returnarray)
public Stella_Class primaryClass()
public double numberWrapperToFloat()
public static Stella_Object permanentCopy(Stella_Object tree)
public Stella_Object permanentify()
public static Stella_Object simplifyBquoteTree(Stella_Object tree)
public static Stella_Object expandBquoteTree(Stella_Object tree)
public static Stella_Object bquotify(Stella_Object tree)
public static Stella_Object helpBquotify(Stella_Object tree)
public static boolean eqlToCharacterP(Stella_Object y, char x)
public static boolean eqlToStringP(Stella_Object y, java.lang.String x)
public static boolean eqlToFloatP(Stella_Object y, double x)
public static boolean eqlToLongIntegerP(Stella_Object y, long x)
public static boolean eqlToIntegerP(Stella_Object y, int x)
public static boolean eqlToBooleanP(Stella_Object y, boolean x)
public boolean objectEqlP(Stella_Object y)
public static Stella_Object inlineUnwrapBoolean(Stella_Object expression)
public static Stella_Object inlineWrapBoolean(Stella_Object expression)
public static Surrogate typify(Stella_Object self)
public Surrogate surrogatify()
public static boolean commonLispSymbolP(Stella_Object self)
public static HashSet coerceToHashSet(Stella_Object self, boolean equaltestP)
self
into a HASH-SET. Use an
equal test if equalTestP
is TRUE (equalTestP
will be ignored if self
already is a HASH-SET).
self
- equaltestP
-
public static boolean stellaCollectionP(Stella_Object self)
true
if self
is a native collection.
self
-
public static int treeSize(Stella_Object self)
public static void printStellaDefinition(Stella_Object tree, java.io.PrintStream stream)
public static void printStellaCode(Stella_Object tree, java.io.PrintStream stream)
public static boolean consTreeMatchP(Stella_Object tree, Stella_Object pattern)
matchConsTree
(which see).
tree
- pattern
-
public static KeyValueList matchConsTree(Stella_Object tree, Stella_Object pattern, KeyValueList bindings)
pattern
against tree
and return a list of
variable bindings if they match, or NULL otherwise. bindings
can
be NULL or an initial list of bindings to consider. Pattern variables
use KIF syntax, i.e., they need to start with a P
character. A
single question mark is interpreted as the anonymous variable. Example:
(match-cons-tree (quote (a (b (a d) e) (a d) f g))
(quote (a (?x ?y ?) ?y ? g))
NULL)
=> |kv|(<?Y,(A D)> <?X,B>)
Variables can't be quoted but quoting can effectively be achieved by
inserting to-be-quoted variables bound to themselves into bindings
.
tree
- pattern
- bindings
-
public static Stella_Object substituteConsTree(Stella_Object tree, Stella_Object newvalue, Stella_Object oldvalue)
oldvalue
by
newvalue
in the cons tree tree
. Return the tree. Uses an eqlP
test.
tree
- newvalue
- oldvalue
-
public static boolean equalConsTreesP(Stella_Object tree1, Stella_Object tree2)
true
iff the cons trees tree1
and tree2
are
structurally equivalent. Uses an eqlP
test.
tree1
- tree2
-
public static Stella_Object copyConsTree(Stella_Object self)
self
.
self
-
public static boolean searchConsTreeWithFilterP(Stella_Object tree, Stella_Object value, Cons filter)
true
iff the value value
is embedded within
the cons tree tree
. Uses an eqlP
test. Does not descend into any
cons whose first element matches an element of filter
.
tree
- value
- filter
-
public static boolean searchConsTreeP(Stella_Object tree, Stella_Object value)
true
iff the value value
is embedded within
the cons tree tree
. Uses an eqlP
test.
tree
- value
-
public static java.lang.reflect.Method chooseSortPredicate(Stella_Object firstelement)
public Cons consify()
renamed_Object
is a CONS, return it. Otherwise, return
a singleton cons list containing it.
public static boolean nilP(Stella_Object x)
true
iff x
equals nil
.
x
-
public boolean standardObjectP()
public static boolean parametricTypeSpecifierP(Stella_Object x)
public static boolean anchoredTypeSpecifierP(Stella_Object x)
public static boolean methodSlotP(Stella_Object x)
public static boolean storageSlotP(Stella_Object x)
public static boolean stellaClassP(Stella_Object x)
public static boolean consP(Stella_Object x)
public static boolean keywordP(Stella_Object x)
public static boolean transientSymbolP(Stella_Object x)
public static boolean symbolP(Stella_Object x)
public static boolean typeP(Stella_Object x)
public static boolean surrogateP(Stella_Object x)
public static boolean wrapperP(Stella_Object x)
public static boolean characterP(Stella_Object x)
public static boolean verbatimStringP(Stella_Object x)
public static boolean stringP(Stella_Object x)
public static boolean floatP(Stella_Object x)
public static boolean longIntegerP(Stella_Object x)
public static boolean integerP(Stella_Object x)
public static boolean booleanP(Stella_Object x)
public static boolean bootstrapIsaP(Stella_Object x, Surrogate type)
public static Surrogate safePrimaryType(Stella_Object x)
public static boolean stellaObjectP(Stella_Object self)
self
is a member of the STELLA class OBJECT
.
self
-
public static Stella_Object stellify(Stella_Object self)
self
-
public static void unmake(Stella_Object self)
public static int safeEqualHashCode(Stella_Object self)
self
. Just like equalHashCode
- which see, but also works for NULL. equalHashCode
methods that expect to
handle NULL components should use this function for recursive calls.
self
-
public int equalHashCode()
self
(can be negative). Two objects that are equalP
are guaranteed to generate the same hash code (provided, that writers of
objectEqualP
methods also implemented the appropriate equalHashCode
method). Two objects that are not equalP
do not necessarily generate different
hash codes.
public static int safeHashCode(Stella_Object self)
self
. Just like hashCode
- which see, but also works for NULL.
self
-
public int hashCode_()
self
(can be negative). Two objects that are eqlP
are guaranteed to generate the same hash code. Two objects that are not eqlP
do not necessarily generate different hash codes.
public static int objectHashCode(Stella_Object self)
self
(can be negative). Two objects that are eqP
are guaranteed to generate the same hash code. Two objects that are not eqP
do not necessarily generate different hash codes. Similar to hashCode
but
always hashes on the address of self
even if it is a wrapper.
self
-
public boolean objectEqualP(Stella_Object y)
x
and y
are eqP
.
y
-
public static boolean equalP(Stella_Object x, Stella_Object y)
x
and y
are eqlP
or considered equal
by a user-defined objectEqualP
method. This implements a fully extensible
equality test similar to Java's equals
method. Note that writers of custom
objectEqualP
methods must also implement a corresponding equalHashCode
method.
x
- y
-
public static boolean eqlP(Stella_Object x, Stella_Object y)
x
and y
are eqP
or equivalent literals
such as strings that also might be wrapped in non-identical wrappers. For
the case where x
or y
are plain literals such as strings or integers, the
STELLA translator substitutes the equality test appropriate for the particular
target language and does not actually call this function. For cases where
x
or y
are known to be of type STANDARD-OBJECT, the STELLA translator
substitutes the faster eqP
test inline.
x
- y
-
public static boolean logLevelLE(Stella_Object level, java.lang.String module)
level
is lower than or equal to the current
log level of module
. Return FALSE if any of them are undefined.
level
- module
-
public java.lang.String toString()
toString
in class java.lang.Object
public void printObject(java.io.PrintStream stream)
public void decrementReferenceCount()
public void incrementReferenceCount()
public boolean deletedP()
deletedP
method which always returns FALSE. Objects
that inherit DYNAMIC-SLOTS-MIXIN also inherit the dynamically-allocated slot
deletedObjectP
which is read/writable with specializations of this method.
public Module homeModule()
self
.
public Surrogate primaryType()
self
.
Gets defined automatically for every non-abstract subclass of OBJECT.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |