File: bug1472770_f.c

package info (click to toggle)
re2c 4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 50,052 kB
  • sloc: cpp: 32,477; ml: 8,279; sh: 5,265; makefile: 968; haskell: 612; python: 428; ansic: 227; javascript: 111; java: 3
file content (89 lines) | stat: -rw-r--r-- 1,279 bytes parent folder | download | duplicates (2)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/* Generated by re2c */
#line 1 "bug1472770_f.re"
// re2c $INPUT -o $OUTPUT -f
#define NULL ((char*) 0)
#define YYCTYPE char
#define YYCURSOR p
#define YYLIMIT p
#define YYMARKER q
#define YYFILL(n)

YYCTYPE yych;
int yySavedState;

#define YYGETSTATE()	yySavedState
#define YYSETSTATE(n)	yySavedState = n;

#include <stdio.h>

int scan(char *p)
{
	int n = 0;
	char *q;
	
	printf("[--------------\n");
	printf("%s\n", p);
	printf("]--------------\n");
start:

#line 30 "bug1472770_f.c"
	switch (YYGETSTATE()) {
		case 0: goto yyFillLabel0;
		default: goto yy0;
	}
yy0:
	goto yy1;
yy2:
	++YYCURSOR;
yy1:
	if (YYLIMIT <= YYCURSOR) {
		YYSETSTATE(0);
		YYFILL(1);
	}
yyFillLabel0:
	yych = *YYCURSOR;
	switch (yych) {
		case 0x00: goto yy3;
		case '\n': goto yy4;
		default: goto yy2;
	}
yy3:
	++YYCURSOR;
	YYSETSTATE(-1);
#line 33 "bug1472770_f.re"
	{
		return n;
	}
#line 58 "bug1472770_f.c"
yy4:
	++YYCURSOR;
	YYSETSTATE(-1);
#line 28 "bug1472770_f.re"
	{
		++n;
		goto start;
	}
#line 67 "bug1472770_f.c"
#line 36 "bug1472770_f.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;
}