1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/* Generated by re2c */
#line 1 "layout/flex_braces.re"
// re2c $INPUT -o $OUTPUT
// re2c block that starts with %{ on a new line
#line 8 "layout/flex_braces.c"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
++YYCURSOR;
#line 5 "layout/flex_braces.re"
{ return "%{ * {} %}"; }
#line 15 "layout/flex_braces.c"
}
#line 6 "layout/flex_braces.re"
// re2c block that starts with %{ on a new line with spaces
#line 22 "layout/flex_braces.c"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
++YYCURSOR;
#line 10 "layout/flex_braces.re"
return "%{ * {} %}"; /* %{ %} */ // %{ %}
#line 29 "layout/flex_braces.c"
}
#line 11 "layout/flex_braces.re"
// not a block, just a %{ in a string
const char *s = "%{ * {} %}";
// %{ is not a block start, as it's not followed by a newline
const char *s = "begin...\
%{ * {} %}...end";
// not a block, just a %{ in a multiline comment
/* %{ * {} %} */
// re2c erroneously thinks %{ in a comment is a block start
/*
#line 47 "layout/flex_braces.c"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
++YYCURSOR;
#line 26 "layout/flex_braces.re"
{}
#line 54 "layout/flex_braces.c"
}
#line 27 "layout/flex_braces.re"
*/
// not a block, just a %{ in a oneline comment
// %{ * {} %}
// %{ is not a block start, as it's not followed by a newline
#define X \
%{ * {} %}
// empty block
#line 39 "layout/flex_braces.re"
// %{ is not a block start, as it's not followed by a newline
%{%}
|