From: helly
For example, given the following code
#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;} @@ -47,19 +46,16 @@ char *q; /* 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; @@ -67,11 +63,11 @@ yy0: 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); @@ -80,7 +76,7 @@ yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } -#line 12 +#line 11 }diff --git a/re2c.1.in b/re2c.1.in index 1e1d176a..33e383a6 100644 --- a/re2c.1.in +++ b/re2c.1.in @@ -7,6 +7,9 @@ .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 \" @@ -186,12 +189,11 @@ For example, given the following code .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;} @@ -208,12 +210,11 @@ char *q; /* 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; @@ -228,11 +229,11 @@ yy0: 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); @@ -241,7 +242,7 @@ yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } -#line 12 +#line 11 } .fi