/[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.7, Mon Jun 13 19:57:10 2005 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    properties              return tPROPERTIES;
93    
94          /* Here come any other 'newphrase' constructs */          /* Here come any other 'newphrase' constructs */
95  {num}?{idchar}({idchar}|{num})*         {  {num}?{idchar}({idchar}|{num})*         {
# Line 111  Line 119 
119                  BEGIN(INITIAL);                  BEGIN(INITIAL);
120                  return tID;                  return tID;
121          }          }
122    <xID>{num}?.    rcserror("Invalid character in ID '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
123    
124  <xSYM>{ws}+     ;  <xSYM>{ws}+     ;
125  <xSYM>\n        line_number++;  <xSYM>\n        line_number++;
# Line 120  Line 129 
129                  BEGIN(INITIAL);                  BEGIN(INITIAL);
130                  return tSYM;                  return tSYM;
131          }          }
132    <xSYM>{digit}*. rcserror("Invalid character in SYMBOL '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
133    
134  @               reset_str(); BEGIN(xSTR);  @               reset_str(); BEGIN(xSTR);
135  <xSTR>[^@\n]+   add_str(rcstext, rcsleng);  <xSTR>[^@\n]+   add_str(rcstext, rcsleng);
# Line 127  Line 137 
137  <xSTR>@@        add_str(rcstext, 1);  <xSTR>@@        add_str(rcstext, 1);
138  <xSTR>@         rcslval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;  <xSTR>@         rcslval.str = get_str(); BEGIN(INITIAL); skip_string = 0; return tSTRING;
139    
140    <xAUTHOR>@      reset_str(); BEGIN(xSTR);
141    <xAUTHOR>{ws}+  ;
142    <xAUTHOR>\n     line_number++;
143    <xAUTHOR>{special}      BEGIN(INITIAL); return *rcstext;
144    <xAUTHOR>{num}?{idchar}({idchar}|{num})*                {
145                    rcslval.str = xstrdup(rcstext);
146                    BEGIN(INITIAL);
147                    return tID;
148            }
149    <xAUTHOR>{num}?.        rcserror("Invalid character in ID '%s' (0x%02x)", rcstext, rcstext[yyleng-1]);
150    
151  {ws}+           ; /* Ignore whitespace */  {ws}+           ; /* Ignore whitespace */
152  \n              line_number++;  \n              line_number++;
# Line 145  Line 165 
165          BEGIN(xID);          BEGIN(xID);
166  }  }
167    
168    void set_author(void)
169    {
170            BEGIN(xAUTHOR);
171    }
172    
173  void set_sym(void)  void set_sym(void)
174  {  {
175          BEGIN(xSYM);          BEGIN(xSYM);
# Line 191  Line 216 
216          if(skip_string)          if(skip_string)
217                  return xstrdup("");                  return xstrdup("");
218  #endif  #endif
219          str[nstr] = '\0';          if(str)
220          return xstrdup(str);          {
221                    str[nstr] = '\0';
222                    return xstrdup(str);
223            }
224            else
225                    return xstrdup("");
226  }  }
227    

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

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0