#include "constant.h"#include "userdata.h"#include "expressn.h"#include "symbol.h"


Go to the source code of this file.
Classes | |
| struct | dataObject |
| struct | entityRecord |
| struct | externalAddressType |
| struct | evaluationData |
Defines | |
| #define | DATA_OBJECT_PTR_ARG DATA_OBJECT_PTR |
| #define | GetDOLength(target) (((target).end - (target).begin) + 1) |
| #define | GetpDOLength(target) (((target)->end - (target)->begin) + 1) |
| #define | GetDOBegin(target) ((target).begin + 1) |
| #define | GetDOEnd(target) ((target).end + 1) |
| #define | GetpDOBegin(target) ((target)->begin + 1) |
| #define | GetpDOEnd(target) ((target)->end + 1) |
| #define | SetDOBegin(target, val) ((target).begin = (long) ((val) - 1)) |
| #define | SetDOEnd(target, val) ((target).end = (long) ((val) - 1)) |
| #define | SetpDOBegin(target, val) ((target)->begin = (long) ((val) - 1)) |
| #define | SetpDOEnd(target, val) ((target)->end = (long) ((val) - 1)) |
| #define | EnvGetDOLength(theEnv, target) (((target).end - (target).begin) + 1) |
| #define | EnvGetpDOLength(theEnv, target) (((target)->end - (target)->begin) + 1) |
| #define | EnvGetDOBegin(theEnv, target) ((target).begin + 1) |
| #define | EnvGetDOEnd(theEnv, target) ((target).end + 1) |
| #define | EnvGetpDOBegin(theEnv, target) ((target)->begin + 1) |
| #define | EnvGetpDOEnd(theEnv, target) ((target)->end + 1) |
| #define | EnvSetDOBegin(theEnv, target, val) ((target).begin = (long) ((val) - 1)) |
| #define | EnvSetDOEnd(theEnv, target, val) ((target).end = (long) ((val) - 1)) |
| #define | EnvSetpDOBegin(theEnv, target, val) ((target)->begin = (long) ((val) - 1)) |
| #define | EnvSetpDOEnd(theEnv, target, val) ((target)->end = (long) ((val) - 1)) |
| #define | DOPToString(target) (((struct symbolHashNode *) ((target)->value))->contents) |
| #define | DOPToDouble(target) (((struct floatHashNode *) ((target)->value))->contents) |
| #define | DOPToFloat(target) ((float) (((struct floatHashNode *) ((target)->value))->contents)) |
| #define | DOPToLong(target) (((struct integerHashNode *) ((target)->value))->contents) |
| #define | DOPToInteger(target) ((int) (((struct integerHashNode *) ((target)->value))->contents)) |
| #define | DOPToPointer(target) ((target)->value) |
| #define | DOPToExternalAddress(target) (((struct externalAddressHashNode *) ((target)->value))->externalAddress) |
| #define | EnvDOPToString(theEnv, target) (((struct symbolHashNode *) ((target)->value))->contents) |
| #define | EnvDOPToDouble(theEnv, target) (((struct floatHashNode *) ((target)->value))->contents) |
| #define | EnvDOPToFloat(theEnv, target) ((float) (((struct floatHashNode *) ((target)->value))->contents)) |
| #define | EnvDOPToLong(theEnv, target) (((struct integerHashNode *) ((target)->value))->contents) |
| #define | EnvDOPToInteger(theEnv, target) ((int) (((struct integerHashNode *) ((target)->value))->contents)) |
| #define | EnvDOPToPointer(theEnv, target) ((target)->value) |
| #define | EnvDOPToExternalAddress(target) (((struct externalAddressHashNode *) ((target)->value))->externalAddress) |
| #define | DOToString(target) (((struct symbolHashNode *) ((target).value))->contents) |
| #define | DOToDouble(target) (((struct floatHashNode *) ((target).value))->contents) |
| #define | DOToFloat(target) ((float) (((struct floatHashNode *) ((target).value))->contents)) |
| #define | DOToLong(target) (((struct integerHashNode *) ((target).value))->contents) |
| #define | DOToInteger(target) ((int) (((struct integerHashNode *) ((target).value))->contents)) |
| #define | DOToPointer(target) ((target).value) |
| #define | DOToExternalAddress(target) (((struct externalAddressHashNode *) ((target).value))->externalAddress)) |
| #define | EnvDOToString(theEnv, target) (((struct symbolHashNode *) ((target).value))->contents) |
| #define | EnvDOToDouble(theEnv, target) (((struct floatHashNode *) ((target).value))->contents) |
| #define | EnvDOToFloat(theEnv, target) ((float) (((struct floatHashNode *) ((target).value))->contents)) |
| #define | EnvDOToLong(theEnv, target) (((struct integerHashNode *) ((target).value))->contents) |
| #define | EnvDOToInteger(theEnv, target) ((int) (((struct integerHashNode *) ((target).value))->contents)) |
| #define | EnvDOToPointer(theEnv, target) ((target).value) |
| #define | EnvDOToExternalAddress(target) (((struct externalAddressHashNode *) ((target).value))->externalAddress)) |
| #define | CoerceToLongInteger(t, v) ((t == INTEGER) ? ValueToLong(v) : (long int) ValueToDouble(v)) |
| #define | CoerceToInteger(t, v) ((t == INTEGER) ? (int) ValueToLong(v) : (int) ValueToDouble(v)) |
| #define | CoerceToDouble(t, v) ((t == INTEGER) ? (double) ValueToLong(v) : ValueToDouble(v)) |
| #define | GetFirstArgument() (EvaluationData(theEnv)->CurrentExpression->argList) |
| #define | GetNextArgument(ep) (ep->nextArg) |
| #define | MAXIMUM_PRIMITIVES 150 |
| #define | MAXIMUM_EXTERNAL_ADDRESS_TYPES 10 |
| #define | BITS_PER_BYTE 8 |
| #define | BitwiseTest(n, b) ((n) & (char) (1 << (b))) |
| #define | BitwiseSet(n, b) (n |= (char) (1 << (b))) |
| #define | BitwiseClear(n, b) (n &= (char) ~(1 << (b))) |
| #define | TestBitMap(map, id) BitwiseTest(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
| #define | SetBitMap(map, id) BitwiseSet(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
| #define | ClearBitMap(map, id) BitwiseClear(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
| #define | EVALUATION_DATA 44 |
| #define | EvaluationData(theEnv) ((struct evaluationData *) GetEnvironmentData(theEnv,EVALUATION_DATA)) |
| #define | LOCALE extern |
| #define | SetMultifieldErrorValue(a) EnvSetMultifieldErrorValue(GetCurrentEnvironment(),a) |
| #define | FunctionCall(a, b, c) EnvFunctionCall(GetCurrentEnvironment(),a,b,c) |
Typedefs | |
| typedef struct dataObject | DATA_OBJECT |
| typedef struct dataObject * | DATA_OBJECT_PTR |
| typedef struct expr | FUNCTION_REFERENCE |
| typedef struct entityRecord | ENTITY_RECORD |
| typedef struct entityRecord * | ENTITY_RECORD_PTR |
Functions | |
| LOCALE void | InitializeEvaluationData (void *) |
| LOCALE int | EvaluateExpression (void *, struct expr *, struct dataObject *) |
| LOCALE void | SetEvaluationError (void *, intBool) |
| LOCALE int | GetEvaluationError (void *) |
| LOCALE void | SetHaltExecution (void *, int) |
| LOCALE int | GetHaltExecution (void *) |
| LOCALE void | ReturnValues (void *, struct dataObject *, intBool) |
| LOCALE void | PrintDataObject (void *, char *, struct dataObject *) |
| LOCALE void | EnvSetMultifieldErrorValue (void *, struct dataObject *) |
| LOCALE void | ValueInstall (void *, struct dataObject *) |
| LOCALE void | ValueDeinstall (void *, struct dataObject *) |
| LOCALE void | PropagateReturnValue (void *, struct dataObject *) |
| LOCALE void | CopyDataObject (void *, DATA_OBJECT *, DATA_OBJECT *, int) |
| LOCALE void | AtomInstall (void *, int, void *) |
| LOCALE void | AtomDeinstall (void *, int, void *) |
| LOCALE struct expr * | ConvertValueToExpression (void *, DATA_OBJECT *) |
| LOCALE unsigned long | GetAtomicHashValue (unsigned short, void *, int) |
| LOCALE void | InstallPrimitive (void *, struct entityRecord *, int) |
| LOCALE int | InstallExternalAddressType (void *, struct externalAddressType *) |
| LOCALE void | TransferDataObjectValues (DATA_OBJECT *, DATA_OBJECT *) |
| LOCALE struct expr * | FunctionReferenceExpression (void *, char *) |
| LOCALE intBool | GetFunctionReference (void *, char *, FUNCTION_REFERENCE *) |
| LOCALE intBool | DOsEqual (DATA_OBJECT_PTR, DATA_OBJECT_PTR) |
| LOCALE int | EvaluateAndStoreInDataObject (void *, int, EXPRESSION *, DATA_OBJECT *, int) |
| #define BITS_PER_BYTE 8 |
Definition at line 159 of file evaluatn.h.
| #define BitwiseClear | ( | n, | |||
| b | ) | (n &= (char) ~(1 << (b))) |
Definition at line 163 of file evaluatn.h.
| #define BitwiseSet | ( | n, | |||
| b | ) | (n |= (char) (1 << (b))) |
Definition at line 162 of file evaluatn.h.
| #define BitwiseTest | ( | n, | |||
| b | ) | ((n) & (char) (1 << (b))) |
Definition at line 161 of file evaluatn.h.
| #define ClearBitMap | ( | map, | |||
| id | ) | BitwiseClear(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
Definition at line 167 of file evaluatn.h.
| #define CoerceToDouble | ( | t, | |||
| v | ) | ((t == INTEGER) ? (double) ValueToLong(v) : ValueToDouble(v)) |
Definition at line 151 of file evaluatn.h.
| #define CoerceToInteger | ( | t, | |||
| v | ) | ((t == INTEGER) ? (int) ValueToLong(v) : (int) ValueToDouble(v)) |
Definition at line 150 of file evaluatn.h.
| #define CoerceToLongInteger | ( | t, | |||
| v | ) | ((t == INTEGER) ? ValueToLong(v) : (long int) ValueToDouble(v)) |
Definition at line 149 of file evaluatn.h.
| #define DATA_OBJECT_PTR_ARG DATA_OBJECT_PTR |
Definition at line 57 of file evaluatn.h.
| #define DOPToDouble | ( | target | ) | (((struct floatHashNode *) ((target)->value))->contents) |
Definition at line 118 of file evaluatn.h.
| #define DOPToExternalAddress | ( | target | ) | (((struct externalAddressHashNode *) ((target)->value))->externalAddress) |
Definition at line 123 of file evaluatn.h.
| #define DOPToFloat | ( | target | ) | ((float) (((struct floatHashNode *) ((target)->value))->contents)) |
Definition at line 119 of file evaluatn.h.
| #define DOPToInteger | ( | target | ) | ((int) (((struct integerHashNode *) ((target)->value))->contents)) |
Definition at line 121 of file evaluatn.h.
| #define DOPToLong | ( | target | ) | (((struct integerHashNode *) ((target)->value))->contents) |
Definition at line 120 of file evaluatn.h.
| #define DOPToPointer | ( | target | ) | ((target)->value) |
Definition at line 122 of file evaluatn.h.
| #define DOPToString | ( | target | ) | (((struct symbolHashNode *) ((target)->value))->contents) |
Definition at line 117 of file evaluatn.h.
| #define DOToDouble | ( | target | ) | (((struct floatHashNode *) ((target).value))->contents) |
Definition at line 134 of file evaluatn.h.
| #define DOToExternalAddress | ( | target | ) | (((struct externalAddressHashNode *) ((target).value))->externalAddress)) |
Definition at line 139 of file evaluatn.h.
| #define DOToFloat | ( | target | ) | ((float) (((struct floatHashNode *) ((target).value))->contents)) |
Definition at line 135 of file evaluatn.h.
| #define DOToInteger | ( | target | ) | ((int) (((struct integerHashNode *) ((target).value))->contents)) |
Definition at line 137 of file evaluatn.h.
| #define DOToLong | ( | target | ) | (((struct integerHashNode *) ((target).value))->contents) |
Definition at line 136 of file evaluatn.h.
| #define DOToPointer | ( | target | ) | ((target).value) |
Definition at line 138 of file evaluatn.h.
| #define DOToString | ( | target | ) | (((struct symbolHashNode *) ((target).value))->contents) |
Definition at line 133 of file evaluatn.h.
| #define EnvDOPToDouble | ( | theEnv, | |||
| target | ) | (((struct floatHashNode *) ((target)->value))->contents) |
Definition at line 126 of file evaluatn.h.
| #define EnvDOPToExternalAddress | ( | target | ) | (((struct externalAddressHashNode *) ((target)->value))->externalAddress) |
Definition at line 131 of file evaluatn.h.
| #define EnvDOPToFloat | ( | theEnv, | |||
| target | ) | ((float) (((struct floatHashNode *) ((target)->value))->contents)) |
Definition at line 127 of file evaluatn.h.
| #define EnvDOPToInteger | ( | theEnv, | |||
| target | ) | ((int) (((struct integerHashNode *) ((target)->value))->contents)) |
Definition at line 129 of file evaluatn.h.
| #define EnvDOPToLong | ( | theEnv, | |||
| target | ) | (((struct integerHashNode *) ((target)->value))->contents) |
Definition at line 128 of file evaluatn.h.
| #define EnvDOPToPointer | ( | theEnv, | |||
| target | ) | ((target)->value) |
Definition at line 130 of file evaluatn.h.
| #define EnvDOPToString | ( | theEnv, | |||
| target | ) | (((struct symbolHashNode *) ((target)->value))->contents) |
Definition at line 125 of file evaluatn.h.
| #define EnvDOToDouble | ( | theEnv, | |||
| target | ) | (((struct floatHashNode *) ((target).value))->contents) |
Definition at line 142 of file evaluatn.h.
| #define EnvDOToExternalAddress | ( | target | ) | (((struct externalAddressHashNode *) ((target).value))->externalAddress)) |
Definition at line 147 of file evaluatn.h.
| #define EnvDOToFloat | ( | theEnv, | |||
| target | ) | ((float) (((struct floatHashNode *) ((target).value))->contents)) |
Definition at line 143 of file evaluatn.h.
| #define EnvDOToInteger | ( | theEnv, | |||
| target | ) | ((int) (((struct integerHashNode *) ((target).value))->contents)) |
Definition at line 145 of file evaluatn.h.
| #define EnvDOToLong | ( | theEnv, | |||
| target | ) | (((struct integerHashNode *) ((target).value))->contents) |
Definition at line 144 of file evaluatn.h.
| #define EnvDOToPointer | ( | theEnv, | |||
| target | ) | ((target).value) |
Definition at line 146 of file evaluatn.h.
| #define EnvDOToString | ( | theEnv, | |||
| target | ) | (((struct symbolHashNode *) ((target).value))->contents) |
Definition at line 141 of file evaluatn.h.
| #define EnvGetDOBegin | ( | theEnv, | |||
| target | ) | ((target).begin + 1) |
Definition at line 108 of file evaluatn.h.
| #define EnvGetDOEnd | ( | theEnv, | |||
| target | ) | ((target).end + 1) |
Definition at line 109 of file evaluatn.h.
| #define EnvGetDOLength | ( | theEnv, | |||
| target | ) | (((target).end - (target).begin) + 1) |
Definition at line 106 of file evaluatn.h.
| #define EnvGetpDOBegin | ( | theEnv, | |||
| target | ) | ((target)->begin + 1) |
Definition at line 110 of file evaluatn.h.
| #define EnvGetpDOEnd | ( | theEnv, | |||
| target | ) | ((target)->end + 1) |
Definition at line 111 of file evaluatn.h.
| #define EnvGetpDOLength | ( | theEnv, | |||
| target | ) | (((target)->end - (target)->begin) + 1) |
Definition at line 107 of file evaluatn.h.
| #define EnvSetDOBegin | ( | theEnv, | |||
| target, | |||||
| val | ) | ((target).begin = (long) ((val) - 1)) |
Definition at line 112 of file evaluatn.h.
| #define EnvSetDOEnd | ( | theEnv, | |||
| target, | |||||
| val | ) | ((target).end = (long) ((val) - 1)) |
Definition at line 113 of file evaluatn.h.
| #define EnvSetpDOBegin | ( | theEnv, | |||
| target, | |||||
| val | ) | ((target)->begin = (long) ((val) - 1)) |
Definition at line 114 of file evaluatn.h.
| #define EnvSetpDOEnd | ( | theEnv, | |||
| target, | |||||
| val | ) | ((target)->end = (long) ((val) - 1)) |
Definition at line 115 of file evaluatn.h.
| #define EVALUATION_DATA 44 |
Definition at line 169 of file evaluatn.h.
| #define EvaluationData | ( | theEnv | ) | ((struct evaluationData *) GetEnvironmentData(theEnv,EVALUATION_DATA)) |
Definition at line 182 of file evaluatn.h.
| #define FunctionCall | ( | a, | |||
| b, | |||||
| c | ) | EnvFunctionCall(GetCurrentEnvironment(),a,b,c) |
Definition at line 195 of file evaluatn.h.
| #define GetDOBegin | ( | target | ) | ((target).begin + 1) |
Definition at line 97 of file evaluatn.h.
| #define GetDOEnd | ( | target | ) | ((target).end + 1) |
Definition at line 98 of file evaluatn.h.
| #define GetDOLength | ( | target | ) | (((target).end - (target).begin) + 1) |
Definition at line 95 of file evaluatn.h.
| #define GetFirstArgument | ( | ) | (EvaluationData(theEnv)->CurrentExpression->argList) |
Definition at line 153 of file evaluatn.h.
| #define GetNextArgument | ( | ep | ) | (ep->nextArg) |
Definition at line 154 of file evaluatn.h.
| #define GetpDOBegin | ( | target | ) | ((target)->begin + 1) |
Definition at line 99 of file evaluatn.h.
| #define GetpDOEnd | ( | target | ) | ((target)->end + 1) |
Definition at line 100 of file evaluatn.h.
| #define GetpDOLength | ( | target | ) | (((target)->end - (target)->begin) + 1) |
Definition at line 96 of file evaluatn.h.
| #define LOCALE extern |
Definition at line 191 of file evaluatn.h.
| #define MAXIMUM_EXTERNAL_ADDRESS_TYPES 10 |
Definition at line 157 of file evaluatn.h.
| #define MAXIMUM_PRIMITIVES 150 |
Definition at line 156 of file evaluatn.h.
| #define SetBitMap | ( | map, | |||
| id | ) | BitwiseSet(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
Definition at line 166 of file evaluatn.h.
| #define SetDOBegin | ( | target, | |||
| val | ) | ((target).begin = (long) ((val) - 1)) |
Definition at line 101 of file evaluatn.h.
| #define SetDOEnd | ( | target, | |||
| val | ) | ((target).end = (long) ((val) - 1)) |
Definition at line 102 of file evaluatn.h.
| #define SetMultifieldErrorValue | ( | a | ) | EnvSetMultifieldErrorValue(GetCurrentEnvironment(),a) |
Definition at line 194 of file evaluatn.h.
| #define SetpDOBegin | ( | target, | |||
| val | ) | ((target)->begin = (long) ((val) - 1)) |
Definition at line 103 of file evaluatn.h.
| #define SetpDOEnd | ( | target, | |||
| val | ) | ((target)->end = (long) ((val) - 1)) |
Definition at line 104 of file evaluatn.h.
| #define TestBitMap | ( | map, | |||
| id | ) | BitwiseTest(map[(id) / BITS_PER_BYTE],(id) % BITS_PER_BYTE) |
Definition at line 165 of file evaluatn.h.
| typedef struct dataObject DATA_OBJECT |
Definition at line 52 of file evaluatn.h.
| typedef struct dataObject* DATA_OBJECT_PTR |
Definition at line 53 of file evaluatn.h.
| typedef struct entityRecord ENTITY_RECORD |
Definition at line 92 of file evaluatn.h.
| typedef struct entityRecord* ENTITY_RECORD_PTR |
Definition at line 93 of file evaluatn.h.
| typedef struct expr FUNCTION_REFERENCE |
Definition at line 55 of file evaluatn.h.
| LOCALE void AtomDeinstall | ( | void * | , | |
| int | , | |||
| void * | ||||
| ) |
Definition at line 687 of file evaluatn.c.
| LOCALE void AtomInstall | ( | void * | , | |
| int | , | |||
| void * | ||||
| ) |
Definition at line 637 of file evaluatn.c.
| LOCALE struct expr* ConvertValueToExpression | ( | void * | , | |
| DATA_OBJECT * | ||||
| ) | [read] |
Definition at line 949 of file evaluatn.c.
| LOCALE void CopyDataObject | ( | void * | , | |
| DATA_OBJECT * | , | |||
| DATA_OBJECT * | , | |||
| int | ||||
| ) |
Definition at line 907 of file evaluatn.c.
| LOCALE intBool DOsEqual | ( | DATA_OBJECT_PTR | , | |
| DATA_OBJECT_PTR | ||||
| ) |
Definition at line 1160 of file evaluatn.c.
| LOCALE void EnvSetMultifieldErrorValue | ( | void * | , | |
| struct dataObject * | ||||
| ) |
| LOCALE int EvaluateAndStoreInDataObject | ( | void * | , | |
| int | , | |||
| EXPRESSION * | , | |||
| DATA_OBJECT * | , | |||
| int | ||||
| ) |
Definition at line 1193 of file evaluatn.c.
| LOCALE int EvaluateExpression | ( | void * | , | |
| struct expr * | , | |||
| struct dataObject * | ||||
| ) |
| LOCALE struct expr* FunctionReferenceExpression | ( | void * | , | |
| char * | ||||
| ) | [read] |
Definition at line 1041 of file evaluatn.c.
| LOCALE unsigned long GetAtomicHashValue | ( | unsigned | short, | |
| void * | , | |||
| int | ||||
| ) |
Definition at line 978 of file evaluatn.c.
| LOCALE int GetEvaluationError | ( | void * | ) |
Definition at line 494 of file evaluatn.c.
| LOCALE intBool GetFunctionReference | ( | void * | , | |
| char * | , | |||
| FUNCTION_REFERENCE * | ||||
| ) |
Definition at line 1093 of file evaluatn.c.
| LOCALE int GetHaltExecution | ( | void * | ) |
Definition at line 513 of file evaluatn.c.
| LOCALE void InitializeEvaluationData | ( | void * | ) |
Definition at line 86 of file evaluatn.c.
| LOCALE int InstallExternalAddressType | ( | void * | , | |
| struct externalAddressType * | ||||
| ) |
Definition at line 458 of file evaluatn.c.
| LOCALE void InstallPrimitive | ( | void * | , | |
| struct entityRecord * | , | |||
| int | ||||
| ) |
Definition at line 440 of file evaluatn.c.
| LOCALE void PrintDataObject | ( | void * | , | |
| char * | , | |||
| struct dataObject * | ||||
| ) |
| LOCALE void PropagateReturnValue | ( | void * | , | |
| struct dataObject * | ||||
| ) |
Definition at line 741 of file evaluatn.c.
| LOCALE void ReturnValues | ( | void * | , | |
| struct dataObject * | , | |||
| intBool | ||||
| ) |
| LOCALE void SetEvaluationError | ( | void * | , | |
| intBool | ||||
| ) |
| LOCALE void SetHaltExecution | ( | void * | , | |
| int | ||||
| ) |
Definition at line 503 of file evaluatn.c.
| LOCALE void TransferDataObjectValues | ( | DATA_OBJECT * | , | |
| DATA_OBJECT * | ||||
| ) |
Definition at line 931 of file evaluatn.c.
| LOCALE void ValueDeinstall | ( | void * | , | |
| struct dataObject * | ||||
| ) |
Definition at line 625 of file evaluatn.c.
| LOCALE void ValueInstall | ( | void * | , | |
| struct dataObject * | ||||
| ) |
Definition at line 613 of file evaluatn.c.
1.5.6