Given the following source
#define NULL ((char*) 0)
- char *scan(char *p){
- char *q;
+ char *scan(char *p)
+ {
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
- #define YYMARKER q
#define YYFILL(n)
/*!re2c
[0-9]+ {return YYCURSOR;}
/* Generated by re2c on Sat Apr 16 11:40:58 1994 */
#line 1 "simple.re"
#define NULL ((char*) 0)
- char *scan(char *p){
- char *q;
+ char *scan(char *p)
+ {
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
- #define YYMARKER q
#define YYFILL(n)
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy0;
- yy1: ++YYCURSOR;
- yy0:
+
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '/') goto yy4;
yy2: yych = *++YYCURSOR;
goto yy7;
yy3:
- #line 10
+ #line 9
{return YYCURSOR;}
yy4: yych = *++YYCURSOR;
yy5:
- #line 11
+ #line 10
{return NULL;}
yy6: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
if(yych <= '9') goto yy6;
goto yy3;
}
- #line 12
+ #line 11
}
<p>For example, given the following code</p>
<pre>
#define NULL ((char*) 0)
-char *scan(char *p){
-char *q;
+char *scan(char *p)
+{
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
-#define YYMARKER q
#define YYFILL(n)
/*!re2c
[0-9]+ {return YYCURSOR;}
/* Generated by re2c on Sat Apr 16 11:40:58 1994 */
#line 1 "simple.re"
#define NULL ((char*) 0)
-char *scan(char *p){
-char *q;
+char *scan(char *p)
+{
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
-#define YYMARKER q
#define YYFILL(n)
{
YYCTYPE yych;
unsigned int yyaccept;
- goto yy0;
-yy1: ++YYCURSOR;
-yy0:
+
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if(yych <= '/') goto yy4;
yy2: yych = *++YYCURSOR;
goto yy7;
yy3:
-#line 10
+#line 9
{return YYCURSOR;}
yy4: yych = *++YYCURSOR;
yy5:
-#line 11
+#line 10
{return NULL;}
yy6: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
if(yych <= '9') goto yy6;
goto yy3;
}
-#line 12
+#line 11
}
</pre>
.ds rx regular expression
.ds lx \fIl\fP-expression
\"$Log$
+\"Revision 1.47 2006/04/15 11:50:21 helly
+\"- Update docu
+\"
\"Revision 1.46 2006/04/09 02:26:28 helly
\"- Improve YYGETSTATE docu
\"
.in +3
.nf
#define NULL ((char*) 0)
-char *scan(char *p){
-char *q;
+char *scan(char *p)
+{
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
-#define YYMARKER q
#define YYFILL(n)
/*!re2c
[0-9]+ {return YYCURSOR;}
/* Generated by re2c on Sat Apr 16 11:40:58 1994 */
#line 1 "simple.re"
#define NULL ((char*) 0)
-char *scan(char *p){
-char *q;
+char *scan(char *p)
+{
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
-#define YYMARKER q
#define YYFILL(n)
{
YYCTYPE yych;
yy2: yych = *++YYCURSOR;
goto yy7;
yy3:
-#line 10
+#line 9
{return YYCURSOR;}
yy4: yych = *++YYCURSOR;
yy5:
-#line 11
+#line 10
{return NULL;}
yy6: ++YYCURSOR;
if(YYLIMIT == YYCURSOR) YYFILL(1);
if(yych <= '9') goto yy6;
goto yy3;
}
-#line 12
+#line 11
}
.fi