1// re2c $INPUT -o $OUTPUT  --input custom
2bool lex (const char * cursor, const char * const limit)
3{
4    const char * marker;
5    const char * ctxmarker;
6#   define YYCTYPE        char
7#   define YYPEEK()       *cursor
8#   define YYSKIP()       ++cursor
9#   define YYBACKUP()     marker = cursor
10#   define YYBACKUPCTX()  ctxmarker = cursor
11#   define YYRESTORE()    cursor = marker
12#   define YYRESTORECTX() cursor = ctxmarker
13#   define YYLESSTHAN(n)  limit - cursor < n
14#   define YYFILL(n)      {}
15    /*!re2c
16        "int buffer " / "[" [0-9]+ "]" { return true; }
17        *                              { return false; }
18    */
19}
20
21int main ()
22{
23    char buffer [] = "int buffer [1024]";
24    return !lex (buffer, buffer + sizeof (buffer));
25}
26