/[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.1, Sun Mar 4 01:38:23 2001 UTC revision 1.6, Thu Oct 21 21:40:35 2004 UTC
# Line 24  Line 24 
24  %x xSYM  %x xSYM
25  %x xSKIP  %x xSKIP
26  %x xSKIPSTR  %x xSKIPSTR
27    %x xAUTHOR
28    
29  %{  %{
30  #include <stdio.h>  #include <stdio.h>
# Line 82  Line 83 
83          /* Other known extensions */          /* Other known extensions */
84  namespace               return tNAMESPACE;  namespace               return tNAMESPACE;
85  dead                    return tDEAD;  dead                    return tDEAD;
86            /* CVSNT extensions */
87    mergepoint1             return tMERGEPOINT;
88    deltatype               return tDELTATYPE;
89    commitid                return tCOMMITID;
90    kopt                    return tKOPT;
91    filename                return tFILENAME;
92    
93          /* Here come any other 'newphrase' constructs */          /* Here come any other 'newphrase' constructs */
94  {num}?{idchar}({idchar}|{num})*         {  {num}?{idchar}({idchar}|{num})*         {
# Line 111  Line 118 
118                  BEGIN(INITIAL);                  BEGIN(INITIAL);
119                  return tID;                  return tID;
120          }          }
121    <xID>{num}?.    rcserror("Invalid character in ID '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
122    
123  <xSYM>{ws}+     ;  <xSYM>{ws}+     ;
124  <xSYM>\n        line_number++;  <xSYM>\n        line_number++;
# Line 120  Line 128 
128                  BEGIN(INITIAL);                  BEGIN(INITIAL);
129                  return tSYM;                  return tSYM;
130          }          }
131    <xSYM>{digit}*. rcserror("Invalid character in SYMBOL '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
132    
133  @               reset_str(); BEGIN(xSTR);  @               reset_str(); BEGIN(xSTR);
134  <xSTR>[^@\n]+   add_str(rcstext, rcsleng);  <xSTR>[^@\n]+   add_str(rcstext, rcsleng);
# Line 127  Line 136 
136  <xSTR>@@        add_str(rcstext, 1);  <xSTR>@@        add_str(rcstext, 1);
137  <xSTR>@         rcslval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;  <xSTR>@         rcslval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;
138    
139    <xAUTHOR>@      reset_str(); BEGIN(xSTR);
140    <xAUTHOR>{ws}+  ;
141    <xAUTHOR>\n     line_number++;
142    <xAUTHOR>{special}      BEGIN(INITIAL); return *rcstext;
143    <xAUTHOR>{num}?{idchar}({idchar}|{num})*                {
144                    rcslval.str = xstrdup(rcstext);
145                    BEGIN(INITIAL);
146                    return tID;
147            }
148    <xAUTHOR>{num}?.        rcserror("Invalid character in ID '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
149    
150  {ws}+           ; /* Ignore whitespace */  {ws}+           ; /* Ignore whitespace */
151  \n              line_number++;  \n              line_number++;
# Line 145  Line 164 
164          BEGIN(xID);          BEGIN(xID);
165  }  }
166    
167    void set_author(void)
168    {
169            BEGIN(xAUTHOR);
170    }
171    
172  void set_sym(void)  void set_sym(void)
173  {  {
174          BEGIN(xSYM);          BEGIN(xSYM);
# Line 191  Line 215 
215          if(skip_string)          if(skip_string)
216                  return xstrdup("");                  return xstrdup("");
217  #endif  #endif
218          str[nstr] = '\0';          if(str)
219          return xstrdup(str);          {
220                    str[nstr] = '\0';
221                    return xstrdup(str);
222            }
223            else
224                    return xstrdup("");
225  }  }
226    

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

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0