[BACK]Return to debug.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Diff for /OpenXM_contrib2/asir2000/parse/debug.c between version 1.15 and 1.23

version 1.15, 2003/05/14 07:08:48 version 1.23, 2015/08/08 14:19:42
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/parse/debug.c,v 1.14 2003/03/07 06:39:59 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/debug.c,v 1.22 2015/08/06 10:01:53 fujimoto Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
 #include <ctype.h>  #include <ctype.h>
 #if defined(PARI)  
 #include "genpari.h"  
 #endif  
   
 extern do_server_in_X11,do_file;  extern do_server_in_X11,do_file;
   
Line 150  void debug_init() {
Line 147  void debug_init() {
                 fclose(fp);                  fclose(fp);
         }          }
 #if 0  #if 0
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( do_server_in_X11 )          if ( do_server_in_X11 )
                 init_cmdwin();                  init_cmdwin();
 #endif  #endif
Line 195  void show_alias(char *alias)
Line 192  void show_alias(char *alias)
                                 if ( !strcmp(alias,BDY(tn)) ) {                                  if ( !strcmp(alias,BDY(tn)) ) {
                                         fprintf(stderr,"%s->%s\n",alias,debcom[i]); return;                                          fprintf(stderr,"%s->%s\n",alias,debcom[i]); return;
                                 }                                  }
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }
   
 void debug(SNODE f)  void debug(SNODE f)
Line 209  void debug(SNODE f)
Line 209  void debug(SNODE f)
         char buf[BUFSIZ];          char buf[BUFSIZ];
         char prompt[BUFSIZ];          char prompt[BUFSIZ];
         char *p,*pe;          char *p,*pe;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         char *line;          char *line;
 #endif  #endif
         NODE tn;          NODE tn;
         extern int do_fep;          extern int do_fep;
         NODE pvss;          NODE pvss;
   
 #if !defined(MPI) && !defined(VISUAL)  #if !defined(MPI) && !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( !isatty(fileno(stdin)) && !do_server_in_X11 )          if ( !isatty(fileno(stdin)) && !do_server_in_X11 )
                 if ( do_file )                  if ( do_file )
                         ExitAsir();                          ExitAsir();
                 else                  else
                         return;                          return;
 #endif  #endif
 #if defined(VISUAL)  #if defined(VISUAL) || defined(__MINGW32__) || defined(__MINGW64__)
         suspend_timer();          suspend_timer();
 #endif  #endif
         pvss = PVSS; debug_mode = 1;          pvss = PVSS; debug_mode = 1;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( do_server_in_X11 )          if ( do_server_in_X11 )
 #endif  #endif
                 show_debug_window(1);                  show_debug_window(1);
Line 250  void debug(SNODE f)
Line 250  void debug(SNODE f)
                         {                          {
                                 int len;                                  int len;
   
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
                                 if ( do_server_in_X11 )                                  if ( do_server_in_X11 )
                                         get_line(buf);                                          get_line(buf);
                                 else                                  else
Line 343  void debug(SNODE f)
Line 343  void debug(SNODE f)
         }          }
 LAST:  LAST:
         debug_mode = 0;          debug_mode = 0;
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( do_server_in_X11 )          if ( do_server_in_X11 )
 #endif  #endif
                 show_debug_window(0);                  show_debug_window(0);
Line 443  void setbp(char *p)
Line 443  void setbp(char *p)
                                 default:                                  default:
                                         ln = (*snp)->ln; break;                                          ln = (*snp)->ln; break;
                         }                          }
                         *snp = (SNODE)mksnode(3,S_BP,*snp,cond,0);                          *snp = (SNODE)mksnode(3,S_BP,*snp,cond,NULLP);
                         (*snp)->ln = ln;                          (*snp)->ln = ln;
                         if ( cond ) {                          if ( cond ) {
                                 bpt[bpi].cond = (char *)MALLOC(strlen(savp)+1);                                  bpt[bpi].cond = (char *)MALLOC(strlen(savp)+1);
Line 457  void setbp(char *p)
Line 457  void setbp(char *p)
                         showbp(bpi);                          showbp(bpi);
                 }                  }
         }          }
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }
   
 void settp(char *p)  void settp(char *p)
Line 542  void settp(char *p)
Line 545  void settp(char *p)
                         showbp(bpi);                          showbp(bpi);
                 }                  }
         }          }
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }
   
 void clearbp(FUNC f)  void clearbp(FUNC f)
Line 623  void showbp(int n)
Line 629  void showbp(int n)
                                 else                                  else
                                         fprintf(stderr,"(%d) stop in %s\n",n,bpt[n].f->name);                                          fprintf(stderr,"(%d) stop in %s\n",n,bpt[n].f->name);
                         }                          }
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }
   
 void searchsn(SNODE *fp,int n,SNODE **fpp)  void searchsn(SNODE *fp,int n,SNODE **fpp)
Line 695  void bp(SNODE f)
Line 704  void bp(SNODE f)
                 default:                  default:
                         ln = f->ln; break;                          ln = f->ln; break;
         }          }
 #if !defined(VISUAL)  #if !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( do_server_in_X11 )          if ( do_server_in_X11 )
 #endif  #endif
                 show_debug_window(1);                  show_debug_window(1);
         fprintf(stderr,"stopped in %s at line %d in file \"%s\"\n",          fprintf(stderr,"stopped in %s at line %d in file \"%s\"\n",
                 CPVS->usrf->name,ln,CPVS->usrf->f.usrf->fname);                  CPVS->usrf->name,ln,CPVS->usrf->f.usrf->fname);
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
         targetf = CPVS->usrf; curline = ln;          targetf = CPVS->usrf; curline = ln;
         println(0,0,1);          println(0,0,1);
 #if !defined(MPI) && !defined(VISUAL)  #if !defined(MPI) && !defined(VISUAL) && !defined(__MINGW32__) && !defined(__MINGW64__)
         if ( do_server_in_X11 || isatty(0) )          if ( do_server_in_X11 || isatty(0) )
 #endif  #endif
                 debug(f);                  debug(f);
Line 748  void println(int ac,char **av,int l)
Line 760  void println(int ac,char **av,int l)
         }          }
         curline = ln + i;          curline = ln + i;
         fclose(fp);          fclose(fp);
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }
   
 void printvars(char *s,VS vs)  void printvars(char *s,VS vs)
Line 768  void printvars(char *s,VS vs)
Line 783  void printvars(char *s,VS vs)
                         val = eval(expr);                          val = eval(expr);
                 CPVS = cpvs;                  CPVS = cpvs;
                 if ( !err ) {                  if ( !err ) {
 #if defined(PARI)  
 #if defined(PARI1)  
                         outfile = stderr;  
 #else  
                         pari_outfile = stderr;  
 #endif  
 #endif  
                         asir_out = stderr;                          asir_out = stderr;
                         for ( p = s; isspace(*p); p++ );                          for ( p = s; isspace(*p); p++ );
                         fprintf(asir_out,"%s = ",p);                          fprintf(asir_out,"%s = ",p);
Line 787  void printvars(char *s,VS vs)
Line 795  void printvars(char *s,VS vs)
 #if defined(VISUAL_LIB)  #if defined(VISUAL_LIB)
                         w_noflush_stderr(0);                          w_noflush_stderr(0);
 #endif  #endif
 #if defined(PARI)  
 #if defined(PARI1)  
                         outfile = stdout;  
 #else  
                         pari_outfile = stdout;  
 #endif  
 #endif  
                         asir_out = stdout;                          asir_out = stdout;
                 }                  }
         }          }
Line 815  void showpos()
Line 816  void showpos()
                         fprintf(stderr,"#%d %s(), line %d in \"%s\"\n",                          fprintf(stderr,"#%d %s(), line %d in \"%s\"\n",
                                 level-vs->level,vs->usrf->name,vs->at,vs->usrf->f.usrf->fname);                                  level-vs->level,vs->usrf->name,vs->at,vs->usrf->f.usrf->fname);
                 }                  }
   #if defined(__MINGW32__) || defined(__MINGW64__)
                   fflush(stderr);
   #endif
         }          }
 }  }
   
Line 840  void showpos_to_string(char *buf)
Line 844  void showpos_to_string(char *buf)
         }          }
 }  }
   
   /* [[file,line,name],...] */
   
   extern int at_root;
   
   void showpos_to_list(LIST *r)
   {
           NODE n,u,u1,t;
           VS vs;
           STRING null,name,fname,kwd;
           LIST l,b;
           USINT us;
   
           u = 0;
           if ( PVSS ) {
                   if ( cur_binf ) {
                           /* builtin : [0,0,name] */
                           MKSTR(null,"");
                           MKSTR(name,cur_binf->name);
                           t = mknode(3,null,name,NULLP);
                           MKLIST(l,t);
                           MKNODE(u1,l,0); u = u1;
                   }
                   ((VS)BDY(PVSS))->at = evalstatline;
                   for ( n = PVSS; n; n = NEXT(n) ) {
                           vs = (VS)BDY(n);
                           MKSTR(fname,vs->usrf->f.usrf->fname);
                           MKUSINT(us,vs->at);
                           MKSTR(name,vs->usrf->name);
                           t = mknode(3,fname,name,us);
                           MKLIST(l,t);
                           MKNODE(u1,l,u); u = u1;
                   }
           }
           /* line number at the toplevel */
           MKSTR(fname,"toplevel"); MKUSINT(us,at_root);
           t = mknode(2,fname,us); MKLIST(l,t); MKNODE(u1,l,u); u = u1;
           MKLIST(b,u);
   
           MKSTR(kwd,"asir_where");
           t = mknode(2,kwd,b);
           MKLIST(*r,t);
   }
   
 void change_stack(int level,NODE *pvss)  void change_stack(int level,NODE *pvss)
 {  {
         extern NODE PVSS;          extern NODE PVSS;
Line 864  void show_stack(VS vs)
Line 911  void show_stack(VS vs)
 {  {
         fprintf(stderr,"#%d %s(), line %d in \"%s\"\n",          fprintf(stderr,"#%d %s(), line %d in \"%s\"\n",
                 ((VS)BDY(PVSS))->level-vs->level,vs->usrf->name,vs->at,vs->usrf->f.usrf->fname);                  ((VS)BDY(PVSS))->level-vs->level,vs->usrf->name,vs->at,vs->usrf->f.usrf->fname);
   #if defined(__MINGW32__) || defined(__MINGW64__)
           fflush(stderr);
   #endif
 }  }

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.23

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