# 1 "lex.m"
struct _PRIVATE { struct _PRIVATE *isa; };
typedef struct _PRIVATE *id;
struct _SHARED {
  id isa;
  id clsSuper;
  char *clsName;
  char *clsTypes;
  short clsSizInstance;
  short clsSizDict;
  struct _SLT *clsDispTable;
  long clsStatus;
  struct modDescriptor *clsMod;
  unsigned clsVersion;
  id clsCats;
  id *clsGlbl;
};
extern id  (* _imp(id,char*))();
extern id  (* _impSuper(id,char*))();
extern struct modDescriptor  *_OBJCBIND_lex(void);
static char **selTransTbl;
struct _SLT {char *_cmd;id (*_imp)();};
struct modDescriptor {
  char *modName;
  char *modVersion;
  long modStatus;
  char *modMinSel;
  char *modMaxSel;
  id *modClsLst;
  short modSelRef;
  char **modSelTbl;
  struct methodDescriptor *modMapTbl;
};
extern struct modDescriptor lex_modDesc;

# 1 "../../util/stdio.h"
#include <stdio.h>

# 1 "../../util/unistd.h"
#include <unistd.h>

# 99 "lex.m"
typedef struct yy_buffer_state*YY_BUFFER_STATE;

extern int yyleng;
extern FILE*yyin,*yyout;
# 141 "lex.m"
typedef unsigned int yy_size_t;


struct yy_buffer_state
{
FILE*yy_input_file;

char*yy_ch_buf;
char*yy_buf_pos;
# 154 "lex.m"
yy_size_t yy_buf_size;
# 159 "lex.m"
int yy_n_chars;
# 165 "lex.m"
int yy_is_our_buffer;
# 172 "lex.m"
int yy_is_interactive;
# 178 "lex.m"
int yy_at_bol;
# 183 "lex.m"
int yy_fill_buffer;

int yy_buffer_status;
# 199 "lex.m"
};

static YY_BUFFER_STATE yy_current_buffer=0;
# 211 "lex.m"
static char yy_hold_char;

static int yy_n_chars;


int yyleng;


static char*yy_c_buf_p=(char*)0;
static int yy_init=1;
static int yy_start=0;
# 226 "lex.m"
static int yy_did_buffer_switch_on_eof;

void yyrestart();

void yy_switch_to_buffer();
void yy_load_buffer_state();
YY_BUFFER_STATE yy_create_buffer();
void yy_delete_buffer();
void yy_init_buffer();
void yy_flush_buffer();


YY_BUFFER_STATE yy_scan_buffer();
YY_BUFFER_STATE yy_scan_string();
YY_BUFFER_STATE yy_scan_bytes();

static void*yy_flex_alloc();
static void*yy_flex_realloc();
static void yy_flex_free();
# 264 "lex.m"
typedef unsigned char YY_CHAR;
FILE*yyin=(FILE*)0,*yyout=(FILE*)0;
typedef int yy_state_type;
extern char*yytext;


static yy_state_type yy_get_previous_state();
static yy_state_type yy_try_NUL_trans();
static int yy_get_next_buffer();
static void yy_fatal_error();
# 287 "lex.m"
static short int yy_accept[700]=
{0,
0,0,174,172,158,159,159,117,172,172,
170,123,134,172,111,112,121,124,152,125,
116,122,166,166,140,153,128,141,130,139,
172,113,114,135,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,
170,154,136,155,118,158,159,133,0,161,
0,0,160,160,170,146,137,147,0,163,
0,144,119,142,120,143,115,0,169,171,
145,167,164,166,0,166,0,126,129,157,
132,131,127,0,0,0,0,0,0,149,

170,170,170,170,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,
170,9,170,170,170,170,170,170,170,48,
19,170,170,170,170,170,170,170,170,170,
170,170,170,170,148,138,0,0,0,0,
0,0,156,0,169,171,167,0,167,164,
0,168,166,165,150,151,0,0,0,0,
0,0,0,0,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,

170,170,170,170,170,170,54,170,170,170,
170,170,170,170,170,170,170,170,79,170,
17,170,170,21,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,
170,170,0,0,0,0,0,0,0,169,
169,0,167,0,167,167,164,168,166,165,
0,0,46,0,0,0,0,0,0,0,
170,170,170,170,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,

170,170,170,170,170,78,170,170,170,170,
1,35,170,4,6,170,170,170,170,11,
12,170,170,18,170,22,170,170,170,170,
170,170,170,170,170,170,170,170,170,33,
170,170,170,0,0,0,0,0,0,169,
0,167,167,167,164,168,165,42,0,0,
0,0,0,0,0,0,2,170,170,170,
170,170,170,170,170,66,170,170,170,170,
170,170,170,170,77,170,170,170,170,170,
170,170,170,170,170,170,170,170,170,170,

170,170,170,170,170,170,170,81,170,170,
3,38,170,170,170,170,16,170,170,170,
170,170,25,170,170,170,170,170,170,31,
170,170,170,34,0,0,167,168,165,0,
0,0,0,0,0,0,0,170,170,170,
170,170,104,170,170,0,170,0,170,170,
170,170,170,170,170,170,170,170,170,93,
170,170,170,170,170,80,170,170,170,170,
170,96,170,170,170,170,170,170,170,75,
170,170,170,170,170,10,15,53,82,170,

170,24,40,26,27,28,29,170,170,170,
170,47,0,0,0,0,50,0,0,170,
170,170,170,97,110,170,0,67,0,55,
170,88,76,60,170,170,170,170,103,170,
170,170,92,170,170,170,170,170,170,170,
170,170,170,170,170,170,170,170,68,83,
170,170,8,0,170,170,30,170,170,36,
0,0,52,0,0,0,109,5,170,108,
170,0,170,0,170,170,170,86,170,170,
170,70,170,100,170,170,170,170,170,170,

61,170,170,72,170,170,170,84,7,0,
23,39,32,41,0,0,0,49,43,170,
170,0,170,0,105,57,87,170,170,170,
98,170,170,170,0,170,170,94,95,170,
85,102,170,170,37,0,0,44,51,20,
170,0,170,89,170,90,69,170,170,0,
106,73,101,62,63,58,13,0,0,170,
0,0,170,0,170,99,91,170,170,170,
0,0,162,56,0,170,0,107,170,74,
64,59,14,0,65,71,0,45,0

};

static int yy_ec[256]=
{0,
1,1,1,1,1,1,1,1,2,3,
1,1,4,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,
23,24,23,25,23,26,26,27,28,29,
30,31,32,33,34,35,36,34,37,38,
39,39,40,39,39,41,39,42,43,44,
39,39,45,46,47,39,39,48,39,39,
49,50,51,52,53,1,54,55,56,57,

58,59,60,61,62,39,63,64,65,66,
67,68,69,70,71,72,73,74,75,76,
77,78,79,80,81,82,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,

1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1
};

static int yy_meta[83]=
{0,
1,2,3,3,2,1,4,1,5,1,
1,6,1,1,1,1,7,1,1,1,
8,8,8,8,8,9,1,1,1,1,
1,4,1,10,10,10,10,10,11,11,
11,11,11,11,11,11,11,12,1,4,
1,1,5,13,13,10,10,10,13,11,
11,11,11,11,11,12,11,11,11,12,
11,12,11,12,11,12,11,11,2,1,
1,1
};

static short int yy_base[718]=
{0,
0,0,1252,1253,81,1253,1248,1220,77,84,
0,1219,74,78,1253,1253,1218,73,1253,75,
73,71,110,168,1253,1253,78,82,80,1253,
82,1253,1253,1217,207,29,46,63,56,79,
92,1179,103,1178,1190,1185,103,1165,1175,1173,
59,1253,91,1253,1253,117,1253,1253,111,1253,
177,122,1253,1236,0,1253,1253,1253,126,1253,
189,1253,1253,1253,1253,1253,1253,1219,197,0,
1253,258,198,0,282,229,0,1207,1253,1253,
1253,1253,1206,1177,1168,76,93,1175,1174,1253,

81,1164,1165,1161,1174,119,285,1170,1172,1159,
1166,1169,1150,1156,1148,1152,1160,1146,1162,1149,
1155,1140,1141,1138,1138,1139,1141,1137,1134,0,
0,108,1139,1133,110,1136,89,125,1140,1133,
126,142,1139,1137,1253,1253,304,265,0,349,
312,0,1253,360,190,0,368,392,360,381,
342,412,382,400,1253,1253,1139,128,1129,1124,
141,1140,1125,1129,1125,1129,1125,1135,1116,1131,
1126,1114,1137,145,1129,191,1124,1105,173,1107,
1113,1111,1119,1106,1117,386,1097,1107,1105,1115,

1112,1099,1104,1113,1095,1108,0,1097,1099,1108,
1103,1090,158,1105,1103,1099,1091,1097,0,1100,
0,1086,1090,0,1091,1094,1087,1076,1074,1076,
1079,1086,1071,1069,1069,1082,1072,1076,1080,1082,
1081,1070,444,488,527,458,575,614,463,477,
496,550,529,506,582,583,581,615,1253,614,
1062,1065,1253,1067,1072,1055,1056,1063,1053,1067,
1060,1059,1054,1061,1056,1056,1096,1045,1074,1050,
1042,1042,1054,1045,1046,1053,196,221,1038,1047,
172,231,1052,1051,1033,1029,249,1042,1044,1029,

1031,1027,1033,1035,1039,0,1032,1023,1036,1035,
0,0,1027,0,0,1017,1026,1014,1022,0,
0,1015,1012,0,1017,0,1028,1010,1010,1009,
1006,1019,1009,1013,1018,1017,1015,1005,1010,0,
997,998,1009,217,0,667,282,0,706,1253,
593,674,621,1253,1253,622,672,1253,1009,1007,
994,1009,1004,999,998,1003,0,986,993,994,
993,996,1028,994,1015,316,980,991,992,976,
973,981,977,985,1020,969,968,981,976,252,
980,976,965,974,961,974,254,972,964,973,

972,969,964,971,970,959,956,0,967,966,
0,0,953,954,959,950,0,957,950,941,
950,945,0,953,950,952,935,945,947,0,
938,941,949,0,338,300,1253,1253,1253,943,
935,940,926,941,940,925,922,931,934,925,
924,932,0,923,941,398,933,904,922,926,
918,909,909,908,908,911,951,919,904,0,
907,948,901,913,916,0,903,897,896,907,
910,0,905,908,907,870,855,842,841,0,
814,807,806,796,796,0,862,0,0,808,

807,0,0,0,0,0,0,803,799,792,
779,1253,792,782,773,758,1253,771,760,759,
745,766,756,0,0,777,0,0,734,1253,
748,781,0,740,700,691,686,686,0,702,
701,696,0,683,681,687,696,687,690,681,
681,682,673,671,675,654,656,664,0,0,
652,656,0,704,640,637,0,651,649,0,
640,638,1253,626,612,612,0,0,607,0,
633,402,602,653,613,601,606,0,596,593,
578,590,554,0,559,589,539,534,520,533,

537,525,516,0,521,514,505,0,0,533,
0,0,0,0,487,500,500,1253,1253,479,
512,437,468,525,1253,0,0,479,466,457,
0,467,451,451,502,435,435,0,0,452,
0,0,447,439,0,380,442,1253,1253,0,
439,455,433,448,390,0,0,371,371,416,
1253,368,0,0,367,359,1253,395,330,326,
457,447,324,361,295,0,0,285,278,277,
307,239,0,473,488,204,219,1253,154,0,
0,0,1253,106,0,0,71,1253,1253,765,

778,787,800,810,820,833,839,845,851,863,
876,882,895,908,921,934,947
};

static short int yy_def[718]=
{0,
699,1,699,699,699,699,699,699,700,701,
702,699,699,703,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,699,699,699,699,699,699,699,700,699,
704,701,699,699,702,699,699,699,703,699,
705,699,699,699,699,699,699,699,699,706,
699,699,23,24,699,699,707,699,699,699,
699,699,699,699,699,699,699,699,699,699,

702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,699,699,700,700,708,703,
703,709,699,699,699,706,699,699,699,699,
699,699,699,707,699,699,699,699,699,699,
699,699,699,699,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,

702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,700,700,244,703,703,247,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,

702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,700,245,245,703,248,248,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,

702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,700,703,699,699,699,699,
699,699,699,699,699,699,699,702,702,702,
702,702,702,702,702,710,702,711,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,

702,702,702,702,702,702,702,702,702,702,
702,699,699,699,699,699,699,699,699,702,
702,702,702,702,702,702,712,702,711,699,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,
702,702,702,699,702,702,702,702,702,702,
699,699,699,699,699,699,702,702,702,702,
702,712,702,713,702,702,702,702,702,702,
702,702,702,702,702,702,702,702,702,702,

702,702,702,702,702,702,702,702,702,699,
702,702,702,702,699,699,699,699,699,702,
702,714,702,713,699,702,702,702,702,702,
702,702,702,702,715,702,702,702,702,702,
702,702,702,702,702,699,699,699,699,702,
702,714,702,702,702,702,702,702,702,715,
699,702,702,702,702,702,699,699,699,702,
699,716,702,717,702,702,702,702,702,702,
699,699,702,716,716,702,717,699,702,702,
702,702,699,699,702,702,699,699,0,699,

699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699
};

static short int yy_nxt[1336]=
{0,
4,5,6,7,5,8,9,10,11,12,
13,14,15,16,17,18,19,20,21,22,
23,24,24,24,24,24,25,26,27,28,
29,30,31,11,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,32,4,
33,34,35,36,37,38,39,40,41,42,
11,43,11,44,11,11,11,45,11,46,
47,48,49,50,51,11,11,11,52,53,
54,55,56,60,67,56,63,64,73,70,
80,78,75,79,79,79,79,79,79,114,

81,115,74,68,76,77,88,89,90,92,
93,91,116,121,143,117,118,60,56,144,
145,56,122,119,63,64,61,71,82,120,
83,83,83,83,83,84,698,70,94,95,
169,170,123,96,124,126,85,175,231,97,
86,98,99,176,125,127,86,87,128,130,
61,131,171,136,137,172,232,85,132,227,
146,223,697,86,138,71,181,139,233,224,
228,229,86,262,263,87,82,237,84,84,
84,84,84,84,234,182,238,147,148,148,

148,148,266,239,85,240,696,267,86,150,
151,151,151,151,86,280,281,79,79,79,
79,79,79,60,149,85,288,251,316,317,
251,86,688,154,155,389,152,155,160,289,
86,101,102,390,160,699,103,283,251,104,
105,106,149,251,154,155,695,284,285,107,
155,160,108,383,152,109,61,384,110,163,
160,60,111,699,112,163,472,113,157,157,
157,157,157,157,391,243,243,243,243,243,
385,386,163,70,158,159,392,161,159,161,

694,163,162,162,162,162,162,162,397,473,
60,70,398,693,61,158,159,456,480,481,
456,159,183,70,243,243,243,243,243,692,
691,71,246,246,246,246,246,690,184,185,
186,187,188,189,60,190,191,689,192,71,
193,244,194,61,195,196,197,198,199,200,
70,71,162,162,162,162,162,162,457,246,
246,246,246,246,688,249,686,249,683,244,
250,250,250,250,250,250,667,61,157,157,
157,157,157,157,458,668,247,256,71,456,

256,682,456,622,252,253,622,254,253,254,
681,680,255,255,255,255,255,255,256,679,
678,257,259,256,247,252,253,257,259,661,
677,253,162,162,162,162,162,162,622,296,
260,622,676,297,257,259,260,298,685,258,
60,685,258,257,259,675,671,299,671,671,
674,671,300,260,344,344,344,344,344,70,
258,672,260,672,699,258,458,699,347,347,
347,347,347,250,250,250,250,250,250,685,
673,670,685,61,60,669,666,250,250,250,

250,250,250,665,664,663,662,71,345,345,
345,345,345,345,155,661,659,155,658,657,
656,345,345,345,345,345,255,255,255,255,
255,255,655,350,654,155,350,61,625,653,
155,345,345,345,345,345,345,346,346,346,
346,346,346,651,350,650,649,648,647,350,
346,346,346,346,346,351,353,351,646,353,
352,352,352,352,352,352,645,644,643,642,
346,346,346,346,346,346,70,353,641,640,
639,638,353,637,636,348,348,348,348,348,

348,635,255,255,255,255,255,255,348,348,
348,348,348,352,352,352,352,352,352,159,
354,355,159,354,71,634,633,355,348,348,
348,348,348,348,349,349,349,349,349,349,
159,354,632,631,355,159,354,349,349,349,
349,349,356,355,357,356,630,629,437,438,
357,437,438,628,627,626,625,349,349,349,
349,349,349,356,623,621,620,357,356,437,
438,619,618,617,437,438,357,435,435,435,
435,435,435,616,352,352,352,352,352,352,

435,435,435,435,435,615,614,613,612,611,
610,253,439,609,253,608,607,606,439,605,
435,435,435,435,435,435,436,436,436,436,
436,436,253,604,603,439,602,253,601,436,
436,436,436,436,439,600,599,598,597,596,
595,594,593,592,591,590,589,588,587,436,
436,436,436,436,436,59,59,586,59,59,
59,59,59,59,59,59,59,59,62,62,
62,62,62,62,62,62,62,62,62,62,
62,65,585,584,65,65,65,65,65,65,

69,69,583,69,69,69,69,69,69,69,
69,69,69,59,530,59,581,59,580,579,
578,59,59,69,577,69,576,69,575,574,
573,69,69,156,156,572,156,156,156,156,
156,156,156,156,156,156,164,164,164,571,
570,164,245,245,245,569,568,245,248,248,
248,567,566,248,527,565,564,563,562,561,
560,559,527,527,527,527,529,529,529,529,
529,529,529,529,529,529,529,529,529,582,
582,582,582,582,582,624,624,624,624,624,

624,624,624,624,624,624,624,624,652,652,
558,652,652,557,556,652,652,652,652,652,
652,660,660,660,660,660,660,660,660,660,
660,660,660,660,684,684,555,684,684,684,
684,684,684,684,684,684,684,687,687,687,
687,687,687,687,687,687,687,687,687,687,
554,553,552,551,550,549,548,547,546,545,
544,543,542,541,540,539,538,537,536,535,
534,533,532,531,530,528,526,525,524,523,
522,521,520,519,518,517,516,515,514,513,

512,511,510,509,508,507,506,505,504,503,
502,501,500,499,498,497,496,495,494,493,
492,491,490,489,488,487,486,485,484,483,
482,479,478,477,476,475,474,471,470,469,
468,467,466,465,464,463,462,461,460,459,
455,454,453,452,451,450,449,448,447,446,
445,444,443,442,441,440,434,433,432,431,
430,429,428,427,426,425,424,423,422,421,
420,419,418,417,416,415,414,413,412,411,
410,409,408,407,406,405,404,403,402,401,

400,399,396,395,394,393,388,387,382,381,
380,379,378,377,376,375,374,373,372,371,
370,369,368,367,366,365,364,363,362,361,
360,359,358,343,342,341,340,339,338,337,
336,335,334,333,332,331,330,329,328,327,
326,325,324,323,322,321,320,319,318,315,
314,313,312,311,310,309,308,307,306,305,
304,303,302,301,295,294,293,292,291,290,
287,286,282,279,278,277,276,275,274,273,
272,271,270,269,268,265,264,261,242,241,

236,235,230,226,225,222,221,220,219,218,
217,216,215,214,213,212,211,210,209,208,
207,206,205,204,203,202,201,180,179,178,
177,174,173,168,167,166,165,153,63,142,
141,140,135,134,133,129,100,72,66,58,
57,699,3,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,

699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699
};

static short int yy_chk[1336]=
{0,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,5,9,13,5,10,10,18,14,
22,21,20,21,21,21,21,21,21,36,

22,36,18,13,20,20,27,27,28,29,
29,28,37,39,51,37,38,59,56,51,
53,56,39,38,62,62,9,14,23,38,
23,23,23,23,23,23,697,69,31,31,
96,96,40,31,40,41,23,101,137,31,
23,31,31,101,40,41,23,23,41,43,
59,43,97,47,47,97,137,23,43,135,
53,132,694,23,47,69,106,47,138,132,
135,135,23,168,168,23,24,141,24,24,
24,24,24,24,138,106,141,61,61,61,

61,61,171,142,24,142,689,171,24,71,
71,71,71,71,24,184,184,79,79,79,
79,79,79,344,61,24,189,155,213,213,
155,24,687,79,79,291,71,79,83,189,
24,35,35,291,83,83,35,186,155,35,
35,35,61,155,79,79,686,186,186,35,
79,83,35,287,71,35,344,287,35,86,
83,148,35,83,35,86,390,35,82,82,
82,82,82,82,292,148,148,148,148,148,
288,288,86,347,82,82,292,85,82,85,

682,86,85,85,85,85,85,85,297,390,
147,436,297,681,148,82,82,376,397,397,
376,82,107,151,147,147,147,147,147,680,
679,347,151,151,151,151,151,678,107,107,
107,107,107,107,435,107,107,675,107,436,
107,147,107,147,107,107,107,107,107,107,
150,151,161,161,161,161,161,161,376,150,
150,150,150,150,674,154,673,154,670,147,
154,154,154,154,154,154,646,435,157,157,
157,157,157,157,376,646,150,159,150,456,

159,669,456,582,157,157,582,158,157,158,
668,666,158,158,158,158,158,158,159,665,
662,160,163,159,150,157,157,160,163,660,
659,157,162,162,162,162,162,162,622,196,
164,622,658,196,160,163,164,196,672,162,
243,672,162,160,163,655,652,196,671,652,
654,671,196,164,243,243,243,243,243,246,
162,652,164,671,684,162,456,684,246,246,
246,246,246,249,249,249,249,249,249,685,
653,651,685,243,244,647,644,250,250,250,

250,250,250,643,640,637,636,246,244,244,
244,244,244,244,250,635,634,250,633,632,
630,244,244,244,244,244,254,254,254,254,
254,254,629,251,628,250,251,244,624,623,
250,244,244,244,244,244,244,245,245,245,
245,245,245,621,251,620,617,616,615,251,
245,245,245,245,245,252,253,252,610,253,
252,252,252,252,252,252,607,606,605,603,
245,245,245,245,245,245,247,253,602,601,
600,599,253,598,597,247,247,247,247,247,

247,596,255,255,255,255,255,255,247,247,
247,247,247,351,351,351,351,351,351,255,
256,257,255,256,247,595,593,257,247,247,
247,247,247,247,248,248,248,248,248,248,
255,256,592,591,257,255,256,248,248,248,
248,248,258,257,260,258,590,589,353,356,
260,353,356,587,586,585,584,248,248,248,
248,248,248,258,583,581,579,260,258,353,
356,576,575,574,353,356,260,346,346,346,
346,346,346,572,352,352,352,352,352,352,

346,346,346,346,346,571,569,568,566,565,
564,352,357,562,352,561,558,557,357,556,
346,346,346,346,346,346,349,349,349,349,
349,349,352,555,554,357,553,352,552,349,
349,349,349,349,357,551,550,549,548,547,
546,545,544,542,541,540,538,537,536,349,
349,349,349,349,349,700,700,535,700,700,
700,700,700,700,700,700,700,700,701,701,
701,701,701,701,701,701,701,701,701,701,
701,702,534,532,702,702,702,702,702,702,

703,703,531,703,703,703,703,703,703,703,
703,703,703,704,529,704,526,704,523,522,
521,704,704,705,520,705,519,705,518,516,
515,705,705,706,706,514,706,706,706,706,
706,706,706,706,706,706,707,707,707,513,
511,707,708,708,708,510,509,708,709,709,
709,508,501,709,710,500,497,495,494,493,
492,491,710,710,710,710,711,711,711,711,
711,711,711,711,711,711,711,711,711,712,
712,712,712,712,712,713,713,713,713,713,

713,713,713,713,713,713,713,713,714,714,
489,714,714,488,487,714,714,714,714,714,
714,715,715,715,715,715,715,715,715,715,
715,715,715,715,716,716,486,716,716,716,
716,716,716,716,716,716,716,717,717,717,
717,717,717,717,717,717,717,717,717,717,
485,484,483,481,480,479,478,477,475,474,
473,472,471,469,468,467,466,465,464,463,
462,461,460,459,458,457,455,454,452,451,
450,449,448,447,446,445,444,443,442,441,

440,433,432,431,429,428,427,426,425,424,
422,421,420,419,418,416,415,414,413,410,
409,407,406,405,404,403,402,401,400,399,
398,396,395,394,393,392,391,389,388,387,
386,385,384,383,382,381,380,379,378,377,
375,374,373,372,371,370,369,368,366,365,
364,363,362,361,360,359,343,342,341,339,
338,337,336,335,334,333,332,331,330,329,
328,327,325,323,322,319,318,317,316,313,
310,309,308,307,305,304,303,302,301,300,

299,298,296,295,294,293,290,289,286,285,
284,283,282,281,280,279,278,277,276,275,
274,273,272,271,270,269,268,267,266,265,
264,262,261,242,241,240,239,238,237,236,
235,234,233,232,231,230,229,228,227,226,
225,223,222,220,218,217,216,215,214,212,
211,210,209,208,206,205,204,203,202,201,
200,199,198,197,195,194,193,192,191,190,
188,187,185,183,182,181,180,179,178,177,
176,175,174,173,172,170,169,167,144,143,

140,139,136,134,133,129,128,127,126,125,
124,123,122,121,120,119,118,117,116,115,
114,113,112,111,110,109,108,105,104,103,
102,99,98,95,94,93,88,78,64,50,
49,48,46,45,44,42,34,17,12,8,
7,3,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,

699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699,699,699,699,699,699,
699,699,699,699,699
};

static yy_state_type yy_last_accepting_state;
static char*yy_last_accepting_cpos;
# 891 "lex.m"
char*yytext;
# 1 "../../util/stdarg.h"
#include <stdarg.h>

# 1 "../../util/assert.h"
#include <assert.h>

# 1 "../../util/stdio.h"
#include <stdio.h>

# 1 "../../util/stdio.h"
#include <stdio.h>

# 1 "../../util/stddef.h"
#include <stddef.h>

# 53 "../../include/objcrt/objcrt.h"
typedef char*SEL;
typedef char*STR;
typedef char BOOL;
typedef FILE*IOD;
typedef id SHR;
# 62 "../../include/objcrt/objcrt.h"
typedef id(*IMP)();


typedef void(*ARGIMP)(id,SEL,void*);
# 85 "../../include/objcrt/objcrt.h"
extern BOOL msgFlag;
extern FILE*msgIOD;
extern FILE*dbgIOD;
extern BOOL allocFlag;
extern BOOL dbgFlag;
extern BOOL noCacheFlag;
extern BOOL noNilRcvr;
# 98 "../../include/objcrt/objcrt.h"
SEL selUid(STR);
STR selName(SEL);
void dbg(char*fmt,...);
void prnstack(FILE*file);
void loadobjc(void*modPtr);
void unloadobjc(void*modPtr);
# 107 "../../include/objcrt/objcrt.h"
IMP fwdimp(id,SEL,IMP);
IMP fwdimpSuper(id,SEL,IMP);
void fwdmsg(id,SEL,void*,ARGIMP);
id selptrfwd(id,SEL,id,id,id,id);


id idincref(id obj);
id idassign(id*lhs,id rhs);
id iddecref(id obj);

extern id(*_fileIn)(FILE*);
extern BOOL(*_fileOut)(FILE*,id);
extern BOOL(*_storeOn)(STR,id);
extern id(*_readFrom)(STR);
void setfilein(id(*f)(FILE*));
void setfileout(BOOL(*f)(FILE*,id));

extern id(*_showOn)(id,unsigned);

void*OC_Malloc(size_t);
void*OC_MallocAtomic(size_t);
void*OC_Calloc(size_t);
void*OC_Realloc(void*,size_t);
void*OC_Free(void*data);
# 1 "../../util/string.h"
#include <string.h>

# 32 "../../include/objpak/ocstring.h"
typedef struct objstr
{
int count;
int capacity;
char*ptr;
}*
objstr_t;
# 22 "../oclib/symbol.h"
extern id s_void;
extern id s_char;
extern id s_bool;
extern id s_int;
extern id s_uns;
extern id s_long;
extern id s_double;
extern id s_str;
extern id s_sel;
extern id s_newblock;
extern id s_main;
extern id s_objcmain;
extern id s_id;
extern id s_nil;
extern id s_self;
extern id s_cmd;
extern id s_super;
extern id s_type;
extern id s_aFiler;
extern id s_fileIn;
extern id s_fileOut;
extern id s_fileInIdsFrom;
extern id s_fileOutIdsFor;
extern id s_returnval;
extern id s_returnflag;
extern id s_increfs;
extern id s_decrefs;
extern id s_idincref;
extern id s_iddecref;

BOOL istypeword(id sym);
BOOL isbuiltinfun(id sym);
int pragmatoggle(char*s);
void definebuiltintype(char*s);
void definebuiltinfun(char*s);
void definebuiltinvar(char*s);
# 22 "../oclib/node.h"
extern FILE*gfile;
extern int inlineno;
extern id infilename;
extern int outlineno;
extern char*outfilename;
extern int exitstatus;
extern id loadedmodules;

void gc(char c);
void gextc(void);
void gcom(char*cm);
void gvarlist(id c,char*sp,char*iz);
void gcommalist(id c);
void gs(char*str);
void gf(char*fmt,...);
void gl(int no,char*fn);
void g_otbvars(void);
void gstderr(void);
void gnormal(void);
char*browsepath(char*filename);

void warn(char*fmt,...);
void warnat(id sym,char*fmt,...);
void fatal(char*fmt,...);
void fatalat(id sym,char*fmt,...);
# 23 "../oclib/util.h"
extern FILE*yyin;
extern int yyparse();

FILE*openfile(STR name,STR modfs);
FILE*reopenfile(STR name,STR modfs,FILE*of);

extern int okblock;

id mkcppdirect(char*s);
id mkexprstmt(id expr);
id mklabeledstmt(id label,id stmt);
id mkcasestmt(id keyw,id expr,id stmt);
id mkdefaultstmt(id keyw,id stmt);
id mkifstmt(id keyw,id expr,id stmt);
id mkifelsestmt(id keyw,id expr,id stmt,id ekeyw,id estmt);
id mkswitchstmt(id keyw,id expr,id stmt);
id mkwhilestmt(id keyw,id expr,id stmt);
id mkdostmt(id keyw,id stmt,id wkeyw,id expr);
id mkforstmt(id keyw,id a,id b,id c,id stmt);
id mkgotostmt(id keyw,id label);
id mkcontinuestmt(id keyw);
id mkbreakstmt(id keyw);
id mkreturnstmt(id keyw,id expr);
id mkcastexpr(id a,id b);
id mkcondexpr(id a,id b,id c);
id mkunaryexpr(STR op,id a);
id mksizeof(id a);
id mktypeof(id kw,id a);
id mkaddressof(id a);
id mkdereference(id a);
id mkbinexpr(id a,STR op,id b);
id mkcommaexpr(id a,id b);
id mkrelexpr(id a,STR op,id b);
id mkassignexpr(id a,STR op,id b);
id mkfuncall(id funname,id args);
id mkbuiltincall(id funname,id args);
id mkfunbody(id datadefs,id compound);
void declarefun(id specs,id decl);
void declaremeth(BOOL factory,id decl);
id mkfundef(id specs,id decl,id body);
id mkmethdef(BOOL factory,id decl,id body);
id mkmesgexpr(id receiver,id args);
id mkdecl(id ident);
id mkprecdecl(id tquals,id decl);
id mkarraydecl(id lhs,id ix);
id mkfundecl(id lhs,id args);
id mkprefixdecl(id lhs,id rhs);
id mkpostfixdecl(id lhs,id rhs);
id mkpointer(id specs,id pointer);
id mkbitfielddecl(id decl,id expr);
id mkstardecl(id pointer,id decl);
id mkasmop(id string,id expr);
id mkasmstmt(id keyw,id tqual,id expr,id asmop1,id asmop2,id clobbers);
id mkcompstmt(id lb,id datadefs,id stmtlist,id subblock,id rb);
id mklist(id c,id s);
id mklist2(id c,id s,id t);
id atdefsaddall(id c,id n);
id mkblockexpr(id lb,id parms,id datadefs,id stmts,id expr,id rb);
id mkclassdef(id keyw,id name,id sname,id ivars,id cvars);
id mkdatadef(id datadef,id specs,id decl,id initializer);
id mkencodeexpr(id name);
id mkenumspec(id keyw,id name,id lb,id list,id rb);
id mkenumerator(id name,id value);
id mkgnuattrib(id anyword,id exprlist);
id mkgnuattribdecl(id keyw,id list);
id mklistexpr(id lb,id x,id rb);
id mktypename(id specs,id decl);
id mkcomponentdef(id cdef,id specs,id decl);
id mkstructspec(id keyw,id name,id lb,id defs,id rb);
id mkkeywarg(id sel,id arg);
id mkkeywdecl(id sel,id cast,id arg);
id mkmethproto(id cast,id usel,id ksel,BOOL varargs);
id mkidentexpr(id name);
id mkconstexpr(id name,id schain);
id mkprecexpr(id expr);
id mkbracedgroup(id expr);
id mkarrowexpr(id array,id ix);
id mkdotexpr(id array,id ix);
id mkindexexpr(id array,id ix);
id mkpostfixexpr(id expr,id pf);
id mkparmdef(id parmdef,id specs,id decl);
id mkparmdeflist(id idents,id parmdefs,BOOL varargs);
id mkselarg(id selarg,id usel,int ncols);
id mkselectorexpr(id expr);

void procextdef(id def);
void finclassdef(void);
void datadefokblock(id datadef,id specs,id decl);

id mkfileinmeth(id classdef,id ivarnames,id ivartypes);
id mkfileoutmeth(id classdef,id ivarnames,id ivartypes);

id mkincrefsmeth(id classdef,id ivarnames,id ivartypes);
id mkdecrefsmeth(id classdef,id ivarnames,id ivartypes);
# 22 "../oclib/type.h"
extern id t_unknown;
extern id t_void;
extern id t_char;
extern id t_bool;
extern id t_int;
extern id t_long;
extern id t_uns;
extern id t_double;
extern id t_str;
extern id t_sel;
extern id t_id;
# 22 "../oclib/options.h"
void defoptions(void);

extern int o_warnings;
extern int o_gnu;
extern int o_hpux;
extern int o_vms;
extern int o_refcnt;
extern int o_ppi;
extern int o_watcom;
extern int o_ibmvac;
extern int o_msdos;
extern int o_enableasm;
extern int o_nolinetags;
extern int o_buffered;
extern int o_quiet;
extern int o_outputcode;
extern int o_version;
extern int o_otb;
extern int o_llkeyw;
extern int o_comments;
extern int o_duptypedefs;
extern int o_seltranslation;
extern int o_categories;
extern int o_blocks;
extern int o_fwd;
extern int o_selptr;
extern int o_cache;
extern int o_filer;
extern int o_selfassign;
extern char*o_bind;
extern char*o_browsedir;
extern int o_refbind;
extern int o_inlinecache;
extern int o_cplus;
extern int o_gencode;
extern int o_st80;
extern int o_selfassign;
extern int o_nilrcvr;
extern int o_shareddata;
extern int o_oneperfile;
extern int o_cvars;
extern int o_warnlex;
extern int o_warnfwd;
extern int o_warnsuggest;
extern int o_warnintvar;
extern int o_warnclasstype;
extern int o_warntypeconflict;
extern int o_warnundefined;
extern int o_warnlocalnst;
extern int o_warnnotfound;
extern int o_warnmissingmethods;
extern int o_postlink;
extern char*o_infile;
extern char*o_outfile;
extern char*o_srcfilename;
extern char*o_initcall;
extern char*o_tagformat;
extern char*o_mainfun;
extern char*o_pathsep;
extern int o_debuginfo;
extern int o_checkbind;
extern int o_linemax;
extern int o_structassign;
extern id o_stepbreak;
extern int o_stepnext;
# 45 "lex.lm"
extern id yylval;

int identif(void);
int keyw(int x);
int tkeyw(int x,id t);
int gnukeyw(int x);
int msdoskeyw(int x);
int watcomkeyw(int x);
int ibmvackeyw(int x);


int okblock;
# 966 "lex.yy.c"
extern int yywrap();
# 971 "lex.yy.c"
static void yyunput();
# 986 "lex.yy.c"
static int input();

# 22 "../oclib/dasmstmt.h"
extern id  DosAsmStmt;

# 1101 "lex.yy.c"
int yylex_raw()
{
register yy_state_type yy_current_state;
register char*yy_cp=NULL,*yy_bp=NULL;
register int yy_act;
# 1112 "lex.yy.c"
if(yy_init)
{
yy_init=0;
# 1120 "lex.yy.c"
if( !yy_start)
yy_start=1;

if( !yyin)
yyin=stdin;

if( !yyout)
yyout=stdout;

if( !yy_current_buffer)
yy_current_buffer=
yy_create_buffer(yyin,16384);

yy_load_buffer_state();
}

while(1)
{
yy_cp=yy_c_buf_p; *


yy_cp=yy_hold_char;
# 1146 "lex.yy.c"
yy_bp=yy_cp;

yy_current_state=yy_start;
yy_match:
do
{
register YY_CHAR yy_c=yy_ec[((unsigned int)(unsigned char) *yy_cp)];
if(yy_accept[yy_current_state])
{
yy_last_accepting_state=yy_current_state;
yy_last_accepting_cpos=yy_cp;
}
while(yy_chk[yy_base[yy_current_state]+yy_c]!=yy_current_state)
{
yy_current_state=(int)yy_def[yy_current_state];
if(yy_current_state>=700)
yy_c=yy_meta[(unsigned int)yy_c];
}
yy_current_state=yy_nxt[yy_base[yy_current_state]+(unsigned int)yy_c]; ++
yy_cp;
}
while(yy_base[yy_current_state]!=1253);

yy_find_action:
yy_act=yy_accept[yy_current_state];
if(yy_act==0)
{
yy_cp=yy_last_accepting_cpos;
yy_current_state=yy_last_accepting_state;
yy_act=yy_accept[yy_current_state];
}

yytext=yy_bp;yyleng=(int)(yy_cp-yy_bp);yy_hold_char= *yy_cp; *yy_cp='\0';yy_c_buf_p=yy_cp;;


do_action:


switch(yy_act)
{
case 0: *

yy_cp=yy_hold_char;
yy_cp=yy_last_accepting_cpos;
yy_current_state=yy_last_accepting_state;
goto yy_find_action;

case 1:
# 93 "lex.lm"
{return keyw(262);}
break;
case 2:
# 94 "lex.lm"
{return keyw(261);}
break;
case 3:
# 95 "lex.lm"
{return keyw(277);}
break;
case 4:
# 96 "lex.lm"
{return keyw(275);}
break;
case 5:
# 97 "lex.lm"
{return keyw(261);}
break;
case 6:
# 98 "lex.lm"
{return keyw(261);}
break;
case 7:
# 99 "lex.lm"
{return keyw(278);}
break;
case 8:
# 100 "lex.lm"
{return keyw(276);}
break;
case 9:
# 101 "lex.lm"
{return keyw(272);}
break;
case 10:
# 102 "lex.lm"
{return keyw(261);}
break;
case 11:
# 103 "lex.lm"
{return keyw(270);}
break;
case 12:
# 104 "lex.lm"
{return keyw(267);}
break;
case 13:
# 105 "lex.lm"
{if(o_cplus)return keyw(265);}
break;
case 14:
# 106 "lex.lm"
{if(o_cplus)return keyw(265);}
break;
case 15:
# 107 "lex.lm"
{return keyw(262);}
break;
case 16:
# 108 "lex.lm"
{return keyw(261);}
break;
case 17:
# 109 "lex.lm"
{return keyw(273);}
break;
case 18:
# 110 "lex.lm"
{return keyw(280);}
break;
case 19:
# 111 "lex.lm"
{return keyw(269);}
break;
case 20:
# 112 "lex.lm"
{return keyw(261);}
break;
case 21:
# 113 "lex.lm"
{return keyw(261);}
break;
case 22:
# 114 "lex.lm"
{return keyw(261);}
break;
case 23:
# 115 "lex.lm"
{return keyw(262);}
break;
case 24:
# 116 "lex.lm"
{return keyw(279);}
break;
case 25:
# 117 "lex.lm"
{return keyw(261);}
break;
case 26:
# 118 "lex.lm"
{return keyw(282);}
break;
case 27:
# 119 "lex.lm"
{return keyw(262);}
break;
case 28:
# 120 "lex.lm"
{return keyw(268);}
break;
case 29:
# 121 "lex.lm"
{return keyw(274);}
break;
case 30:
# 122 "lex.lm"
{return keyw((o_duptypedefs)?263:262);}
break;
case 31:
# 123 "lex.lm"
{return keyw(268);}
break;
case 32:
# 124 "lex.lm"
{return keyw(261);}
break;
case 33:
# 125 "lex.lm"
{return keyw(261);}
break;
case 34:
# 126 "lex.lm"
{return keyw(271);}
break;
case 35:
# 128 "lex.lm"
{return(o_cplus)?keyw(261):identif();}
break;
case 36:
# 129 "lex.lm"
{return(o_cplus)?keyw(261):identif();}
break;
case 37:
# 130 "lex.lm"
{return(o_cplus)?keyw(261):identif();}
break;
case 38:
# 132 "lex.lm"
{return keyw(264);}
break;
case 39:
# 133 "lex.lm"
{return keyw(264);}
break;
case 40:
# 134 "lex.lm"
{return keyw(261);}
break;
case 41:
# 135 "lex.lm"
{return keyw(264);}
break;
case 42:
# 137 "lex.lm"
{return keyw(294);}
break;
case 43:
# 138 "lex.lm"
{return keyw(295);}
break;
case 44:
# 139 "lex.lm"
{return keyw(296);}
break;
case 45:
# 140 "lex.lm"
{return keyw(296);}
break;
case 46:
# 141 "lex.lm"
{return keyw(297);}
break;
case 47:
# 142 "lex.lm"
{return keyw(298);}
break;
case 48:
# 143 "lex.lm"
{return keyw(261);}
break;
case 49:
# 144 "lex.lm"
{return keyw(299);}
break;
case 50:
# 145 "lex.lm"
{warn("ignoring @public.");}
break;
case 51:
# 146 "lex.lm"
{warn("ignoring @protected.");}
break;
case 52:
# 147 "lex.lm"
{warn("ignoring @private.");}
break;
case 53:
# 149 "lex.lm"
{return keyw(262);}
break;
case 54:
# 151 "lex.lm"
{return(o_enableasm)?keyw(281):identif();}
break;
case 55:
# 152 "lex.lm"
{
id objcT0;

# 152 "lex.lm"
yylval=(objcT0=DosAsmStmt,(*(id(*)(id,SEL,STR))_imp(objcT0,selTransTbl[0]))(objcT0,selTransTbl[0],yytext));return 285;}
break;
case 56:
# 154 "lex.lm"
{
id objcT1;

# 154 "lex.lm"
yylval=(objcT1=DosAsmStmt,(*(id(*)(id,SEL,STR))_imp(objcT1,selTransTbl[0]))(objcT1,selTransTbl[0],yytext));return 285;}
break;
case 57:
# 157 "lex.lm"
{return gnukeyw(264);}
break;
case 58:
# 158 "lex.lm"
{return gnukeyw(264);}
break;
case 59:
# 159 "lex.lm"
{return gnukeyw(264);}
break;
case 60:
# 160 "lex.lm"
{return gnukeyw(264);}
break;
case 61:
# 161 "lex.lm"
{return gnukeyw(261);}
break;
case 62:
# 162 "lex.lm"
{return gnukeyw(261);}
break;
case 63:
# 163 "lex.lm"
{return gnukeyw(261);}
break;
case 64:
# 164 "lex.lm"
{return gnukeyw(261);}
break;
case 65:
# 165 "lex.lm"
{return gnukeyw(302);}
break;
case 66:
# 166 "lex.lm"
{return keyw(281);}
break;
case 67:
# 167 "lex.lm"
{return keyw(281);}
break;
case 68:
# 168 "lex.lm"
{return keyw(262);}
break;
case 69:
# 169 "lex.lm"
{return keyw(262);}
break;
case 70:
# 170 "lex.lm"
{return keyw(262);}
break;
case 71:
# 171 "lex.lm"
{return gnukeyw(301);}
break;
case 72:
# 172 "lex.lm"
{return gnukeyw(283);}
break;
case 73:
# 173 "lex.lm"
{return gnukeyw(264);}
break;
case 74:
# 174 "lex.lm"
{return gnukeyw(264);}
break;
case 75:
# 176 "lex.lm"
{return msdoskeyw(264);}
break;
case 76:
# 177 "lex.lm"
{return msdoskeyw(264);}
break;
case 77:
# 178 "lex.lm"
{return msdoskeyw(264);}
break;
case 78:
# 179 "lex.lm"
{return msdoskeyw(264);}
break;
case 79:
# 180 "lex.lm"
{return msdoskeyw(264);}
break;
case 80:
# 181 "lex.lm"
{return msdoskeyw(264);}
break;
case 81:
# 182 "lex.lm"
{return msdoskeyw(264);}
break;
case 82:
# 183 "lex.lm"
{return msdoskeyw(264);}
break;
case 83:
# 184 "lex.lm"
{return msdoskeyw(264);}
break;
case 84:
# 185 "lex.lm"
{return msdoskeyw(264);}
break;
case 85:
# 186 "lex.lm"
{return msdoskeyw(264);}
break;
case 86:
# 187 "lex.lm"
{return msdoskeyw(264);}
break;
case 87:
# 188 "lex.lm"
{return msdoskeyw(264);}
break;
case 88:
# 189 "lex.lm"
{return msdoskeyw(264);}
break;
case 89:
# 190 "lex.lm"
{return msdoskeyw(264);}
break;
case 90:
# 191 "lex.lm"
{return msdoskeyw(264);}
break;
case 91:
# 193 "lex.lm"
{

return(o_llkeyw)?keyw(261):identif();
}
break;
case 92:
# 198 "lex.lm"
{

return watcomkeyw(261);
}
break;
case 93:
# 202 "lex.lm"
{return watcomkeyw(264);}
break;
case 94:
# 203 "lex.lm"
{return watcomkeyw(264);}
break;
case 95:
# 204 "lex.lm"
{return watcomkeyw(264);}
break;
case 96:
# 205 "lex.lm"
{return watcomkeyw(264);}
break;
case 97:
# 206 "lex.lm"
{return watcomkeyw(264);}
break;
case 98:
# 207 "lex.lm"
{return watcomkeyw(264);}
break;
case 99:
# 208 "lex.lm"
{return watcomkeyw(264);}
break;
case 100:
# 209 "lex.lm"
{return watcomkeyw(264);}
break;
case 101:
# 210 "lex.lm"
{return watcomkeyw(264);}
break;
case 102:
# 211 "lex.lm"
{return watcomkeyw(264);}
break;
case 103:
# 212 "lex.lm"
{return watcomkeyw(264);}
break;
case 104:
# 213 "lex.lm"
{return watcomkeyw(264);}
break;
case 105:
# 214 "lex.lm"
{return watcomkeyw(264);}
break;
case 106:
# 215 "lex.lm"
{return watcomkeyw(264);}
break;
case 107:
# 216 "lex.lm"
{return watcomkeyw(264);}
break;
case 108:
# 218 "lex.lm"
{return ibmvackeyw(264);}
break;
case 109:
# 219 "lex.lm"
{return ibmvackeyw(264);}
break;
case 110:
# 220 "lex.lm"
{return ibmvackeyw(264);}
break;
case 111:
# 222 "lex.lm"
{
okblock=0;
return'(';
}
break;
case 112:
# 226 "lex.lm"
{return')';}
break;
case 113:
# 227 "lex.lm"
{return'[';}
break;
case 114:
# 228 "lex.lm"
{return']';}
break;
case 115:
# 229 "lex.lm"
{return keyw(293);}
break;
case 116:
# 230 "lex.lm"
{return'.';}
break;
case 117:
# 231 "lex.lm"
{return'!';}
break;
case 118:
# 232 "lex.lm"
{return'~';}
break;
case 119:
# 233 "lex.lm"
{return keyw(290);}
break;
case 120:
# 234 "lex.lm"
{return keyw(290);}
break;
case 121:
# 235 "lex.lm"
{return'*';}
break;
case 122:
# 236 "lex.lm"
{return'/';}
break;
case 123:
# 237 "lex.lm"
{return'%';}
break;
case 124:
# 238 "lex.lm"
{return'+';}
break;
case 125:
# 239 "lex.lm"
{return'-';}
break;
case 126:
# 240 "lex.lm"
{return keyw(289);}
break;
case 127:
# 241 "lex.lm"
{return keyw(289);}
break;
case 128:
# 242 "lex.lm"
{return keyw(288);}
break;
case 129:
# 243 "lex.lm"
{return keyw(288);}
break;
case 130:
# 244 "lex.lm"
{return keyw(288);}
break;
case 131:
# 245 "lex.lm"
{return keyw(288);}
break;
case 132:
# 246 "lex.lm"
{return keyw(287);}
break;
case 133:
# 247 "lex.lm"
{return keyw(288);}
break;
case 134:
# 248 "lex.lm"
{return'&';}
break;
case 135:
# 249 "lex.lm"
{return'^';}
break;
case 136:
# 250 "lex.lm"
{return'|';}
break;
case 137:
# 251 "lex.lm"
{return 291;}
break;
case 138:
# 252 "lex.lm"
{return 292;}
break;
case 139:
# 253 "lex.lm"
{return'?';}
break;
case 140:
# 254 "lex.lm"
{return':';}
break;
case 141:
# 255 "lex.lm"
{return'=';}
break;
case 142:
# 256 "lex.lm"
{return keyw(286);}
break;
case 143:
# 257 "lex.lm"
{return keyw(286);}
break;
case 144:
# 258 "lex.lm"
{return keyw(286);}
break;
case 145:
# 259 "lex.lm"
{return keyw(286);}
break;
case 146:
# 260 "lex.lm"
{return keyw(286);}
break;
case 147:
# 261 "lex.lm"
{return keyw(286);}
break;
case 148:
# 262 "lex.lm"
{return keyw(286);}
break;
case 149:
# 263 "lex.lm"
{return keyw(286);}
break;
case 150:
# 264 "lex.lm"
{return keyw(286);}
break;
case 151:
# 265 "lex.lm"
{return keyw(286);}
break;
case 152:
# 266 "lex.lm"
{return',';}
break;
case 153:
# 267 "lex.lm"
{return';';}
break;
case 154:
# 268 "lex.lm"
{return keyw((okblock)?(okblock=0,300):('{'));}
break;
case 155:
# 269 "lex.lm"
{return keyw('}');}
break;
case 156:
# 271 "lex.lm"
{return keyw(284);}
break;
case 157:
# 273 "lex.lm"
{return keyw(297);}
break;
case 158:
# 275 "lex.lm"
{;}
break;
case 159:
# 277 "lex.lm"
{inlineno++;}
break;
case 160:
# 279 "lex.lm"
{

yylval=mkcppdirect(yytext);
if(yylval){inlineno++;return 266;}
}
break;
case 161:
# 285 "lex.lm"
{
return tkeyw(259,t_str);
}
break;
case 162:
# 289 "lex.lm"
{
return(o_gnu)?tkeyw(259,t_str):identif();
}
break;
case 163:
# 293 "lex.lm"
{


return tkeyw(258,t_char);
}
break;
case 164:
# 299 "lex.lm"
{
return tkeyw(258,t_int);
}
break;
case 165:
# 303 "lex.lm"
{
return tkeyw(258,t_int);
}
break;
case 166:
# 307 "lex.lm"
{
return tkeyw(258,t_int);
}
break;
case 167:
# 311 "lex.lm"
{
return tkeyw(258,t_double);
}
break;
case 168:
# 315 "lex.lm"
{
return tkeyw(258,t_double);
}
break;
case 169:
# 319 "lex.lm"
{
return tkeyw(258,t_double);
}
break;
case 170:
# 323 "lex.lm"
{
return identif();
}
break;
case 171:
# 327 "lex.lm"
{;

}
break;
case 172:
# 331 "lex.lm"
{
if(o_warnlex){
char c=(yytext)[0];
warn("lex ignoring '0x%x' (%c)",(int)c,c);
}
}
break;
case 173:
# 338 "lex.lm"
(void)fwrite(yytext,yyleng,1,yyout);
break;
# 2101 "lex.yy.c"
case(174+0+1):
return 0;

case 174:
{

int yy_amount_of_matched_text=(int)(yy_cp-yytext)-1; *


yy_cp=yy_hold_char;


if(yy_current_buffer->yy_buffer_status==0)
{
# 2124 "lex.yy.c"
yy_n_chars=yy_current_buffer->yy_n_chars;
yy_current_buffer->yy_input_file=yyin;
yy_current_buffer->yy_buffer_status=1;
}
# 2136 "lex.yy.c"
if(yy_c_buf_p<= &yy_current_buffer->yy_ch_buf[yy_n_chars])
{
yy_state_type yy_next_state;

yy_c_buf_p=yytext+yy_amount_of_matched_text;

yy_current_state=yy_get_previous_state();
# 2153 "lex.yy.c"
yy_next_state=yy_try_NUL_trans(yy_current_state);

yy_bp=yytext+0;

if(yy_next_state)
{

yy_cp= ++yy_c_buf_p;
yy_current_state=yy_next_state;
goto yy_match;
}

else
{
yy_cp=yy_c_buf_p;
goto yy_find_action;
}
}

else switch(yy_get_next_buffer())
{
case 1:
{
yy_did_buffer_switch_on_eof=0;

if(yywrap())
{
# 2189 "lex.yy.c"
yy_c_buf_p=yytext+0;

yy_act=(174+((yy_start-1)/2)+1);
goto do_action;
}

else
{
if( !yy_did_buffer_switch_on_eof)
yyrestart(yyin);
}
break;
}

case 0:
yy_c_buf_p=
yytext+yy_amount_of_matched_text;

yy_current_state=yy_get_previous_state();

yy_cp=yy_c_buf_p;
yy_bp=yytext+0;
goto yy_match;

case 2:
yy_c_buf_p= &
yy_current_buffer->yy_ch_buf[yy_n_chars];

yy_current_state=yy_get_previous_state();

yy_cp=yy_c_buf_p;
yy_bp=yytext+0;
goto yy_find_action;
}
break;
}

default:
yy_fatal_error("fatal flex scanner internal error--no action found");

}
}
}

# 2242 "lex.yy.c"
static int yy_get_next_buffer()
{
register char*dest=yy_current_buffer->yy_ch_buf;
register char*source=yytext;
register int number_to_move,i;
int ret_val;

if(yy_c_buf_p> &yy_current_buffer->yy_ch_buf[yy_n_chars+1])
yy_fatal_error("fatal flex scanner internal error--end of buffer missed");


if(yy_current_buffer->yy_fill_buffer==0)
{
if(yy_c_buf_p-yytext-0==1)
{
# 2260 "lex.yy.c"
return 1;
}

else
{
# 2268 "lex.yy.c"
return 2;
}
}
# 2275 "lex.yy.c"
number_to_move=(int)(yy_c_buf_p-yytext)-1;

for(i=0;i<number_to_move; ++i) *
(dest++)= *(source++);

if(yy_current_buffer->yy_buffer_status==2)
# 2284 "lex.yy.c"
yy_current_buffer->yy_n_chars=yy_n_chars=0;

else
{
int num_to_read=
yy_current_buffer->yy_buf_size-number_to_move-1;

while(num_to_read<=0)
{
# 2299 "lex.yy.c"
YY_BUFFER_STATE b=yy_current_buffer;

int yy_c_buf_p_offset=
(int)(yy_c_buf_p-b->yy_ch_buf);

if(b->yy_is_our_buffer)
{
int new_size=b->yy_buf_size*2;

if(new_size<=0)
b->yy_buf_size+=b->yy_buf_size/8;
else
b->yy_buf_size*=2;

b->yy_ch_buf=(char*)

yy_flex_realloc((void*)b->yy_ch_buf,
b->yy_buf_size+2);
}
else

b->yy_ch_buf=0;

if( !b->yy_ch_buf)
yy_fatal_error("fatal error - scanner input buffer overflow");


yy_c_buf_p= &b->yy_ch_buf[yy_c_buf_p_offset];

num_to_read=yy_current_buffer->yy_buf_size-
number_to_move-1;

}

if(num_to_read>8192)
num_to_read=8192;


if(yy_current_buffer->yy_is_interactive){int c='*',n;for(n=0;n<num_to_read&&(c=getc(yyin))!=EOF&&c!='\n'; ++n)( &yy_current_buffer->yy_ch_buf[number_to_move])[n]=(char)c;if(c=='\n')( &yy_current_buffer->yy_ch_buf[number_to_move])[n++]=(char)c;if(c==EOF&&ferror(yyin))yy_fatal_error("input in flex scanner failed");yy_n_chars=n;}else if(((yy_n_chars=fread(( &yy_current_buffer->yy_ch_buf[number_to_move]),1,num_to_read,yyin))==0)&&ferror(yyin))yy_fatal_error("input in flex scanner failed");;


yy_current_buffer->yy_n_chars=yy_n_chars;
}

if(yy_n_chars==0)
{
if(number_to_move==0)
{
ret_val=1;
yyrestart(yyin);
}

else
{
ret_val=2;
yy_current_buffer->yy_buffer_status=
2;
}
}

else
ret_val=0;

yy_n_chars+=number_to_move;
yy_current_buffer->yy_ch_buf[yy_n_chars]=0;
yy_current_buffer->yy_ch_buf[yy_n_chars+1]=0;

yytext= &yy_current_buffer->yy_ch_buf[0];

return ret_val;
}

# 2374 "lex.yy.c"
static yy_state_type yy_get_previous_state()
{
register yy_state_type yy_current_state;
register char*yy_cp;

yy_current_state=yy_start;

for(yy_cp=yytext+0;yy_cp<yy_c_buf_p; ++yy_cp)
{
register YY_CHAR yy_c=( *yy_cp?yy_ec[((unsigned int)(unsigned char) *yy_cp)]:1);
if(yy_accept[yy_current_state])
{
yy_last_accepting_state=yy_current_state;
yy_last_accepting_cpos=yy_cp;
}
while(yy_chk[yy_base[yy_current_state]+yy_c]!=yy_current_state)
{
yy_current_state=(int)yy_def[yy_current_state];
if(yy_current_state>=700)
yy_c=yy_meta[(unsigned int)yy_c];
}
yy_current_state=yy_nxt[yy_base[yy_current_state]+(unsigned int)yy_c];
}

return yy_current_state;
}

# 2411 "lex.yy.c"
static yy_state_type yy_try_NUL_trans(yy_current_state)
yy_state_type yy_current_state;

{
register int yy_is_jam;
register char*yy_cp=yy_c_buf_p;

register YY_CHAR yy_c=1;
if(yy_accept[yy_current_state])
{
yy_last_accepting_state=yy_current_state;
yy_last_accepting_cpos=yy_cp;
}
while(yy_chk[yy_base[yy_current_state]+yy_c]!=yy_current_state)
{
yy_current_state=(int)yy_def[yy_current_state];
if(yy_current_state>=700)
yy_c=yy_meta[(unsigned int)yy_c];
}
yy_current_state=yy_nxt[yy_base[yy_current_state]+(unsigned int)yy_c];
yy_is_jam=(yy_current_state==699);

return yy_is_jam?0:yy_current_state;
}

# 2441 "lex.yy.c"
static void yyunput(c,yy_bp)
int c;
register char*yy_bp;

{
register char*yy_cp=yy_c_buf_p; *


yy_cp=yy_hold_char;

if(yy_cp<yy_current_buffer->yy_ch_buf+2)
{

register int number_to_move=yy_n_chars+2;
register char*dest= &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size+2];
register char*source= &
yy_current_buffer->yy_ch_buf[number_to_move];

while(source>yy_current_buffer->yy_ch_buf) * --
dest= * --source;

yy_cp+=(int)(dest-source);
yy_bp+=(int)(dest-source);
yy_current_buffer->yy_n_chars=
yy_n_chars=yy_current_buffer->yy_buf_size;

if(yy_cp<yy_current_buffer->yy_ch_buf+2)
yy_fatal_error("flex scanner push-back overflow");
} * --

yy_cp=(char)c;


yytext=yy_bp;
yy_hold_char= *yy_cp;
yy_c_buf_p=yy_cp;
}

# 2486 "lex.yy.c"
static int input()

{
int c; *

yy_c_buf_p=yy_hold_char;

if( *yy_c_buf_p==0)
{
# 2499 "lex.yy.c"
if(yy_c_buf_p< &yy_current_buffer->yy_ch_buf[yy_n_chars]) *

yy_c_buf_p='\0';

else
{
int offset=yy_c_buf_p-yytext; ++
yy_c_buf_p;

switch(yy_get_next_buffer())
{
case 2:
# 2522 "lex.yy.c"
yyrestart(yyin);
# 2526 "lex.yy.c"
case 1:
{
if(yywrap())
return EOF;

if( !yy_did_buffer_switch_on_eof)
yyrestart(yyin);
# 2536 "lex.yy.c"
return input();

}

case 0:
yy_c_buf_p=yytext+offset;
break;
}
}
}

c= *(unsigned char*)yy_c_buf_p; *
yy_c_buf_p='\0';
yy_hold_char= * ++yy_c_buf_p;


return c;
}

# 2559 "lex.yy.c"
void yyrestart(input_file)
FILE*input_file;

{
if( !yy_current_buffer)
yy_current_buffer=yy_create_buffer(yyin,16384);

yy_init_buffer(yy_current_buffer,input_file);
yy_load_buffer_state();
}

# 2574 "lex.yy.c"
void yy_switch_to_buffer(new_buffer)
YY_BUFFER_STATE new_buffer;

{
if(yy_current_buffer==new_buffer)
return;

if(yy_current_buffer)
{ *

yy_c_buf_p=yy_hold_char;
yy_current_buffer->yy_buf_pos=yy_c_buf_p;
yy_current_buffer->yy_n_chars=yy_n_chars;
}

yy_current_buffer=new_buffer;
yy_load_buffer_state();
# 2597 "lex.yy.c"
yy_did_buffer_switch_on_eof=1;
}

# 2604 "lex.yy.c"
void yy_load_buffer_state()

{
yy_n_chars=yy_current_buffer->yy_n_chars;
yytext=yy_c_buf_p=yy_current_buffer->yy_buf_pos;
yyin=yy_current_buffer->yy_input_file;
yy_hold_char= *yy_c_buf_p;
}

# 2617 "lex.yy.c"
YY_BUFFER_STATE yy_create_buffer(file,size)
FILE*file;
int size;

{
YY_BUFFER_STATE b;

b=(YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
if( !b)
yy_fatal_error("out of dynamic memory in yy_create_buffer()");

b->yy_buf_size=size;
# 2633 "lex.yy.c"
b->yy_ch_buf=(char*)yy_flex_alloc(b->yy_buf_size+2);
if( !b->yy_ch_buf)
yy_fatal_error("out of dynamic memory in yy_create_buffer()");

b->yy_is_our_buffer=1;

yy_init_buffer(b,file);

return b;
}

# 2648 "lex.yy.c"
void yy_delete_buffer(b)
YY_BUFFER_STATE b;

{
if( !b)
return;

if(b==yy_current_buffer)
yy_current_buffer=(YY_BUFFER_STATE)0;

if(b->yy_is_our_buffer)
yy_flex_free((void*)b->yy_ch_buf);

yy_flex_free((void*)b);
}

# 2669 "lex.yy.c"
void yy_init_buffer(b,file)
YY_BUFFER_STATE b;
FILE*file;
# 2675 "lex.yy.c"
{
yy_flush_buffer(b);

b->yy_input_file=file;
b->yy_fill_buffer=1;
# 2685 "lex.yy.c"
b->yy_is_interactive=0;
# 2690 "lex.yy.c"
}

# 2696 "lex.yy.c"
void yy_flush_buffer(b)
YY_BUFFER_STATE b;


{
if( !b)
return;

b->yy_n_chars=0;
# 2710 "lex.yy.c"
b->yy_ch_buf[0]=0;
b->yy_ch_buf[1]=0;

b->yy_buf_pos= &b->yy_ch_buf[0];

b->yy_at_bol=1;
b->yy_buffer_status=0;

if(b==yy_current_buffer)
yy_load_buffer_state();
}

# 2727 "lex.yy.c"
YY_BUFFER_STATE yy_scan_buffer(base,size)
char*base;
yy_size_t size;

{
YY_BUFFER_STATE b;

if(size<2||
base[size-2]!=0||
base[size-1]!=0)

return 0;

b=(YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state));
if( !b)
yy_fatal_error("out of dynamic memory in yy_scan_buffer()");

b->yy_buf_size=size-2;
b->yy_buf_pos=b->yy_ch_buf=base;
b->yy_is_our_buffer=0;
b->yy_input_file=0;
b->yy_n_chars=b->yy_buf_size;
b->yy_is_interactive=0;
b->yy_at_bol=1;
b->yy_fill_buffer=0;
b->yy_buffer_status=0;

yy_switch_to_buffer(b);

return b;
}

# 2765 "lex.yy.c"
YY_BUFFER_STATE yy_scan_string(yy_str)
char*yy_str;

{
int len;
for(len=0;yy_str[len]; ++len);


return yy_scan_bytes(yy_str,len);
}

# 2782 "lex.yy.c"
YY_BUFFER_STATE yy_scan_bytes(bytes,len)
char*bytes;
int len;

{
YY_BUFFER_STATE b;
char*buf;
yy_size_t n;
int i;


n=len+2;
buf=(char*)yy_flex_alloc(n);
if( !buf)
yy_fatal_error("out of dynamic memory in yy_scan_bytes()");

for(i=0;i<len; ++i)
buf[i]=bytes[i];

buf[len]=buf[len+1]=0;

b=yy_scan_buffer(buf,n);
if( !b)
yy_fatal_error("bad buffer in yy_scan_bytes()");
# 2810 "lex.yy.c"
b->yy_is_our_buffer=1;

return b;
}

# 2876 "lex.yy.c"
static void yy_fatal_error(msg)
char msg[];

{
(void)fprintf(stderr,"%s\n",msg);
exit(2);
}

# 2940 "lex.yy.c"
static void*yy_flex_alloc(size)
yy_size_t size;

{
return(void*)malloc(size);
}

# 2950 "lex.yy.c"
static void*yy_flex_realloc(ptr,size)
void*ptr;
yy_size_t size;

{
# 2962 "lex.yy.c"
return(void*)realloc((char*)ptr,size);
}

# 2968 "lex.yy.c"
static void yy_flex_free(ptr)
void*ptr;

{
free(ptr);
}

# 345 "lex.lm"
void yyerror(char*str)
{
fatal("%s \"%s\"",str,yytext);
}

# 353 "lex.lm"
int yywrap(){return 1;}

# 59 "../oclib/symbol.h"
extern id  Symbol;

# 356 "lex.lm"
int identif(void)
{
id objcT2;

# 358 "lex.lm"
yylval=(objcT2=Symbol,(*(id(*)(id,SEL,char*,int,id))_imp(objcT2,selTransTbl[1]))(objcT2,selTransTbl[1],yytext,inlineno,infilename));
if( !o_duptypedefs){
if(isbuiltinfun(yylval))return 260;
if(istypeword(yylval))return 261;
}
return 257;
}

# 22 "../oclib/stclass.h"
extern id  Storageclass;

# 366 "lex.lm"
int keyw(int x)
{
if(x==262||x==263||x==265||x==301){
id objcT3;

# 369 "lex.lm"
yylval=(objcT3=Storageclass,(*(id(*)(id,SEL,char*,int,id))_imp(objcT3,selTransTbl[1]))(objcT3,selTransTbl[1],yytext,inlineno,infilename));
}else{
id objcT4;

# 371 "lex.lm"
yylval=(objcT4=Symbol,(*(id(*)(id,SEL,char*,int,id))_imp(objcT4,selTransTbl[1]))(objcT4,selTransTbl[1],yytext,inlineno,infilename));
}
return x;
}

int tkeyw(int x,id t)
{
id objcT5,objcT6;

# 378 "lex.lm"
yylval=(objcT5=Symbol,(*(id(*)(id,SEL,char*,int,id))_imp(objcT5,selTransTbl[1]))(objcT5,selTransTbl[1],yytext,inlineno,infilename));
(objcT6=yylval,(*_imp(objcT6,selTransTbl[2]))(objcT6,selTransTbl[2],t));
return x;
}

int gnukeyw(int x)
{
return(o_gnu)?keyw(x):identif();
}

int msdoskeyw(int x)
{
return(o_msdos)?keyw(x):identif();
}

int watcomkeyw(int x)
{
return(o_watcom)?keyw(x):identif();
}

int ibmvackeyw(int x)
{
return(o_ibmvac)?keyw(x):identif();
}
static char *_selTransTbl[] ={
"str:",
"str:lineno:filename:",
"type:",
0
};
struct modDescriptor lex_modDesc = {
  "lex",
  "objc3.2.8",
  0L,
  0,
  0,
  0,
  3,
  _selTransTbl,
  0
};
struct modDescriptor *_OBJCBIND_lex(void)
{
  selTransTbl = _selTransTbl;
  return &lex_modDesc;
}
int _OBJCPOSTLINK_lex = 1;




syntax highlighted by Code2HTML, v. 0.9.1