]> granicus.if.org Git - re2c/commitdiff
- Update docu
authorhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Mon, 26 Feb 2007 09:42:45 +0000 (09:42 +0000)
committerhelly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
Mon, 26 Feb 2007 09:42:45 +0000 (09:42 +0000)
re2c/htdocs/manual.html
re2c/re2c.1.in

index f27ce744193ea4b6c9baf6524ddf90cc96c91600..43b8c3078e800bbdb33b571599098649912dede6 100755 (executable)
@@ -15,7 +15,7 @@ Updated: 20 Feb 2007<br />
 <p>re2c - convert regular expressions to C/C++</p>
 <a name="lbAC" id="lbAC">&nbsp;</a>
 <h2>SYNOPSIS</h2>
-<p><b>re2c</b> [<b>-bdefghisvVw1</b>] [<b>-o output</b>] file</p>
+<p><b>re2c</b> [<b>-bdefghisuvVw1</b>] [<b>-o output</b>] file</p>
 <a name="lbAD" id="lbAD">&nbsp;</a>
 <h2>DESCRIPTION</h2>
 <p><b>re2c</b> is a preprocessor that generates C-based recognizers from
@@ -26,56 +26,49 @@ executed, will find the next input token and then execute some user-supplied
 token-specific code.</p>
 <p>For example, given the following code</p>
 <pre>
-#define NULL            ((char*) 0)
 char *scan(char *p)
 {
-#define YYCTYPE         char
-#define YYCURSOR        p
-#define YYLIMIT         p
-#define YYFILL(n)
 /*!re2c
-        [0-9]+          {return YYCURSOR;}
-        [\000-\377]     {return NULL;}
+        re2c:define:YYCTYPE  = "unsigned char";
+        re2c:define:YYCURSOR = p;
+        re2c:yyfill:enable   = 0;
+        re2c:yych:conversion = 1;
+        re2c:indent:top      = 1;
+        [0-9]+          {return p;}
+        [\000-\377]     {return (char*)0;}
 */
 }
 </pre>
 <br />
 <br />
-<p><b>re2c</b> will generate</p>
+<p><b>re2c -is</b> will generate</p>
 <pre>
 /* Generated by re2c on Sat Apr 16 11:40:58 1994 */
-#line 1 "simple.re"
-#define NULL            ((char*) 0)
 char *scan(char *p)
 {
-#define YYCTYPE         char
-#define YYCURSOR        p
-#define YYLIMIT         p
-#define YYFILL(n)
-{
-        YYCTYPE yych;
+    {
+        unsigned char yych;
 
-        if((YYLIMIT - YYCURSOR) &lt; 2) YYFILL(2);
-        yych = *YYCURSOR;
+        yych = (unsigned char)*p;
         if(yych &lt;= '/') goto yy4;
         if(yych &gt;= ':') goto yy4;
-yy2:    yych = *++YYCURSOR;
+        ++p;
+        yych = (unsigned char)*p;
         goto yy7;
 yy3:
-#line 9
-        {return YYCURSOR;}
-yy4:    yych = *++YYCURSOR;
-yy5:
-#line 10
-        {return NULL;}
-yy6:    ++YYCURSOR;
-        if(YYLIMIT == YYCURSOR) YYFILL(1);
-        yych = *YYCURSOR;
-yy7:    if(yych &lt;= '/') goto yy3;
+        {return p;}
+yy4:
+        ++p;
+        yych = (unsigned char)*p;
+        {return char*)0;}
+yy6:
+        ++p;
+        yych = (unsigned char)*p;
+yy7:
+        if(yych &lt;= '/') goto yy3;
         if(yych &lt;= '9') goto yy6;
         goto yy3;
-}
-#line 11
+    }
 
 }
 </pre>
index 810ffb65a931f8068367817b42512a075fc7f4d5..df1fc39ac9fb4cde2fd8edd82cf49d8af200a735 100644 (file)
@@ -10,7 +10,7 @@
 re2c \- convert regular expressions to C/C++
 
 .SH SYNOPSIS
-\*(re [\fB-bdefghisvVw1\fP] [\fB-o output\fP] file\fP
+\*(re [\fB-bdefghisuvVw1\fP] [\fB-o output\fP] file\fP
 
 .SH DESCRIPTION
 \*(re is a preprocessor that generates C-based recognizers from regular
@@ -26,61 +26,51 @@ For example, given the following code
 
 .in +3
 .nf
-#define NULL            ((char*) 0)
 char *scan(char *p)
 {
-#define YYCTYPE         char
-#define YYCURSOR        p
-#define YYLIMIT         p
-#define YYFILL(n)
 /*!re2c
-        [0-9]+          {return YYCURSOR;}
-        [\\000-\\377]     {return NULL;}
+        re2c:define:YYCTYPE  = "unsigned char";
+        re2c:define:YYCURSOR = p;
+        re2c:yyfill:enable   = 0;
+        re2c:yych:conversion = 1;
+        re2c:indent:top      = 1;
+        [0-9]+          {return p;}
+        [\000-\377]     {return (char*)0;}
 */
 }
 .fi
 .in -3
 
-\*(re will generate
+\*(re -is will generate
 
 .in +3
 .nf
 /* Generated by re2c on Sat Apr 16 11:40:58 1994 */
-#line 1 "simple.re"
-#define NULL            ((char*) 0)
 char *scan(char *p)
 {
-#define YYCTYPE         char
-#define YYCURSOR        p
-#define YYLIMIT         p
-#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;
-        if(yych >= ':') goto yy4;
-yy2:    yych = *++YYCURSOR;
+    {
+        unsigned char yych;
+
+        yych = (unsigned char)*p;
+        if(yych &lt;= '/') goto yy4;
+        if(yych &gt;= ':') goto yy4;
+        ++p;
+        yych = (unsigned char)*p;
         goto yy7;
 yy3:
-#line 9
-        {return YYCURSOR;}
-yy4:    yych = *++YYCURSOR;
-yy5:
-#line 10
-        {return NULL;}
-yy6:    ++YYCURSOR;
-        if(YYLIMIT == YYCURSOR) YYFILL(1);
-        yych = *YYCURSOR;
-yy7:    if(yych <= '/') goto yy3;
-        if(yych <= '9') goto yy6;
+        {return p;}
+yy4:
+        ++p;
+        yych = (unsigned char)*p;
+        {return char*)0;}
+yy6:
+        ++p;
+        yych = (unsigned char)*p;
+yy7:
+        if(yych &lt;= '/') goto yy3;
+        if(yych &lt;= '9') goto yy6;
         goto yy3;
-}
-#line 11
+    }
 
 }
 .fi