version 1.24, 2004/09/09 11:42:22 |
version 1.36, 2020/10/06 11:33:46 |
|
|
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.23 2004/09/09 03:14:46 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.35 2006/02/01 00:30:05 takayama Exp $ */ |
/*********** global variables for module stackmachine***************/ |
/*********** global variables for module stackmachine***************/ |
extern int VerboseStack; |
extern int VerboseStack; |
extern int DebugStack; |
extern int DebugStack; |
Line 19 struct tokens *decomposeToTokens(char *str,int *size); |
|
Line 19 struct tokens *decomposeToTokens(char *str,int *size); |
|
struct tokens getokenSM(); |
struct tokens getokenSM(); |
struct tokens *decomposeToTokens(); |
struct tokens *decomposeToTokens(); |
char *getLOAD_SM1_PATH(); |
char *getLOAD_SM1_PATH(); |
|
char *traceShowScannerBuf(); |
|
|
|
|
/* stackmachine.c object */ |
/* stackmachine.c object */ |
struct object *newObject(void); |
struct object *newObject(void); |
struct object newObjectArray(int size); |
struct object newObjectArray(int size); |
Line 72 int isLiteral(char *str); |
|
Line 72 int isLiteral(char *str); |
|
void lockCtrlCForOx(); |
void lockCtrlCForOx(); |
void unlockCtrlCForOx(); |
void unlockCtrlCForOx(); |
void restoreCtrlCForOx(); |
void restoreCtrlCForOx(); |
|
int executeExecutableArray(struct object ob,char *fname,int withGotoP); |
|
|
/* stackmachine.c export */ |
/* stackmachine.c export */ |
int KSdefineMacros(void); |
int KSdefineMacros(void); |
Line 81 char * KSstringPop(void); |
|
Line 82 char * KSstringPop(void); |
|
int KSstackPointer(void); |
int KSstackPointer(void); |
struct object KSdupErrors(void); |
struct object KSdupErrors(void); |
struct object KSpeek(int k); |
struct object KSpeek(int k); |
|
struct object KSnewObjectArray(int k); |
|
|
/* stackmachine.c context */ |
/* stackmachine.c context */ |
struct context *newContext0(struct context *super,char *name); |
struct context *newContext0(struct context *super,char *name); |
Line 95 void tracePushName(char *s); |
|
Line 97 void tracePushName(char *s); |
|
void traceClearStack(void); |
void traceClearStack(void); |
char *tracePopName(void); |
char *tracePopName(void); |
char *traceShowStack(void); |
char *traceShowStack(void); |
|
struct object *traceNameStackToArrayp(void); |
|
|
/* kclass.c */ |
/* kclass.c */ |
int initClassDataBase(); |
void initClassDataBase(); |
void fprintClass(FILE *fp,struct object ob); |
void fprintClass(FILE *fp,struct object ob); |
int KclassEqualQ(struct object ob1,struct object ob2); |
int KclassEqualQ(struct object ob1,struct object ob2); |
struct object KcreateClassIncetance(struct object ob1, |
struct object KcreateClassIncetance(struct object ob1, |
Line 137 struct object KarrayToList(struct object ob); |
|
Line 140 struct object KarrayToList(struct object ob); |
|
/* list:conversion */ |
/* list:conversion */ |
struct object listToArray(struct object *op); |
struct object listToArray(struct object *op); |
struct object *arrayToList(struct object ob); |
struct object *arrayToList(struct object ob); |
|
struct object newByteArray(int size,struct object obj); |
|
struct object newByteArrayFromStr(char *s,int size); |
|
struct object byteArrayToArray(struct object obj); |
|
|
/* kanExport0.c */ |
/* kanExport0.c */ |
/** arithmetic **/ |
/** arithmetic **/ |
Line 191 struct object KintToUniversalNumber(int n); |
|
Line 197 struct object KintToUniversalNumber(int n); |
|
#define Knumerator(o) ( (o).lc.op ) |
#define Knumerator(o) ( (o).lc.op ) |
#define Kdenominator(o) ( (o).rc.op ) |
#define Kdenominator(o) ( (o).rc.op ) |
#define KopDouble(ob) (*((ob).lc.dbl)) |
#define KopDouble(ob) (*((ob).lc.dbl)) |
|
#define KopByteArray(o) ( (o).lc.bytes ) |
|
#define getByteArraySize(o) ( (o).rc.ival ) |
char *KPOLYToString(POLY f); |
char *KPOLYToString(POLY f); |
/** conversion 2 **/ |
/** conversion 2 **/ |
struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa); |
struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa); |
Line 221 struct object Khead(struct object ob); |
|
Line 229 struct object Khead(struct object ob); |
|
int KpolyLength(POLY f); |
int KpolyLength(POLY f); |
struct object KsetOutputOrder(struct object obj,struct ring *rp); |
struct object KsetOutputOrder(struct object obj,struct ring *rp); |
struct object KsetVariableNames(struct object obj,struct ring *rp); |
struct object KsetVariableNames(struct object obj,struct ring *rp); |
|
/* KgetRingInfo has not yet been implemented. */ |
|
struct object KgetRingInfo(struct object ringObj, struct object ofunc); |
|
|
|
|
/* :eval */ |
/* :eval */ |
struct object Keval(struct object obj); |
struct object Keval(struct object obj); |
|
|
/** misc **/ |
/** misc **/ |
struct object KtoRecords(struct object ob1); |
struct object KtoRecords(struct object ob1); |
struct object KstringToArgv(struct object ob1); |
struct object KstringToArgv(struct object ob1); |
|
struct object KstringToArgv2(struct object ob1,struct object ob2); |
void Kclose(void); |
void Kclose(void); |
int warningKan(char *s); |
int warningKan(char *s); |
int warningKanNoStrictMode(char *s); |
int warningKanNoStrictMode(char *s); |
Line 239 struct object KgbExtension(struct object ob); |
|
Line 249 struct object KgbExtension(struct object ob); |
|
struct object KmpzExtension(struct object ob); |
struct object KmpzExtension(struct object ob); |
struct object Krest(struct object ob); |
struct object Krest(struct object ob); |
struct object Kjoin(struct object ob1, struct object ob2); |
struct object Kjoin(struct object ob1, struct object ob2); |
|
struct object Kget(struct object ob1, struct object ob2); |
|
|
/** Utilities */ |
/** Utilities */ |
char *KremoveSpace(char *s); |
char *KremoveSpace(char *s); |
int KtoArgvbyCurryBrace(char *str,char *argv[],int limit); |
int KtoArgvbyCurryBrace(char *str,char *argv[],int limit); |
|
|
|
/** Attribute */ |
|
struct object KgetAttributeList(struct object ob); |
|
struct object KsetAttributeList(struct object ob,struct object attr); |
|
struct object KgetAttribute(struct object ob,struct object key); |
|
struct object KsetAttribute(struct object ob,struct object key,struct object value); |
|
/* ob (key) (value) setAttribute /ob set. They are not destructive. */ |
|
|
|
|
|
|
/** kanExport1.c */ |
/** kanExport1.c */ |
/* :ring :kan */ |
/* :ring :kan */ |
struct object Kreduction(struct object f,struct object set); |
struct object Kreduction(struct object f,struct object set); |
Line 299 int objToInteger(struct object ob); |
|
Line 318 int objToInteger(struct object ob); |
|
struct object KoxWhich(struct object cmdo,struct object patho); |
struct object KoxWhich(struct object cmdo,struct object patho); |
struct object KoxShell(struct object ob); |
struct object KoxShell(struct object ob); |
void KoxShellHelp(char *key,FILE *fp); |
void KoxShellHelp(char *key,FILE *fp); |
|
|
|
/* ---- */ |
|
void KinitKan(void); |
|
int stackmachine_close(void); |
|
void stackmachine_init(void); |
|
int memberQ(struct object *list1,struct object obj2); |
|
int warningStackmachine(char *str); |
|
void errorStackmachine(char *str); |
|
int putPrimitiveFunction(char *str,int number); |
|
|