4 * Copyright 2006-2007 Adrian Thurston <thurston@complang.org>
7 /* This file is part of Ragel.
9 * Ragel is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * Ragel is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with Ragel; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 #include "inputdata.h"
55 * The Scanner for Importing
64 static const int inline_token_scan_start = 2;
65 static const int inline_token_scan_first_final = 2;
66 static const int inline_token_scan_error = -1;
68 static const int inline_token_scan_en_main = 2;
73 void Scanner::flushImport()
76 int *pe = token_data + cur_token;
82 tok_cs = inline_token_scan_start;
96 {{p = (( tok_te))-1;}}
101 int base = tok_ts - token_data;
105 directToParser( inclToParser, fileName, line, column, TK_Word,
106 token_strings[base+nameOff], token_lens[base+nameOff] );
107 directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
108 directToParser( inclToParser, fileName, line, column, TK_Literal,
109 token_strings[base+litOff], token_lens[base+litOff] );
110 directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
116 int base = tok_ts - token_data;
120 directToParser( inclToParser, fileName, line, column, TK_Word,
121 token_strings[base+nameOff], token_lens[base+nameOff] );
122 directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
123 directToParser( inclToParser, fileName, line, column, TK_UInt,
124 token_strings[base+numOff], token_lens[base+numOff] );
125 directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
131 int base = tok_ts - token_data;
135 directToParser( inclToParser, fileName, line, column, TK_Word,
136 token_strings[base+nameOff], token_lens[base+nameOff] );
137 directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
138 directToParser( inclToParser, fileName, line, column, TK_Literal,
139 token_strings[base+litOff], token_lens[base+litOff] );
140 directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
146 int base = tok_ts - token_data;
150 directToParser( inclToParser, fileName, line, column, TK_Word,
151 token_strings[base+nameOff], token_lens[base+nameOff] );
152 directToParser( inclToParser, fileName, line, column, '=', 0, 0 );
153 directToParser( inclToParser, fileName, line, column, TK_UInt,
154 token_strings[base+numOff], token_lens[base+numOff] );
155 directToParser( inclToParser, fileName, line, column, ';', 0, 0 );
159 #line 122 "rlscan.rl"
163 #line 122 "rlscan.rl"
174 #line 175 "rlscan.cpp"
188 #line 189 "rlscan.cpp"
209 #line 210 "rlscan.cpp"
223 _test_eof2: tok_cs = 2; goto _test_eof;
224 _test_eof3: tok_cs = 3; goto _test_eof;
225 _test_eof0: tok_cs = 0; goto _test_eof;
226 _test_eof4: tok_cs = 4; goto _test_eof;
227 _test_eof1: tok_cs = 1; goto _test_eof;
242 #line 138 "rlscan.rl"
248 cur_token = pe - tok_ts;
249 int ts_offset = tok_ts - token_data;
250 memmove( token_data, token_data+ts_offset, cur_token*sizeof(token_data[0]) );
251 memmove( token_strings, token_strings+ts_offset, cur_token*sizeof(token_strings[0]) );
252 memmove( token_lens, token_lens+ts_offset, cur_token*sizeof(token_lens[0]) );
256 void Scanner::directToParser( Parser *toParser, const char *tokFileName, int tokLine,
257 int tokColumn, int type, char *tokdata, int toklen )
262 cerr << "scanner:" << tokLine << ":" << tokColumn <<
263 ": sending token to the parser " << Parser_lelNames[type];
264 cerr << " " << toklen;
266 cerr << " " << tokdata;
270 loc.fileName = tokFileName;
274 toParser->token( loc, type, tokdata, toklen );
277 void Scanner::importToken( int token, char *start, char *end )
279 if ( cur_token == max_tokens )
282 token_data[cur_token] = token;
284 token_strings[cur_token] = 0;
285 token_lens[cur_token] = 0;
288 int toklen = end-start;
289 token_lens[cur_token] = toklen;
290 token_strings[cur_token] = new char[toklen+1];
291 memcpy( token_strings[cur_token], start, toklen );
292 token_strings[cur_token][toklen] = 0;
297 void Scanner::pass( int token, char *start, char *end )
299 if ( importMachines )
300 importToken( token, start, end );
308 /* If no errors and we are at the bottom of the include stack (the
309 * source file listed on the command line) then write out the data. */
310 if ( includeDepth == 0 && machineSpec == 0 && machineName == 0 )
311 id.inputItems.tail->data.write( ts, te-ts );
315 * The scanner for processing sections, includes, imports, etc.
319 #line 320 "rlscan.cpp"
320 static const int section_parse_start = 10;
321 static const int section_parse_first_final = 10;
322 static const int section_parse_error = 0;
324 static const int section_parse_en_main = 10;
327 #line 217 "rlscan.rl"
331 void Scanner::init( )
334 #line 335 "rlscan.cpp"
336 cs = section_parse_start;
339 #line 223 "rlscan.rl"
342 bool Scanner::active()
347 if ( parser == 0 && ! parserExistsError ) {
348 scan_error() << "this specification has no name, nor does any previous"
349 " specification" << endl;
350 parserExistsError = true;
359 ostream &Scanner::scan_error()
361 /* Maintain the error count. */
363 cerr << makeInputLoc( fileName, line, column ) << ": ";
367 /* An approximate check for duplicate includes. Due to aliasing of files it's
368 * possible for duplicates to creep in. */
369 bool Scanner::duplicateInclude( char *inclFileName, char *inclSectionName )
371 for ( IncludeHistory::Iter hi = parser->includeHistory; hi.lte(); hi++ ) {
372 if ( strcmp( hi->fileName, inclFileName ) == 0 &&
373 strcmp( hi->sectionName, inclSectionName ) == 0 )
381 void Scanner::updateCol()
386 //cerr << "adding " << te - from << " to column" << endl;
391 void Scanner::handleMachine()
393 /* Assign a name to the machine. */
394 char *machine = word;
396 if ( !importMachines && inclSectionTarg == 0 ) {
397 ignoreSection = false;
399 ParserDictEl *pdEl = id.parserDict.find( machine );
401 pdEl = new ParserDictEl( machine );
402 pdEl->value = new Parser( fileName, machine, sectionLoc );
404 id.parserDict.insert( pdEl );
405 id.parserList.append( pdEl->value );
408 parser = pdEl->value;
410 else if ( !importMachines && strcmp( inclSectionTarg, machine ) == 0 ) {
411 /* found include target */
412 ignoreSection = false;
413 parser = inclToParser;
416 /* ignoring section */
417 ignoreSection = true;
422 void Scanner::handleInclude()
425 char *inclSectionName = word;
426 char **includeChecks = 0;
428 /* Implement defaults for the input file and section name. */
429 if ( inclSectionName == 0 )
430 inclSectionName = parser->sectionName;
433 includeChecks = makeIncludePathChecks( fileName, lit, lit_len );
435 char *test = new char[strlen(fileName)+1];
436 strcpy( test, fileName );
438 includeChecks = new char*[2];
440 includeChecks[0] = test;
441 includeChecks[1] = 0;
445 ifstream *inFile = tryOpenInclude( includeChecks, found );
447 scan_error() << "include: failed to locate file" << endl;
448 char **tried = includeChecks;
449 while ( *tried != 0 )
450 scan_error() << "include: attempted: \"" << *tried++ << '\"' << endl;
453 /* Don't include anything that's already been included. */
454 if ( !duplicateInclude( includeChecks[found], inclSectionName ) ) {
455 parser->includeHistory.append( IncludeHistoryItem(
456 includeChecks[found], inclSectionName ) );
458 Scanner scanner( id, includeChecks[found], *inFile, parser,
459 inclSectionName, includeDepth+1, false );
467 void Scanner::handleImport()
470 char **importChecks = makeIncludePathChecks( fileName, lit, lit_len );
472 /* Open the input file for reading. */
474 ifstream *inFile = tryOpenInclude( importChecks, found );
476 scan_error() << "import: could not open import file " <<
477 "for reading" << endl;
478 char **tried = importChecks;
479 while ( *tried != 0 )
480 scan_error() << "import: attempted: \"" << *tried++ << '\"' << endl;
483 Scanner scanner( id, importChecks[found], *inFile, parser,
484 0, includeDepth+1, true );
486 scanner.importToken( 0, 0, 0 );
487 scanner.flushImport();
493 #line 460 "rlscan.rl"
496 void Scanner::token( int type, char c )
498 token( type, &c, &c + 1 );
501 void Scanner::token( int type )
506 void Scanner::token( int type, char *start, char *end )
512 tokdata = new char[toklen+1];
513 memcpy( tokdata, start, toklen );
517 processToken( type, tokdata, toklen );
520 void Scanner::processToken( int type, char *tokdata, int toklen )
533 #line 534 "rlscan.cpp"
540 #line 390 "rlscan.rl"
544 #line 391 "rlscan.rl"
548 #line 392 "rlscan.rl"
552 #line 432 "rlscan.rl"
554 if ( active() && machineSpec == 0 && machineName == 0 )
555 id.inputItems.tail->writeArgs.append( 0 );
559 #line 443 "rlscan.rl"
561 /* Send the token off to the parser. */
563 directToParser( parser, fileName, line, column, type, tokdata, toklen );
570 #line 571 "rlscan.cpp"
586 #line 385 "rlscan.rl"
587 { scan_error() << "bad machine statement" << endl; }
590 #line 386 "rlscan.rl"
591 { scan_error() << "bad include statement" << endl; }
594 #line 387 "rlscan.rl"
595 { scan_error() << "bad import statement" << endl; }
598 #line 388 "rlscan.rl"
599 { scan_error() << "bad write statement" << endl; }
601 #line 602 "rlscan.cpp"
606 #line 382 "rlscan.rl"
607 { word = tokdata; word_len = toklen; }
613 #line 614 "rlscan.cpp"
627 #line 381 "rlscan.rl"
628 { word = lit = 0; word_len = lit_len = 0; }
629 #line 382 "rlscan.rl"
630 { word = tokdata; word_len = toklen; }
636 #line 637 "rlscan.cpp"
643 #line 381 "rlscan.rl"
644 { word = lit = 0; word_len = lit_len = 0; }
645 #line 383 "rlscan.rl"
646 { lit = tokdata; lit_len = toklen; }
649 #line 383 "rlscan.rl"
650 { lit = tokdata; lit_len = toklen; }
656 #line 657 "rlscan.cpp"
668 #line 383 "rlscan.rl"
669 { lit = tokdata; lit_len = toklen; }
675 #line 676 "rlscan.cpp"
680 #line 412 "rlscan.rl"
682 if ( active() && machineSpec == 0 && machineName == 0 ) {
683 InputItem *inputItem = new InputItem;
684 inputItem->type = InputItem::Write;
685 inputItem->loc.fileName = fileName;
686 inputItem->loc.line = line;
687 inputItem->loc.col = column;
688 inputItem->name = parser->sectionName;
689 inputItem->pd = parser->pd;
690 id.inputItems.append( inputItem );
698 #line 699 "rlscan.cpp"
703 #line 426 "rlscan.rl"
705 if ( active() && machineSpec == 0 && machineName == 0 )
706 id.inputItems.tail->writeArgs.append( strdup(tokdata) );
713 #line 714 "rlscan.cpp"
720 _test_eof10: cs = 10; goto _test_eof;
721 _test_eof1: cs = 1; goto _test_eof;
722 _test_eof2: cs = 2; goto _test_eof;
723 _test_eof3: cs = 3; goto _test_eof;
724 _test_eof4: cs = 4; goto _test_eof;
725 _test_eof5: cs = 5; goto _test_eof;
726 _test_eof6: cs = 6; goto _test_eof;
727 _test_eof7: cs = 7; goto _test_eof;
728 _test_eof8: cs = 8; goto _test_eof;
729 _test_eof9: cs = 9; goto _test_eof;
737 #line 385 "rlscan.rl"
738 { scan_error() << "bad machine statement" << endl; }
743 #line 386 "rlscan.rl"
744 { scan_error() << "bad include statement" << endl; }
748 #line 387 "rlscan.rl"
749 { scan_error() << "bad import statement" << endl; }
753 #line 388 "rlscan.rl"
754 { scan_error() << "bad write statement" << endl; }
756 #line 757 "rlscan.cpp"
763 #line 501 "rlscan.rl"
768 /* Record the last token for use in controlling the scan of subsequent
773 void Scanner::startSection( )
775 parserExistsError = false;
777 sectionLoc.fileName = fileName;
778 sectionLoc.line = line;
779 sectionLoc.col = column;
782 void Scanner::endSection( )
784 /* Execute the eof actions for the section parser. */
785 processToken( -1, 0, 0 );
787 /* Close off the section with the parser. */
790 loc.fileName = fileName;
794 parser->token( loc, TK_EndSection, 0, 0 );
797 if ( includeDepth == 0 ) {
798 if ( machineSpec == 0 && machineName == 0 ) {
799 /* The end section may include a newline on the end, so
800 * we use the last line, which will count the newline. */
801 InputItem *inputItem = new InputItem;
802 inputItem->type = InputItem::HostData;
803 inputItem->loc.line = line;
804 inputItem->loc.col = column;
805 id.inputItems.append( inputItem );
810 bool isAbsolutePath( const char *path )
813 return isalpha( path[0] ) && path[1] == ':' && path[2] == '\\';
815 return path[0] == '/';
819 char **Scanner::makeIncludePathChecks( const char *thisFileName,
820 const char *fileName, int fnlen )
825 bool caseInsensitive = false;
826 char *data = prepareLitString( InputLoc(), fileName, fnlen,
827 length, caseInsensitive );
830 if ( isAbsolutePath( data ) ) {
831 checks = new char*[2];
832 checks[nextCheck++] = data;
835 checks = new char*[2 + id.includePaths.length()];
837 /* Search from the the location of the current file. */
838 const char *lastSlash = strrchr( thisFileName, PATH_SEP );
839 if ( lastSlash == 0 )
840 checks[nextCheck++] = data;
842 long givenPathLen = (lastSlash - thisFileName) + 1;
843 long checklen = givenPathLen + length;
844 char *check = new char[checklen+1];
845 memcpy( check, thisFileName, givenPathLen );
846 memcpy( check+givenPathLen, data, length );
848 checks[nextCheck++] = check;
851 /* Search from the include paths given on the command line. */
852 for ( ArgsVector::Iter incp = id.includePaths; incp.lte(); incp++ ) {
853 long pathLen = strlen( *incp );
854 long checkLen = pathLen + 1 + length;
855 char *check = new char[checkLen+1];
856 memcpy( check, *incp, pathLen );
857 check[pathLen] = PATH_SEP;
858 memcpy( check+pathLen+1, data, length );
860 checks[nextCheck++] = check;
864 checks[nextCheck] = 0;
868 ifstream *Scanner::tryOpenInclude( char **pathChecks, long &found )
870 char **check = pathChecks;
871 ifstream *inFile = new ifstream;
873 while ( *check != 0 ) {
874 inFile->open( *check );
875 if ( inFile->is_open() ) {
876 found = check - pathChecks;
888 #line 1162 "rlscan.rl"
892 #line 893 "rlscan.cpp"
893 static const int rlscan_start = 38;
894 static const int rlscan_first_final = 38;
895 static const int rlscan_error = 0;
897 static const int rlscan_en_inline_code_ruby = 52;
898 static const int rlscan_en_inline_code = 95;
899 static const int rlscan_en_or_literal = 137;
900 static const int rlscan_en_ragel_re_literal = 139;
901 static const int rlscan_en_write_statement = 143;
902 static const int rlscan_en_parser_def = 146;
903 static const int rlscan_en_main_ruby = 253;
904 static const int rlscan_en_main = 38;
907 #line 1165 "rlscan.rl"
909 void Scanner::do_scan()
912 char *buf = new char[bufsize];
913 int cs, act, have = 0;
916 /* The stack is two deep, one level for going into ragel defs from the main
917 * machines which process outside code, and another for going into or literals
918 * from either a ragel spec, or a regular expression. */
922 bool singleLineSpec = false;
923 InlineBlockType inlineBlockType = CurlyDelimited;
925 /* Init the section parser and the character scanner. */
928 #line 929 "rlscan.cpp"
937 #line 1185 "rlscan.rl"
939 /* Set up the start state. FIXME: After 5.20 is released the nocs write
940 * init option should be used, the main machine eliminated and this statement moved
941 * above the write init. */
942 if ( hostLang->lang == HostLang::Ruby )
943 cs = rlscan_en_main_ruby;
948 char *p = buf + have;
949 int space = bufsize - have;
952 /* We filled up the buffer trying to scan a token. Grow it. */
953 bufsize = bufsize * 2;
954 char *newbuf = new char[bufsize];
956 /* Recompute p and space. */
958 space = bufsize - have;
960 /* Patch up pointers possibly in use. */
962 ts = newbuf + ( ts - buf );
963 te = newbuf + ( te - buf );
965 /* Copy the new buffer in. */
966 memcpy( newbuf, buf, have );
971 input.read( p, space );
972 int len = input.gcount();
975 /* If we see eof then append the eof var. */
983 #line 984 "rlscan.cpp"
1075 case 100: goto st100;
1076 case 101: goto st101;
1078 case 102: goto st102;
1079 case 103: goto st103;
1080 case 104: goto st104;
1081 case 105: goto st105;
1082 case 106: goto st106;
1083 case 107: goto st107;
1084 case 108: goto st108;
1085 case 109: goto st109;
1086 case 110: goto st110;
1087 case 111: goto st111;
1088 case 112: goto st112;
1089 case 113: goto st113;
1090 case 114: goto st114;
1091 case 115: goto st115;
1092 case 116: goto st116;
1093 case 117: goto st117;
1094 case 118: goto st118;
1095 case 119: goto st119;
1096 case 120: goto st120;
1097 case 121: goto st121;
1098 case 122: goto st122;
1099 case 123: goto st123;
1100 case 124: goto st124;
1101 case 125: goto st125;
1102 case 126: goto st126;
1103 case 127: goto st127;
1104 case 128: goto st128;
1105 case 129: goto st129;
1106 case 130: goto st130;
1107 case 131: goto st131;
1108 case 132: goto st132;
1109 case 133: goto st133;
1110 case 134: goto st134;
1111 case 135: goto st135;
1112 case 136: goto st136;
1113 case 137: goto st137;
1114 case 138: goto st138;
1115 case 139: goto st139;
1116 case 140: goto st140;
1117 case 141: goto st141;
1118 case 142: goto st142;
1119 case 143: goto st143;
1121 case 144: goto st144;
1122 case 145: goto st145;
1123 case 146: goto st146;
1124 case 147: goto st147;
1125 case 148: goto st148;
1127 case 149: goto st149;
1129 case 150: goto st150;
1131 case 151: goto st151;
1132 case 152: goto st152;
1133 case 153: goto st153;
1136 case 154: goto st154;
1137 case 155: goto st155;
1138 case 156: goto st156;
1139 case 157: goto st157;
1140 case 158: goto st158;
1142 case 159: goto st159;
1143 case 160: goto st160;
1144 case 161: goto st161;
1145 case 162: goto st162;
1146 case 163: goto st163;
1147 case 164: goto st164;
1148 case 165: goto st165;
1149 case 166: goto st166;
1150 case 167: goto st167;
1151 case 168: goto st168;
1152 case 169: goto st169;
1153 case 170: goto st170;
1154 case 171: goto st171;
1155 case 172: goto st172;
1156 case 173: goto st173;
1157 case 174: goto st174;
1158 case 175: goto st175;
1159 case 176: goto st176;
1160 case 177: goto st177;
1161 case 178: goto st178;
1162 case 179: goto st179;
1163 case 180: goto st180;
1164 case 181: goto st181;
1165 case 182: goto st182;
1166 case 183: goto st183;
1167 case 184: goto st184;
1168 case 185: goto st185;
1169 case 186: goto st186;
1170 case 187: goto st187;
1171 case 188: goto st188;
1172 case 189: goto st189;
1173 case 190: goto st190;
1174 case 191: goto st191;
1175 case 192: goto st192;
1176 case 193: goto st193;
1177 case 194: goto st194;
1178 case 195: goto st195;
1179 case 196: goto st196;
1180 case 197: goto st197;
1181 case 198: goto st198;
1182 case 199: goto st199;
1183 case 200: goto st200;
1184 case 201: goto st201;
1185 case 202: goto st202;
1186 case 203: goto st203;
1187 case 204: goto st204;
1188 case 205: goto st205;
1189 case 206: goto st206;
1190 case 207: goto st207;
1191 case 208: goto st208;
1192 case 209: goto st209;
1193 case 210: goto st210;
1194 case 211: goto st211;
1195 case 212: goto st212;
1196 case 213: goto st213;
1197 case 214: goto st214;
1198 case 215: goto st215;
1199 case 216: goto st216;
1200 case 217: goto st217;
1201 case 218: goto st218;
1202 case 219: goto st219;
1203 case 220: goto st220;
1204 case 221: goto st221;
1205 case 222: goto st222;
1206 case 223: goto st223;
1207 case 224: goto st224;
1208 case 225: goto st225;
1209 case 226: goto st226;
1210 case 227: goto st227;
1211 case 228: goto st228;
1212 case 229: goto st229;
1213 case 230: goto st230;
1214 case 231: goto st231;
1215 case 232: goto st232;
1216 case 233: goto st233;
1217 case 234: goto st234;
1218 case 235: goto st235;
1219 case 236: goto st236;
1220 case 237: goto st237;
1221 case 238: goto st238;
1222 case 239: goto st239;
1223 case 240: goto st240;
1224 case 241: goto st241;
1225 case 242: goto st242;
1226 case 243: goto st243;
1227 case 244: goto st244;
1228 case 245: goto st245;
1229 case 246: goto st246;
1230 case 247: goto st247;
1231 case 248: goto st248;
1232 case 249: goto st249;
1233 case 250: goto st250;
1234 case 251: goto st251;
1235 case 252: goto st252;
1237 case 253: goto st253;
1238 case 254: goto st254;
1239 case 255: goto st255;
1242 case 256: goto st256;
1244 case 257: goto st257;
1245 case 258: goto st258;
1246 case 259: goto st259;
1249 case 260: goto st260;
1252 case 261: goto st261;
1253 case 262: goto st262;
1263 #line 1160 "rlscan.rl"
1264 {{p = ((te))-1;}{ pass( *ts, 0, 0 ); }}
1267 #line 1144 "rlscan.rl"
1268 {te = p+1;{ pass( IMP_Literal, ts, te ); }}
1271 #line 1143 "rlscan.rl"
1272 {te = p+1;{ pass(); }}
1275 #line 630 "rlscan.rl"
1281 #line 1143 "rlscan.rl"
1282 {te = p+1;{ pass(); }}
1285 #line 1160 "rlscan.rl"
1286 {te = p+1;{ pass( *ts, 0, 0 ); }}
1289 #line 1159 "rlscan.rl"
1293 #line 1158 "rlscan.rl"
1294 {te = p;p--;{ pass(); }}
1297 #line 1160 "rlscan.rl"
1298 {te = p;p--;{ pass( *ts, 0, 0 ); }}
1301 #line 1152 "rlscan.rl"
1304 singleLineSpec = true;
1306 {stack[top++] = 38; goto st146;}
1310 #line 1146 "rlscan.rl"
1313 singleLineSpec = false;
1315 {stack[top++] = 38; goto st146;}
1319 #line 1142 "rlscan.rl"
1320 {te = p;p--;{ pass( IMP_UInt, ts, te ); }}
1326 {{p = ((te))-1;} pass( IMP_Define, 0, 0 ); }
1329 {{p = ((te))-1;} pass( IMP_Word, ts, te ); }
1335 #line 1141 "rlscan.rl"
1336 {te = p;p--;{ pass( IMP_Word, ts, te ); }}
1346 #line 1347 "rlscan.cpp"
1357 case 100: goto st47;
1360 if ( 48 <= (*p) && (*p) <= 57 )
1362 } else if ( (*p) > 90 ) {
1363 if ( 97 <= (*p) && (*p) <= 122 )
1369 #line 630 "rlscan.rl"
1380 #line 1381 "rlscan.cpp"
1395 #line 1396 "rlscan.cpp"
1403 #line 630 "rlscan.rl"
1414 #line 1415 "rlscan.cpp"
1450 #line 1451 "rlscan.cpp"
1458 #line 630 "rlscan.rl"
1469 #line 1470 "rlscan.cpp"
1491 #line 1492 "rlscan.cpp"
1498 #line 630 "rlscan.rl"
1509 #line 1510 "rlscan.cpp"
1536 if ( 48 <= (*p) && (*p) <= 57 )
1542 #line 1141 "rlscan.rl"
1548 #line 1140 "rlscan.rl"
1555 #line 1556 "rlscan.cpp"
1559 if ( 48 <= (*p) && (*p) <= 57 )
1561 } else if ( (*p) > 90 ) {
1562 if ( 97 <= (*p) && (*p) <= 122 )
1573 case 101: goto st48;
1576 if ( 48 <= (*p) && (*p) <= 57 )
1578 } else if ( (*p) > 90 ) {
1579 if ( 97 <= (*p) && (*p) <= 122 )
1590 case 102: goto st49;
1593 if ( 48 <= (*p) && (*p) <= 57 )
1595 } else if ( (*p) > 90 ) {
1596 if ( 97 <= (*p) && (*p) <= 122 )
1607 case 105: goto st50;
1610 if ( 48 <= (*p) && (*p) <= 57 )
1612 } else if ( (*p) > 90 ) {
1613 if ( 97 <= (*p) && (*p) <= 122 )
1624 case 110: goto st51;
1627 if ( 48 <= (*p) && (*p) <= 57 )
1629 } else if ( (*p) > 90 ) {
1630 if ( 97 <= (*p) && (*p) <= 122 )
1641 case 101: goto tr94;
1644 if ( 48 <= (*p) && (*p) <= 57 )
1646 } else if ( (*p) > 90 ) {
1647 if ( 97 <= (*p) && (*p) <= 122 )
1653 #line 759 "rlscan.rl"
1654 {{p = ((te))-1;}{ token( IL_Symbol, ts, te ); }}
1657 #line 705 "rlscan.rl"
1658 {te = p+1;{ token( IL_Literal, ts, te ); }}
1661 #line 630 "rlscan.rl"
1667 #line 712 "rlscan.rl"
1668 {te = p+1;{ token( IL_Comment, ts, te ); }}
1671 #line 701 "rlscan.rl"
1672 {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
1675 #line 759 "rlscan.rl"
1676 {te = p+1;{ token( IL_Symbol, ts, te ); }}
1679 #line 754 "rlscan.rl"
1681 scan_error() << "unterminated code block" << endl;
1685 #line 734 "rlscan.rl"
1686 {te = p+1;{ token( *ts, ts, te ); }}
1689 #line 729 "rlscan.rl"
1691 whitespaceOn = true;
1692 token( *ts, ts, te );
1696 #line 722 "rlscan.rl"
1698 whitespaceOn = true;
1699 token( *ts, ts, te );
1700 if ( inlineBlockType == SemiTerminated )
1701 {cs = stack[--top];goto _again;}
1705 #line 736 "rlscan.rl"
1707 token( IL_Symbol, ts, te );
1712 #line 741 "rlscan.rl"
1714 if ( --curly_count == 0 && inlineBlockType == CurlyDelimited ) {
1715 /* Inline code block ends. */
1717 {cs = stack[--top];goto _again;}
1720 /* Either a semi terminated inline block or only the closing
1721 * brace of some inner scope, not the block's closing brace. */
1722 token( IL_Symbol, ts, te );
1727 #line 707 "rlscan.rl"
1730 token( IL_WhiteSpace, ts, te );
1734 #line 759 "rlscan.rl"
1735 {te = p;p--;{ token( IL_Symbol, ts, te ); }}
1738 #line 701 "rlscan.rl"
1739 {te = p;p--;{ token( TK_UInt, ts, te ); }}
1742 #line 702 "rlscan.rl"
1743 {te = p;p--;{ token( TK_Hex, ts, te ); }}
1746 #line 714 "rlscan.rl"
1747 {te = p+1;{ token( TK_NameSep, ts, te ); }}
1753 {{p = ((te))-1;} token( KW_PChar ); }
1756 {{p = ((te))-1;} token( KW_CurState ); }
1759 {{p = ((te))-1;} token( KW_TargState ); }
1763 whitespaceOn = false;
1769 whitespaceOn = false;
1774 {{p = ((te))-1;} token( KW_Exec, 0, 0 ); }
1778 whitespaceOn = false;
1784 whitespaceOn = false;
1790 whitespaceOn = false;
1796 whitespaceOn = false;
1802 whitespaceOn = false;
1807 {{p = ((te))-1;} token( TK_Word, ts, te ); }
1813 #line 699 "rlscan.rl"
1814 {te = p;p--;{ token( TK_Word, ts, te ); }}
1817 #line 664 "rlscan.rl"
1818 {te = p;p--;{ token( KW_Char ); }}
1828 #line 1829 "rlscan.cpp"
1835 case 35: goto tr100;
1836 case 39: goto tr101;
1837 case 40: goto tr102;
1838 case 44: goto tr102;
1839 case 47: goto tr104;
1840 case 48: goto tr105;
1842 case 59: goto tr108;
1843 case 95: goto tr109;
1844 case 102: goto st63;
1845 case 123: goto tr111;
1846 case 125: goto tr112;
1849 if ( 41 <= (*p) && (*p) <= 42 )
1851 } else if ( (*p) > 57 ) {
1853 if ( 97 <= (*p) && (*p) <= 122 )
1855 } else if ( (*p) >= 65 )
1861 #line 630 "rlscan.rl"
1872 #line 1873 "rlscan.cpp"
1887 #line 1888 "rlscan.cpp"
1895 #line 630 "rlscan.rl"
1906 #line 1907 "rlscan.cpp"
1928 #line 1929 "rlscan.cpp"
1947 #line 1948 "rlscan.cpp"
1955 #line 630 "rlscan.rl"
1966 #line 1967 "rlscan.cpp"
1988 #line 1989 "rlscan.cpp"
1996 #line 630 "rlscan.rl"
2007 #line 2008 "rlscan.cpp"
2029 #line 2030 "rlscan.cpp"
2032 if ( 48 <= (*p) && (*p) <= 57 )
2039 if ( 48 <= (*p) && (*p) <= 57 )
2047 if ( 48 <= (*p) && (*p) <= 57 )
2049 } else if ( (*p) > 70 ) {
2050 if ( 97 <= (*p) && (*p) <= 102 )
2060 if ( 48 <= (*p) && (*p) <= 57 )
2062 } else if ( (*p) > 70 ) {
2063 if ( 97 <= (*p) && (*p) <= 102 )
2078 #line 699 "rlscan.rl"
2084 #line 694 "rlscan.rl"
2090 #line 686 "rlscan.rl"
2096 #line 665 "rlscan.rl"
2102 #line 667 "rlscan.rl"
2108 #line 677 "rlscan.rl"
2114 #line 678 "rlscan.rl"
2120 #line 673 "rlscan.rl"
2126 #line 682 "rlscan.rl"
2132 #line 663 "rlscan.rl"
2138 #line 690 "rlscan.rl"
2144 #line 666 "rlscan.rl"
2151 #line 2152 "rlscan.cpp"
2155 if ( 48 <= (*p) && (*p) <= 57 )
2157 } else if ( (*p) > 90 ) {
2158 if ( 97 <= (*p) && (*p) <= 122 )
2168 case 95: goto tr109;
2171 case 101: goto st73;
2172 case 103: goto st79;
2173 case 104: goto st82;
2174 case 110: goto st85;
2175 case 112: goto st88;
2176 case 114: goto st89;
2177 case 116: goto st91;
2180 if ( 48 <= (*p) && (*p) <= 57 )
2182 } else if ( (*p) > 90 ) {
2183 if ( 97 <= (*p) && (*p) <= 122 )
2193 case 95: goto tr109;
2194 case 114: goto st65;
2197 if ( 48 <= (*p) && (*p) <= 57 )
2199 } else if ( (*p) > 90 ) {
2200 if ( 97 <= (*p) && (*p) <= 122 )
2210 case 95: goto tr109;
2211 case 101: goto st66;
2214 if ( 48 <= (*p) && (*p) <= 57 )
2216 } else if ( (*p) > 90 ) {
2217 if ( 97 <= (*p) && (*p) <= 122 )
2227 case 95: goto tr109;
2231 if ( 48 <= (*p) && (*p) <= 57 )
2233 } else if ( (*p) > 90 ) {
2234 if ( 98 <= (*p) && (*p) <= 122 )
2244 case 95: goto tr109;
2245 case 107: goto tr133;
2248 if ( 48 <= (*p) && (*p) <= 57 )
2250 } else if ( (*p) > 90 ) {
2251 if ( 97 <= (*p) && (*p) <= 122 )
2261 case 95: goto tr109;
2263 case 117: goto st71;
2266 if ( 48 <= (*p) && (*p) <= 57 )
2268 } else if ( (*p) > 90 ) {
2269 if ( 98 <= (*p) && (*p) <= 122 )
2279 case 95: goto tr109;
2280 case 108: goto st70;
2283 if ( 48 <= (*p) && (*p) <= 57 )
2285 } else if ( (*p) > 90 ) {
2286 if ( 97 <= (*p) && (*p) <= 122 )
2296 case 95: goto tr109;
2297 case 108: goto tr138;
2300 if ( 48 <= (*p) && (*p) <= 57 )
2302 } else if ( (*p) > 90 ) {
2303 if ( 97 <= (*p) && (*p) <= 122 )
2313 case 95: goto tr109;
2314 case 114: goto st72;
2317 if ( 48 <= (*p) && (*p) <= 57 )
2319 } else if ( (*p) > 90 ) {
2320 if ( 97 <= (*p) && (*p) <= 122 )
2330 case 95: goto tr109;
2331 case 115: goto tr140;
2334 if ( 48 <= (*p) && (*p) <= 57 )
2336 } else if ( (*p) > 90 ) {
2337 if ( 97 <= (*p) && (*p) <= 122 )
2347 case 95: goto tr109;
2348 case 110: goto st74;
2349 case 120: goto st77;
2352 if ( 48 <= (*p) && (*p) <= 57 )
2354 } else if ( (*p) > 90 ) {
2355 if ( 97 <= (*p) && (*p) <= 122 )
2365 case 95: goto tr109;
2366 case 116: goto st75;
2369 if ( 48 <= (*p) && (*p) <= 57 )
2371 } else if ( (*p) > 90 ) {
2372 if ( 97 <= (*p) && (*p) <= 122 )
2382 case 95: goto tr109;
2383 case 114: goto st76;
2386 if ( 48 <= (*p) && (*p) <= 57 )
2388 } else if ( (*p) > 90 ) {
2389 if ( 97 <= (*p) && (*p) <= 122 )
2399 case 95: goto tr109;
2400 case 121: goto tr145;
2403 if ( 48 <= (*p) && (*p) <= 57 )
2405 } else if ( (*p) > 90 ) {
2406 if ( 97 <= (*p) && (*p) <= 122 )
2416 case 95: goto tr109;
2417 case 101: goto st78;
2420 if ( 48 <= (*p) && (*p) <= 57 )
2422 } else if ( (*p) > 90 ) {
2423 if ( 97 <= (*p) && (*p) <= 122 )
2433 case 95: goto tr109;
2434 case 99: goto tr147;
2437 if ( 48 <= (*p) && (*p) <= 57 )
2439 } else if ( (*p) > 90 ) {
2440 if ( 97 <= (*p) && (*p) <= 122 )
2450 case 95: goto tr109;
2451 case 111: goto st80;
2454 if ( 48 <= (*p) && (*p) <= 57 )
2456 } else if ( (*p) > 90 ) {
2457 if ( 97 <= (*p) && (*p) <= 122 )
2467 case 95: goto tr109;
2468 case 116: goto st81;
2471 if ( 48 <= (*p) && (*p) <= 57 )
2473 } else if ( (*p) > 90 ) {
2474 if ( 97 <= (*p) && (*p) <= 122 )
2484 case 95: goto tr109;
2485 case 111: goto tr150;
2488 if ( 48 <= (*p) && (*p) <= 57 )
2490 } else if ( (*p) > 90 ) {
2491 if ( 97 <= (*p) && (*p) <= 122 )
2501 case 95: goto tr109;
2502 case 111: goto st83;
2505 if ( 48 <= (*p) && (*p) <= 57 )
2507 } else if ( (*p) > 90 ) {
2508 if ( 97 <= (*p) && (*p) <= 122 )
2518 case 95: goto tr109;
2519 case 108: goto st84;
2522 if ( 48 <= (*p) && (*p) <= 57 )
2524 } else if ( (*p) > 90 ) {
2525 if ( 97 <= (*p) && (*p) <= 122 )
2535 case 95: goto tr109;
2536 case 100: goto tr153;
2539 if ( 48 <= (*p) && (*p) <= 57 )
2541 } else if ( (*p) > 90 ) {
2542 if ( 97 <= (*p) && (*p) <= 122 )
2552 case 95: goto tr109;
2553 case 101: goto st86;
2556 if ( 48 <= (*p) && (*p) <= 57 )
2558 } else if ( (*p) > 90 ) {
2559 if ( 97 <= (*p) && (*p) <= 122 )
2569 case 95: goto tr109;
2570 case 120: goto st87;
2573 if ( 48 <= (*p) && (*p) <= 57 )
2575 } else if ( (*p) > 90 ) {
2576 if ( 97 <= (*p) && (*p) <= 122 )
2586 case 95: goto tr109;
2587 case 116: goto tr156;
2590 if ( 48 <= (*p) && (*p) <= 57 )
2592 } else if ( (*p) > 90 ) {
2593 if ( 97 <= (*p) && (*p) <= 122 )
2603 case 95: goto tr109;
2604 case 99: goto tr157;
2607 if ( 48 <= (*p) && (*p) <= 57 )
2609 } else if ( (*p) > 90 ) {
2610 if ( 97 <= (*p) && (*p) <= 122 )
2620 case 95: goto tr109;
2621 case 101: goto st90;
2624 if ( 48 <= (*p) && (*p) <= 57 )
2626 } else if ( (*p) > 90 ) {
2627 if ( 97 <= (*p) && (*p) <= 122 )
2637 case 95: goto tr109;
2638 case 116: goto tr159;
2641 if ( 48 <= (*p) && (*p) <= 57 )
2643 } else if ( (*p) > 90 ) {
2644 if ( 97 <= (*p) && (*p) <= 122 )
2654 case 95: goto tr109;
2658 if ( 48 <= (*p) && (*p) <= 57 )
2660 } else if ( (*p) > 90 ) {
2661 if ( 98 <= (*p) && (*p) <= 122 )
2671 case 95: goto tr109;
2672 case 114: goto st93;
2675 if ( 48 <= (*p) && (*p) <= 57 )
2677 } else if ( (*p) > 90 ) {
2678 if ( 97 <= (*p) && (*p) <= 122 )
2688 case 95: goto tr109;
2689 case 103: goto st94;
2692 if ( 48 <= (*p) && (*p) <= 57 )
2694 } else if ( (*p) > 90 ) {
2695 if ( 97 <= (*p) && (*p) <= 122 )
2705 case 95: goto tr109;
2706 case 115: goto tr163;
2709 if ( 48 <= (*p) && (*p) <= 57 )
2711 } else if ( (*p) > 90 ) {
2712 if ( 97 <= (*p) && (*p) <= 122 )
2718 #line 862 "rlscan.rl"
2719 {{p = ((te))-1;}{ token( IL_Symbol, ts, te ); }}
2722 #line 808 "rlscan.rl"
2723 {te = p+1;{ token( IL_Literal, ts, te ); }}
2726 #line 815 "rlscan.rl"
2727 {te = p+1;{ token( IL_Comment, ts, te ); }}
2730 #line 630 "rlscan.rl"
2736 #line 815 "rlscan.rl"
2737 {te = p+1;{ token( IL_Comment, ts, te ); }}
2740 #line 804 "rlscan.rl"
2741 {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
2744 #line 862 "rlscan.rl"
2745 {te = p+1;{ token( IL_Symbol, ts, te ); }}
2748 #line 857 "rlscan.rl"
2750 scan_error() << "unterminated code block" << endl;
2754 #line 837 "rlscan.rl"
2755 {te = p+1;{ token( *ts, ts, te ); }}
2758 #line 832 "rlscan.rl"
2760 whitespaceOn = true;
2761 token( *ts, ts, te );
2765 #line 825 "rlscan.rl"
2767 whitespaceOn = true;
2768 token( *ts, ts, te );
2769 if ( inlineBlockType == SemiTerminated )
2770 {cs = stack[--top];goto _again;}
2774 #line 839 "rlscan.rl"
2776 token( IL_Symbol, ts, te );
2781 #line 844 "rlscan.rl"
2783 if ( --curly_count == 0 && inlineBlockType == CurlyDelimited ) {
2784 /* Inline code block ends. */
2786 {cs = stack[--top];goto _again;}
2789 /* Either a semi terminated inline block or only the closing
2790 * brace of some inner scope, not the block's closing brace. */
2791 token( IL_Symbol, ts, te );
2796 #line 810 "rlscan.rl"
2799 token( IL_WhiteSpace, ts, te );
2803 #line 862 "rlscan.rl"
2804 {te = p;p--;{ token( IL_Symbol, ts, te ); }}
2807 #line 804 "rlscan.rl"
2808 {te = p;p--;{ token( TK_UInt, ts, te ); }}
2811 #line 805 "rlscan.rl"
2812 {te = p;p--;{ token( TK_Hex, ts, te ); }}
2815 #line 817 "rlscan.rl"
2816 {te = p+1;{ token( TK_NameSep, ts, te ); }}
2822 {{p = ((te))-1;} token( KW_PChar ); }
2825 {{p = ((te))-1;} token( KW_CurState ); }
2828 {{p = ((te))-1;} token( KW_TargState ); }
2832 whitespaceOn = false;
2838 whitespaceOn = false;
2843 {{p = ((te))-1;} token( KW_Exec, 0, 0 ); }
2847 whitespaceOn = false;
2853 whitespaceOn = false;
2859 whitespaceOn = false;
2865 whitespaceOn = false;
2871 whitespaceOn = false;
2876 {{p = ((te))-1;} token( TK_Word, ts, te ); }
2882 #line 802 "rlscan.rl"
2883 {te = p;p--;{ token( TK_Word, ts, te ); }}
2886 #line 767 "rlscan.rl"
2887 {te = p;p--;{ token( KW_Char ); }}
2897 #line 2898 "rlscan.cpp"
2901 case 10: goto tr167;
2903 case 34: goto tr168;
2904 case 39: goto tr169;
2905 case 40: goto tr170;
2906 case 44: goto tr170;
2907 case 47: goto tr172;
2908 case 48: goto tr173;
2909 case 58: goto st103;
2910 case 59: goto tr176;
2911 case 95: goto tr177;
2912 case 102: goto st105;
2913 case 123: goto tr179;
2914 case 125: goto tr180;
2917 if ( 41 <= (*p) && (*p) <= 42 )
2919 } else if ( (*p) > 57 ) {
2921 if ( 97 <= (*p) && (*p) <= 122 )
2923 } else if ( (*p) >= 65 )
2929 #line 630 "rlscan.rl"
2940 #line 2941 "rlscan.cpp"
2943 case 10: goto tr167;
2955 #line 2956 "rlscan.cpp"
2963 #line 630 "rlscan.rl"
2974 #line 2975 "rlscan.cpp"
2996 #line 2997 "rlscan.cpp"
3004 #line 630 "rlscan.rl"
3015 #line 3016 "rlscan.cpp"
3037 #line 3038 "rlscan.cpp"
3044 #line 630 "rlscan.rl"
3055 #line 3056 "rlscan.cpp"
3086 #line 3087 "rlscan.cpp"
3089 if ( 48 <= (*p) && (*p) <= 57 )
3096 if ( 48 <= (*p) && (*p) <= 57 )
3104 if ( 48 <= (*p) && (*p) <= 57 )
3106 } else if ( (*p) > 70 ) {
3107 if ( 97 <= (*p) && (*p) <= 102 )
3117 if ( 48 <= (*p) && (*p) <= 57 )
3119 } else if ( (*p) > 70 ) {
3120 if ( 97 <= (*p) && (*p) <= 102 )
3135 #line 802 "rlscan.rl"
3141 #line 797 "rlscan.rl"
3147 #line 789 "rlscan.rl"
3153 #line 768 "rlscan.rl"
3159 #line 770 "rlscan.rl"
3165 #line 780 "rlscan.rl"
3171 #line 781 "rlscan.rl"
3177 #line 776 "rlscan.rl"
3183 #line 785 "rlscan.rl"
3189 #line 766 "rlscan.rl"
3195 #line 793 "rlscan.rl"
3201 #line 769 "rlscan.rl"
3208 #line 3209 "rlscan.cpp"
3212 if ( 48 <= (*p) && (*p) <= 57 )
3214 } else if ( (*p) > 90 ) {
3215 if ( 97 <= (*p) && (*p) <= 122 )
3225 case 95: goto tr177;
3226 case 98: goto st106;
3227 case 99: goto st110;
3228 case 101: goto st115;
3229 case 103: goto st121;
3230 case 104: goto st124;
3231 case 110: goto st127;
3232 case 112: goto st130;
3233 case 114: goto st131;
3234 case 116: goto st133;
3237 if ( 48 <= (*p) && (*p) <= 57 )
3239 } else if ( (*p) > 90 ) {
3240 if ( 97 <= (*p) && (*p) <= 122 )
3250 case 95: goto tr177;
3251 case 114: goto st107;
3254 if ( 48 <= (*p) && (*p) <= 57 )
3256 } else if ( (*p) > 90 ) {
3257 if ( 97 <= (*p) && (*p) <= 122 )
3267 case 95: goto tr177;
3268 case 101: goto st108;
3271 if ( 48 <= (*p) && (*p) <= 57 )
3273 } else if ( (*p) > 90 ) {
3274 if ( 97 <= (*p) && (*p) <= 122 )
3284 case 95: goto tr177;
3285 case 97: goto st109;
3288 if ( 48 <= (*p) && (*p) <= 57 )
3290 } else if ( (*p) > 90 ) {
3291 if ( 98 <= (*p) && (*p) <= 122 )
3301 case 95: goto tr177;
3302 case 107: goto tr201;
3305 if ( 48 <= (*p) && (*p) <= 57 )
3307 } else if ( (*p) > 90 ) {
3308 if ( 97 <= (*p) && (*p) <= 122 )
3318 case 95: goto tr177;
3319 case 97: goto st111;
3320 case 117: goto st113;
3323 if ( 48 <= (*p) && (*p) <= 57 )
3325 } else if ( (*p) > 90 ) {
3326 if ( 98 <= (*p) && (*p) <= 122 )
3336 case 95: goto tr177;
3337 case 108: goto st112;
3340 if ( 48 <= (*p) && (*p) <= 57 )
3342 } else if ( (*p) > 90 ) {
3343 if ( 97 <= (*p) && (*p) <= 122 )
3353 case 95: goto tr177;
3354 case 108: goto tr206;
3357 if ( 48 <= (*p) && (*p) <= 57 )
3359 } else if ( (*p) > 90 ) {
3360 if ( 97 <= (*p) && (*p) <= 122 )
3370 case 95: goto tr177;
3371 case 114: goto st114;
3374 if ( 48 <= (*p) && (*p) <= 57 )
3376 } else if ( (*p) > 90 ) {
3377 if ( 97 <= (*p) && (*p) <= 122 )
3387 case 95: goto tr177;
3388 case 115: goto tr208;
3391 if ( 48 <= (*p) && (*p) <= 57 )
3393 } else if ( (*p) > 90 ) {
3394 if ( 97 <= (*p) && (*p) <= 122 )
3404 case 95: goto tr177;
3405 case 110: goto st116;
3406 case 120: goto st119;
3409 if ( 48 <= (*p) && (*p) <= 57 )
3411 } else if ( (*p) > 90 ) {
3412 if ( 97 <= (*p) && (*p) <= 122 )
3422 case 95: goto tr177;
3423 case 116: goto st117;
3426 if ( 48 <= (*p) && (*p) <= 57 )
3428 } else if ( (*p) > 90 ) {
3429 if ( 97 <= (*p) && (*p) <= 122 )
3439 case 95: goto tr177;
3440 case 114: goto st118;
3443 if ( 48 <= (*p) && (*p) <= 57 )
3445 } else if ( (*p) > 90 ) {
3446 if ( 97 <= (*p) && (*p) <= 122 )
3456 case 95: goto tr177;
3457 case 121: goto tr213;
3460 if ( 48 <= (*p) && (*p) <= 57 )
3462 } else if ( (*p) > 90 ) {
3463 if ( 97 <= (*p) && (*p) <= 122 )
3473 case 95: goto tr177;
3474 case 101: goto st120;
3477 if ( 48 <= (*p) && (*p) <= 57 )
3479 } else if ( (*p) > 90 ) {
3480 if ( 97 <= (*p) && (*p) <= 122 )
3490 case 95: goto tr177;
3491 case 99: goto tr215;
3494 if ( 48 <= (*p) && (*p) <= 57 )
3496 } else if ( (*p) > 90 ) {
3497 if ( 97 <= (*p) && (*p) <= 122 )
3507 case 95: goto tr177;
3508 case 111: goto st122;
3511 if ( 48 <= (*p) && (*p) <= 57 )
3513 } else if ( (*p) > 90 ) {
3514 if ( 97 <= (*p) && (*p) <= 122 )
3524 case 95: goto tr177;
3525 case 116: goto st123;
3528 if ( 48 <= (*p) && (*p) <= 57 )
3530 } else if ( (*p) > 90 ) {
3531 if ( 97 <= (*p) && (*p) <= 122 )
3541 case 95: goto tr177;
3542 case 111: goto tr218;
3545 if ( 48 <= (*p) && (*p) <= 57 )
3547 } else if ( (*p) > 90 ) {
3548 if ( 97 <= (*p) && (*p) <= 122 )
3558 case 95: goto tr177;
3559 case 111: goto st125;
3562 if ( 48 <= (*p) && (*p) <= 57 )
3564 } else if ( (*p) > 90 ) {
3565 if ( 97 <= (*p) && (*p) <= 122 )
3575 case 95: goto tr177;
3576 case 108: goto st126;
3579 if ( 48 <= (*p) && (*p) <= 57 )
3581 } else if ( (*p) > 90 ) {
3582 if ( 97 <= (*p) && (*p) <= 122 )
3592 case 95: goto tr177;
3593 case 100: goto tr221;
3596 if ( 48 <= (*p) && (*p) <= 57 )
3598 } else if ( (*p) > 90 ) {
3599 if ( 97 <= (*p) && (*p) <= 122 )
3609 case 95: goto tr177;
3610 case 101: goto st128;
3613 if ( 48 <= (*p) && (*p) <= 57 )
3615 } else if ( (*p) > 90 ) {
3616 if ( 97 <= (*p) && (*p) <= 122 )
3626 case 95: goto tr177;
3627 case 120: goto st129;
3630 if ( 48 <= (*p) && (*p) <= 57 )
3632 } else if ( (*p) > 90 ) {
3633 if ( 97 <= (*p) && (*p) <= 122 )
3643 case 95: goto tr177;
3644 case 116: goto tr224;
3647 if ( 48 <= (*p) && (*p) <= 57 )
3649 } else if ( (*p) > 90 ) {
3650 if ( 97 <= (*p) && (*p) <= 122 )
3660 case 95: goto tr177;
3661 case 99: goto tr225;
3664 if ( 48 <= (*p) && (*p) <= 57 )
3666 } else if ( (*p) > 90 ) {
3667 if ( 97 <= (*p) && (*p) <= 122 )
3677 case 95: goto tr177;
3678 case 101: goto st132;
3681 if ( 48 <= (*p) && (*p) <= 57 )
3683 } else if ( (*p) > 90 ) {
3684 if ( 97 <= (*p) && (*p) <= 122 )
3694 case 95: goto tr177;
3695 case 116: goto tr227;
3698 if ( 48 <= (*p) && (*p) <= 57 )
3700 } else if ( (*p) > 90 ) {
3701 if ( 97 <= (*p) && (*p) <= 122 )
3711 case 95: goto tr177;
3712 case 97: goto st134;
3715 if ( 48 <= (*p) && (*p) <= 57 )
3717 } else if ( (*p) > 90 ) {
3718 if ( 98 <= (*p) && (*p) <= 122 )
3728 case 95: goto tr177;
3729 case 114: goto st135;
3732 if ( 48 <= (*p) && (*p) <= 57 )
3734 } else if ( (*p) > 90 ) {
3735 if ( 97 <= (*p) && (*p) <= 122 )
3745 case 95: goto tr177;
3746 case 103: goto st136;
3749 if ( 48 <= (*p) && (*p) <= 57 )
3751 } else if ( (*p) > 90 ) {
3752 if ( 97 <= (*p) && (*p) <= 122 )
3762 case 95: goto tr177;
3763 case 115: goto tr231;
3766 if ( 48 <= (*p) && (*p) <= 57 )
3768 } else if ( (*p) > 90 ) {
3769 if ( 97 <= (*p) && (*p) <= 122 )
3775 #line 889 "rlscan.rl"
3776 {te = p+1;{ token( RE_Char, ts, te ); }}
3779 #line 884 "rlscan.rl"
3781 scan_error() << "unterminated OR literal" << endl;
3785 #line 879 "rlscan.rl"
3786 {te = p+1;{ token( RE_Dash, 0, 0 ); }}
3789 #line 882 "rlscan.rl"
3790 {te = p+1;{ token( RE_SqClose ); {cs = stack[--top];goto _again;} }}
3793 #line 889 "rlscan.rl"
3794 {te = p;p--;{ token( RE_Char, ts, te ); }}
3797 #line 876 "rlscan.rl"
3798 {te = p+1;{ token( RE_Char, ts+1, te ); }}
3801 #line 875 "rlscan.rl"
3802 {te = p+1;{ updateCol(); }}
3805 #line 867 "rlscan.rl"
3806 {te = p+1;{ token( RE_Char, '\0' ); }}
3809 #line 868 "rlscan.rl"
3810 {te = p+1;{ token( RE_Char, '\a' ); }}
3813 #line 869 "rlscan.rl"
3814 {te = p+1;{ token( RE_Char, '\b' ); }}
3817 #line 873 "rlscan.rl"
3818 {te = p+1;{ token( RE_Char, '\f' ); }}
3821 #line 871 "rlscan.rl"
3822 {te = p+1;{ token( RE_Char, '\n' ); }}
3825 #line 874 "rlscan.rl"
3826 {te = p+1;{ token( RE_Char, '\r' ); }}
3829 #line 870 "rlscan.rl"
3830 {te = p+1;{ token( RE_Char, '\t' ); }}
3833 #line 872 "rlscan.rl"
3834 {te = p+1;{ token( RE_Char, '\v' ); }}
3844 #line 3845 "rlscan.cpp"
3847 case 45: goto tr234;
3848 case 92: goto st138;
3849 case 93: goto tr236;
3857 case 10: goto tr239;
3858 case 48: goto tr240;
3859 case 97: goto tr241;
3860 case 98: goto tr242;
3861 case 102: goto tr243;
3862 case 110: goto tr244;
3863 case 114: goto tr245;
3864 case 116: goto tr246;
3865 case 118: goto tr247;
3869 #line 924 "rlscan.rl"
3870 {te = p+1;{ token( RE_Char, ts, te ); }}
3873 #line 919 "rlscan.rl"
3875 scan_error() << "unterminated regular expression" << endl;
3879 #line 914 "rlscan.rl"
3880 {te = p+1;{ token( RE_Star ); }}
3883 #line 913 "rlscan.rl"
3884 {te = p+1;{ token( RE_Dot ); }}
3887 #line 907 "rlscan.rl"
3889 token( RE_Slash, ts, te );
3894 #line 907 "rlscan.rl"
3896 token( RE_Slash, ts, te );
3901 #line 916 "rlscan.rl"
3902 {te = p;p--;{ token( RE_SqOpen ); {stack[top++] = 139; goto st137;} }}
3905 #line 917 "rlscan.rl"
3906 {te = p+1;{ token( RE_SqOpenNeg ); {stack[top++] = 139; goto st137;} }}
3909 #line 924 "rlscan.rl"
3910 {te = p;p--;{ token( RE_Char, ts, te ); }}
3913 #line 904 "rlscan.rl"
3914 {te = p+1;{ token( RE_Char, ts+1, te ); }}
3917 #line 903 "rlscan.rl"
3918 {te = p+1;{ updateCol(); }}
3921 #line 895 "rlscan.rl"
3922 {te = p+1;{ token( RE_Char, '\0' ); }}
3925 #line 896 "rlscan.rl"
3926 {te = p+1;{ token( RE_Char, '\a' ); }}
3929 #line 897 "rlscan.rl"
3930 {te = p+1;{ token( RE_Char, '\b' ); }}
3933 #line 901 "rlscan.rl"
3934 {te = p+1;{ token( RE_Char, '\f' ); }}
3937 #line 899 "rlscan.rl"
3938 {te = p+1;{ token( RE_Char, '\n' ); }}
3941 #line 902 "rlscan.rl"
3942 {te = p+1;{ token( RE_Char, '\r' ); }}
3945 #line 898 "rlscan.rl"
3946 {te = p+1;{ token( RE_Char, '\t' ); }}
3949 #line 900 "rlscan.rl"
3950 {te = p+1;{ token( RE_Char, '\v' ); }}
3960 #line 3961 "rlscan.cpp"
3963 case 42: goto tr250;
3964 case 46: goto tr251;
3965 case 47: goto st140;
3966 case 91: goto st141;
3967 case 92: goto st142;
3989 case 10: goto tr261;
3990 case 48: goto tr262;
3991 case 97: goto tr263;
3992 case 98: goto tr264;
3993 case 102: goto tr265;
3994 case 110: goto tr266;
3995 case 114: goto tr267;
3996 case 116: goto tr268;
3997 case 118: goto tr269;
4001 #line 933 "rlscan.rl"
4003 scan_error() << "unterminated write statement" << endl;
4007 #line 931 "rlscan.rl"
4008 {te = p+1;{ token( ';' ); {goto st146;} }}
4011 #line 930 "rlscan.rl"
4012 {te = p;p--;{ updateCol(); }}
4015 #line 929 "rlscan.rl"
4016 {te = p;p--;{ token( TK_Word, ts, te ); }}
4026 #line 4027 "rlscan.cpp"
4029 case 32: goto st144;
4030 case 59: goto tr273;
4031 case 95: goto st145;
4034 if ( 9 <= (*p) && (*p) <= 10 )
4036 } else if ( (*p) > 90 ) {
4037 if ( 97 <= (*p) && (*p) <= 122 )
4051 if ( 9 <= (*p) && (*p) <= 10 )
4061 if ( 48 <= (*p) && (*p) <= 57 )
4063 } else if ( (*p) > 90 ) {
4064 if ( 97 <= (*p) && (*p) <= 122 )
4070 #line 1110 "rlscan.rl"
4071 {{p = ((te))-1;}{ token( *ts ); }}
4074 #line 630 "rlscan.rl"
4080 #line 1007 "rlscan.rl"
4081 {te = p+1;{ updateCol(); }}
4084 #line 994 "rlscan.rl"
4085 {{p = ((te))-1;}{ token( TK_UInt, ts, te ); }}
4088 #line 1075 "rlscan.rl"
4092 {cs = stack[--top];goto _again;}
4096 #line 1110 "rlscan.rl"
4097 {te = p+1;{ token( *ts ); }}
4100 #line 1106 "rlscan.rl"
4102 scan_error() << "unterminated ragel section" << endl;
4106 #line 630 "rlscan.rl"
4112 #line 1084 "rlscan.rl"
4115 if ( singleLineSpec ) {
4117 {cs = stack[--top];goto _again;}
4122 #line 1004 "rlscan.rl"
4123 {te = p+1;{ token( RE_Slash ); {goto st139;} }}
4126 #line 1092 "rlscan.rl"
4128 if ( lastToken == KW_Export || lastToken == KW_Entry )
4133 inlineBlockType = CurlyDelimited;
4134 if ( hostLang->lang == HostLang::Ruby )
4135 {stack[top++] = 146; goto st52;}
4137 {stack[top++] = 146; goto st95;}
4142 #line 1081 "rlscan.rl"
4143 {te = p;p--;{ updateCol(); }}
4146 #line 1110 "rlscan.rl"
4147 {te = p;p--;{ token( *ts ); }}
4150 #line 999 "rlscan.rl"
4151 {te = p;p--;{ token( TK_Literal, ts, te ); }}
4154 #line 999 "rlscan.rl"
4155 {te = p+1;{ token( TK_Literal, ts, te ); }}
4158 #line 1037 "rlscan.rl"
4159 {te = p+1;{ token( TK_AllGblError ); }}
4162 #line 1021 "rlscan.rl"
4163 {te = p+1;{ token( TK_AllFromState ); }}
4166 #line 1029 "rlscan.rl"
4167 {te = p+1;{ token( TK_AllEOF ); }}
4170 #line 1056 "rlscan.rl"
4171 {te = p+1;{ token( TK_AllCond ); }}
4174 #line 1045 "rlscan.rl"
4175 {te = p+1;{ token( TK_AllLocalError ); }}
4178 #line 1013 "rlscan.rl"
4179 {te = p+1;{ token( TK_AllToState ); }}
4182 #line 1038 "rlscan.rl"
4183 {te = p+1;{ token( TK_FinalGblError ); }}
4186 #line 1022 "rlscan.rl"
4187 {te = p+1;{ token( TK_FinalFromState ); }}
4190 #line 1030 "rlscan.rl"
4191 {te = p+1;{ token( TK_FinalEOF ); }}
4194 #line 1057 "rlscan.rl"
4195 {te = p+1;{ token( TK_LeavingCond ); }}
4198 #line 1046 "rlscan.rl"
4199 {te = p+1;{ token( TK_FinalLocalError ); }}
4202 #line 1014 "rlscan.rl"
4203 {te = p+1;{ token( TK_FinalToState ); }}
4206 #line 1060 "rlscan.rl"
4207 {te = p+1;{ token( TK_StarStar ); }}
4210 #line 1061 "rlscan.rl"
4211 {te = p+1;{ token( TK_DashDash ); }}
4214 #line 1062 "rlscan.rl"
4215 {te = p+1;{ token( TK_Arrow ); }}
4218 #line 1059 "rlscan.rl"
4219 {te = p+1;{ token( TK_DotDot ); }}
4222 #line 994 "rlscan.rl"
4223 {te = p;p--;{ token( TK_UInt, ts, te ); }}
4226 #line 995 "rlscan.rl"
4227 {te = p;p--;{ token( TK_Hex, ts, te ); }}
4230 #line 1073 "rlscan.rl"
4231 {te = p+1;{ token( TK_NameSep, ts, te ); }}
4234 #line 1009 "rlscan.rl"
4235 {te = p+1;{ token( TK_ColonEquals ); }}
4238 #line 1065 "rlscan.rl"
4239 {te = p;p--;{ token( TK_ColonGt ); }}
4242 #line 1066 "rlscan.rl"
4243 {te = p+1;{ token( TK_ColonGtGt ); }}
4246 #line 1039 "rlscan.rl"
4247 {te = p+1;{ token( TK_NotStartGblError ); }}
4250 #line 1023 "rlscan.rl"
4251 {te = p+1;{ token( TK_NotStartFromState ); }}
4254 #line 1031 "rlscan.rl"
4255 {te = p+1;{ token( TK_NotStartEOF ); }}
4258 #line 1067 "rlscan.rl"
4259 {te = p+1;{ token( TK_LtColon ); }}
4262 #line 1047 "rlscan.rl"
4263 {te = p+1;{ token( TK_NotStartLocalError ); }}
4266 #line 1015 "rlscan.rl"
4267 {te = p+1;{ token( TK_NotStartToState ); }}
4270 #line 1052 "rlscan.rl"
4271 {te = p;p--;{ token( TK_Middle ); }}
4274 #line 1041 "rlscan.rl"
4275 {te = p+1;{ token( TK_MiddleGblError ); }}
4278 #line 1025 "rlscan.rl"
4279 {te = p+1;{ token( TK_MiddleFromState ); }}
4282 #line 1033 "rlscan.rl"
4283 {te = p+1;{ token( TK_MiddleEOF ); }}
4286 #line 1049 "rlscan.rl"
4287 {te = p+1;{ token( TK_MiddleLocalError ); }}
4290 #line 1017 "rlscan.rl"
4291 {te = p+1;{ token( TK_MiddleToState ); }}
4294 #line 1063 "rlscan.rl"
4295 {te = p+1;{ token( TK_DoubleArrow ); }}
4298 #line 1036 "rlscan.rl"
4299 {te = p+1;{ token( TK_StartGblError ); }}
4302 #line 1020 "rlscan.rl"
4303 {te = p+1;{ token( TK_StartFromState ); }}
4306 #line 1028 "rlscan.rl"
4307 {te = p+1;{ token( TK_StartEOF ); }}
4310 #line 1055 "rlscan.rl"
4311 {te = p+1;{ token( TK_StartCond ); }}
4314 #line 1044 "rlscan.rl"
4315 {te = p+1;{ token( TK_StartLocalError ); }}
4318 #line 1012 "rlscan.rl"
4319 {te = p+1;{ token( TK_StartToState ); }}
4322 #line 1040 "rlscan.rl"
4323 {te = p+1;{ token( TK_NotFinalGblError ); }}
4326 #line 1024 "rlscan.rl"
4327 {te = p+1;{ token( TK_NotFinalFromState ); }}
4330 #line 1032 "rlscan.rl"
4331 {te = p+1;{ token( TK_NotFinalEOF ); }}
4334 #line 1048 "rlscan.rl"
4335 {te = p+1;{ token( TK_NotFinalLocalError ); }}
4338 #line 1016 "rlscan.rl"
4339 {te = p+1;{ token( TK_NotFinalToState ); }}
4345 {{p = ((te))-1;} token( KW_Machine ); }
4348 {{p = ((te))-1;} token( KW_Include ); }
4351 {{p = ((te))-1;} token( KW_Import ); }
4360 {{p = ((te))-1;} token( KW_Action ); }
4363 {{p = ((te))-1;} token( KW_AlphType ); }
4366 {{p = ((te))-1;} token( KW_PrePush ); }
4369 {{p = ((te))-1;} token( KW_PostPop ); }
4374 inlineBlockType = SemiTerminated;
4375 if ( hostLang->lang == HostLang::Ruby )
4376 {stack[top++] = 146; goto st52;}
4378 {stack[top++] = 146; goto st95;}
4384 inlineBlockType = SemiTerminated;
4385 if ( hostLang->lang == HostLang::Ruby )
4386 {stack[top++] = 146; goto st52;}
4388 {stack[top++] = 146; goto st95;}
4393 token( KW_Variable );
4394 inlineBlockType = SemiTerminated;
4395 if ( hostLang->lang == HostLang::Ruby )
4396 {stack[top++] = 146; goto st52;}
4398 {stack[top++] = 146; goto st95;}
4402 {{p = ((te))-1;} token( KW_When ); }
4405 {{p = ((te))-1;} token( KW_InWhen ); }
4408 {{p = ((te))-1;} token( KW_OutWhen ); }
4411 {{p = ((te))-1;} token( KW_Eof ); }
4414 {{p = ((te))-1;} token( KW_Err ); }
4417 {{p = ((te))-1;} token( KW_Lerr ); }
4420 {{p = ((te))-1;} token( KW_To ); }
4423 {{p = ((te))-1;} token( KW_From ); }
4426 {{p = ((te))-1;} token( KW_Export ); }
4429 {{p = ((te))-1;} token( TK_Word, ts, te ); }
4435 #line 1001 "rlscan.rl"
4436 {te = p;p--;{ token( RE_SqOpen ); {stack[top++] = 146; goto st137;} }}
4439 #line 1002 "rlscan.rl"
4440 {te = p+1;{ token( RE_SqOpenNeg ); {stack[top++] = 146; goto st137;} }}
4443 #line 991 "rlscan.rl"
4444 {te = p;p--;{ token( TK_Word, ts, te ); }}
4447 #line 1070 "rlscan.rl"
4448 {te = p+1;{ token( TK_BarStar ); }}
4458 #line 4459 "rlscan.cpp"
4462 case 10: goto tr280;
4463 case 13: goto st147;
4464 case 32: goto st147;
4465 case 34: goto tr281;
4466 case 35: goto tr282;
4467 case 36: goto st151;
4468 case 37: goto st152;
4469 case 39: goto tr285;
4470 case 42: goto st154;
4471 case 45: goto st155;
4472 case 46: goto st156;
4473 case 47: goto tr289;
4474 case 48: goto tr290;
4475 case 58: goto st160;
4476 case 60: goto st162;
4477 case 61: goto st164;
4478 case 62: goto st165;
4479 case 64: goto st166;
4480 case 91: goto st168;
4481 case 95: goto tr297;
4482 case 97: goto st169;
4483 case 101: goto st183;
4484 case 102: goto st190;
4485 case 103: goto st193;
4486 case 105: goto st198;
4487 case 108: goto st211;
4488 case 109: goto st214;
4489 case 111: goto st220;
4490 case 112: goto st226;
4491 case 116: goto st237;
4492 case 118: goto st238;
4493 case 119: goto st245;
4494 case 123: goto tr311;
4495 case 124: goto st251;
4496 case 125: goto tr313;
4499 if ( 49 <= (*p) && (*p) <= 57 )
4501 } else if ( (*p) > 90 ) {
4502 if ( 98 <= (*p) && (*p) <= 122 )
4513 case 13: goto st147;
4514 case 32: goto st147;
4525 #line 4526 "rlscan.cpp"
4528 case 34: goto st149;
4533 #line 630 "rlscan.rl"
4544 #line 4545 "rlscan.cpp"
4547 case 34: goto st149;
4573 #line 4574 "rlscan.cpp"
4589 case 33: goto tr318;
4590 case 42: goto tr319;
4591 case 47: goto tr320;
4592 case 63: goto tr321;
4593 case 94: goto tr322;
4594 case 126: goto tr323;
4602 case 33: goto tr324;
4603 case 42: goto tr325;
4604 case 47: goto tr326;
4605 case 63: goto tr327;
4606 case 94: goto tr328;
4607 case 126: goto tr329;
4618 #line 4619 "rlscan.cpp"
4621 case 39: goto st149;
4626 #line 630 "rlscan.rl"
4637 #line 4638 "rlscan.cpp"
4640 case 39: goto st149;
4663 case 45: goto tr331;
4664 case 62: goto tr332;
4682 #line 4683 "rlscan.cpp"
4685 if ( 48 <= (*p) && (*p) <= 57 )
4692 if ( 48 <= (*p) && (*p) <= 57 )
4700 if ( 48 <= (*p) && (*p) <= 57 )
4702 } else if ( (*p) > 70 ) {
4703 if ( 97 <= (*p) && (*p) <= 102 )
4713 if ( 48 <= (*p) && (*p) <= 57 )
4715 } else if ( (*p) > 70 ) {
4716 if ( 97 <= (*p) && (*p) <= 102 )
4726 case 58: goto tr337;
4727 case 61: goto tr338;
4728 case 62: goto st161;
4743 case 33: goto tr342;
4744 case 42: goto tr343;
4745 case 47: goto tr344;
4746 case 58: goto tr345;
4747 case 62: goto st163;
4748 case 94: goto tr347;
4749 case 126: goto tr348;
4757 case 33: goto tr350;
4758 case 42: goto tr351;
4759 case 47: goto tr352;
4760 case 94: goto tr353;
4761 case 126: goto tr354;
4776 case 33: goto tr356;
4777 case 42: goto tr357;
4778 case 47: goto tr358;
4779 case 63: goto tr359;
4780 case 94: goto tr360;
4781 case 126: goto tr361;
4789 case 33: goto tr362;
4790 case 42: goto tr363;
4791 case 47: goto tr364;
4792 case 94: goto tr365;
4793 case 126: goto tr366;
4799 #line 991 "rlscan.rl"
4805 #line 964 "rlscan.rl"
4811 #line 948 "rlscan.rl"
4817 #line 949 "rlscan.rl"
4823 #line 983 "rlscan.rl"
4829 #line 984 "rlscan.rl"
4835 #line 988 "rlscan.rl"
4841 #line 987 "rlscan.rl"
4847 #line 956 "rlscan.rl"
4853 #line 943 "rlscan.rl"
4859 #line 942 "rlscan.rl"
4865 #line 981 "rlscan.rl"
4871 #line 985 "rlscan.rl"
4877 #line 941 "rlscan.rl"
4883 #line 982 "rlscan.rl"
4889 #line 951 "rlscan.rl"
4895 #line 950 "rlscan.rl"
4901 #line 986 "rlscan.rl"
4907 #line 972 "rlscan.rl"
4913 #line 980 "rlscan.rl"
4919 #line 944 "rlscan.rl"
4926 #line 4927 "rlscan.cpp"
4930 if ( 48 <= (*p) && (*p) <= 57 )
4932 } else if ( (*p) > 90 ) {
4933 if ( 97 <= (*p) && (*p) <= 122 )
4950 case 95: goto tr297;
4951 case 99: goto st170;
4952 case 108: goto st177;
4955 if ( 48 <= (*p) && (*p) <= 57 )
4957 } else if ( (*p) > 90 ) {
4958 if ( 97 <= (*p) && (*p) <= 122 )
4968 case 95: goto tr297;
4969 case 99: goto st171;
4970 case 116: goto st174;
4973 if ( 48 <= (*p) && (*p) <= 57 )
4975 } else if ( (*p) > 90 ) {
4976 if ( 97 <= (*p) && (*p) <= 122 )
4986 case 95: goto tr297;
4987 case 101: goto st172;
4990 if ( 48 <= (*p) && (*p) <= 57 )
4992 } else if ( (*p) > 90 ) {
4993 if ( 97 <= (*p) && (*p) <= 122 )
5003 case 95: goto tr297;
5004 case 115: goto st173;
5007 if ( 48 <= (*p) && (*p) <= 57 )
5009 } else if ( (*p) > 90 ) {
5010 if ( 97 <= (*p) && (*p) <= 122 )
5020 case 95: goto tr297;
5021 case 115: goto tr377;
5024 if ( 48 <= (*p) && (*p) <= 57 )
5026 } else if ( (*p) > 90 ) {
5027 if ( 97 <= (*p) && (*p) <= 122 )
5037 case 95: goto tr297;
5038 case 105: goto st175;
5041 if ( 48 <= (*p) && (*p) <= 57 )
5043 } else if ( (*p) > 90 ) {
5044 if ( 97 <= (*p) && (*p) <= 122 )
5054 case 95: goto tr297;
5055 case 111: goto st176;
5058 if ( 48 <= (*p) && (*p) <= 57 )
5060 } else if ( (*p) > 90 ) {
5061 if ( 97 <= (*p) && (*p) <= 122 )
5071 case 95: goto tr297;
5072 case 110: goto tr380;
5075 if ( 48 <= (*p) && (*p) <= 57 )
5077 } else if ( (*p) > 90 ) {
5078 if ( 97 <= (*p) && (*p) <= 122 )
5088 case 95: goto tr297;
5089 case 112: goto st178;
5092 if ( 48 <= (*p) && (*p) <= 57 )
5094 } else if ( (*p) > 90 ) {
5095 if ( 97 <= (*p) && (*p) <= 122 )
5105 case 95: goto tr297;
5106 case 104: goto st179;
5109 if ( 48 <= (*p) && (*p) <= 57 )
5111 } else if ( (*p) > 90 ) {
5112 if ( 97 <= (*p) && (*p) <= 122 )
5122 case 95: goto tr297;
5123 case 116: goto st180;
5126 if ( 48 <= (*p) && (*p) <= 57 )
5128 } else if ( (*p) > 90 ) {
5129 if ( 97 <= (*p) && (*p) <= 122 )
5139 case 95: goto tr297;
5140 case 121: goto st181;
5143 if ( 48 <= (*p) && (*p) <= 57 )
5145 } else if ( (*p) > 90 ) {
5146 if ( 97 <= (*p) && (*p) <= 122 )
5156 case 95: goto tr297;
5157 case 112: goto st182;
5160 if ( 48 <= (*p) && (*p) <= 57 )
5162 } else if ( (*p) > 90 ) {
5163 if ( 97 <= (*p) && (*p) <= 122 )
5173 case 95: goto tr297;
5174 case 101: goto tr386;
5177 if ( 48 <= (*p) && (*p) <= 57 )
5179 } else if ( (*p) > 90 ) {
5180 if ( 97 <= (*p) && (*p) <= 122 )
5190 case 95: goto tr297;
5191 case 111: goto st184;
5192 case 114: goto st185;
5193 case 120: goto st186;
5196 if ( 48 <= (*p) && (*p) <= 57 )
5198 } else if ( (*p) > 90 ) {
5199 if ( 97 <= (*p) && (*p) <= 122 )
5209 case 95: goto tr297;
5210 case 102: goto tr390;
5213 if ( 48 <= (*p) && (*p) <= 57 )
5215 } else if ( (*p) > 90 ) {
5216 if ( 97 <= (*p) && (*p) <= 122 )
5226 case 95: goto tr297;
5227 case 114: goto tr391;
5230 if ( 48 <= (*p) && (*p) <= 57 )
5232 } else if ( (*p) > 90 ) {
5233 if ( 97 <= (*p) && (*p) <= 122 )
5243 case 95: goto tr297;
5244 case 112: goto st187;
5247 if ( 48 <= (*p) && (*p) <= 57 )
5249 } else if ( (*p) > 90 ) {
5250 if ( 97 <= (*p) && (*p) <= 122 )
5260 case 95: goto tr297;
5261 case 111: goto st188;
5264 if ( 48 <= (*p) && (*p) <= 57 )
5266 } else if ( (*p) > 90 ) {
5267 if ( 97 <= (*p) && (*p) <= 122 )
5277 case 95: goto tr297;
5278 case 114: goto st189;
5281 if ( 48 <= (*p) && (*p) <= 57 )
5283 } else if ( (*p) > 90 ) {
5284 if ( 97 <= (*p) && (*p) <= 122 )
5294 case 95: goto tr297;
5295 case 116: goto tr395;
5298 if ( 48 <= (*p) && (*p) <= 57 )
5300 } else if ( (*p) > 90 ) {
5301 if ( 97 <= (*p) && (*p) <= 122 )
5311 case 95: goto tr297;
5312 case 114: goto st191;
5315 if ( 48 <= (*p) && (*p) <= 57 )
5317 } else if ( (*p) > 90 ) {
5318 if ( 97 <= (*p) && (*p) <= 122 )
5328 case 95: goto tr297;
5329 case 111: goto st192;
5332 if ( 48 <= (*p) && (*p) <= 57 )
5334 } else if ( (*p) > 90 ) {
5335 if ( 97 <= (*p) && (*p) <= 122 )
5345 case 95: goto tr297;
5346 case 109: goto tr398;
5349 if ( 48 <= (*p) && (*p) <= 57 )
5351 } else if ( (*p) > 90 ) {
5352 if ( 97 <= (*p) && (*p) <= 122 )
5362 case 95: goto tr297;
5363 case 101: goto st194;
5366 if ( 48 <= (*p) && (*p) <= 57 )
5368 } else if ( (*p) > 90 ) {
5369 if ( 97 <= (*p) && (*p) <= 122 )
5379 case 95: goto tr297;
5380 case 116: goto st195;
5383 if ( 48 <= (*p) && (*p) <= 57 )
5385 } else if ( (*p) > 90 ) {
5386 if ( 97 <= (*p) && (*p) <= 122 )
5396 case 95: goto tr297;
5397 case 107: goto st196;
5400 if ( 48 <= (*p) && (*p) <= 57 )
5402 } else if ( (*p) > 90 ) {
5403 if ( 97 <= (*p) && (*p) <= 122 )
5413 case 95: goto tr297;
5414 case 101: goto st197;
5417 if ( 48 <= (*p) && (*p) <= 57 )
5419 } else if ( (*p) > 90 ) {
5420 if ( 97 <= (*p) && (*p) <= 122 )
5430 case 95: goto tr297;
5431 case 121: goto tr403;
5434 if ( 48 <= (*p) && (*p) <= 57 )
5436 } else if ( (*p) > 90 ) {
5437 if ( 97 <= (*p) && (*p) <= 122 )
5447 case 95: goto tr297;
5448 case 109: goto st199;
5449 case 110: goto st203;
5452 if ( 48 <= (*p) && (*p) <= 57 )
5454 } else if ( (*p) > 90 ) {
5455 if ( 97 <= (*p) && (*p) <= 122 )
5465 case 95: goto tr297;
5466 case 112: goto st200;
5469 if ( 48 <= (*p) && (*p) <= 57 )
5471 } else if ( (*p) > 90 ) {
5472 if ( 97 <= (*p) && (*p) <= 122 )
5482 case 95: goto tr297;
5483 case 111: goto st201;
5486 if ( 48 <= (*p) && (*p) <= 57 )
5488 } else if ( (*p) > 90 ) {
5489 if ( 97 <= (*p) && (*p) <= 122 )
5499 case 95: goto tr297;
5500 case 114: goto st202;
5503 if ( 48 <= (*p) && (*p) <= 57 )
5505 } else if ( (*p) > 90 ) {
5506 if ( 97 <= (*p) && (*p) <= 122 )
5516 case 95: goto tr297;
5517 case 116: goto tr409;
5520 if ( 48 <= (*p) && (*p) <= 57 )
5522 } else if ( (*p) > 90 ) {
5523 if ( 97 <= (*p) && (*p) <= 122 )
5533 case 95: goto tr297;
5534 case 99: goto st204;
5535 case 119: goto st208;
5538 if ( 48 <= (*p) && (*p) <= 57 )
5540 } else if ( (*p) > 90 ) {
5541 if ( 97 <= (*p) && (*p) <= 122 )
5551 case 95: goto tr297;
5552 case 108: goto st205;
5555 if ( 48 <= (*p) && (*p) <= 57 )
5557 } else if ( (*p) > 90 ) {
5558 if ( 97 <= (*p) && (*p) <= 122 )
5568 case 95: goto tr297;
5569 case 117: goto st206;
5572 if ( 48 <= (*p) && (*p) <= 57 )
5574 } else if ( (*p) > 90 ) {
5575 if ( 97 <= (*p) && (*p) <= 122 )
5585 case 95: goto tr297;
5586 case 100: goto st207;
5589 if ( 48 <= (*p) && (*p) <= 57 )
5591 } else if ( (*p) > 90 ) {
5592 if ( 97 <= (*p) && (*p) <= 122 )
5602 case 95: goto tr297;
5603 case 101: goto tr415;
5606 if ( 48 <= (*p) && (*p) <= 57 )
5608 } else if ( (*p) > 90 ) {
5609 if ( 97 <= (*p) && (*p) <= 122 )
5619 case 95: goto tr297;
5620 case 104: goto st209;
5623 if ( 48 <= (*p) && (*p) <= 57 )
5625 } else if ( (*p) > 90 ) {
5626 if ( 97 <= (*p) && (*p) <= 122 )
5636 case 95: goto tr297;
5637 case 101: goto st210;
5640 if ( 48 <= (*p) && (*p) <= 57 )
5642 } else if ( (*p) > 90 ) {
5643 if ( 97 <= (*p) && (*p) <= 122 )
5653 case 95: goto tr297;
5654 case 110: goto tr418;
5657 if ( 48 <= (*p) && (*p) <= 57 )
5659 } else if ( (*p) > 90 ) {
5660 if ( 97 <= (*p) && (*p) <= 122 )
5670 case 95: goto tr297;
5671 case 101: goto st212;
5674 if ( 48 <= (*p) && (*p) <= 57 )
5676 } else if ( (*p) > 90 ) {
5677 if ( 97 <= (*p) && (*p) <= 122 )
5687 case 95: goto tr297;
5688 case 114: goto st213;
5691 if ( 48 <= (*p) && (*p) <= 57 )
5693 } else if ( (*p) > 90 ) {
5694 if ( 97 <= (*p) && (*p) <= 122 )
5704 case 95: goto tr297;
5705 case 114: goto tr421;
5708 if ( 48 <= (*p) && (*p) <= 57 )
5710 } else if ( (*p) > 90 ) {
5711 if ( 97 <= (*p) && (*p) <= 122 )
5721 case 95: goto tr297;
5722 case 97: goto st215;
5725 if ( 48 <= (*p) && (*p) <= 57 )
5727 } else if ( (*p) > 90 ) {
5728 if ( 98 <= (*p) && (*p) <= 122 )
5738 case 95: goto tr297;
5739 case 99: goto st216;
5742 if ( 48 <= (*p) && (*p) <= 57 )
5744 } else if ( (*p) > 90 ) {
5745 if ( 97 <= (*p) && (*p) <= 122 )
5755 case 95: goto tr297;
5756 case 104: goto st217;
5759 if ( 48 <= (*p) && (*p) <= 57 )
5761 } else if ( (*p) > 90 ) {
5762 if ( 97 <= (*p) && (*p) <= 122 )
5772 case 95: goto tr297;
5773 case 105: goto st218;
5776 if ( 48 <= (*p) && (*p) <= 57 )
5778 } else if ( (*p) > 90 ) {
5779 if ( 97 <= (*p) && (*p) <= 122 )
5789 case 95: goto tr297;
5790 case 110: goto st219;
5793 if ( 48 <= (*p) && (*p) <= 57 )
5795 } else if ( (*p) > 90 ) {
5796 if ( 97 <= (*p) && (*p) <= 122 )
5806 case 95: goto tr297;
5807 case 101: goto tr427;
5810 if ( 48 <= (*p) && (*p) <= 57 )
5812 } else if ( (*p) > 90 ) {
5813 if ( 97 <= (*p) && (*p) <= 122 )
5823 case 95: goto tr297;
5824 case 117: goto st221;
5827 if ( 48 <= (*p) && (*p) <= 57 )
5829 } else if ( (*p) > 90 ) {
5830 if ( 97 <= (*p) && (*p) <= 122 )
5840 case 95: goto tr297;
5841 case 116: goto st222;
5844 if ( 48 <= (*p) && (*p) <= 57 )
5846 } else if ( (*p) > 90 ) {
5847 if ( 97 <= (*p) && (*p) <= 122 )
5857 case 95: goto tr297;
5858 case 119: goto st223;
5861 if ( 48 <= (*p) && (*p) <= 57 )
5863 } else if ( (*p) > 90 ) {
5864 if ( 97 <= (*p) && (*p) <= 122 )
5874 case 95: goto tr297;
5875 case 104: goto st224;
5878 if ( 48 <= (*p) && (*p) <= 57 )
5880 } else if ( (*p) > 90 ) {
5881 if ( 97 <= (*p) && (*p) <= 122 )
5891 case 95: goto tr297;
5892 case 101: goto st225;
5895 if ( 48 <= (*p) && (*p) <= 57 )
5897 } else if ( (*p) > 90 ) {
5898 if ( 97 <= (*p) && (*p) <= 122 )
5908 case 95: goto tr297;
5909 case 110: goto tr433;
5912 if ( 48 <= (*p) && (*p) <= 57 )
5914 } else if ( (*p) > 90 ) {
5915 if ( 97 <= (*p) && (*p) <= 122 )
5925 case 95: goto tr297;
5926 case 111: goto st227;
5927 case 114: goto st232;
5930 if ( 48 <= (*p) && (*p) <= 57 )
5932 } else if ( (*p) > 90 ) {
5933 if ( 97 <= (*p) && (*p) <= 122 )
5943 case 95: goto tr297;
5944 case 115: goto st228;
5947 if ( 48 <= (*p) && (*p) <= 57 )
5949 } else if ( (*p) > 90 ) {
5950 if ( 97 <= (*p) && (*p) <= 122 )
5960 case 95: goto tr297;
5961 case 116: goto st229;
5964 if ( 48 <= (*p) && (*p) <= 57 )
5966 } else if ( (*p) > 90 ) {
5967 if ( 97 <= (*p) && (*p) <= 122 )
5977 case 95: goto tr297;
5978 case 112: goto st230;
5981 if ( 48 <= (*p) && (*p) <= 57 )
5983 } else if ( (*p) > 90 ) {
5984 if ( 97 <= (*p) && (*p) <= 122 )
5994 case 95: goto tr297;
5995 case 111: goto st231;
5998 if ( 48 <= (*p) && (*p) <= 57 )
6000 } else if ( (*p) > 90 ) {
6001 if ( 97 <= (*p) && (*p) <= 122 )
6011 case 95: goto tr297;
6012 case 112: goto tr440;
6015 if ( 48 <= (*p) && (*p) <= 57 )
6017 } else if ( (*p) > 90 ) {
6018 if ( 97 <= (*p) && (*p) <= 122 )
6028 case 95: goto tr297;
6029 case 101: goto st233;
6032 if ( 48 <= (*p) && (*p) <= 57 )
6034 } else if ( (*p) > 90 ) {
6035 if ( 97 <= (*p) && (*p) <= 122 )
6045 case 95: goto tr297;
6046 case 112: goto st234;
6049 if ( 48 <= (*p) && (*p) <= 57 )
6051 } else if ( (*p) > 90 ) {
6052 if ( 97 <= (*p) && (*p) <= 122 )
6062 case 95: goto tr297;
6063 case 117: goto st235;
6066 if ( 48 <= (*p) && (*p) <= 57 )
6068 } else if ( (*p) > 90 ) {
6069 if ( 97 <= (*p) && (*p) <= 122 )
6079 case 95: goto tr297;
6080 case 115: goto st236;
6083 if ( 48 <= (*p) && (*p) <= 57 )
6085 } else if ( (*p) > 90 ) {
6086 if ( 97 <= (*p) && (*p) <= 122 )
6096 case 95: goto tr297;
6097 case 104: goto tr445;
6100 if ( 48 <= (*p) && (*p) <= 57 )
6102 } else if ( (*p) > 90 ) {
6103 if ( 97 <= (*p) && (*p) <= 122 )
6113 case 95: goto tr297;
6114 case 111: goto tr446;
6117 if ( 48 <= (*p) && (*p) <= 57 )
6119 } else if ( (*p) > 90 ) {
6120 if ( 97 <= (*p) && (*p) <= 122 )
6130 case 95: goto tr297;
6131 case 97: goto st239;
6134 if ( 48 <= (*p) && (*p) <= 57 )
6136 } else if ( (*p) > 90 ) {
6137 if ( 98 <= (*p) && (*p) <= 122 )
6147 case 95: goto tr297;
6148 case 114: goto st240;
6151 if ( 48 <= (*p) && (*p) <= 57 )
6153 } else if ( (*p) > 90 ) {
6154 if ( 97 <= (*p) && (*p) <= 122 )
6164 case 95: goto tr297;
6165 case 105: goto st241;
6168 if ( 48 <= (*p) && (*p) <= 57 )
6170 } else if ( (*p) > 90 ) {
6171 if ( 97 <= (*p) && (*p) <= 122 )
6181 case 95: goto tr297;
6182 case 97: goto st242;
6185 if ( 48 <= (*p) && (*p) <= 57 )
6187 } else if ( (*p) > 90 ) {
6188 if ( 98 <= (*p) && (*p) <= 122 )
6198 case 95: goto tr297;
6199 case 98: goto st243;
6202 if ( 48 <= (*p) && (*p) <= 57 )
6204 } else if ( (*p) > 90 ) {
6205 if ( 97 <= (*p) && (*p) <= 122 )
6215 case 95: goto tr297;
6216 case 108: goto st244;
6219 if ( 48 <= (*p) && (*p) <= 57 )
6221 } else if ( (*p) > 90 ) {
6222 if ( 97 <= (*p) && (*p) <= 122 )
6232 case 95: goto tr297;
6233 case 101: goto tr453;
6236 if ( 48 <= (*p) && (*p) <= 57 )
6238 } else if ( (*p) > 90 ) {
6239 if ( 97 <= (*p) && (*p) <= 122 )
6249 case 95: goto tr297;
6250 case 104: goto st246;
6251 case 114: goto st248;
6254 if ( 48 <= (*p) && (*p) <= 57 )
6256 } else if ( (*p) > 90 ) {
6257 if ( 97 <= (*p) && (*p) <= 122 )
6267 case 95: goto tr297;
6268 case 101: goto st247;
6271 if ( 48 <= (*p) && (*p) <= 57 )
6273 } else if ( (*p) > 90 ) {
6274 if ( 97 <= (*p) && (*p) <= 122 )
6284 case 95: goto tr297;
6285 case 110: goto tr457;
6288 if ( 48 <= (*p) && (*p) <= 57 )
6290 } else if ( (*p) > 90 ) {
6291 if ( 97 <= (*p) && (*p) <= 122 )
6301 case 95: goto tr297;
6302 case 105: goto st249;
6305 if ( 48 <= (*p) && (*p) <= 57 )
6307 } else if ( (*p) > 90 ) {
6308 if ( 97 <= (*p) && (*p) <= 122 )
6318 case 95: goto tr297;
6319 case 116: goto st250;
6322 if ( 48 <= (*p) && (*p) <= 57 )
6324 } else if ( (*p) > 90 ) {
6325 if ( 97 <= (*p) && (*p) <= 122 )
6335 case 95: goto tr297;
6336 case 101: goto tr460;
6339 if ( 48 <= (*p) && (*p) <= 57 )
6341 } else if ( (*p) > 90 ) {
6342 if ( 97 <= (*p) && (*p) <= 122 )
6362 #line 6363 "rlscan.cpp"
6374 #line 1135 "rlscan.rl"
6375 {{p = ((te))-1;}{ pass( *ts, 0, 0 ); }}
6378 #line 1119 "rlscan.rl"
6379 {te = p+1;{ pass( IMP_Literal, ts, te ); }}
6382 #line 630 "rlscan.rl"
6388 #line 1117 "rlscan.rl"
6389 {te = p+1;{ pass(); }}
6392 #line 1135 "rlscan.rl"
6393 {te = p+1;{ pass( *ts, 0, 0 ); }}
6396 #line 1134 "rlscan.rl"
6400 #line 1133 "rlscan.rl"
6401 {te = p;p--;{ pass(); }}
6404 #line 1135 "rlscan.rl"
6405 {te = p;p--;{ pass( *ts, 0, 0 ); }}
6408 #line 1127 "rlscan.rl"
6411 singleLineSpec = true;
6413 {stack[top++] = 253; goto st146;}
6417 #line 1121 "rlscan.rl"
6420 singleLineSpec = false;
6422 {stack[top++] = 253; goto st146;}
6426 #line 1116 "rlscan.rl"
6427 {te = p;p--;{ pass( IMP_UInt, ts, te ); }}
6430 #line 1115 "rlscan.rl"
6431 {te = p;p--;{ pass( IMP_Word, ts, te ); }}
6441 #line 6442 "rlscan.cpp"
6445 case 10: goto tr466;
6446 case 32: goto st254;
6447 case 34: goto tr467;
6448 case 35: goto tr468;
6449 case 37: goto st257;
6450 case 39: goto tr470;
6451 case 47: goto tr471;
6452 case 95: goto st262;
6455 if ( 48 <= (*p) && (*p) <= 57 )
6457 } else if ( (*p) > 90 ) {
6458 if ( 97 <= (*p) && (*p) <= 122 )
6464 #line 630 "rlscan.rl"
6475 #line 6476 "rlscan.cpp"
6478 case 10: goto tr466;
6479 case 32: goto st254;
6490 #line 6491 "rlscan.cpp"
6498 #line 630 "rlscan.rl"
6509 #line 6510 "rlscan.cpp"
6531 #line 6532 "rlscan.cpp"
6564 #line 6565 "rlscan.cpp"
6572 #line 630 "rlscan.rl"
6583 #line 6584 "rlscan.cpp"
6605 #line 6606 "rlscan.cpp"
6613 #line 630 "rlscan.rl"
6624 #line 6625 "rlscan.cpp"
6642 if ( 48 <= (*p) && (*p) <= 57 )
6652 if ( 48 <= (*p) && (*p) <= 57 )
6654 } else if ( (*p) > 90 ) {
6655 if ( 97 <= (*p) && (*p) <= 122 )
6661 _test_eof38: cs = 38; goto _test_eof;
6662 _test_eof39: cs = 39; goto _test_eof;
6663 _test_eof40: cs = 40; goto _test_eof;
6664 _test_eof1: cs = 1; goto _test_eof;
6665 _test_eof2: cs = 2; goto _test_eof;
6666 _test_eof41: cs = 41; goto _test_eof;
6667 _test_eof42: cs = 42; goto _test_eof;
6668 _test_eof43: cs = 43; goto _test_eof;
6669 _test_eof3: cs = 3; goto _test_eof;
6670 _test_eof4: cs = 4; goto _test_eof;
6671 _test_eof44: cs = 44; goto _test_eof;
6672 _test_eof5: cs = 5; goto _test_eof;
6673 _test_eof6: cs = 6; goto _test_eof;
6674 _test_eof7: cs = 7; goto _test_eof;
6675 _test_eof45: cs = 45; goto _test_eof;
6676 _test_eof46: cs = 46; goto _test_eof;
6677 _test_eof47: cs = 47; goto _test_eof;
6678 _test_eof48: cs = 48; goto _test_eof;
6679 _test_eof49: cs = 49; goto _test_eof;
6680 _test_eof50: cs = 50; goto _test_eof;
6681 _test_eof51: cs = 51; goto _test_eof;
6682 _test_eof52: cs = 52; goto _test_eof;
6683 _test_eof53: cs = 53; goto _test_eof;
6684 _test_eof54: cs = 54; goto _test_eof;
6685 _test_eof8: cs = 8; goto _test_eof;
6686 _test_eof9: cs = 9; goto _test_eof;
6687 _test_eof55: cs = 55; goto _test_eof;
6688 _test_eof10: cs = 10; goto _test_eof;
6689 _test_eof56: cs = 56; goto _test_eof;
6690 _test_eof11: cs = 11; goto _test_eof;
6691 _test_eof12: cs = 12; goto _test_eof;
6692 _test_eof57: cs = 57; goto _test_eof;
6693 _test_eof13: cs = 13; goto _test_eof;
6694 _test_eof14: cs = 14; goto _test_eof;
6695 _test_eof58: cs = 58; goto _test_eof;
6696 _test_eof59: cs = 59; goto _test_eof;
6697 _test_eof15: cs = 15; goto _test_eof;
6698 _test_eof60: cs = 60; goto _test_eof;
6699 _test_eof61: cs = 61; goto _test_eof;
6700 _test_eof62: cs = 62; goto _test_eof;
6701 _test_eof63: cs = 63; goto _test_eof;
6702 _test_eof64: cs = 64; goto _test_eof;
6703 _test_eof65: cs = 65; goto _test_eof;
6704 _test_eof66: cs = 66; goto _test_eof;
6705 _test_eof67: cs = 67; goto _test_eof;
6706 _test_eof68: cs = 68; goto _test_eof;
6707 _test_eof69: cs = 69; goto _test_eof;
6708 _test_eof70: cs = 70; goto _test_eof;
6709 _test_eof71: cs = 71; goto _test_eof;
6710 _test_eof72: cs = 72; goto _test_eof;
6711 _test_eof73: cs = 73; goto _test_eof;
6712 _test_eof74: cs = 74; goto _test_eof;
6713 _test_eof75: cs = 75; goto _test_eof;
6714 _test_eof76: cs = 76; goto _test_eof;
6715 _test_eof77: cs = 77; goto _test_eof;
6716 _test_eof78: cs = 78; goto _test_eof;
6717 _test_eof79: cs = 79; goto _test_eof;
6718 _test_eof80: cs = 80; goto _test_eof;
6719 _test_eof81: cs = 81; goto _test_eof;
6720 _test_eof82: cs = 82; goto _test_eof;
6721 _test_eof83: cs = 83; goto _test_eof;
6722 _test_eof84: cs = 84; goto _test_eof;
6723 _test_eof85: cs = 85; goto _test_eof;
6724 _test_eof86: cs = 86; goto _test_eof;
6725 _test_eof87: cs = 87; goto _test_eof;
6726 _test_eof88: cs = 88; goto _test_eof;
6727 _test_eof89: cs = 89; goto _test_eof;
6728 _test_eof90: cs = 90; goto _test_eof;
6729 _test_eof91: cs = 91; goto _test_eof;
6730 _test_eof92: cs = 92; goto _test_eof;
6731 _test_eof93: cs = 93; goto _test_eof;
6732 _test_eof94: cs = 94; goto _test_eof;
6733 _test_eof95: cs = 95; goto _test_eof;
6734 _test_eof96: cs = 96; goto _test_eof;
6735 _test_eof97: cs = 97; goto _test_eof;
6736 _test_eof16: cs = 16; goto _test_eof;
6737 _test_eof17: cs = 17; goto _test_eof;
6738 _test_eof98: cs = 98; goto _test_eof;
6739 _test_eof18: cs = 18; goto _test_eof;
6740 _test_eof19: cs = 19; goto _test_eof;
6741 _test_eof99: cs = 99; goto _test_eof;
6742 _test_eof20: cs = 20; goto _test_eof;
6743 _test_eof21: cs = 21; goto _test_eof;
6744 _test_eof22: cs = 22; goto _test_eof;
6745 _test_eof100: cs = 100; goto _test_eof;
6746 _test_eof101: cs = 101; goto _test_eof;
6747 _test_eof23: cs = 23; goto _test_eof;
6748 _test_eof102: cs = 102; goto _test_eof;
6749 _test_eof103: cs = 103; goto _test_eof;
6750 _test_eof104: cs = 104; goto _test_eof;
6751 _test_eof105: cs = 105; goto _test_eof;
6752 _test_eof106: cs = 106; goto _test_eof;
6753 _test_eof107: cs = 107; goto _test_eof;
6754 _test_eof108: cs = 108; goto _test_eof;
6755 _test_eof109: cs = 109; goto _test_eof;
6756 _test_eof110: cs = 110; goto _test_eof;
6757 _test_eof111: cs = 111; goto _test_eof;
6758 _test_eof112: cs = 112; goto _test_eof;
6759 _test_eof113: cs = 113; goto _test_eof;
6760 _test_eof114: cs = 114; goto _test_eof;
6761 _test_eof115: cs = 115; goto _test_eof;
6762 _test_eof116: cs = 116; goto _test_eof;
6763 _test_eof117: cs = 117; goto _test_eof;
6764 _test_eof118: cs = 118; goto _test_eof;
6765 _test_eof119: cs = 119; goto _test_eof;
6766 _test_eof120: cs = 120; goto _test_eof;
6767 _test_eof121: cs = 121; goto _test_eof;
6768 _test_eof122: cs = 122; goto _test_eof;
6769 _test_eof123: cs = 123; goto _test_eof;
6770 _test_eof124: cs = 124; goto _test_eof;
6771 _test_eof125: cs = 125; goto _test_eof;
6772 _test_eof126: cs = 126; goto _test_eof;
6773 _test_eof127: cs = 127; goto _test_eof;
6774 _test_eof128: cs = 128; goto _test_eof;
6775 _test_eof129: cs = 129; goto _test_eof;
6776 _test_eof130: cs = 130; goto _test_eof;
6777 _test_eof131: cs = 131; goto _test_eof;
6778 _test_eof132: cs = 132; goto _test_eof;
6779 _test_eof133: cs = 133; goto _test_eof;
6780 _test_eof134: cs = 134; goto _test_eof;
6781 _test_eof135: cs = 135; goto _test_eof;
6782 _test_eof136: cs = 136; goto _test_eof;
6783 _test_eof137: cs = 137; goto _test_eof;
6784 _test_eof138: cs = 138; goto _test_eof;
6785 _test_eof139: cs = 139; goto _test_eof;
6786 _test_eof140: cs = 140; goto _test_eof;
6787 _test_eof141: cs = 141; goto _test_eof;
6788 _test_eof142: cs = 142; goto _test_eof;
6789 _test_eof143: cs = 143; goto _test_eof;
6790 _test_eof144: cs = 144; goto _test_eof;
6791 _test_eof145: cs = 145; goto _test_eof;
6792 _test_eof146: cs = 146; goto _test_eof;
6793 _test_eof147: cs = 147; goto _test_eof;
6794 _test_eof148: cs = 148; goto _test_eof;
6795 _test_eof24: cs = 24; goto _test_eof;
6796 _test_eof149: cs = 149; goto _test_eof;
6797 _test_eof25: cs = 25; goto _test_eof;
6798 _test_eof150: cs = 150; goto _test_eof;
6799 _test_eof26: cs = 26; goto _test_eof;
6800 _test_eof151: cs = 151; goto _test_eof;
6801 _test_eof152: cs = 152; goto _test_eof;
6802 _test_eof153: cs = 153; goto _test_eof;
6803 _test_eof27: cs = 27; goto _test_eof;
6804 _test_eof28: cs = 28; goto _test_eof;
6805 _test_eof154: cs = 154; goto _test_eof;
6806 _test_eof155: cs = 155; goto _test_eof;
6807 _test_eof156: cs = 156; goto _test_eof;
6808 _test_eof157: cs = 157; goto _test_eof;
6809 _test_eof158: cs = 158; goto _test_eof;
6810 _test_eof29: cs = 29; goto _test_eof;
6811 _test_eof159: cs = 159; goto _test_eof;
6812 _test_eof160: cs = 160; goto _test_eof;
6813 _test_eof161: cs = 161; goto _test_eof;
6814 _test_eof162: cs = 162; goto _test_eof;
6815 _test_eof163: cs = 163; goto _test_eof;
6816 _test_eof164: cs = 164; goto _test_eof;
6817 _test_eof165: cs = 165; goto _test_eof;
6818 _test_eof166: cs = 166; goto _test_eof;
6819 _test_eof167: cs = 167; goto _test_eof;
6820 _test_eof168: cs = 168; goto _test_eof;
6821 _test_eof169: cs = 169; goto _test_eof;
6822 _test_eof170: cs = 170; goto _test_eof;
6823 _test_eof171: cs = 171; goto _test_eof;
6824 _test_eof172: cs = 172; goto _test_eof;
6825 _test_eof173: cs = 173; goto _test_eof;
6826 _test_eof174: cs = 174; goto _test_eof;
6827 _test_eof175: cs = 175; goto _test_eof;
6828 _test_eof176: cs = 176; goto _test_eof;
6829 _test_eof177: cs = 177; goto _test_eof;
6830 _test_eof178: cs = 178; goto _test_eof;
6831 _test_eof179: cs = 179; goto _test_eof;
6832 _test_eof180: cs = 180; goto _test_eof;
6833 _test_eof181: cs = 181; goto _test_eof;
6834 _test_eof182: cs = 182; goto _test_eof;
6835 _test_eof183: cs = 183; goto _test_eof;
6836 _test_eof184: cs = 184; goto _test_eof;
6837 _test_eof185: cs = 185; goto _test_eof;
6838 _test_eof186: cs = 186; goto _test_eof;
6839 _test_eof187: cs = 187; goto _test_eof;
6840 _test_eof188: cs = 188; goto _test_eof;
6841 _test_eof189: cs = 189; goto _test_eof;
6842 _test_eof190: cs = 190; goto _test_eof;
6843 _test_eof191: cs = 191; goto _test_eof;
6844 _test_eof192: cs = 192; goto _test_eof;
6845 _test_eof193: cs = 193; goto _test_eof;
6846 _test_eof194: cs = 194; goto _test_eof;
6847 _test_eof195: cs = 195; goto _test_eof;
6848 _test_eof196: cs = 196; goto _test_eof;
6849 _test_eof197: cs = 197; goto _test_eof;
6850 _test_eof198: cs = 198; goto _test_eof;
6851 _test_eof199: cs = 199; goto _test_eof;
6852 _test_eof200: cs = 200; goto _test_eof;
6853 _test_eof201: cs = 201; goto _test_eof;
6854 _test_eof202: cs = 202; goto _test_eof;
6855 _test_eof203: cs = 203; goto _test_eof;
6856 _test_eof204: cs = 204; goto _test_eof;
6857 _test_eof205: cs = 205; goto _test_eof;
6858 _test_eof206: cs = 206; goto _test_eof;
6859 _test_eof207: cs = 207; goto _test_eof;
6860 _test_eof208: cs = 208; goto _test_eof;
6861 _test_eof209: cs = 209; goto _test_eof;
6862 _test_eof210: cs = 210; goto _test_eof;
6863 _test_eof211: cs = 211; goto _test_eof;
6864 _test_eof212: cs = 212; goto _test_eof;
6865 _test_eof213: cs = 213; goto _test_eof;
6866 _test_eof214: cs = 214; goto _test_eof;
6867 _test_eof215: cs = 215; goto _test_eof;
6868 _test_eof216: cs = 216; goto _test_eof;
6869 _test_eof217: cs = 217; goto _test_eof;
6870 _test_eof218: cs = 218; goto _test_eof;
6871 _test_eof219: cs = 219; goto _test_eof;
6872 _test_eof220: cs = 220; goto _test_eof;
6873 _test_eof221: cs = 221; goto _test_eof;
6874 _test_eof222: cs = 222; goto _test_eof;
6875 _test_eof223: cs = 223; goto _test_eof;
6876 _test_eof224: cs = 224; goto _test_eof;
6877 _test_eof225: cs = 225; goto _test_eof;
6878 _test_eof226: cs = 226; goto _test_eof;
6879 _test_eof227: cs = 227; goto _test_eof;
6880 _test_eof228: cs = 228; goto _test_eof;
6881 _test_eof229: cs = 229; goto _test_eof;
6882 _test_eof230: cs = 230; goto _test_eof;
6883 _test_eof231: cs = 231; goto _test_eof;
6884 _test_eof232: cs = 232; goto _test_eof;
6885 _test_eof233: cs = 233; goto _test_eof;
6886 _test_eof234: cs = 234; goto _test_eof;
6887 _test_eof235: cs = 235; goto _test_eof;
6888 _test_eof236: cs = 236; goto _test_eof;
6889 _test_eof237: cs = 237; goto _test_eof;
6890 _test_eof238: cs = 238; goto _test_eof;
6891 _test_eof239: cs = 239; goto _test_eof;
6892 _test_eof240: cs = 240; goto _test_eof;
6893 _test_eof241: cs = 241; goto _test_eof;
6894 _test_eof242: cs = 242; goto _test_eof;
6895 _test_eof243: cs = 243; goto _test_eof;
6896 _test_eof244: cs = 244; goto _test_eof;
6897 _test_eof245: cs = 245; goto _test_eof;
6898 _test_eof246: cs = 246; goto _test_eof;
6899 _test_eof247: cs = 247; goto _test_eof;
6900 _test_eof248: cs = 248; goto _test_eof;
6901 _test_eof249: cs = 249; goto _test_eof;
6902 _test_eof250: cs = 250; goto _test_eof;
6903 _test_eof251: cs = 251; goto _test_eof;
6904 _test_eof252: cs = 252; goto _test_eof;
6905 _test_eof30: cs = 30; goto _test_eof;
6906 _test_eof253: cs = 253; goto _test_eof;
6907 _test_eof254: cs = 254; goto _test_eof;
6908 _test_eof255: cs = 255; goto _test_eof;
6909 _test_eof31: cs = 31; goto _test_eof;
6910 _test_eof32: cs = 32; goto _test_eof;
6911 _test_eof256: cs = 256; goto _test_eof;
6912 _test_eof33: cs = 33; goto _test_eof;
6913 _test_eof257: cs = 257; goto _test_eof;
6914 _test_eof258: cs = 258; goto _test_eof;
6915 _test_eof259: cs = 259; goto _test_eof;
6916 _test_eof34: cs = 34; goto _test_eof;
6917 _test_eof35: cs = 35; goto _test_eof;
6918 _test_eof260: cs = 260; goto _test_eof;
6919 _test_eof36: cs = 36; goto _test_eof;
6920 _test_eof37: cs = 37; goto _test_eof;
6921 _test_eof261: cs = 261; goto _test_eof;
6922 _test_eof262: cs = 262; goto _test_eof;
6948 case 53: goto tr113;
6949 case 54: goto tr114;
6952 case 55: goto tr114;
6954 case 56: goto tr114;
6957 case 57: goto tr114;
6960 case 58: goto tr115;
6961 case 59: goto tr115;
6963 case 60: goto tr117;
6964 case 61: goto tr114;
6965 case 62: goto tr119;
6966 case 63: goto tr120;
6967 case 64: goto tr120;
6968 case 65: goto tr120;
6969 case 66: goto tr120;
6970 case 67: goto tr120;
6971 case 68: goto tr134;
6972 case 69: goto tr120;
6973 case 70: goto tr120;
6974 case 71: goto tr120;
6975 case 72: goto tr120;
6976 case 73: goto tr120;
6977 case 74: goto tr120;
6978 case 75: goto tr120;
6979 case 76: goto tr120;
6980 case 77: goto tr120;
6981 case 78: goto tr120;
6982 case 79: goto tr120;
6983 case 80: goto tr120;
6984 case 81: goto tr120;
6985 case 82: goto tr120;
6986 case 83: goto tr120;
6987 case 84: goto tr120;
6988 case 85: goto tr120;
6989 case 86: goto tr120;
6990 case 87: goto tr120;
6991 case 88: goto tr120;
6992 case 89: goto tr120;
6993 case 90: goto tr120;
6994 case 91: goto tr120;
6995 case 92: goto tr120;
6996 case 93: goto tr120;
6997 case 94: goto tr120;
6998 case 96: goto tr181;
6999 case 97: goto tr182;
7002 case 98: goto tr182;
7005 case 99: goto tr182;
7009 case 100: goto tr183;
7010 case 101: goto tr183;
7012 case 102: goto tr185;
7013 case 103: goto tr182;
7014 case 104: goto tr187;
7015 case 105: goto tr188;
7016 case 106: goto tr188;
7017 case 107: goto tr188;
7018 case 108: goto tr188;
7019 case 109: goto tr188;
7020 case 110: goto tr202;
7021 case 111: goto tr188;
7022 case 112: goto tr188;
7023 case 113: goto tr188;
7024 case 114: goto tr188;
7025 case 115: goto tr188;
7026 case 116: goto tr188;
7027 case 117: goto tr188;
7028 case 118: goto tr188;
7029 case 119: goto tr188;
7030 case 120: goto tr188;
7031 case 121: goto tr188;
7032 case 122: goto tr188;
7033 case 123: goto tr188;
7034 case 124: goto tr188;
7035 case 125: goto tr188;
7036 case 126: goto tr188;
7037 case 127: goto tr188;
7038 case 128: goto tr188;
7039 case 129: goto tr188;
7040 case 130: goto tr188;
7041 case 131: goto tr188;
7042 case 132: goto tr188;
7043 case 133: goto tr188;
7044 case 134: goto tr188;
7045 case 135: goto tr188;
7046 case 136: goto tr188;
7047 case 138: goto tr237;
7048 case 140: goto tr255;
7049 case 141: goto tr257;
7050 case 142: goto tr259;
7051 case 144: goto tr275;
7052 case 145: goto tr276;
7053 case 147: goto tr314;
7054 case 148: goto tr315;
7056 case 149: goto tr316;
7058 case 150: goto tr315;
7060 case 151: goto tr315;
7061 case 152: goto tr315;
7062 case 153: goto tr315;
7065 case 154: goto tr315;
7066 case 155: goto tr315;
7067 case 156: goto tr315;
7068 case 157: goto tr334;
7069 case 158: goto tr334;
7071 case 159: goto tr336;
7072 case 160: goto tr315;
7073 case 161: goto tr340;
7074 case 162: goto tr315;
7075 case 163: goto tr349;
7076 case 164: goto tr315;
7077 case 165: goto tr315;
7078 case 166: goto tr315;
7079 case 167: goto tr367;
7080 case 168: goto tr368;
7081 case 169: goto tr370;
7082 case 170: goto tr370;
7083 case 171: goto tr370;
7084 case 172: goto tr370;
7085 case 173: goto tr370;
7086 case 174: goto tr370;
7087 case 175: goto tr370;
7088 case 176: goto tr370;
7089 case 177: goto tr370;
7090 case 178: goto tr370;
7091 case 179: goto tr370;
7092 case 180: goto tr370;
7093 case 181: goto tr370;
7094 case 182: goto tr370;
7095 case 183: goto tr370;
7096 case 184: goto tr370;
7097 case 185: goto tr370;
7098 case 186: goto tr370;
7099 case 187: goto tr370;
7100 case 188: goto tr370;
7101 case 189: goto tr370;
7102 case 190: goto tr370;
7103 case 191: goto tr370;
7104 case 192: goto tr370;
7105 case 193: goto tr370;
7106 case 194: goto tr370;
7107 case 195: goto tr370;
7108 case 196: goto tr370;
7109 case 197: goto tr370;
7110 case 198: goto tr370;
7111 case 199: goto tr370;
7112 case 200: goto tr370;
7113 case 201: goto tr370;
7114 case 202: goto tr370;
7115 case 203: goto tr370;
7116 case 204: goto tr370;
7117 case 205: goto tr370;
7118 case 206: goto tr370;
7119 case 207: goto tr370;
7120 case 208: goto tr370;
7121 case 209: goto tr370;
7122 case 210: goto tr370;
7123 case 211: goto tr370;
7124 case 212: goto tr370;
7125 case 213: goto tr370;
7126 case 214: goto tr370;
7127 case 215: goto tr370;
7128 case 216: goto tr370;
7129 case 217: goto tr370;
7130 case 218: goto tr370;
7131 case 219: goto tr370;
7132 case 220: goto tr370;
7133 case 221: goto tr370;
7134 case 222: goto tr370;
7135 case 223: goto tr370;
7136 case 224: goto tr370;
7137 case 225: goto tr370;
7138 case 226: goto tr370;
7139 case 227: goto tr370;
7140 case 228: goto tr370;
7141 case 229: goto tr370;
7142 case 230: goto tr370;
7143 case 231: goto tr370;
7144 case 232: goto tr370;
7145 case 233: goto tr370;
7146 case 234: goto tr370;
7147 case 235: goto tr370;
7148 case 236: goto tr370;
7149 case 237: goto tr370;
7150 case 238: goto tr370;
7151 case 239: goto tr370;
7152 case 240: goto tr370;
7153 case 241: goto tr370;
7154 case 242: goto tr370;
7155 case 243: goto tr370;
7156 case 244: goto tr370;
7157 case 245: goto tr370;
7158 case 246: goto tr370;
7159 case 247: goto tr370;
7160 case 248: goto tr370;
7161 case 249: goto tr370;
7162 case 250: goto tr370;
7163 case 251: goto tr315;
7164 case 252: goto tr315;
7166 case 254: goto tr474;
7167 case 255: goto tr475;
7170 case 256: goto tr475;
7172 case 257: goto tr475;
7173 case 258: goto tr477;
7174 case 259: goto tr475;
7177 case 260: goto tr475;
7180 case 261: goto tr479;
7181 case 262: goto tr480;
7188 #line 1230 "rlscan.rl"
7190 /* Check if we failed. */
7191 if ( cs == rlscan_error ) {
7192 /* Machine failed before finding a token. I'm not yet sure if this
7194 scan_error() << "scanner error" << endl;
7198 /* Decide if we need to preserve anything. */
7199 char *preserve = ts;
7201 /* Now set up the prefix. */
7202 if ( preserve == 0 )
7205 /* There is data that needs to be shifted over. */
7206 have = pe - preserve;
7207 memmove( buf, preserve, have );
7208 unsigned int shiftback = preserve - buf;