[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.1 and 1.12

version 1.1, 1999/12/03 07:39:12 version 1.12, 2001/12/20 08:18:27
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/asir99/parse/main.c,v 1.2 1999/11/18 05:42:03 noro Exp $ */  /*
    * Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
    * All rights reserved.
    *
    * FUJITSU LABORATORIES LIMITED ("FLL") hereby grants you a limited,
    * non-exclusive and royalty-free license to use, copy, modify and
    * redistribute, solely for non-commercial and non-profit purposes, the
    * computer program, "Risa/Asir" ("SOFTWARE"), subject to the terms and
    * conditions of this Agreement. For the avoidance of doubt, you acquire
    * only a limited right to use the SOFTWARE hereunder, and FLL or any
    * third party developer retains all rights, including but not limited to
    * copyrights, in and to the SOFTWARE.
    *
    * (1) FLL does not grant you a license in any way for commercial
    * purposes. You may use the SOFTWARE only for non-commercial and
    * non-profit purposes only, such as academic, research and internal
    * business use.
    * (2) The SOFTWARE is protected by the Copyright Law of Japan and
    * international copyright treaties. If you make copies of the SOFTWARE,
    * with or without modification, as permitted hereunder, you shall affix
    * to all such copies of the SOFTWARE the above copyright notice.
    * (3) An explicit reference to this SOFTWARE and its copyright owner
    * shall be made on your publication or presentation in any form of the
    * results obtained by use of the SOFTWARE.
    * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
    * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
    * for such modification or the source code of the modified part of the
    * SOFTWARE.
    *
    * THE SOFTWARE IS PROVIDED AS IS WITHOUT ANY WARRANTY OF ANY KIND. FLL
    * MAKES ABSOLUTELY NO WARRANTIES, EXPRESSED, IMPLIED OR STATUTORY, AND
    * EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS
    * FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF THIRD PARTIES'
    * RIGHTS. NO FLL DEALER, AGENT, EMPLOYEES IS AUTHORIZED TO MAKE ANY
    * MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY.
    * UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT,
    * OR OTHERWISE, SHALL FLL BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
    * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
    * DAMAGES OF ANY CHARACTER, INCLUDING, WITHOUT LIMITATION, DAMAGES
    * ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS AGREEMENT, DAMAGES
    * FOR LOSS OF GOODWILL, WORK STOPPAGE, OR LOSS OF DATA, OR FOR ANY
    * DAMAGES, EVEN IF FLL SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
    * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. EVEN IF A PART
    * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
    * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
    * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
    *
    * $OpenXM: OpenXM_contrib2/asir2000/parse/main.c,v 1.11 2001/10/09 01:36:24 noro Exp $
   */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
 #if defined(THINK_C)  
 #include <console.h>  
 #endif  
   
 #if PARI  #if PARI
 #include "genpari.h"  #include "genpari.h"
Line 11 
Line 56 
 extern jmp_buf environnement;  extern jmp_buf environnement;
 #endif  #endif
   
 extern jmp_buf env;  extern jmp_buf main_env;
 extern int *StackBottom;  
   
   #if defined(INTERVAL)
   #ifndef ASIRRCNAME
   #define ASIRRCNAME      "int_asirrc"
   #endif
   #else
   #ifndef ASIRRCNAME
   #define ASIRRCNAME      "asirrc"
   #endif
   #endif
   
   
 double get_current_time();  double get_current_time();
   void init_socket();
   void recover();
   
 extern int mpi_nprocs,mpi_myid;  extern int mpi_nprocs,mpi_myid;
   
 #if defined(VISUAL_LIB)  #if defined(VISUAL_LIB)
 void Main(argc,argv)  void Main(int argc,char *argv[])
 #else  #else
 void ExitAsir() {  
         exit(0);  
 }  
   
 #if defined(VISUAL)  #if defined(VISUAL)
 void  void
 #endif  #endif
 main(argc,argv)  main(int argc,char *argv[])
 #endif  #endif
 int argc;  
 char *argv[];  
 {  {
         int tmp;          int tmp;
         FILE *ifp;          FILE *ifp;
Line 40  char *argv[];
Line 92  char *argv[];
         extern int do_asirrc;          extern int do_asirrc;
         extern int do_file;          extern int do_file;
         extern FILE *in_fp;          extern FILE *in_fp;
           extern int *StackBottom;
         char *getenv();          char *getenv();
         char *homedir;          char *homedir;
           char *ptr;
   #if !defined(VISUAL)
         char *slash,*binname;          char *slash,*binname;
   #endif
   
         StackBottom = &tmp + 1; /* XXX */          StackBottom = &tmp;
 #if MPI  #if MPI
         mpi_init();          mpi_init();
         if ( mpi_myid ) {          if ( mpi_myid ) {
Line 68  char *argv[];
Line 124  char *argv[];
                 /* never return */                  /* never return */
                 ox_main(argc,argv);                  ox_main(argc,argv);
                 exit(0);                  exit(0);
   #if DO_PLOT
         } else if ( !strcmp(binname,"ox_plot") ) {          } else if ( !strcmp(binname,"ox_plot") ) {
                 /* never return */                  /* never return */
                 ox_plot_main(argc,argv);                  ox_plot_main(argc,argv);
                 exit(0);                  exit(0);
   #endif
         } else if ( !strcmp(binname,"ox_launch") ) {          } else if ( !strcmp(binname,"ox_launch") ) {
                 /* never return */                  /* never return */
                 launch_main(argc,argv);                  launch_main(argc,argv);
Line 82  char *argv[];
Line 140  char *argv[];
         srandom((int)get_current_time());          srandom((int)get_current_time());
 /*      mt_sgenrand((unsigned long)get_current_time()); */  /*      mt_sgenrand((unsigned long)get_current_time()); */
   
 #if defined(THINK_C)  
         param_init();  
 #endif  
         rtime_init();          rtime_init();
         env_init();          env_init();
         endian_init();          endian_init();
 #if !defined(VISUAL) && !defined(THINK_C)  
         check_key();  
 #endif  
         GC_init();          GC_init();
         process_args(--argc,++argv);          process_args(--argc,++argv);
 #if PARI  #if PARI
Line 113  char *argv[];
Line 165  char *argv[];
 #if defined(UINIT)  #if defined(UINIT)
         reg_sysf();          reg_sysf();
 #endif  #endif
 #if defined(THINK_C)  
         sprintf(ifname,"asirrc");  
 #else  
         homedir = getenv("HOME");  
         if ( !homedir ) {  
                 char rootname[BUFSIZ];  
   
                 get_rootdir(rootname,sizeof(rootname));  /* if ASIR_CONFIG is set, execute it; else execute .asirrc */
                 homedir = rootname;          if ( ptr = getenv("ASIR_CONFIG") )
                   strcpy(ifname,ptr);
           else {
                   homedir = getenv("HOME");
                   if ( !homedir ) {
                           char rootname[BUFSIZ];
   
                           get_rootdir(rootname,sizeof(rootname));
                           homedir = rootname;
                   }
                   sprintf(ifname,"%s/." ASIRRCNAME,homedir);
         }          }
         sprintf(ifname,"%s/.asirrc",homedir);  
 #endif  
         if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {          if ( do_asirrc && (ifp = fopen(ifname,"r")) ) {
                 input_init(ifp,ifname);                  input_init(ifp,ifname);
                 if ( !setjmp(env) ) {                  if ( !setjmp(main_env) ) {
                         read_exec_file = 1;                          read_exec_file = 1;
                         read_eval_loop();                          read_eval_loop();
                         read_exec_file = 0;                          read_exec_file = 0;
                 }                  }
                 fclose(ifp);                  fclose(ifp);
         }          }
   
         if ( do_file )          if ( do_file )
                 input_init(in_fp,"stdin");                  input_init(in_fp,"stdin");
         else          else
Line 147  char *argv[];
Line 203  char *argv[];
                         resetenv("");                          resetenv("");
                 }                  }
 #endif  #endif
                 if ( setjmp(env) )                  if ( setjmp(main_env) )
                         prompt();                          prompt();
                 read_eval_loop();                  read_eval_loop();
         }          }
Line 156  char *argv[];
Line 212  char *argv[];
 #if !defined(VISUAL_LIB)  #if !defined(VISUAL_LIB)
 /* a dummy function */  /* a dummy function */
   
 void set_error(code,reasion,action)  void set_error(int code,char *reason,char *action)
 int code;  
 char *reasion,*action;  
 {}  {}
 #endif  #endif

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.12

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