hotcell 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/ext/lexerc/lexerc.c CHANGED
@@ -1,7 +1,8 @@
1
1
 
2
2
  #line 1 "ext/lexerc/lexerc.rl"
3
3
 
4
- #line 94 "ext/lexerc/lexerc.rl"
4
+ #line 12 "ext/lexerc/lexerc.rl"
5
+
5
6
 
6
7
 
7
8
  #include <ruby.h>
@@ -11,17 +12,17 @@ static VALUE mHotcell;
11
12
  static VALUE cHotcellLexer;
12
13
 
13
14
 
14
- #line 15 "ext/lexerc/lexerc.c"
15
- static const int puffer_lexer_start = 12;
16
- static const int puffer_lexer_first_final = 12;
15
+ #line 16 "ext/lexerc/lexerc.c"
16
+ static const int puffer_lexer_start = 13;
17
+ static const int puffer_lexer_first_final = 13;
17
18
  static const int puffer_lexer_error = 0;
18
19
 
19
- static const int puffer_lexer_en_expression = 16;
20
- static const int puffer_lexer_en_template_comment = 26;
21
- static const int puffer_lexer_en_main = 12;
20
+ static const int puffer_lexer_en_expression = 17;
21
+ static const int puffer_lexer_en_template_comment = 29;
22
+ static const int puffer_lexer_en_main = 13;
22
23
 
23
24
 
24
- #line 103 "ext/lexerc/lexerc.rl"
25
+ #line 22 "ext/lexerc/lexerc.rl"
25
26
 
26
27
  static char *p;
27
28
  static char *ts;
@@ -46,7 +47,7 @@ static VALUE tokenize(VALUE self) {
46
47
  char *eof = pe;
47
48
 
48
49
 
49
- #line 50 "ext/lexerc/lexerc.c"
50
+ #line 51 "ext/lexerc/lexerc.c"
50
51
  {
51
52
  cs = puffer_lexer_start;
52
53
  top = 0;
@@ -55,9 +56,9 @@ static VALUE tokenize(VALUE self) {
55
56
  act = 0;
56
57
  }
57
58
 
58
- #line 127 "ext/lexerc/lexerc.rl"
59
+ #line 46 "ext/lexerc/lexerc.rl"
59
60
 
60
- #line 61 "ext/lexerc/lexerc.c"
61
+ #line 62 "ext/lexerc/lexerc.c"
61
62
  {
62
63
  if ( p == pe )
63
64
  goto _test_eof;
@@ -65,35 +66,38 @@ static VALUE tokenize(VALUE self) {
65
66
 
66
67
  _again:
67
68
  switch ( cs ) {
68
- case 12: goto st12;
69
69
  case 13: goto st13;
70
70
  case 14: goto st14;
71
71
  case 15: goto st15;
72
72
  case 16: goto st16;
73
- case 0: goto st0;
74
- case 17: goto st17;
75
73
  case 1: goto st1;
76
- case 2: goto st2;
74
+ case 17: goto st17;
75
+ case 0: goto st0;
77
76
  case 18: goto st18;
77
+ case 2: goto st2;
78
78
  case 3: goto st3;
79
+ case 19: goto st19;
79
80
  case 4: goto st4;
80
81
  case 5: goto st5;
81
82
  case 6: goto st6;
82
- case 19: goto st19;
83
- case 20: goto st20;
84
83
  case 7: goto st7;
84
+ case 20: goto st20;
85
85
  case 21: goto st21;
86
- case 22: goto st22;
87
86
  case 8: goto st8;
87
+ case 22: goto st22;
88
88
  case 23: goto st23;
89
- case 9: goto st9;
90
89
  case 24: goto st24;
91
- case 10: goto st10;
92
90
  case 25: goto st25;
91
+ case 9: goto st9;
93
92
  case 26: goto st26;
93
+ case 10: goto st10;
94
94
  case 27: goto st27;
95
- case 28: goto st28;
96
95
  case 11: goto st11;
96
+ case 28: goto st28;
97
+ case 29: goto st29;
98
+ case 30: goto st30;
99
+ case 31: goto st31;
100
+ case 12: goto st12;
97
101
  default: break;
98
102
  }
99
103
 
@@ -102,74 +106,94 @@ _again:
102
106
  _resume:
103
107
  switch ( cs )
104
108
  {
105
- tr20:
106
- #line 92 "ext/lexerc/lexerc.rl"
107
- {te = p;p--;{ emit_template; }}
108
- goto st12;
109
+ tr0:
110
+ #line 91 "lib/hotcell/lexer.rl"
111
+ {{p = ((te))-1;}{ emit_tag; {stack[top++] = 13; goto st17;} }}
112
+ goto st13;
113
+ tr1:
114
+ #line 91 "lib/hotcell/lexer.rl"
115
+ {te = p+1;{ emit_tag; {stack[top++] = 13; goto st17;} }}
116
+ goto st13;
109
117
  tr22:
110
- #line 90 "ext/lexerc/lexerc.rl"
111
- {te = p;p--;{ emit_tag; {stack[top++] = 12; goto st16;} }}
112
- goto st12;
113
- tr23:
114
- #line 90 "ext/lexerc/lexerc.rl"
115
- {te = p+1;{ emit_tag; {stack[top++] = 12; goto st16;} }}
116
- goto st12;
118
+ #line 93 "lib/hotcell/lexer.rl"
119
+ {te = p;p--;{ emit_template; }}
120
+ goto st13;
117
121
  tr24:
118
- #line 91 "ext/lexerc/lexerc.rl"
119
- {te = p+1;{ emit_comment; {stack[top++] = 12; goto st26;} }}
120
- goto st12;
121
- st12:
122
- #line 1 "NONE"
123
- {ts = 0;}
124
- if ( ++p == pe )
125
- goto _test_eof12;
126
- case 12:
127
- #line 1 "NONE"
128
- {ts = p;}
129
- #line 130 "ext/lexerc/lexerc.c"
130
- if ( (*p) == 123 )
131
- goto st14;
122
+ #line 91 "lib/hotcell/lexer.rl"
123
+ {te = p;p--;{ emit_tag; {stack[top++] = 13; goto st17;} }}
124
+ goto st13;
125
+ tr25:
126
+ #line 92 "lib/hotcell/lexer.rl"
127
+ {te = p+1;{ emit_comment; {stack[top++] = 13; goto st29;} }}
132
128
  goto st13;
133
129
  st13:
130
+ #line 1 "NONE"
131
+ {ts = 0;}
134
132
  if ( ++p == pe )
135
133
  goto _test_eof13;
136
134
  case 13:
135
+ #line 1 "NONE"
136
+ {ts = p;}
137
+ #line 138 "ext/lexerc/lexerc.c"
137
138
  if ( (*p) == 123 )
138
- goto tr20;
139
- goto st13;
139
+ goto st15;
140
+ goto st14;
140
141
  st14:
141
142
  if ( ++p == pe )
142
143
  goto _test_eof14;
143
144
  case 14:
144
145
  if ( (*p) == 123 )
145
- goto st15;
146
- goto tr20;
146
+ goto tr22;
147
+ goto st14;
147
148
  st15:
148
149
  if ( ++p == pe )
149
150
  goto _test_eof15;
150
151
  case 15:
151
- switch( (*p) ) {
152
- case 33: goto tr23;
153
- case 35: goto tr24;
154
- }
152
+ if ( (*p) == 123 )
153
+ goto tr23;
155
154
  goto tr22;
156
- tr1:
157
- #line 78 "ext/lexerc/lexerc.rl"
158
- {te = p+1;{ emit_dstring; }}
155
+ tr23:
156
+ #line 1 "NONE"
157
+ {te = p+1;}
159
158
  goto st16;
159
+ st16:
160
+ if ( ++p == pe )
161
+ goto _test_eof16;
162
+ case 16:
163
+ #line 164 "ext/lexerc/lexerc.c"
164
+ switch( (*p) ) {
165
+ case 33: goto tr1;
166
+ case 35: goto tr25;
167
+ case 94: goto tr1;
168
+ case 101: goto st1;
169
+ case 114: goto st1;
170
+ case 126: goto tr1;
171
+ }
172
+ goto tr24;
173
+ st1:
174
+ if ( ++p == pe )
175
+ goto _test_eof1;
176
+ case 1:
177
+ if ( (*p) == 32 )
178
+ goto tr1;
179
+ goto tr0;
160
180
  tr3:
161
- #line 80 "ext/lexerc/lexerc.rl"
162
- {{p = ((te))-1;}{ emit_comment; }}
163
- goto st16;
181
+ #line 79 "lib/hotcell/lexer.rl"
182
+ {te = p+1;{ emit_dstring; }}
183
+ goto st17;
164
184
  tr5:
165
- #line 74 "ext/lexerc/lexerc.rl"
185
+ #line 81 "lib/hotcell/lexer.rl"
186
+ {{p = ((te))-1;}{ emit_comment; }}
187
+ goto st17;
188
+ tr7:
189
+ #line 75 "lib/hotcell/lexer.rl"
166
190
  {te = p+1;{ emit_operator; }}
167
- goto st16;
168
- tr8:
169
- #line 77 "ext/lexerc/lexerc.rl"
170
- {te = p+1;{ emit_sstring; }}
171
- goto st16;
191
+ goto st17;
172
192
  tr10:
193
+ #line 78 "lib/hotcell/lexer.rl"
194
+ {te = p+1;{ emit_sstring; }}
195
+ goto st17;
196
+ tr12:
173
197
  #line 1 "NONE"
174
198
  { switch( act ) {
175
199
  case 2:
@@ -180,402 +204,420 @@ tr10:
180
204
  break;
181
205
  }
182
206
  }
183
- goto st16;
184
- tr12:
185
- #line 74 "ext/lexerc/lexerc.rl"
207
+ goto st17;
208
+ tr14:
209
+ #line 75 "lib/hotcell/lexer.rl"
186
210
  {{p = ((te))-1;}{ emit_operator; }}
187
- goto st16;
188
- tr25:
189
- #line 81 "ext/lexerc/lexerc.rl"
211
+ goto st17;
212
+ tr27:
213
+ #line 82 "lib/hotcell/lexer.rl"
190
214
  {te = p+1;}
191
- goto st16;
192
- tr36:
193
- #line 74 "ext/lexerc/lexerc.rl"
215
+ goto st17;
216
+ tr38:
217
+ #line 75 "lib/hotcell/lexer.rl"
194
218
  {te = p;p--;{ emit_operator; }}
195
- goto st16;
196
- tr37:
197
- #line 80 "ext/lexerc/lexerc.rl"
219
+ goto st17;
220
+ tr39:
221
+ #line 81 "lib/hotcell/lexer.rl"
198
222
  {te = p;p--;{ emit_comment; }}
199
- goto st16;
200
- tr40:
201
- #line 79 "ext/lexerc/lexerc.rl"
223
+ goto st17;
224
+ tr42:
225
+ #line 76 "lib/hotcell/lexer.rl"
226
+ {te = p;p--;{ emit_numeric; }}
227
+ goto st17;
228
+ tr44:
229
+ #line 80 "lib/hotcell/lexer.rl"
202
230
  {te = p;p--;{ emit_regexp; }}
203
- goto st16;
204
- tr41:
205
- #line 76 "ext/lexerc/lexerc.rl"
231
+ goto st17;
232
+ tr45:
233
+ #line 77 "lib/hotcell/lexer.rl"
206
234
  {te = p;p--;{ emit_identifer; }}
207
- goto st16;
208
- tr42:
209
- #line 76 "ext/lexerc/lexerc.rl"
235
+ goto st17;
236
+ tr46:
237
+ #line 77 "lib/hotcell/lexer.rl"
210
238
  {te = p+1;{ emit_identifer; }}
211
- goto st16;
212
- tr43:
213
- #line 73 "ext/lexerc/lexerc.rl"
239
+ goto st17;
240
+ tr47:
241
+ #line 74 "lib/hotcell/lexer.rl"
214
242
  {te = p+1;{ emit_tag; {cs = stack[--top];goto _again;} }}
215
- goto st16;
216
- st16:
243
+ goto st17;
244
+ st17:
217
245
  #line 1 "NONE"
218
246
  {ts = 0;}
219
247
  if ( ++p == pe )
220
- goto _test_eof16;
221
- case 16:
248
+ goto _test_eof17;
249
+ case 17:
222
250
  #line 1 "NONE"
223
251
  {ts = p;}
224
- #line 225 "ext/lexerc/lexerc.c"
252
+ #line 253 "ext/lexerc/lexerc.c"
225
253
  switch( (*p) ) {
226
- case 10: goto tr5;
227
- case 32: goto tr25;
228
- case 33: goto st17;
229
- case 34: goto st1;
230
- case 35: goto tr4;
231
- case 38: goto st4;
232
- case 39: goto st5;
233
- case 42: goto st19;
234
- case 45: goto tr29;
235
- case 46: goto tr30;
236
- case 47: goto tr31;
237
- case 63: goto tr5;
238
- case 91: goto tr5;
239
- case 93: goto tr5;
240
- case 95: goto st24;
241
- case 123: goto tr5;
242
- case 124: goto st10;
243
- case 125: goto st25;
254
+ case 10: goto tr7;
255
+ case 32: goto tr27;
256
+ case 33: goto st18;
257
+ case 34: goto st2;
258
+ case 35: goto tr6;
259
+ case 38: goto st5;
260
+ case 39: goto st6;
261
+ case 42: goto st20;
262
+ case 45: goto tr31;
263
+ case 46: goto st23;
264
+ case 47: goto tr33;
265
+ case 63: goto tr7;
266
+ case 91: goto tr7;
267
+ case 93: goto tr7;
268
+ case 95: goto st27;
269
+ case 123: goto tr7;
270
+ case 124: goto st11;
271
+ case 125: goto st28;
244
272
  }
245
273
  if ( (*p) < 58 ) {
246
274
  if ( (*p) < 37 ) {
247
275
  if ( 9 <= (*p) && (*p) <= 13 )
248
- goto tr25;
276
+ goto tr27;
249
277
  } else if ( (*p) > 44 ) {
250
278
  if ( 48 <= (*p) && (*p) <= 57 )
251
- goto tr32;
279
+ goto tr34;
252
280
  } else
253
- goto tr5;
281
+ goto tr7;
254
282
  } else if ( (*p) > 59 ) {
255
283
  if ( (*p) < 65 ) {
256
284
  if ( 60 <= (*p) && (*p) <= 62 )
257
- goto st17;
285
+ goto st18;
258
286
  } else if ( (*p) > 90 ) {
259
287
  if ( 97 <= (*p) && (*p) <= 122 )
260
- goto st24;
288
+ goto st27;
261
289
  } else
262
- goto st24;
290
+ goto st27;
263
291
  } else
264
- goto tr5;
292
+ goto tr7;
265
293
  goto st0;
266
294
  st0:
267
295
  cs = 0;
268
296
  goto _out;
269
- st17:
297
+ st18:
270
298
  if ( ++p == pe )
271
- goto _test_eof17;
272
- case 17:
299
+ goto _test_eof18;
300
+ case 18:
273
301
  if ( (*p) == 61 )
274
- goto tr5;
275
- goto tr36;
276
- st1:
277
- if ( ++p == pe )
278
- goto _test_eof1;
279
- case 1:
280
- switch( (*p) ) {
281
- case 34: goto tr1;
282
- case 92: goto st2;
283
- }
284
- goto st1;
302
+ goto tr7;
303
+ goto tr38;
285
304
  st2:
286
305
  if ( ++p == pe )
287
306
  goto _test_eof2;
288
307
  case 2:
289
- goto st1;
290
- tr4:
291
- #line 1 "NONE"
292
- {te = p+1;}
293
- goto st18;
294
- st18:
295
- if ( ++p == pe )
296
- goto _test_eof18;
297
- case 18:
298
- #line 299 "ext/lexerc/lexerc.c"
299
308
  switch( (*p) ) {
300
- case 10: goto tr37;
301
- case 125: goto st3;
309
+ case 34: goto tr3;
310
+ case 92: goto st3;
302
311
  }
303
- goto tr4;
312
+ goto st2;
304
313
  st3:
305
314
  if ( ++p == pe )
306
315
  goto _test_eof3;
307
316
  case 3:
308
- if ( (*p) == 125 )
309
- goto tr3;
310
- goto tr4;
317
+ goto st2;
318
+ tr6:
319
+ #line 1 "NONE"
320
+ {te = p+1;}
321
+ goto st19;
322
+ st19:
323
+ if ( ++p == pe )
324
+ goto _test_eof19;
325
+ case 19:
326
+ #line 327 "ext/lexerc/lexerc.c"
327
+ switch( (*p) ) {
328
+ case 10: goto tr39;
329
+ case 125: goto st4;
330
+ }
331
+ goto tr6;
311
332
  st4:
312
333
  if ( ++p == pe )
313
334
  goto _test_eof4;
314
335
  case 4:
315
- if ( (*p) == 38 )
336
+ if ( (*p) == 125 )
316
337
  goto tr5;
317
- goto st0;
338
+ goto tr6;
318
339
  st5:
319
340
  if ( ++p == pe )
320
341
  goto _test_eof5;
321
342
  case 5:
322
- switch( (*p) ) {
323
- case 39: goto tr8;
324
- case 92: goto st6;
325
- }
326
- goto st5;
343
+ if ( (*p) == 38 )
344
+ goto tr7;
345
+ goto st0;
327
346
  st6:
328
347
  if ( ++p == pe )
329
348
  goto _test_eof6;
330
349
  case 6:
331
- goto st5;
332
- st19:
350
+ switch( (*p) ) {
351
+ case 39: goto tr10;
352
+ case 92: goto st7;
353
+ }
354
+ goto st6;
355
+ st7:
333
356
  if ( ++p == pe )
334
- goto _test_eof19;
335
- case 19:
336
- if ( (*p) == 42 )
337
- goto tr5;
338
- goto tr36;
339
- tr32:
340
- #line 1 "NONE"
341
- {te = p+1;}
342
- #line 75 "ext/lexerc/lexerc.rl"
343
- {act = 3;}
344
- goto st20;
345
- tr29:
346
- #line 1 "NONE"
347
- {te = p+1;}
348
- #line 74 "ext/lexerc/lexerc.rl"
349
- {act = 2;}
350
- goto st20;
357
+ goto _test_eof7;
358
+ case 7:
359
+ goto st6;
351
360
  st20:
352
361
  if ( ++p == pe )
353
362
  goto _test_eof20;
354
363
  case 20:
355
- #line 356 "ext/lexerc/lexerc.c"
356
- if ( (*p) == 46 )
357
- goto st7;
358
- if ( 48 <= (*p) && (*p) <= 57 )
359
- goto tr32;
360
- goto tr10;
361
- st7:
362
- if ( ++p == pe )
363
- goto _test_eof7;
364
- case 7:
365
- if ( 48 <= (*p) && (*p) <= 57 )
366
- goto tr11;
367
- goto tr10;
368
- tr11:
364
+ if ( (*p) == 42 )
365
+ goto tr7;
366
+ goto tr38;
367
+ tr31:
369
368
  #line 1 "NONE"
370
369
  {te = p+1;}
371
- #line 75 "ext/lexerc/lexerc.rl"
372
- {act = 3;}
370
+ #line 75 "lib/hotcell/lexer.rl"
371
+ {act = 2;}
373
372
  goto st21;
374
- tr30:
373
+ tr34:
375
374
  #line 1 "NONE"
376
375
  {te = p+1;}
377
- #line 74 "ext/lexerc/lexerc.rl"
378
- {act = 2;}
376
+ #line 76 "lib/hotcell/lexer.rl"
377
+ {act = 3;}
379
378
  goto st21;
380
379
  st21:
381
380
  if ( ++p == pe )
382
381
  goto _test_eof21;
383
382
  case 21:
384
- #line 385 "ext/lexerc/lexerc.c"
383
+ #line 384 "ext/lexerc/lexerc.c"
384
+ if ( (*p) == 46 )
385
+ goto st8;
385
386
  if ( 48 <= (*p) && (*p) <= 57 )
386
- goto tr11;
387
- goto tr10;
388
- tr31:
389
- #line 1 "NONE"
390
- {te = p+1;}
391
- #line 53 "ext/lexerc/lexerc.rl"
392
- { regexp_ambiguity({goto st16;}) }
393
- goto st22;
387
+ goto tr34;
388
+ goto tr12;
389
+ st8:
390
+ if ( ++p == pe )
391
+ goto _test_eof8;
392
+ case 8:
393
+ if ( 48 <= (*p) && (*p) <= 57 )
394
+ goto st22;
395
+ goto tr12;
394
396
  st22:
395
397
  if ( ++p == pe )
396
398
  goto _test_eof22;
397
399
  case 22:
398
- #line 399 "ext/lexerc/lexerc.c"
400
+ if ( 48 <= (*p) && (*p) <= 57 )
401
+ goto st22;
402
+ goto tr42;
403
+ st23:
404
+ if ( ++p == pe )
405
+ goto _test_eof23;
406
+ case 23:
407
+ if ( (*p) == 46 )
408
+ goto st24;
409
+ if ( 48 <= (*p) && (*p) <= 57 )
410
+ goto st22;
411
+ goto tr38;
412
+ st24:
413
+ if ( ++p == pe )
414
+ goto _test_eof24;
415
+ case 24:
416
+ if ( (*p) == 46 )
417
+ goto tr7;
418
+ goto tr38;
419
+ tr33:
420
+ #line 1 "NONE"
421
+ {te = p+1;}
422
+ #line 4 "ext/lexerc/lexerc.rl"
423
+ {
424
+ if (regexp_possible == Qfalse) {
425
+ emit_operator;
426
+ {goto st17;}
427
+ }
428
+ }
429
+ goto st25;
430
+ st25:
431
+ if ( ++p == pe )
432
+ goto _test_eof25;
433
+ case 25:
434
+ #line 435 "ext/lexerc/lexerc.c"
399
435
  switch( (*p) ) {
400
- case 47: goto st23;
401
- case 92: goto st9;
436
+ case 47: goto st26;
437
+ case 92: goto st10;
402
438
  }
403
- goto st8;
404
- st8:
439
+ goto st9;
440
+ st9:
405
441
  if ( ++p == pe )
406
- goto _test_eof8;
407
- case 8:
442
+ goto _test_eof9;
443
+ case 9:
408
444
  switch( (*p) ) {
409
- case 47: goto st23;
410
- case 92: goto st9;
445
+ case 47: goto st26;
446
+ case 92: goto st10;
411
447
  }
412
- goto st8;
413
- st23:
448
+ goto st9;
449
+ st26:
414
450
  if ( ++p == pe )
415
- goto _test_eof23;
416
- case 23:
451
+ goto _test_eof26;
452
+ case 26:
417
453
  if ( (*p) > 90 ) {
418
454
  if ( 97 <= (*p) && (*p) <= 122 )
419
- goto st23;
455
+ goto st26;
420
456
  } else if ( (*p) >= 65 )
421
- goto st23;
422
- goto tr40;
423
- st9:
457
+ goto st26;
458
+ goto tr44;
459
+ st10:
424
460
  if ( ++p == pe )
425
- goto _test_eof9;
426
- case 9:
427
- goto st8;
428
- st24:
461
+ goto _test_eof10;
462
+ case 10:
463
+ goto st9;
464
+ st27:
429
465
  if ( ++p == pe )
430
- goto _test_eof24;
431
- case 24:
466
+ goto _test_eof27;
467
+ case 27:
432
468
  switch( (*p) ) {
433
- case 33: goto tr42;
434
- case 63: goto tr42;
435
- case 95: goto st24;
469
+ case 33: goto tr46;
470
+ case 63: goto tr46;
471
+ case 95: goto st27;
436
472
  }
437
473
  if ( (*p) < 65 ) {
438
474
  if ( 48 <= (*p) && (*p) <= 57 )
439
- goto st24;
475
+ goto st27;
440
476
  } else if ( (*p) > 90 ) {
441
477
  if ( 97 <= (*p) && (*p) <= 122 )
442
- goto st24;
478
+ goto st27;
443
479
  } else
444
- goto st24;
445
- goto tr41;
446
- st10:
480
+ goto st27;
481
+ goto tr45;
482
+ st11:
447
483
  if ( ++p == pe )
448
- goto _test_eof10;
449
- case 10:
484
+ goto _test_eof11;
485
+ case 11:
450
486
  if ( (*p) == 124 )
451
- goto tr5;
487
+ goto tr7;
452
488
  goto st0;
453
- st25:
489
+ st28:
454
490
  if ( ++p == pe )
455
- goto _test_eof25;
456
- case 25:
491
+ goto _test_eof28;
492
+ case 28:
457
493
  if ( (*p) == 125 )
458
- goto tr43;
459
- goto tr36;
460
- tr16:
461
- #line 86 "ext/lexerc/lexerc.rl"
494
+ goto tr47;
495
+ goto tr38;
496
+ tr18:
497
+ #line 87 "lib/hotcell/lexer.rl"
462
498
  {{p = ((te))-1;}{ emit_comment; }}
463
- goto st26;
464
- tr17:
465
- #line 85 "ext/lexerc/lexerc.rl"
499
+ goto st29;
500
+ tr19:
501
+ #line 86 "lib/hotcell/lexer.rl"
466
502
  {te = p+1;{ emit_comment; {cs = stack[--top];goto _again;} }}
467
- goto st26;
468
- tr46:
469
- #line 86 "ext/lexerc/lexerc.rl"
503
+ goto st29;
504
+ tr50:
505
+ #line 87 "lib/hotcell/lexer.rl"
470
506
  {te = p;p--;{ emit_comment; }}
471
- goto st26;
472
- st26:
507
+ goto st29;
508
+ st29:
473
509
  #line 1 "NONE"
474
510
  {ts = 0;}
475
511
  if ( ++p == pe )
476
- goto _test_eof26;
477
- case 26:
512
+ goto _test_eof29;
513
+ case 29:
478
514
  #line 1 "NONE"
479
515
  {ts = p;}
480
- #line 481 "ext/lexerc/lexerc.c"
516
+ #line 517 "ext/lexerc/lexerc.c"
481
517
  if ( (*p) == 35 )
482
- goto tr45;
483
- goto st27;
484
- st27:
518
+ goto tr49;
519
+ goto st30;
520
+ st30:
485
521
  if ( ++p == pe )
486
- goto _test_eof27;
487
- case 27:
522
+ goto _test_eof30;
523
+ case 30:
488
524
  if ( (*p) == 35 )
489
- goto tr46;
490
- goto st27;
491
- tr45:
525
+ goto tr50;
526
+ goto st30;
527
+ tr49:
492
528
  #line 1 "NONE"
493
529
  {te = p+1;}
494
- goto st28;
495
- st28:
530
+ goto st31;
531
+ st31:
496
532
  if ( ++p == pe )
497
- goto _test_eof28;
498
- case 28:
499
- #line 500 "ext/lexerc/lexerc.c"
533
+ goto _test_eof31;
534
+ case 31:
535
+ #line 536 "ext/lexerc/lexerc.c"
500
536
  if ( (*p) == 125 )
501
- goto st11;
502
- goto tr46;
503
- st11:
537
+ goto st12;
538
+ goto tr50;
539
+ st12:
504
540
  if ( ++p == pe )
505
- goto _test_eof11;
506
- case 11:
541
+ goto _test_eof12;
542
+ case 12:
507
543
  if ( (*p) == 125 )
508
- goto tr17;
509
- goto tr16;
544
+ goto tr19;
545
+ goto tr18;
510
546
  }
511
- _test_eof12: cs = 12; goto _test_eof;
512
547
  _test_eof13: cs = 13; goto _test_eof;
513
548
  _test_eof14: cs = 14; goto _test_eof;
514
549
  _test_eof15: cs = 15; goto _test_eof;
515
550
  _test_eof16: cs = 16; goto _test_eof;
516
- _test_eof17: cs = 17; goto _test_eof;
517
551
  _test_eof1: cs = 1; goto _test_eof;
518
- _test_eof2: cs = 2; goto _test_eof;
552
+ _test_eof17: cs = 17; goto _test_eof;
519
553
  _test_eof18: cs = 18; goto _test_eof;
554
+ _test_eof2: cs = 2; goto _test_eof;
520
555
  _test_eof3: cs = 3; goto _test_eof;
556
+ _test_eof19: cs = 19; goto _test_eof;
521
557
  _test_eof4: cs = 4; goto _test_eof;
522
558
  _test_eof5: cs = 5; goto _test_eof;
523
559
  _test_eof6: cs = 6; goto _test_eof;
524
- _test_eof19: cs = 19; goto _test_eof;
525
- _test_eof20: cs = 20; goto _test_eof;
526
560
  _test_eof7: cs = 7; goto _test_eof;
561
+ _test_eof20: cs = 20; goto _test_eof;
527
562
  _test_eof21: cs = 21; goto _test_eof;
528
- _test_eof22: cs = 22; goto _test_eof;
529
563
  _test_eof8: cs = 8; goto _test_eof;
564
+ _test_eof22: cs = 22; goto _test_eof;
530
565
  _test_eof23: cs = 23; goto _test_eof;
531
- _test_eof9: cs = 9; goto _test_eof;
532
566
  _test_eof24: cs = 24; goto _test_eof;
533
- _test_eof10: cs = 10; goto _test_eof;
534
567
  _test_eof25: cs = 25; goto _test_eof;
568
+ _test_eof9: cs = 9; goto _test_eof;
535
569
  _test_eof26: cs = 26; goto _test_eof;
570
+ _test_eof10: cs = 10; goto _test_eof;
536
571
  _test_eof27: cs = 27; goto _test_eof;
537
- _test_eof28: cs = 28; goto _test_eof;
538
572
  _test_eof11: cs = 11; goto _test_eof;
573
+ _test_eof28: cs = 28; goto _test_eof;
574
+ _test_eof29: cs = 29; goto _test_eof;
575
+ _test_eof30: cs = 30; goto _test_eof;
576
+ _test_eof31: cs = 31; goto _test_eof;
577
+ _test_eof12: cs = 12; goto _test_eof;
539
578
 
540
579
  _test_eof: {}
541
580
  if ( p == eof )
542
581
  {
543
582
  switch ( cs ) {
544
- case 13: goto tr20;
545
- case 14: goto tr20;
583
+ case 14: goto tr22;
546
584
  case 15: goto tr22;
547
- case 17: goto tr36;
548
- case 18: goto tr37;
549
- case 3: goto tr3;
550
- case 19: goto tr36;
551
- case 20: goto tr10;
552
- case 7: goto tr10;
553
- case 21: goto tr10;
554
- case 22: goto tr36;
585
+ case 16: goto tr24;
586
+ case 1: goto tr0;
587
+ case 18: goto tr38;
588
+ case 19: goto tr39;
589
+ case 4: goto tr5;
590
+ case 20: goto tr38;
591
+ case 21: goto tr12;
555
592
  case 8: goto tr12;
556
- case 23: goto tr40;
557
- case 9: goto tr12;
558
- case 24: goto tr41;
559
- case 25: goto tr36;
560
- case 27: goto tr46;
561
- case 28: goto tr46;
562
- case 11: goto tr16;
563
- case 5:
564
- #line 45 "ext/lexerc/lexerc.rl"
593
+ case 22: goto tr42;
594
+ case 23: goto tr38;
595
+ case 24: goto tr38;
596
+ case 25: goto tr38;
597
+ case 9: goto tr14;
598
+ case 26: goto tr44;
599
+ case 10: goto tr14;
600
+ case 27: goto tr45;
601
+ case 28: goto tr38;
602
+ case 30: goto tr50;
603
+ case 31: goto tr50;
604
+ case 12: goto tr18;
605
+ case 6:
606
+ #line 46 "lib/hotcell/lexer.rl"
565
607
  { raise_unterminated_string; }
566
608
  break;
567
- case 1:
568
- #line 49 "ext/lexerc/lexerc.rl"
609
+ case 2:
610
+ #line 50 "lib/hotcell/lexer.rl"
569
611
  { raise_unterminated_string; }
570
612
  break;
571
- #line 572 "ext/lexerc/lexerc.c"
613
+ #line 614 "ext/lexerc/lexerc.c"
572
614
  }
573
615
  }
574
616
 
575
617
  _out: {}
576
618
  }
577
619
 
578
- #line 128 "ext/lexerc/lexerc.rl"
620
+ #line 47 "ext/lexerc/lexerc.rl"
579
621
 
580
622
  free(stack);
581
623