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

Diff for /OpenXM_contrib2/asir2000/parse/lex.c between version 1.28 and 1.34

version 1.28, 2004/01/25 11:54:10 version 1.34, 2004/12/17 03:09:08
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/lex.c,v 1.27 2003/11/27 02:34:11 ohara Exp $   * $OpenXM: OpenXM_contrib2/asir2000/parse/lex.c,v 1.33 2004/04/30 08:25:38 noro Exp $
 */  */
 #include <ctype.h>  #include <ctype.h>
 #include "ca.h"  #include "ca.h"
Line 188  int yylex()
Line 188  int yylex()
                                         c1 = Getc();                                          c1 = Getc();
                                         if ( c1 == 'n' ) {                                          if ( c1 == 'n' ) {
                                                 c1 = '\n';                                                  c1 = '\n';
                                           }else if ( c1 == 'r' ) {
                                                   c1 = '\r';
                     }else if ( c1 == 't' ) {                      }else if ( c1 == 't' ) {
                         c1 = '\t';                          c1 = '\t';
                     }else if ( isdigit(c1) ){                      }else if ( isdigit(c1) ){
Line 436  int yylex()
Line 438  int yylex()
                         } else if ( !strcmp(tbuf,"@equiv") ) {                          } else if ( !strcmp(tbuf,"@equiv") ) {
                                 yylvalp->i = (int)L_EQUIV;                                  yylvalp->i = (int)L_EQUIV;
                                 return FOP_EQUIV;                                  return FOP_EQUIV;
                           } else if ( !strcmp(tbuf,"@grlex") ) {
                                   yylvalp->p = Symbol_grlex;
                                   return FORMULA;
                           } else if ( !strcmp(tbuf,"@glex") ) {
                                   yylvalp->p = Symbol_glex;
                                   return FORMULA;
                           } else if ( !strcmp(tbuf,"@lex") ) {
                                   yylvalp->p = Symbol_lex;
                                   return FORMULA;
                         } else {                          } else {
                                 cptr = (char *)MALLOC(strlen(tbuf)+1); strcpy(cptr,tbuf);                                  cptr = (char *)MALLOC(strlen(tbuf)+1); strcpy(cptr,tbuf);
                                 yylvalp->p = (pointer)cptr;                                  yylvalp->p = (pointer)cptr;
Line 477  static int skipspace() {
Line 488  static int skipspace() {
                         case ' ': case '\t': case '\r':                          case ' ': case '\t': case '\r':
                                 c = Getc(); break;                                  c = Getc(); break;
                         case '\n':                          case '\n':
                                 c = afternl();  break;                                  c = afternl(); break;
                         case '/':                          case '/':
                                 if ( (c1 = Getc()) == '*' )                                  if ( (c1 = Getc()) == '*' )
                                         c = aftercomment();                                          c = aftercomment();
Line 538  int myatoi(char *s)
Line 549  int myatoi(char *s)
 }  }
   
 extern int ox_do_copy;  extern int ox_do_copy;
   extern int I_am_server;
   extern JMP_BUF main_env;
   
 void yyerror(char *s)  void yyerror(char *s)
 {  {
         if ( main_parser )          if ( main_parser ) {
                 if ( ox_do_copy ) {                  if ( ox_do_copy ) {
                         /* push errors to DebugStack */                          /* push errors to DebugStack */
                 } else {                  } else {
Line 550  void yyerror(char *s)
Line 563  void yyerror(char *s)
                         else                          else
                                 fprintf(stderr,"\"%s\", near line %d: %s\n",asir_infile->name,asir_infile->ln,s);                                  fprintf(stderr,"\"%s\", near line %d: %s\n",asir_infile->name,asir_infile->ln,s);
                 }                  }
         else                  if ( I_am_server ) {
                           set_lasterror(s);
                           LONGJMP(main_env,1);
                   }
           } else
                 fprintf(stderr,"exprparse : %s\n",s);                  fprintf(stderr,"exprparse : %s\n",s);
 }  }
   

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

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