Hello Rui,

Monday, December 29, 2008, 8:20:35 PM, you wrote:

> On Monday 29 December 2008 15:47:08 Marcus Boerger wrote:
>> Hello Rui,
>>
>>   the end of a c-string is a \0. So all you need is a rule for that \0.
>> Remember as documented re2c does not assume anythign about your input.
>>
>> marcus

> I've tried that but re2c chokes on that. This is my test re2c code:

>         /*!re2c
>         re2c:define:YYCTYPE     = "char";
>         re2c:define:YYCURSOR    = p;
>         re2c:define:YYMARKER    = q;
>         re2c:yyfill:enable      = 0;
>         re2c:yych:conversion    = 1;
>         re2c:indent:top         = 1;
>         "se\0"          {return 1; }
>         "sen"   {return 3; }
>         .       {return 0; }
>         */

>>From this code, the re2c output is as follows:

> r...@kubuntu:test$ make
> re2c main.c.re2c > main.c
> re2c: error: line 15, column 14: Illegal octal character code, three octal 
> digits are required

> I tried to side-step this problem by replacing \0 with a \000 but that doesn't
> catch the null terminator.

\000 is the right thing to use. All octal escape codes must have three
digits.

> Am I doing something wrong or is this a limitation of re2c?

You have a wrong any rule. You uses '.' while you should be using '[^]'.

marcus


> Rui Maciel


> ------------------------------------------------------------------------------
> _______________________________________________
> Re2c-general mailing list
> Re2c-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/re2c-general




-- 
Best regards,
 Marcus                            mailto:m...@marcus-boerger.de


------------------------------------------------------------------------------
_______________________________________________
Re2c-general mailing list
Re2c-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/re2c-general

Reply via email to