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 73 74 75
|
/* Generated by re2c */
#line 1 "bug1472770.re"
// re2c $INPUT -o $OUTPUT
#define NULL ((char*) 0)
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
#define YYMARKER q
#define YYFILL(n)
#include <stdio.h>
int scan(char *p)
{
int n = 0;
char *q;
printf("[--------------\n");
printf("%s\n", p);
printf("]--------------\n");
start:
#line 24 "bug1472770.c"
{
YYCTYPE yych;
goto yy0;
yy1:
++YYCURSOR;
yy0:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 0x00: goto yy2;
case '\n': goto yy3;
default: goto yy1;
}
yy2:
++YYCURSOR;
#line 27 "bug1472770.re"
{
return n;
}
#line 44 "bug1472770.c"
yy3:
++YYCURSOR;
#line 22 "bug1472770.re"
{
++n;
goto start;
}
#line 52 "bug1472770.c"
}
#line 30 "bug1472770.re"
}
int main(int argc, char **argv)
{
int n = 0;
char *largv[4];
if (argc < 2)
{
argc = 4;
argv = largv;
argv[1] = "";
argv[2] = "1\n\n";
argv[3] = "1\n2\n";
}
while(++n < argc)
{
printf("%d\n", scan(argv[n]));
}
return 0;
}
|