/* sm.c $OpenXM: OpenXM/src/kan96xx/Kan/sm.c,v 1.24 2004/02/27 09:46:46 takayama Exp $ */ #define DATE "2004/02/23" #define RELEASE "3.040223" /* This "string" must be an increasing seq.*/ /* You should write the same string in global.c VersionString for ox_sm1. Change also OxVersion in plugin/oxmisc.c if you install new openXM protocol.*/ #include #include "datatype.h" #include "stackm.h" #include "extern.h" /* Release 2.981108 (1998, 11/8 --Sunday) ftp, source, binary-linux packages; bfunction, hol, gkz, appell. Release 2.981117 (1998, 11/17 --Tuesday) packages; resol0, r-interface (new), oxasir(new) bugfix : KdefaultPolyRing, hilbert.c Release 2.981123 bugfix : flush for solaris. bugfix : lockctrlCForOx(). Release 2.981217 Rather stable release. New project on CMO starts. */ extern int StandardMacros; extern int StartAFile; extern char *StartFile; extern int StartAString; extern char *StartString; extern int Quiet; extern char *VersionString; extern unsigned int GC_version; main(argc,argv) int argc; char *argv[]; { int i; StandardMacros = 1; VersionString = RELEASE; if (argc > 1) { for (i=1; i= argc) { fprintf(stderr,"Usage: 1. sm1\n2. sm1 -f filename\n"); fprintf(stderr,"3. sm1 -standardmacros\n"); exit(15); } StartFile = argv[i]; }else if (strcmp(argv[i],"-s") == 0) { StartAString = 1; i++; if (i >= argc) { fprintf(stderr,"Usage: 1. sm1\n2. sm1 -f filename\n"); fprintf(stderr,"3. sm1 -standardmacros\n"); fprintf(stderr,"4. sm1 -q (quiet)\n"); fprintf(stderr,"5. sm1 -s \"command strings\" \n"); exit(15); } StartString = argv[i]; } else if (strcmp(argv[i],"-q") == 0) { Quiet = 1; }else{ fprintf(stderr,"Usage: 1. sm1\n2. sm1 -f filename\n"); fprintf(stderr,"3. sm1 -standardmacros\n"); fprintf(stderr,"4. sm1 -q (quiet)\n"); fprintf(stderr,"5. sm1 -s \"command strings\" \n"); exit(15); } } } stackmachine_init(); if (!Quiet) { fprintf(Fstack,"\n"); fprintf(Fstack,"Kan/StackMachine1"); fprintf(Fstack," 1991 April --- 2003.\n"); fprintf(Fstack," Release %s (C) N. Takayama\n", RELEASE); fprintf(Fstack,"gc %d.%d-%d (C) Boehm, Demers, Xerox, SGI, HP,\nGNU MP 4.1 (C) Free Software Foundation,\n",GC_version >>16, (GC_version >> 8)&0xff,GC_version & 0xff); fprintf(Fstack,"OpenXM RFC100, 101, 103 (C) OpenXM developing team. \n"); fprintf(Fstack,"This software may be freely distributed as is "); fprintf(Fstack,"with no warranty expressed. \nSee OpenXM/Copyright/Copyright.generic\n"); fprintf(Fstack,"Info: http://www.math.kobe-u.ac.jp/KAN, kan@math.kobe-u.ac.jp. ? for help.\n"); #ifdef NOGC fprintf(Fstack,"No garbage collector is installed.\n"); #endif } KinitKan(); if (!Quiet) { fprintf(Fstack,"\nReady\n\n"); } scanner(); Kclose(); stackmachine_close(); }