1// re2c $INPUT -o $OUTPUT 2#include <stdio.h> 3 4int scan(const char *p) 5{ 6#define YYCTYPE char 7 const char *YYCURSOR = p; 8 const char *YYMARKER; 9 10/*!re2c 11 re2c:yyfill:enable = 0; 12 13 escaped_char = "\\b"; 14 15 [<] ([x] | escaped_char | [y])* [>] { return YYCURSOR - p; } 16 ("a" | escaped_char)* { return YYCURSOR - p; } 17 . { return 0; } 18*/ 19} 20 21int main() 22{ 23 const char *str = "aaa\\baaa"; 24 int res = scan(str); 25 printf("%d: %s\n", res, str + res); 26 return 0; 27} 28 29