1 /* Generated by re2c */
2 #line 1 "line-02.re"
3 // re2c $INPUT -o $OUTPUT
4 /* Generated by re2c 0.16 on Mon Jun 25 20:07:34 2018 */
5 typedef enum num_t { ERR, BIN, OCT, DEC, HEX } num_t;
lex(const char * YYCURSOR)6 static num_t lex(const char *YYCURSOR)
7 {
8     const char *YYMARKER;
9 
10 {
11 	char yych;
12 	yych = *YYCURSOR;
13 	switch (yych) {
14 	case '0':	goto yy4;
15 	case '1':
16 	case '2':
17 	case '3':
18 	case '4':
19 	case '5':
20 	case '6':
21 	case '7':
22 	case '8':
23 	case '9':	goto yy5;
24 	default:	goto yy2;
25 	}
26 yy2:
27 	++YYCURSOR;
28 yy3:
29 	{ return ERR; }
30 yy4:
31 	yych = *(YYMARKER = ++YYCURSOR);
32 	switch (yych) {
33 	case 0x00:	goto yy6;
34 	case '0':
35 	case '1':
36 	case '2':
37 	case '3':
38 	case '4':
39 	case '5':
40 	case '6':
41 	case '7':	goto yy8;
42 	case 'B':
43 	case 'b':	goto yy11;
44 	case 'X':
45 	case 'x':	goto yy12;
46 	default:	goto yy3;
47 	}
48 yy5:
49 	yych = *(YYMARKER = ++YYCURSOR);
50 	switch (yych) {
51 	case 0x00:	goto yy13;
52 	case '0':
53 	case '1':
54 	case '2':
55 	case '3':
56 	case '4':
57 	case '5':
58 	case '6':
59 	case '7':
60 	case '8':
61 	case '9':	goto yy15;
62 	default:	goto yy3;
63 	}
64 yy6:
65 	++YYCURSOR;
66 	{ return OCT; }
67 yy8:
68 	++YYCURSOR;
69 	yych = *YYCURSOR;
70 	switch (yych) {
71 	case 0x00:	goto yy6;
72 	case '0':
73 	case '1':
74 	case '2':
75 	case '3':
76 	case '4':
77 	case '5':
78 	case '6':
79 	case '7':	goto yy8;
80 	default:	goto yy10;
81 	}
82 yy10:
83 	YYCURSOR = YYMARKER;
84 	goto yy3;
85 yy11:
86 	yych = *++YYCURSOR;
87 	if (yych <= 0x00) goto yy10;
88 	goto yy18;
89 yy12:
90 	yych = *++YYCURSOR;
91 	if (yych <= 0x00) goto yy10;
92 	goto yy20;
93 yy13:
94 	++YYCURSOR;
95 	{ return DEC; }
96 yy15:
97 	++YYCURSOR;
98 	yych = *YYCURSOR;
99 	switch (yych) {
100 	case 0x00:	goto yy13;
101 	case '0':
102 	case '1':
103 	case '2':
104 	case '3':
105 	case '4':
106 	case '5':
107 	case '6':
108 	case '7':
109 	case '8':
110 	case '9':	goto yy15;
111 	default:	goto yy10;
112 	}
113 yy17:
114 	++YYCURSOR;
115 	yych = *YYCURSOR;
116 yy18:
117 	switch (yych) {
118 	case 0x00:	goto yy21;
119 	case '0':
120 	case '1':	goto yy17;
121 	default:	goto yy10;
122 	}
123 yy19:
124 	++YYCURSOR;
125 	yych = *YYCURSOR;
126 yy20:
127 	switch (yych) {
128 	case 0x00:	goto yy23;
129 	case '0':
130 	case '1':
131 	case '2':
132 	case '3':
133 	case '4':
134 	case '5':
135 	case '6':
136 	case '7':
137 	case '8':
138 	case '9':
139 	case 'A':
140 	case 'B':
141 	case 'C':
142 	case 'D':
143 	case 'E':
144 	case 'F':
145 	case 'a':
146 	case 'b':
147 	case 'c':
148 	case 'd':
149 	case 'e':
150 	case 'f':	goto yy19;
151 	default:	goto yy10;
152 	}
153 yy21:
154 	++YYCURSOR;
155 	{ return BIN; }
156 yy23:
157 	++YYCURSOR;
158 	{ return HEX; }
159 }
160 
161 }
162