[BACK]Return to stackmachine.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/stackmachine.c between version 1.10 and 1.14

version 1.10, 2002/11/04 10:53:56 version 1.14, 2003/12/05 13:51:31
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.9 2002/02/24 10:27:18 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.13 2003/11/20 09:20:36 takayama Exp $ */
 /*   stackmachin.c */  /*   stackmachin.c */
   
 #include <stdio.h>  #include <stdio.h>
Line 74  static void pstack(void);
Line 74  static void pstack(void);
 static struct object executableStringToExecutableArray(char *str);  static struct object executableStringToExecutableArray(char *str);
   
 extern int SerialCurrent;  extern int SerialCurrent;
   extern int QuoteMode;
   
 int SGClock = 0;  int SGClock = 0;
 int UserCtrlC = 0;  int UserCtrlC = 0;
Line 733  void scanner() {
Line 734  void scanner() {
   char *tmp2;    char *tmp2;
   extern int ErrorMessageMode;    extern int ErrorMessageMode;
   int jval;    int jval;
     extern int InSendmsg2;
   getokenSM(INIT);    getokenSM(INIT);
   initSystemDictionary();    initSystemDictionary();
   
Line 816  void scanner() {
Line 818  void scanner() {
         fprintf(Fstack,"\nscanner> ");          fprintf(Fstack,"\nscanner> ");
       }        }
       KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */        KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
       KSexecuteString(" (Computation is interrupted.) ");        KSexecuteString(" (Computation is interrupted.) "); /* move to ctrlC-hook? */
         InSendmsg2 = 0;
       continue ;        continue ;
     } else {  }      } else {  }
     if (DebugStack >= 1) { printOperandStack(); }      if (DebugStack >= 1) { printOperandStack(); }
Line 835  void ctrlC(sig)
Line 838  void ctrlC(sig)
   extern int SGClock;    extern int SGClock;
   extern int UserCtrlC;    extern int UserCtrlC;
   extern int OXlock;    extern int OXlock;
   
   signal(sig,SIG_IGN);    signal(sig,SIG_IGN);
   /* see 133p */    /* see 133p */
   cancelAlarm();    cancelAlarm();
Line 898  int executeToken(token)
Line 901  int executeToken(token)
   int i,h0,h1;    int i,h0,h1;
   extern int WarningMessageMode;    extern int WarningMessageMode;
   extern int Strict;    extern int Strict;
     extern int InSendmsg2;
   
   if (GotoP) { /* for goto */    if (GotoP) { /* for goto */
     if (token.kind == ID && isLiteral(token.token)) {      if (token.kind == ID && isLiteral(token.token)) {
Line 962  int executeToken(token)
Line 966  int executeToken(token)
         ob.lc.ival = primitive;          ob.lc.ival = primitive;
         return(executePrimitive(ob));          return(executePrimitive(ob));
       } else {        } else {
           if (QuoteMode) {
             if (InSendmsg2) return(DO_QUOTE);
             else {
               Kpush(KpoString(token.token));
               return(0); /* normal exit.*/
             }
                   }
         if (WarningMessageMode == 1 || WarningMessageMode == 2) {          if (WarningMessageMode == 1 || WarningMessageMode == 2) {
           char tmpc[1024];            char tmpc[1024];
           if (strlen(token.token) < 900) {            if (strlen(token.token) < 900) {
Line 1114  KSexecuteString(s)
Line 1125  KSexecuteString(s)
       }        }
       recursive--;        recursive--;
       if (localCatchCtrlC) { signal(SIGINT, sigfunc); }        if (localCatchCtrlC) { signal(SIGINT, sigfunc); }
         KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
         KSexecuteString(" (Computation is interrupted.) "); /* move to ctrlC-hook?*/
       return(-1);        return(-1);
     }else{ }      }else{ }
   }else{    }else{
Line 1130  KSexecuteString(s)
Line 1143  KSexecuteString(s)
         }          }
         recursive = 0;          recursive = 0;
         if (localCatchCtrlC) { signal(SIGINT, sigfunc); }          if (localCatchCtrlC) { signal(SIGINT, sigfunc); }
                   KSexecuteString(" ctrlC-hook "); /* Execute User Defined functions. */
                   KSexecuteString(" (Computation is interrupted.) ");
         return(-1);          return(-1);
       }else { }        }else { }
     }      }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.14

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>