145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org/* Generated by re2c 0.9.1-C on Sun Oct  9 22:15:58 2005
245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org */
345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 1 "scanner.re"
445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include <stdlib.h>
545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include <string.h>
645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include "tools/re2c/scanner.h"
745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include "tools/re2c/parse.h"
845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include "tools/re2c/globals.h"
945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#include "tools/re2c/parser.h"
1045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#ifndef MAX
1245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define MAX(a,b) (((a)>(b))?(a):(b))
1345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#endif
1445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	BSIZE	8192
1645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
1745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	YYCTYPE		unsigned char
1845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	YYCURSOR	cursor
1945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	YYLIMIT		s->lim
2045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	YYMARKER	s->ptr
2145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	YYFILL(n)	{cursor = fill(s, cursor);}
2245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
2345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#define	RETURN(i)	{s->cur = cursor; return i;}
2445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
2545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgstatic unsigned char *fill(Scanner*, unsigned char*);
2645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
2745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgvoid
2845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgScanner_init(Scanner *s, FILE *i)
2945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
3045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->in = i;
3145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->bot = s->tok = s->ptr = s->cur = s->pos = s->lim = s->top =
3245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	     s->eof = NULL;
3345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->tchar = s->tline = 0;
3445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->cline = 1;
3545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
3645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
3745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgstatic unsigned char *
3845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgfill(Scanner *s, unsigned char *cursor)
3945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
4045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    if(!s->eof){
4145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	unsigned int cnt = s->tok - s->bot;
4245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(cnt){
4345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    memcpy(s->bot, s->tok, s->lim - s->tok);
4445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->tok = s->bot;
4545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->ptr -= cnt;
4645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    cursor -= cnt;
4745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->pos -= cnt;
4845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->lim -= cnt;
4945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
5045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((s->top - s->lim) < BSIZE){
5145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    unsigned char *buf = malloc(((s->lim - s->bot) + BSIZE) + 1);
5245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    memcpy(buf, s->tok, s->lim - s->tok);
5345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->tok = buf;
5445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->ptr = &buf[s->ptr - s->bot];
5545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    cursor = &buf[cursor - s->bot];
5645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->pos = &buf[s->pos - s->bot];
5745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->lim = &buf[s->lim - s->bot];
5845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->top = &s->lim[BSIZE];
5945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    if (s->bot)
6045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		free(s->bot);
6145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->bot = buf;
6245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
6345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((cnt = fread(s->lim, 1, BSIZE, s->in)) != BSIZE){
6445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    s->eof = &s->lim[cnt]; *s->eof++ = '\0';
6545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
6645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	s->lim += cnt;
6745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    }
6845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    return cursor;
6945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
7045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
7145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 79 "scanner.re"
7245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
7345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
7445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgint
7545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgScanner_echo(Scanner *s, FILE *out)
7645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
7745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    unsigned char *cursor = s->cur;
7845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    int ignore_eoc = 0;
7945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
8045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    /* Catch EOF */
8145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    if (s->eof && cursor == s->eof)
8245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	return 0;
8345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
8445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->tok = cursor;
8545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgecho:
8645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
8745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 87 "scanner.c"
8845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
8945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	YYCTYPE yych;
9045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	unsigned int yyaccept;
9145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy0;
9245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	++YYCURSOR;
9345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy0:
9445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
9545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
9645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= ')'){
9745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\000')	goto yy7;
9845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy5;
9945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy9;
10045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
10145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '*')	goto yy4;
10245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '/')	goto yy9;
10345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy2;
10445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
10545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy2:	yyaccept = 0;
10645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
10745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '*')	goto yy12;
10845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy3;
10945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy3:
11045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 117 "scanner.re"
11145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ goto echo; }
11245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 112 "scanner.c"
11345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy4:	yych = *++YYCURSOR;
11445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '/')	goto yy10;
11545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy3;
11645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy5:	yych = *++YYCURSOR;
11745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy6;
11845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy6:
11945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 112 "scanner.re"
12045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ fwrite(s->tok, 1, cursor - s->tok, out);
12145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->tok = s->pos = cursor; s->cline++; oline++;
12245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto echo; }
12345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 123 "scanner.c"
12445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy7:	yych = *++YYCURSOR;
12545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy8;
12645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy8:
12745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 115 "scanner.re"
12845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ fwrite(s->tok, 1, cursor - s->tok - 1, out); /* -1 so we don't write out the \0 */
12945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  if(cursor == s->eof) { RETURN(0); } }
13045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 130 "scanner.c"
13145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy9:	yych = *++YYCURSOR;
13245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy3;
13345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy10:	yych = *++YYCURSOR;
13445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy11;
13545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy11:
13645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 103 "scanner.re"
13745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
13845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if (ignore_eoc) {
13945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		    ignore_eoc = 0;
14045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		} else {
14145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		    fwrite(s->tok, 1, cursor - s->tok, out);
14245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		}
14345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		s->tok = s->pos = cursor;
14445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto echo;
14545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
14645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 146 "scanner.c"
14745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy12:	yych = *++YYCURSOR;
14845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '!')	goto yy14;
14945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy13;
15045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy13:	YYCURSOR = YYMARKER;
15145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	switch(yyaccept){
15245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 0:	goto yy3;
15345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
15445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy14:	yych = *++YYCURSOR;
15545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == 'm')	goto yy15;
15645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == 'r')	goto yy16;
15745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy13;
15845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy15:	yych = *++YYCURSOR;
15945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == 'a')	goto yy21;
16045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy13;
16145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy16:	yych = *++YYCURSOR;
16245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'e')	goto yy13;
16345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy17;
16445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy17:	yych = *++YYCURSOR;
16545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '2')	goto yy13;
16645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy18;
16745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy18:	yych = *++YYCURSOR;
16845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'c')	goto yy13;
16945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy19;
17045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy19:	yych = *++YYCURSOR;
17145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy20;
17245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy20:
17345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 94 "scanner.re"
17445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ fwrite(s->tok, 1, &cursor[-7] - s->tok, out);
17545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->tok = cursor;
17645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(1); }
17745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 177 "scanner.c"
17845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy21:	yych = *++YYCURSOR;
17945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'x')	goto yy13;
18045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy22;
18145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy22:	yych = *++YYCURSOR;
18245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != ':')	goto yy13;
18345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy23;
18445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy23:	yych = *++YYCURSOR;
18545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'r')	goto yy13;
18645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy24;
18745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy24:	yych = *++YYCURSOR;
18845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'e')	goto yy13;
18945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy25;
19045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy25:	yych = *++YYCURSOR;
19145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '2')	goto yy13;
19245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy26;
19345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy26:	yych = *++YYCURSOR;
19445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != 'c')	goto yy13;
19545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy27;
19645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy27:	yych = *++YYCURSOR;
19745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy28;
19845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy28:
19945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 97 "scanner.re"
20045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
20145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		fprintf(out, "#define YYMAXFILL %u\n", maxFill);
20245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		s->tok = s->pos = cursor;
20345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		ignore_eoc = 1;
20445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto echo;
20545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
20645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 206 "scanner.c"
20745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
20845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 118 "scanner.re"
20945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
21045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
21145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
21245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
21345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgint
21445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgScanner_scan(Scanner *s)
21545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
21645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    unsigned char *cursor = s->cur;
21745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    unsigned int depth;
21845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
21945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgscan:
22045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->tchar = cursor - s->pos;
22145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->tline = s->cline;
22245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    s->tok = cursor;
22345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
22445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 224 "scanner.c"
22545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
22645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	YYCTYPE yych;
22745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	unsigned int yyaccept;
22845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy29;
22945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	++YYCURSOR;
23045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy29:
23145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
23345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= '/'){
23445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '"'){
23545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '\n'){
23645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '\b')	goto yy53;
23745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '\t')	goto yy47;
23845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy49;
23945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			} else {
24045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych == ' ')	goto yy47;
24145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '!')	goto yy53;
24245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy37;
24345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			}
24445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		} else {
24545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '*'){
24645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '&')	goto yy53;
24745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '\'')	goto yy39;
24845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= ')')	goto yy43;
24945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy35;
25045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			} else {
25145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '+')	goto yy44;
25245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '-')	goto yy53;
25345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '.')	goto yy51;
25445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy33;
25545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			}
25645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		}
25745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
25845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '@'){
25945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '<'){
26045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych == ';')	goto yy43;
26145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy53;
26245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			} else {
26345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '=')	goto yy43;
26445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych == '?')	goto yy44;
26545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy53;
26645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			}
26745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		} else {
26845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '`'){
26945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= 'Z')	goto yy45;
27045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '[')	goto yy41;
27145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '\\')	goto yy43;
27245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy53;
27345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			} else {
27445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= 'z')	goto yy45;
27545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '{')	goto yy31;
27645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				if(yych <= '|')	goto yy43;
27745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				goto yy53;
27845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			}
27945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		}
28045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
28145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy31:	yyaccept = 0;
28245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
28345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= '/')	goto yy32;
28445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= '9')	goto yy84;
28545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy32;
28645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy32:
28745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 133 "scanner.re"
28845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ depth = 1;
28945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto code;
29045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				}
29145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 291 "scanner.c"
29245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy33:	yych = *++YYCURSOR;
29345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '*')	goto yy82;
29445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy34;
29545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy34:
29645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 163 "scanner.re"
29745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ RETURN(*s->tok); }
29845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 298 "scanner.c"
29945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy35:	yych = *++YYCURSOR;
30045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '/')	goto yy80;
30145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy36;
30245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy36:
30345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 165 "scanner.re"
30445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ yylval.op = *s->tok;
30545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(CLOSE); }
30645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 306 "scanner.c"
30745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy37:	yyaccept = 1;
30845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
30945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '\n')	goto yy76;
31045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy38;
31145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy38:
31245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 150 "scanner.re"
31345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ Scanner_fatal(s, "unterminated string constant (missing \")"); }
31445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 314 "scanner.c"
31545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy39:	yyaccept = 2;
31645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
31745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '\n')	goto yy71;
31845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy40;
31945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy40:
32045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 151 "scanner.re"
32145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ Scanner_fatal(s, "unterminated string constant (missing ')"); }
32245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 322 "scanner.c"
32345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy41:	yyaccept = 3;
32445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
32545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy42;
32645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '^')	goto yy62;
32745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy60;
32845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy42:
32945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 161 "scanner.re"
33045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ Scanner_fatal(s, "unterminated range (missing ])"); }
33145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 331 "scanner.c"
33245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy43:	yych = *++YYCURSOR;
33345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy34;
33445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy44:	yych = *++YYCURSOR;
33545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy36;
33645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy45:	yych = *++YYCURSOR;
33745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy58;
33845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy46:
33945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 180 "scanner.re"
34045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ SubStr substr;
34145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->cur = cursor;
34245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  substr = Scanner_token(s);
34345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.symbol = Symbol_find(&substr);
34445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return ID; }
34545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 345 "scanner.c"
34645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy47:	yych = *++YYCURSOR;
34745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy56;
34845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy48:
34945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 186 "scanner.re"
35045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ goto scan; }
35145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 351 "scanner.c"
35245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy49:	yych = *++YYCURSOR;
35345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy50;
35445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy50:
35545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 188 "scanner.re"
35645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ if(cursor == s->eof) RETURN(0);
35745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->pos = cursor; s->cline++;
35845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto scan;
35945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	    			}
36045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 360 "scanner.c"
36145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy51:	yych = *++YYCURSOR;
36245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy52;
36345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy52:
36445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 193 "scanner.re"
36545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->cur = cursor;
36645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.regexp = mkDot();
36745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return RANGE;
36845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				}
36945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 369 "scanner.c"
37045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy53:	yych = *++YYCURSOR;
37145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy54;
37245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy54:
37345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 198 "scanner.re"
37445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ fprintf(stderr, "unexpected character: '%c'\n", *s->tok);
37545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto scan;
37645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				}
37745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 377 "scanner.c"
37845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy55:	++YYCURSOR;
37945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
38045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
38145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy56;
38245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy56:	if(yych == '\t')	goto yy55;
38345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == ' ')	goto yy55;
38445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy48;
38545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy57:	++YYCURSOR;
38645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
38745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
38845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy58;
38945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy58:	if(yych <= '@'){
39045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '/')	goto yy46;
39145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '9')	goto yy57;
39245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy46;
39345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
39445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= 'Z')	goto yy57;
39545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '`')	goto yy46;
39645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= 'z')	goto yy57;
39745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy46;
39845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
39945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy59:	++YYCURSOR;
40045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
40145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
40245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy60;
40345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy60:	if(yych <= '['){
40445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '\n')	goto yy59;
40545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy61;
40645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
40745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\\')	goto yy64;
40845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= ']')	goto yy65;
40945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy59;
41045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
41145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy61:	YYCURSOR = YYMARKER;
41245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	switch(yyaccept){
41345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 0:	goto yy32;
41445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 1:	goto yy38;
41545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 2:	goto yy40;
41645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 3:	goto yy42;
41745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
41845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy62:	++YYCURSOR;
41945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
42045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
42145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy63;
42245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy63:	if(yych <= '['){
42345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy61;
42445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy62;
42545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
42645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\\')	goto yy67;
42745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= ']')	goto yy68;
42845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy62;
42945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
43045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy64:	++YYCURSOR;
43145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
43245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
43345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy61;
43445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy59;
43545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy65:	yych = *++YYCURSOR;
43645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy66;
43745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy66:
43845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 157 "scanner.re"
43945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->cur = cursor;
44045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.regexp = ranToRE(Scanner_token(s));
44145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return RANGE; }
44245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 442 "scanner.c"
44345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy67:	++YYCURSOR;
44445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
44545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
44645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy61;
44745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy62;
44845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy68:	yych = *++YYCURSOR;
44945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy69;
45045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy69:
45145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 153 "scanner.re"
45245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->cur = cursor;
45345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.regexp = invToRE(Scanner_token(s));
45445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return RANGE; }
45545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 455 "scanner.c"
45645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy70:	++YYCURSOR;
45745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
45845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
45945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy71;
46045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy71:	if(yych <= '&'){
46145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy61;
46245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy70;
46345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
46445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\'')	goto yy73;
46545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '\\')	goto yy70;
46645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy72;
46745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
46845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy72:	++YYCURSOR;
46945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
47045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
47145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy61;
47245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy70;
47345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy73:	yych = *++YYCURSOR;
47445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy74;
47545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy74:
47645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 146 "scanner.re"
47745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->cur = cursor;
47845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.regexp = strToCaseInsensitiveRE(Scanner_token(s));
47945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return STRING; }
48045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 480 "scanner.c"
48145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy75:	++YYCURSOR;
48245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
48345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
48445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy76;
48545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy76:	if(yych <= '!'){
48645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy61;
48745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy75;
48845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
48945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '"')	goto yy78;
49045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '\\')	goto yy75;
49145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy77;
49245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
49345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy77:	++YYCURSOR;
49445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
49545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
49645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy61;
49745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy75;
49845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy78:	yych = *++YYCURSOR;
49945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy79;
50045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy79:
50145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 142 "scanner.re"
50245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->cur = cursor;
50345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.regexp = strToRE(Scanner_token(s));
50445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  return STRING; }
50545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 505 "scanner.c"
50645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy80:	yych = *++YYCURSOR;
50745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy81;
50845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy81:
50945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 139 "scanner.re"
51045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ s->tok = cursor;
51145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(0); }
51245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 512 "scanner.c"
51345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy82:	yych = *++YYCURSOR;
51445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy83;
51545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy83:
51645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 136 "scanner.re"
51745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ depth = 1;
51845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto comment; }
51945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 519 "scanner.c"
52045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy84:	++YYCURSOR;
52145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
52245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
52345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy85;
52445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy85:	if(yych <= '/'){
52545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == ',')	goto yy88;
52645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy61;
52745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
52845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '9')	goto yy84;
52945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '}')	goto yy61;
53045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy86;
53145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
53245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy86:	yych = *++YYCURSOR;
53345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy87;
53445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy87:
53545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 168 "scanner.re"
53645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ yylval.extop.minsize = atoi((char *)s->tok+1);
53745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.extop.maxsize = atoi((char *)s->tok+1);
53845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(CLOSESIZE); }
53945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 539 "scanner.c"
54045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy88:	yych = *++YYCURSOR;
54145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '}')	goto yy92;
54245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy89;
54345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy89:	yych = *++YYCURSOR;
54445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy90;
54545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy90:
54645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 176 "scanner.re"
54745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ yylval.extop.minsize = atoi((char *)s->tok+1);
54845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.extop.maxsize = -1;
54945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(CLOSESIZE); }
55045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 550 "scanner.c"
55145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy91:	++YYCURSOR;
55245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
55345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
55445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy92;
55545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy92:	if(yych <= '/')	goto yy61;
55645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= '9')	goto yy91;
55745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych != '}')	goto yy61;
55845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy93;
55945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy93:	yych = *++YYCURSOR;
56045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy94;
56145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy94:
56245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 172 "scanner.re"
56345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ yylval.extop.minsize = atoi((char *)s->tok+1);
56445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)s->tok, ',')+1));
56545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  RETURN(CLOSESIZE); }
56645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 566 "scanner.c"
56745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
56845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 201 "scanner.re"
56945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
57045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
57145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgcode:
57245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
57345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 573 "scanner.c"
57445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
57545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	YYCTYPE yych;
57645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	unsigned int yyaccept;
57745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy95;
57845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	++YYCURSOR;
57945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy95:
58045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
58145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
58245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= '&'){
58345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\n'){
58445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '\t')	goto yy103;
58545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			goto yy101;
58645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		} else {
58745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych == '"')	goto yy105;
58845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			goto yy103;
58945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		}
59045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
59145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '{'){
59245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= '\'')	goto yy106;
59345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych <= 'z')	goto yy103;
59445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			goto yy99;
59545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		} else {
59645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			if(yych != '}')	goto yy103;
59745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org			goto yy97;
59845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		}
59945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
60045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy97:	yych = *++YYCURSOR;
60145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy98;
60245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy98:
60345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 205 "scanner.re"
60445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ if(--depth == 0){
60545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org					s->cur = cursor;
60645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org					yylval.token = Token_new(Scanner_token(s), s->tline);
60745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org					return CODE;
60845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  }
60945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto code; }
61045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 610 "scanner.c"
61145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy99:	yych = *++YYCURSOR;
61245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy100;
61345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy100:
61445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 211 "scanner.re"
61545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ ++depth;
61645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto code; }
61745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 617 "scanner.c"
61845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy101:	yych = *++YYCURSOR;
61945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy102;
62045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy102:
62145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 213 "scanner.re"
62245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ if(cursor == s->eof) Scanner_fatal(s, "missing '}'");
62345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->pos = cursor; s->cline++;
62445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto code;
62545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				}
62645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 626 "scanner.c"
62745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy103:	yych = *++YYCURSOR;
62845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy104;
62945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy104:
63045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 217 "scanner.re"
63145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ goto code; }
63245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 632 "scanner.c"
63345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy105:	yyaccept = 0;
63445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
63545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy104;
63645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy112;
63745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy106:	yyaccept = 0;
63845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *(YYMARKER = ++YYCURSOR);
63945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy104;
64045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy108;
64145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy107:	++YYCURSOR;
64245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
64345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
64445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy108;
64545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy108:	if(yych <= '&'){
64645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '\n')	goto yy107;
64745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy109;
64845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
64945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '\'')	goto yy103;
65045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\\')	goto yy110;
65145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy107;
65245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
65345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy109:	YYCURSOR = YYMARKER;
65445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	switch(yyaccept){
65545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	case 0:	goto yy104;
65645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
65745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy110:	++YYCURSOR;
65845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
65945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
66045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy109;
66145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy107;
66245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy111:	++YYCURSOR;
66345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
66445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
66545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy112;
66645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy112:	if(yych <= '!'){
66745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy109;
66845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy111;
66945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
67045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '"')	goto yy103;
67145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych != '\\')	goto yy111;
67245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy113;
67345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
67445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy113:	++YYCURSOR;
67545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(YYLIMIT == YYCURSOR) YYFILL(1);
67645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
67745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '\n')	goto yy109;
67845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy111;
67945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
68045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 218 "scanner.re"
68145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
68245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
68345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgcomment:
68445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
68545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 685 "scanner.c"
68645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
68745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	YYCTYPE yych;
68845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy114;
68945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	++YYCURSOR;
69045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy114:
69145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
69245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	yych = *YYCURSOR;
69345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych <= ')'){
69445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '\n')	goto yy119;
69545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy121;
69645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	} else {
69745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych <= '*')	goto yy116;
69845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		if(yych == '/')	goto yy118;
69945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org		goto yy121;
70045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	}
70145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy116:	yych = *++YYCURSOR;
70245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '/')	goto yy124;
70345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy117;
70445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy117:
70545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 232 "scanner.re"
70645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ goto comment; }
70745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 707 "scanner.c"
70845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy118:	yych = *++YYCURSOR;
70945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	if(yych == '*')	goto yy122;
71045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy117;
71145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy119:	yych = *++YYCURSOR;
71245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy120;
71345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy120:
71445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 228 "scanner.re"
71545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ if(cursor == s->eof) RETURN(0);
71645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  s->tok = s->pos = cursor; s->cline++;
71745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto comment;
71845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				}
71945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 719 "scanner.c"
72045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy121:	yych = *++YYCURSOR;
72145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy117;
72245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy122:	yych = *++YYCURSOR;
72345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy123;
72445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy123:
72545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 226 "scanner.re"
72645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ ++depth;
72745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				  goto comment; }
72845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 728 "scanner.c"
72945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy124:	yych = *++YYCURSOR;
73045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org	goto yy125;
73145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgyy125:
73245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 222 "scanner.re"
73345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{ if(--depth == 0)
73445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org					goto scan;
73545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org				    else
73645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org					goto comment; }
73745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 737 "scanner.c"
73845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
73945afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org#line 233 "scanner.re"
74045afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
74145afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
74245afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org
74345afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgvoid
74445afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.orgScanner_fatal(Scanner *s, const char *msg)
74545afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org{
74645afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    fprintf(stderr, "line %d, column %d: %s\n", s->tline, s->tchar + 1, msg);
74745afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org    exit(1);
74845afe016bed87b9c6946184709058b39ede3f77ajwong@chromium.org}
749