Diff for /capa/capa51/pProj/capaLexerDef.flex between versions 1.11 and 1.14

version 1.11, 2000/08/07 20:47:29 version 1.14, 2007/07/11 19:23:43
Line 41 Line 41
 /*------------------------------------------------------------------------*/  /*------------------------------------------------------------------------*/
 /**************************************************************************/  /**************************************************************************/
   
   %option stack
   
 %{  %{
   
 #include <stdio.h>  #include <stdio.h>
Line 241  void newyy_input (char *buf,int *result, Line 243  void newyy_input (char *buf,int *result,
     if ( Lexi_buf[Input_idx] == NULL ) { \      if ( Lexi_buf[Input_idx] == NULL ) { \
       Lexi_buf[Input_idx] = (char *)capa_malloc(sizeof(char)*LEX_BUFLEN+1,1); out_of_char=1; \        Lexi_buf[Input_idx] = (char *)capa_malloc(sizeof(char)*LEX_BUFLEN+1,1); out_of_char=1; \
     } else { \      } else { \
       if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx]]) { /* test if the line buffer is empty or at the end */ \        if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx] ]) { /* test if the line buffer is empty or at the end */ \
         out_of_char=1; \          out_of_char=1; \
       } \        } \
     } \      } \
     if( out_of_char ) { \      if( out_of_char ) { \
       if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { /* read in one line */ \        if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { /* read in one line */ \
         LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx); \          LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx); \
         if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx]] == '\0') ) { \          if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx] ] == '\0') ) { \
           LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx); \            LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx); \
           fclose(Input_stream[Input_idx]); \            fclose(Input_stream[Input_idx]); \
           capa_mfree((char *)Lexi_buf[Input_idx]); \            capa_mfree((char *)Lexi_buf[Input_idx]); \
Line 304  void newyy_input (char *buf,int *result, Line 306  void newyy_input (char *buf,int *result,
        first_run=0; \         first_run=0; \
        yyin = Input_stream[Input_idx]; LIDBUG_PR1("<<yy_input() startup>>\n"); \         yyin = Input_stream[Input_idx]; LIDBUG_PR1("<<yy_input() startup>>\n"); \
     } \      } \
     if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx]]) { /* test if the line buffer is empty or at the end */ \      if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx] ]) { /* test if the line buffer is empty or at the end */ \
       if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { /* read in one line */ \        if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { /* read in one line */ \
         LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx); \          LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx); \
         if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx]] == '\0') ) { \          if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx] ] == '\0') ) { \
           LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx); \            LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx); \
           fclose(Input_stream[Input_idx]); \            fclose(Input_stream[Input_idx]); \
           Input_idx--; \            Input_idx--; \
Line 1047  begin_text() { BEGIN S_TEXT; } Line 1049  begin_text() { BEGIN S_TEXT; }
 extern void  extern void
 begin_question() { LLDBUG_PR1("[<S_TEXT>]");   begin_question() { LLDBUG_PR1("[<S_TEXT>]"); 
                    IFcount = 0; While_idx=0; /* initialize some stacks */                     IFcount = 0; While_idx=0; /* initialize some stacks */
                    End_of_input = 0; YY_FLUSH_BUFFER; BEGIN S_TEXT; }                     End_of_input = 0; yy_flush_buffer(YY_CURRENT_BUFFER ); BEGIN S_TEXT; }
   
 extern void  extern void
 end_problemset() { End_of_input = 0; YY_FLUSH_BUFFER; BEGIN S_TEXT; }  end_problemset() { End_of_input = 0; yy_flush_buffer(YY_CURRENT_BUFFER ); BEGIN S_TEXT; }
   
   
 /* ========================================================================================== */  /* ========================================================================================== */
Line 1124  input()                    /* ARGUMENTS: Line 1126  input()                    /* ARGUMENTS:
        startup=0;         startup=0;
        yyin = Input_stream[Input_idx];         yyin = Input_stream[Input_idx];
   }    }
   if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx]]) {    if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx] ]) {
     if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) {       if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { 
       /* EOF? */        /* EOF? */
       /* no use in flex        /* no use in flex
Line 1582  void newyy_input (char *buf,int *result, Line 1584  void newyy_input (char *buf,int *result,
  if ( Lexi_buf[Input_idx] == NULL ) {    if ( Lexi_buf[Input_idx] == NULL ) { 
    Lexi_buf[Input_idx] = (char *)capa_malloc(sizeof(char)*LEX_BUFLEN+1,1); out_of_char=1;     Lexi_buf[Input_idx] = (char *)capa_malloc(sizeof(char)*LEX_BUFLEN+1,1); out_of_char=1;
  } else {    } else { 
    if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx]]) {      if (!Lexi_buf[Input_idx][Lexi_pos[Input_idx] ]) { 
      /* test if the line buffer is empty or at the end */        /* test if the line buffer is empty or at the end */ 
      out_of_char=1;        out_of_char=1; 
    }      } 
Line 1591  void newyy_input (char *buf,int *result, Line 1593  void newyy_input (char *buf,int *result,
    if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) {      if (fgets(Lexi_buf[Input_idx],LEX_BUFLEN-1,Input_stream[Input_idx])==NULL) { 
      /* read in one line */        /* read in one line */ 
      LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx);        LIDBUG_PR2("<<yy_input() fgets() returns NULL, input index=%d>>\n",Input_idx); 
      if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx]] == '\0') ) {        if( (Input_idx > 0) && ( Lexi_buf[Input_idx][Lexi_pos[Input_idx] ] == '\0') ) { 
        LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx);          LIDBUG_PR2("<<yy_input() close an input stream, input index=%d>>\n",Input_idx); 
        fclose(Input_stream[Input_idx]);          fclose(Input_stream[Input_idx]); 
        capa_mfree((char *)Lexi_buf[Input_idx]);          capa_mfree((char *)Lexi_buf[Input_idx]); 

Removed from v.1.11  
changed lines
  Added in v.1.14


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