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

Diff for /OpenXM_contrib2/asir2000/parse/main.c between version 1.19 and 1.28

version 1.19, 2003/03/07 03:12:31 version 1.28, 2006/02/08 02:11:19
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/main.c,v 1.18 2003/02/14 22:29:18 ohara Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/main.c,v 1.27 2004/06/15 00:56:52 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 54 
Line 54 
 #include "genpari.h"  #include "genpari.h"
   
 /* XXX : environment is defined in libpari.a */  /* XXX : environment is defined in libpari.a */
   #  if !(PARI_VERSION_CODE > 131588)
 extern jmp_buf environnement;  extern jmp_buf environnement;
   #  endif
 #endif  #endif
   
 extern JMP_BUF main_env;  extern JMP_BUF main_env;
Line 89  main(int argc,char *argv[])
Line 91  main(int argc,char *argv[])
         FILE *ifp;          FILE *ifp;
         char ifname[BUFSIZ];          char ifname[BUFSIZ];
         extern int GC_dont_gc;          extern int GC_dont_gc;
         extern int read_exec_file;  
         extern int do_asirrc;          extern int do_asirrc;
         extern int do_file;          extern int do_file;
           extern char *do_filename;
           extern int asir_setenv;
         extern FILE *in_fp;          extern FILE *in_fp;
         extern int *StackBottom;          extern int *StackBottom;
         char *getenv();          char *getenv();
Line 102  main(int argc,char *argv[])
Line 105  main(int argc,char *argv[])
 #endif  #endif
   
         StackBottom = &tmp;          StackBottom = &tmp;
 #if MPI          GC_init();
   #if defined(MPI)
         mpi_init();          mpi_init();
         if ( mpi_myid ) {          if ( mpi_myid ) {
                 int slave_argc;                  int slave_argc;
Line 130  main(int argc,char *argv[])
Line 134  main(int argc,char *argv[])
                 /* never return */                  /* never return */
                 ox_main(argc,argv);                  ox_main(argc,argv);
                 exit(0);                  exit(0);
 #if DO_PLOT  #if defined(DO_PLOT)
         } else if ( !strncmp(binname,"ox_plot",strlen("ox_plot")) ) {          } else if ( !strncmp(binname,"ox_plot",strlen("ox_plot")) ) {
                 /* never return */                  /* never return */
                 ox_plot_main(argc,argv);                  ox_plot_main(argc,argv);
Line 149  main(int argc,char *argv[])
Line 153  main(int argc,char *argv[])
         rtime_init();          rtime_init();
         env_init();          env_init();
         endian_init();          endian_init();
         GC_init();          cppname_init();
         process_args(--argc,++argv);          process_args(--argc,++argv);
 #if defined(PARI)  #if defined(PARI)
     risa_pari_init();      risa_pari_init();
 #endif  #endif
         copyright();          if (!do_quiet) {
                   copyright();
           }
         output_init();          output_init();
         arf_init();          arf_init();
         nglob_init();          nglob_init();
Line 165  main(int argc,char *argv[])
Line 171  main(int argc,char *argv[])
         pf_init();          pf_init();
         sysf_init();          sysf_init();
         parif_init();          parif_init();
           order_init();
           /* XXX set the default ordering */
 #if defined(VISUAL)  #if defined(VISUAL)
         init_socket();          init_socket();
 #endif  #endif
Line 186  main(int argc,char *argv[])
Line 194  main(int argc,char *argv[])
                 sprintf(ifname,"%s/." ASIRRCNAME,homedir);                  sprintf(ifname,"%s/." ASIRRCNAME,homedir);
         }          }
   
           if ( do_file ) {
                   asir_infile=NULL;
                   loadasirfile(do_filename);
           } else {
                   /* the bottom of the input stack */
                   input_init(stdin,"stdin");
           }
   
         if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {          if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {
                 input_init(ifp,ifname);  
                 if ( !SETJMP(main_env) ) {  
                         read_exec_file = 1;  
                         read_eval_loop();  
                         read_exec_file = 0;  
                 }  
                 fclose(ifp);                  fclose(ifp);
                   if ( !SETJMP(main_env) )
                           execasirfile(ifname);
         }          }
   
         if ( do_file )  
                 input_init(in_fp,"stdin");  
         else  
                 input_init(stdin,"stdin");  
         prompt();          prompt();
         while ( 1 ) {          while ( 1 ) {
 #if defined(PARI)  #if defined(PARI)
                 recover(0);                  recover(0);
                 /* XXX environement is defined in libpari.a */                  /* XXX environement is defined in libpari.a */
   #  if !(PARI_VERSION_CODE > 131588)
                 if ( setjmp(environnement) ) {                  if ( setjmp(environnement) ) {
                         avma = top; recover(1);                          avma = top; recover(1);
                         resetenv("");                          resetenv("");
                 }                  }
   #  endif
 #endif  #endif
                 if ( SETJMP(main_env) )                  if ( SETJMP(main_env) )
                         prompt();                          prompt();
                   if ( SETJMP(asir_infile->jmpbuf) )
                           prompt();
                   else
                           asir_infile->ready_for_longjmp = 1;
                   restore_handler();
                 read_eval_loop();                  read_eval_loop();
         }          }
 }  }

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.28

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