Diff for /capa/capa51/pProj/capaLexerDef.flex between versions 1.1 and 1.6

version 1.1, 1999/09/28 21:26:20 version 1.6, 2000/02/22 18:19:02
Line 352  EndLine    ([\r][\n]|[\n]) Line 352  EndLine    ([\r][\n]|[\n])
 %k 10000  %k 10000
 %p 10000  %p 10000
 %n 1000  %n 1000
 %x  S_COMMENT  S_HINT S_HINTEXLAINX  S_IMPORT S_EXPLAIN S_ENDX   S_UNIT   S_IGNORE    %x  S_COMMENT   S_HINT S_HINTEXLAINX  S_IMPORT S_EXPLAIN S_ENDX    S_UNIT   S_IGNORE  
 %x  S_SKIP     S_VARIABLE S_LET  S_DEFINE     S_TEXT   S_MAP     S_FIGURE S_ANSWER   %x  S_SKIP      S_VARIABLE S_LET  S_DEFINE     S_TEXT    S_MAP     S_FIGURE S_ANSWER 
 %x  S_STRING   S_ANSCONTINUE     S_TRUE_FALSE_STMT     S_IF_SKIP S_WHILE_SKIP  %x  S_STRING    S_ANSCONTINUE     S_TRUE_FALSE_STMT      S_IF_SKIP S_WHILE_SKIP
 %x  S_NEXT_LINE S_RANDOMORDER    S_VERB  %x  S_NEXT_LINE S_RANDOMORDER     S_VERB
 %array  %array
   
   
Line 380  EndLine    ([\r][\n]|[\n]) Line 380  EndLine    ([\r][\n]|[\n])
 ^{Spaces}"/BEG"                  { LLDBUG_PRL1("[LET]"); Pcount = 0; init_funcstack(); BEGIN S_LET; RETURN(CAPA_LET); }  ^{Spaces}"/BEG"                  { LLDBUG_PRL1("[LET]"); Pcount = 0; init_funcstack(); BEGIN S_LET; RETURN(CAPA_LET); }
 ^{Spaces}"/VERB"                 {   ^{Spaces}"/VERB"                 { 
                                    LLDBUG_PRL1("[VERBATIM]");                                     LLDBUG_PRL1("[VERBATIM]");
    Dynamic_buf = (char *)capa_malloc(sizeof(char),1);     Dynamic_buf = (char *)capa_malloc(sizeof(char),10);
    Dynamic_buf_max = 1;     Dynamic_buf_max = 10;
    Dynamic_buf_cur = 0;     Dynamic_buf_cur = 0;
    Dynamic_buf[0] = '\0';     Dynamic_buf[0] = '\0';
                                    BEGIN S_VERB;                                      BEGIN S_VERB; 
Line 789  EndLine    ([\r][\n]|[\n]) Line 789  EndLine    ([\r][\n]|[\n])
                           }                            }
 }  }
   
 <S_VARIABLE,S_ANSWER>[:]{Number}+[EeFf]   { char  num[ONE_TWO_EIGHT], fmt[SIXTEEN];  <S_VARIABLE,S_ANSWER>[:]{Number}+[EeFf]   { char  num[ONE_TWO_EIGHT], fmt[SMALL_LINE_BUFFER];
                              int   i;                               int   i;
                              LLDBUG_PR2("[FORMAT<%s>]",yytext);                               LLDBUG_PR2("[FORMAT<%s>]",yytext);
                              for(i=0;i<yyleng-2;i++) {                               for(i=0;i<yyleng-2;i++) {
Line 849  EndLine    ([\r][\n]|[\n]) Line 849  EndLine    ([\r][\n]|[\n])
 }  }
   
 <S_TRUE_FALSE_STMT>{  <S_TRUE_FALSE_STMT>{
 [\)]                     { LLDBUG_PR1("[) in TRUE_FALSE]"); Pcount--; if(Pcount == 0)  BEGIN S_NEXT_LINE; return(yytext[0]); }  [\)]                     { LLDBUG_PRL1("[) in TRUE_FALSE]"); Pcount--; if(Pcount == 0)  BEGIN S_NEXT_LINE; return(yytext[0]); }
 [\\]{Space}*{EndLine}    { LLDBUG_PR2("[\\EoL continue in S_TRUE_FALSE_STMT](%s)",yytext); /* continuation on next line */ }                         [\\]{Space}*{EndLine}    { LLDBUG_PR2("[\\EoL continue in S_TRUE_FALSE_STMT](%s)",yytext); /* continuation on next line */ }                       
 {EndLine}                { LLDBUG_PR1("[EoL within /IF()]\n"); RETURN(EoL); }  {EndLine}                { LLDBUG_PR1("[EoL within /IF()]\n"); RETURN(EoL); }
 .                   { char warn_msg[WARN_MSG_LENGTH];   .                   { char warn_msg[WARN_MSG_LENGTH]; 
Line 949  EndLine    ([\r][\n]|[\n]) Line 949  EndLine    ([\r][\n]|[\n])
 [^\n]*$                  { LLDBUG_PRL2("[SkipIF anything <IFcount=%d>]",IFcount);   }  [^\n]*$                  { LLDBUG_PRL2("[SkipIF anything <IFcount=%d>]",IFcount);   }
 }  }
 <S_NEXT_LINE>{  <S_NEXT_LINE>{
 ([.]*){EndLine}          { /* this ignores everything until it hits an EoL */ BEGIN S_TEXT; }  ([.]*){EndLine}          { /* this ignores everything until it hits an EoL */
                              LLDBUG_PRL2("[<S_NEXT_LINE> skip \'%s\' until EoL]\n",yytext); 
                              BEGIN S_TEXT;
                            }
 }  }
   
 <S_WHILE_SKIP>{  <S_WHILE_SKIP>{
Line 1135  char * Line 1138  char *
 strsave(char *s)   strsave(char *s) 
 {              {            
    char *p;       char *p;  
      if (s==NULL) {return s;}
    p=capa_malloc(strlen(s)+1,1);     p=capa_malloc(strlen(s)+1,1);
    strcpy(p,s);     strcpy(p,s);
    return (p);     return (p);
Line 1194  capa_msg(int type, char *p) Line 1198  capa_msg(int type, char *p)
            }             }
            warn_msg[idx]=0;             warn_msg[idx]=0;
            append_error(warn_msg); append_error(p);             append_error(warn_msg); append_error(p);
            break;     break;
     case MESSAGE_WARN:      case MESSAGE_WARN:
     default:      default:
            sprintf(tmp_line,", Line %d: WARNING:", Current_line[Input_idx]);             sprintf(tmp_line,", Line %d: WARNING:", Current_line[Input_idx]);
Line 1478  void append_dynamic_buf(new_str) char *n Line 1482  void append_dynamic_buf(new_str) char *n
       
   if(new_str==NULL) return;    if(new_str==NULL) return;
   len=strlen(new_str);    len=strlen(new_str);
 #define LEX_DBUG 1  
 #ifdef LEX_DBUG  #ifdef LEX_DBUG
   printf("before: len %d; Dynamic_buf_cur %d; Dynamic_buf_max %d\n",    printf("before: len %d; Dynamic_buf_cur %d; Dynamic_buf_max %d\n",
  len,Dynamic_buf_cur,Dynamic_buf_max);   len,Dynamic_buf_cur,Dynamic_buf_max);
Line 1499  void append_dynamic_buf(new_str) char *n Line 1502  void append_dynamic_buf(new_str) char *n
 #ifdef LEX_DBUG  #ifdef LEX_DBUG
   printf("after: len %d; Dynamic_buf_cur %d; Dynamic_buf_max %d\n",    printf("after: len %d; Dynamic_buf_cur %d; Dynamic_buf_max %d\n",
  len,Dynamic_buf_cur,Dynamic_buf_max);   len,Dynamic_buf_cur,Dynamic_buf_max);
     printf("Dyn_buf %s; added %s\n",Dynamic_buf,new_str);
 #endif /* LEX_DBUG */      #endif /* LEX_DBUG */    
 }  }
   
Line 1525  char* parser_status() Line 1529  char* parser_status()
 void yyfatalerror(char*msg)  void yyfatalerror(char*msg)
 {  {
   char    warn_msg[WARN_MSG_LENGTH];    char    warn_msg[WARN_MSG_LENGTH];
   sprintf(warn_msg,"Invalid character[%s]\n",yytext);    sprintf(warn_msg,"Invalid character[\'%s\']\n",yytext);
   capa_msg(MESSAGE_ERROR,warn_msg);    capa_msg(MESSAGE_ERROR,warn_msg);
     capa_msg(MESSAGE_ERROR,msg);
 }  }
 void yyerror(char* msg)  void yyerror(char* msg)
 {  {

Removed from v.1.1  
changed lines
  Added in v.1.6


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