| version 1.34, 2003/04/02 09:43:33 | 
version 1.40, 2003/11/11 06:14:08 | 
 | 
 | 
|   * 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/glob.c,v 1.33 2003/03/07 06:39:59 noro Exp $ | 
  * $OpenXM: OpenXM_contrib2/asir2000/parse/glob.c,v 1.39 2003/10/20 09:17:52 noro Exp $ | 
|  */ | 
 */ | 
|  #include "ca.h" | 
 #include "ca.h" | 
|  #include "al.h" | 
 #include "al.h" | 
| Line 128  struct oVS oGPVS,oAPVS,oEPVS; | 
 
  | 
| Line 128  struct oVS oGPVS,oAPVS,oEPVS; | 
 
 
 | 
|  VS GPVS = &oGPVS; | 
 VS GPVS = &oGPVS; | 
|  VS APVS = &oAPVS; | 
 VS APVS = &oAPVS; | 
|  VS EPVS = &oEPVS; | 
 VS EPVS = &oEPVS; | 
|  VS CPVS; | 
 VS CPVS,MPVS; | 
|   | 
  | 
|   | 
 NODE MODULE_LIST; | 
|   | 
 MODULE CUR_MODULE; | 
|   | 
 char *CUR_FUNC; | 
|   | 
  | 
|  struct oF oF_TRUE,oF_FALSE; | 
 struct oF oF_TRUE,oF_FALSE; | 
|  F F_TRUE = &oF_TRUE; | 
 F F_TRUE = &oF_TRUE; | 
|  F F_FALSE = &oF_FALSE; | 
 F F_FALSE = &oF_FALSE; | 
| Line 143  char asirname[BUFSIZ]; | 
 
  | 
| Line 147  char asirname[BUFSIZ]; | 
 
 
 | 
|  char displayname[BUFSIZ]; | 
 char displayname[BUFSIZ]; | 
|   | 
  | 
|  int Verbose; | 
 int Verbose; | 
|   | 
 int do_quiet; | 
|   | 
  | 
|  void glob_init() { | 
 void glob_init() { | 
|          int i; | 
         int i; | 
 | 
 | 
|  int do_file; | 
 int do_file; | 
|  int do_message; | 
 int do_message; | 
|  int do_fep; | 
 int do_fep; | 
|  int no_prompt; | 
  | 
|  int read_exec_file; | 
 int read_exec_file; | 
|  static int buserr_sav; | 
 static int buserr_sav; | 
|  static char asir_history[BUFSIZ]; | 
 static char asir_history[BUFSIZ]; | 
| Line 237  void param_init() { | 
 
  | 
| Line 241  void param_init() { | 
 
 
 | 
|          else | 
         else | 
|                  little_endian = 0; | 
                 little_endian = 0; | 
|  } | 
 } | 
|   | 
  | 
|   | 
 Obj user_defined_prompt; | 
|   | 
  | 
|  void prompt() { | 
 void prompt() { | 
|          if ( !no_prompt && !do_fep && asir_infile->fp == stdin ) | 
         if ( !do_quiet && !do_fep && asir_infile->fp == stdin ) | 
|                  fprintf(asir_out,"[%d] ",APVS->n); | 
                 fprintf(asir_out,"[%d] ",APVS->n); | 
|   | 
         else if ( do_quiet && user_defined_prompt | 
|   | 
                 && OID(user_defined_prompt)==O_STR) { | 
|   | 
                 fprintf(asir_out,BDY((STRING)user_defined_prompt),APVS->n); | 
|   | 
         } | 
|          fflush(asir_out); | 
         fflush(asir_out); | 
|  } | 
 } | 
|   | 
  | 
| Line 298  void process_args(int ac,char **av) | 
 
  | 
| Line 308  void process_args(int ac,char **av) | 
 
 
 | 
|  #if !defined(MPI) | 
 #if !defined(MPI) | 
|          do_message = 1; | 
         do_message = 1; | 
|  #endif | 
 #endif | 
|   | 
         do_quiet = 0; | 
|          while ( ac > 0 ) { | 
         while ( ac > 0 ) { | 
|                  if ( !strcmp(*av,"-heap") && (ac >= 2) ) { | 
                 if ( !strcmp(*av,"-heap") && (ac >= 2) ) { | 
|                          void GC_expand_hp(int); | 
                         void GC_expand_hp(int); | 
| Line 316  void process_args(int ac,char **av) | 
 
  | 
| Line 327  void process_args(int ac,char **av) | 
 
 
 | 
|                  } else if ( !strcmp(*av,"-cpp") && (ac >= 2) ) { | 
                 } else if ( !strcmp(*av,"-cpp") && (ac >= 2) ) { | 
|                          strcpy(cppname,*(av+1)); av += 2; ac -= 2; | 
                         strcpy(cppname,*(av+1)); av += 2; ac -= 2; | 
|                  } else if ( !strcmp(*av,"-f") && (ac >= 2) ) { | 
                 } else if ( !strcmp(*av,"-f") && (ac >= 2) ) { | 
|   | 
                         do_quiet = 1; | 
|                          in_fp = fopen(*(av+1),"r"); | 
                         in_fp = fopen(*(av+1),"r"); | 
|                          if ( !in_fp ) { | 
                         if ( !in_fp ) { | 
|                                  fprintf(stderr,"%s does not exist!",*(av+1)); | 
                                 fprintf(stderr,"%s does not exist!",*(av+1)); | 
| Line 323  void process_args(int ac,char **av) | 
 
  | 
| Line 335  void process_args(int ac,char **av) | 
 
 
 | 
|                          } | 
                         } | 
|                          do_file = 1; | 
                         do_file = 1; | 
|                          av += 2; ac -= 2; | 
                         av += 2; ac -= 2; | 
|   | 
                 } else if ( !strcmp(*av,"-quiet") ) { | 
|   | 
                         do_quiet = 1; av++; ac--; | 
|                  } else if ( !strcmp(*av,"-norc") ) { | 
                 } else if ( !strcmp(*av,"-norc") ) { | 
|                          do_asirrc = 0; av++; ac--; | 
                         do_asirrc = 0; av++; ac--; | 
|                  } else if ( !strcmp(*av,"-nomessage") ) { | 
                 } else if ( !strcmp(*av,"-nomessage") ) { | 
|                          do_message = 0; av++; ac--; | 
                         do_message = 0; av++; ac--; | 
|                  } else if ( !strcmp(*av,"-terse") ) { | 
  | 
|                          no_prompt = 0; av++; ac--; | 
  | 
|                  } else if ( !strcmp(*av,"-rootdir") && (ac >= 2) ) { | 
                 } else if ( !strcmp(*av,"-rootdir") && (ac >= 2) ) { | 
|                          set_rootdir(*(av+1)); av += 2; ac -= 2; | 
                         set_rootdir(*(av+1)); av += 2; ac -= 2; | 
|                  } else if ( !strcmp(*av,"-maxheap") && (ac >= 2) ) { | 
                 } else if ( !strcmp(*av,"-maxheap") && (ac >= 2) ) { | 
| Line 627  SNODE error_snode; | 
 
  | 
| Line 639  SNODE error_snode; | 
 
 
 | 
|   | 
  | 
|  void error(char *s) | 
 void error(char *s) | 
|  { | 
 { | 
|          SNODE *snp; | 
         SNODE *snp=0; | 
|   | 
  | 
|  #if !defined(VISUAL) | 
 #if !defined(VISUAL) | 
|          if ( timer_is_set ) | 
         if ( timer_is_set ) | 
| Line 636  void error(char *s) | 
 
  | 
| Line 648  void error(char *s) | 
 
 
 | 
|          fprintf(stderr,"%s\n",s); | 
         fprintf(stderr,"%s\n",s); | 
|          set_lasterror(s); | 
         set_lasterror(s); | 
|          if ( CPVS != GPVS ) { | 
         if ( CPVS != GPVS ) { | 
|                  if ( CPVS->usrf && CPVS->usrf && CPVS->usrf->f.usrf ) | 
                 if ( CPVS && CPVS->usrf && CPVS->usrf->f.usrf ) | 
|                          searchsn(&BDY(CPVS->usrf->f.usrf),evalstatline,&snp); | 
                         searchsn(&BDY(CPVS->usrf->f.usrf),evalstatline,&snp); | 
|                  if ( snp ) | 
                 if ( snp ) | 
|                          error_snode = *snp; | 
                         error_snode = *snp; | 
| Line 657  void error(char *s) | 
 
  | 
| Line 669  void error(char *s) | 
 
 
 | 
|          if ( CPVS != GPVS ) | 
         if ( CPVS != GPVS ) | 
|                  if ( do_server_in_X11 || isatty(0) ) | 
                 if ( do_server_in_X11 || isatty(0) ) | 
|                          bp(error_snode); | 
                         bp(error_snode); | 
|   | 
         if ( read_exec_file ) | 
|   | 
                 read_exec_file = 0; | 
|   | 
         resetenv("return to toplevel"); | 
|   | 
 } | 
|   | 
  | 
|   | 
 void toplevel(char *s) | 
|   | 
 { | 
|   | 
         SNODE *snp=0; | 
|   | 
  | 
|   | 
 #if !defined(VISUAL) | 
|   | 
         if ( timer_is_set ) | 
|   | 
                 alrm_handler(SIGVTALRM); | 
|   | 
 #endif | 
|   | 
         fprintf(stderr,"%s\n",s); | 
|   | 
         if ( do_file ) { | 
|   | 
                 char errbuf[BUFSIZ*5]; /* sufficient to store stack information ? */ | 
|   | 
  | 
|   | 
                 sprintf(errbuf,"%s\n",s); | 
|   | 
                 showpos_to_string(errbuf+strlen(errbuf)); | 
|   | 
                 ExitAsir(); | 
|   | 
         } | 
|          if ( read_exec_file ) | 
         if ( read_exec_file ) | 
|                  read_exec_file = 0; | 
                 read_exec_file = 0; | 
|          resetenv("return to toplevel"); | 
         resetenv("return to toplevel"); |