/[CvsGraph]/cvsgraph/rcsl.l
ViewVC logotype

Diff of /cvsgraph/rcsl.l

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.10, Mon Oct 3 20:40:25 2005 UTC revision 1.10.4.1, Mon Nov 13 20:42:23 2006 UTC
# Line 38  Line 38 
38  #include "cvsgraph.h"  #include "cvsgraph.h"
39  #include "readconf.h"  #include "readconf.h"
40  #include "rcs.h"  #include "rcs.h"
41  #include "rcs.tab.h"  #include "rcsy.h"
42    
43  #define SKIP_DELTATEXT  1  #define SKIP_DELTATEXT  1
44    
# Line 96  Line 96 
96    
97          /* Here come any other 'newphrase' constructs */          /* Here come any other 'newphrase' constructs */
98  {num}?{idchar}({idchar}|{num})*         {  {num}?{idchar}({idchar}|{num})*         {
99                  rcslval.str = xstrdup(rcstext);                  yylval.str = xstrdup(yytext);
100                  return tNEWPHRASE;                  return tNEWPHRASE;
101          }          }
102    
# Line 104  Line 104 
104  <xSKIP>[^;@\n]+         ;  <xSKIP>[^;@\n]+         ;
105  <xSKIP>\n               line_number++;  <xSKIP>\n               line_number++;
106  <xSKIP>@                BEGIN(xSKIPSTR);  <xSKIP>@                BEGIN(xSKIPSTR);
107  <xSKIP>;                BEGIN(INITIAL); return *rcstext;  <xSKIP>;                BEGIN(INITIAL); return *yytext;
108    
109  <xSKIPSTR>[^\n@]+       ;  <xSKIPSTR>[^\n@]+       ;
110  <xSKIPSTR>\n            line_number++;  <xSKIPSTR>\n            line_number++;
111  <xSKIPSTR>@@            ;  <xSKIPSTR>@@            ;
112  <xSKIPSTR>@             BEGIN(xSKIP);  <xSKIPSTR>@             BEGIN(xSKIP);
113    
114  {num}                   rcslval.str = xstrdup(rcstext); return tREV;  {num}                   yylval.str = xstrdup(yytext); return tREV;
115  [:;$]                   return *rcstext;  [:;$]                   return *yytext;
116    
117  <xID>{ws}+      ;  <xID>{ws}+      ;
118  <xID>\n         line_number++;  <xID>\n         line_number++;
119  <xID>{special}  BEGIN(INITIAL); return *rcstext;  <xID>{special}  BEGIN(INITIAL); return *yytext;
120  <xID>{num}?{idchar}({idchar}|{num})*            {  <xID>{num}?{idchar}({idchar}|{num})*            {
121                  rcslval.str = xstrdup(rcstext);                  yylval.str = xstrdup(yytext);
122                  BEGIN(INITIAL);                  BEGIN(INITIAL);
123                  return tID;                  return tID;
124          }          }
125  <xID>{num}?.    rcserror("Invalid character in ID '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);  <xID>{num}?.    rcserror("Invalid character in ID '%s' (0x%02x)", yytext, yytext[yyleng-1]);
126    
127  <xSYM>{ws}+     ;  <xSYM>{ws}+     ;
128  <xSYM>\n        line_number++;  <xSYM>\n        line_number++;
129  <xSYM>{special} BEGIN(INITIAL); return *rcstext;  <xSYM>{special} BEGIN(INITIAL); return *yytext;
130  <xSYM>{digit}*{idchar}({idchar}|{digit})*       {  <xSYM>{digit}*{idchar}({idchar}|{digit})*       {
131                  rcslval.str = xstrdup(rcstext);                  yylval.str = xstrdup(yytext);
132                  BEGIN(INITIAL);                  BEGIN(INITIAL);
133                  return tSYM;                  return tSYM;
134          }          }
135  <xSYM>{digit}*. rcserror("Invalid character in SYMBOL '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);  <xSYM>{digit}*. rcserror("Invalid character in SYMBOL '%s' (0x%02x)", yytext, yytext[yyleng-1]);
136    
137  @               reset_str(); BEGIN(xSTR);  @               reset_str(); BEGIN(xSTR);
138  <xSTR>[^@\n]+   add_str(rcstext, rcsleng);  <xSTR>[^@\n]+   add_str(yytext, yyleng);
139  <xSTR>\n        line_number++; add_str(rcstext, rcsleng);  <xSTR>\n        line_number++; add_str(yytext, yyleng);
140  <xSTR>@@        add_str(rcstext, 1);  <xSTR>@@        add_str(yytext, 1);
141  <xSTR>@         rcslval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;  <xSTR>@         yylval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;
142    
143  <xAUTHOR>@      reset_str(); BEGIN(xSTR);  <xAUTHOR>@      reset_str(); BEGIN(xSTR);
144  <xAUTHOR>{ws}+  ;  <xAUTHOR>{ws}+  ;
145  <xAUTHOR>\n     line_number++;  <xAUTHOR>\n     line_number++;
146  <xAUTHOR>{special}      BEGIN(INITIAL); return *rcstext;  <xAUTHOR>{special}      BEGIN(INITIAL); return *yytext;
147  <xAUTHOR>({idchar}|{num}|{ws})+         {  <xAUTHOR>({idchar}|{num}|{ws})+         {
148                  rcslval.str = xstrdup(rcstext);                  yylval.str = xstrdup(yytext);
149                  BEGIN(INITIAL);                  BEGIN(INITIAL);
150                  return tID;                  return tID;
151          }          }
152  <xAUTHOR>.      rcserror("Invalid character in AUTHOR '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);  <xAUTHOR>.      rcserror("Invalid character in AUTHOR '%s' (0x%02x)", yytext, yytext[yyleng-1]);
153    
154  {ws}+           ; /* Ignore whitespace */  {ws}+           ; /* Ignore whitespace */
155  \n              line_number++;  \n              line_number++;
156    
157  .               rcserror("Unknown char/unmatched text '%c' (0x%02x)", isprint(*rcstext) ? *rcstext : ' ', *rcstext);  .               rcserror("Unknown char/unmatched text '%c' (0x%02x)", isprint(*yytext) ? *yytext : ' ', *yytext);
158    
159  %%  %%
160    
161  int rcswrap(void)  int yywrap(void)
162  {  {
163          return 1;          return 1;
164  }  }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.10.4.1

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0