www.pudn.com > subpas.rar > scan.c


/**************************************************************************** 
*                     U N R E G I S T E R E D   C O P Y 
*  
* You are on day 23 of your 30 day trial period. 
*  
* This file was produced by an UNREGISTERED COPY of Parser Generator. It is 
* for evaluation purposes only. If you continue to use Parser Generator 30 
* days after installation then you are required to purchase a license. For 
* more information see the online help or go to the Bumble-Bee Software 
* homepage at: 
*  
* http://www.bumblebeesoftware.com 
*  
* This notice must remain present in the file. It cannot be removed. 
****************************************************************************/ 
 
/**************************************************************************** 
* scan.c 
* C source file generated from scan.l. 
*  
* Date: 07/23/05 
* Time: 00:29:57 
*  
* ALex Version: 2.07 
****************************************************************************/ 
 
#include  
 
/* namespaces */ 
#if defined(__cplusplus) && defined(YYSTDCPPLIB) 
using namespace std; 
#endif 
#if defined(__cplusplus) && defined(YYNAMESPACE) 
using namespace yl; 
#endif 
 
#define YYFASTLEXER 
 
#line 6 ".\\scan.l" 
 
#include "globals.h" 
#include "util.h" 
#include "scan.h" 
#include "parse.h" 
 
char tokenString[MAXTOKENLEN+1]; 
 
#line 49 "scan.c" 
/* repeated because of possible precompiled header */ 
#include  
 
/* namespaces */ 
#if defined(__cplusplus) && defined(YYSTDCPPLIB) 
using namespace std; 
#endif 
#if defined(__cplusplus) && defined(YYNAMESPACE) 
using namespace yl; 
#endif 
 
#define YYFASTLEXER 
 
#include ".\scan.h" 
 
#ifndef YYTEXT_SIZE 
#define YYTEXT_SIZE 100 
#endif 
#ifndef YYUNPUT_SIZE 
#define YYUNPUT_SIZE YYTEXT_SIZE 
#endif 
#ifndef YYTEXT_MAX 
#define YYTEXT_MAX 0 
#endif 
#ifndef YYUNPUT_MAX 
#define YYUNPUT_MAX YYTEXT_MAX 
#endif 
 
/* yytext */ 
static char YYNEAR yysatext[(YYTEXT_SIZE) + 1];		/* extra char for \0 */ 
char YYFAR *YYNEAR YYDCDECL yystext = yysatext; 
char YYFAR *YYNEAR YYDCDECL yytext = yysatext; 
int YYNEAR YYDCDECL yystext_size = (YYTEXT_SIZE); 
int YYNEAR YYDCDECL yytext_size = (YYTEXT_SIZE); 
int YYNEAR YYDCDECL yytext_max = (YYTEXT_MAX); 
 
/* yystatebuf */ 
#if (YYTEXT_SIZE) != 0 
static int YYNEAR yysastatebuf[(YYTEXT_SIZE)]; 
int YYFAR *YYNEAR YYDCDECL yysstatebuf = yysastatebuf; 
int YYFAR *YYNEAR YYDCDECL yystatebuf = yysastatebuf; 
#else 
int YYFAR *YYNEAR YYDCDECL yysstatebuf = NULL; 
int YYFAR *YYNEAR YYDCDECL yystatebuf = NULL; 
#endif 
 
/* yyunputbuf */ 
#if (YYUNPUT_SIZE) != 0 
static int YYNEAR yysaunputbuf[(YYUNPUT_SIZE)]; 
int YYFAR *YYNEAR YYDCDECL yysunputbufptr = yysaunputbuf; 
int YYFAR *YYNEAR YYDCDECL yyunputbufptr = yysaunputbuf; 
#else 
int YYFAR *YYNEAR YYDCDECL yysunputbufptr = NULL; 
int YYFAR *YYNEAR YYDCDECL yyunputbufptr = NULL; 
#endif 
int YYNEAR YYDCDECL yysunput_size = (YYUNPUT_SIZE); 
int YYNEAR YYDCDECL yyunput_size = (YYUNPUT_SIZE); 
int YYNEAR YYDCDECL yyunput_max = (YYUNPUT_MAX); 
 
/* backwards compatability with lex */ 
#ifdef input 
#ifdef YYPROTOTYPE 
int YYCDECL yyinput(void) 
#else 
int YYCDECL yyinput() 
#endif 
{ 
	return input(); 
} 
#else 
#define input yyinput 
#endif 
 
#ifdef output 
#ifdef YYPROTOTYPE 
void YYCDECL yyoutput(int ch) 
#else 
void YYCDECL yyoutput(ch) 
int ch; 
#endif 
{ 
	output(ch); 
} 
#else 
#define output yyoutput 
#endif 
 
#ifdef unput 
#ifdef YYPROTOTYPE 
void YYCDECL yyunput(int ch) 
#else 
void YYCDECL yyunput(ch) 
int ch; 
#endif 
{ 
	unput(ch); 
} 
#else 
#define unput yyunput 
#endif 
 
#ifndef YYNBORLANDWARN 
#ifdef __BORLANDC__ 
#pragma warn -rch		/*  off */ 
#endif 
#endif 
 
#ifdef YYPROTOTYPE 
int YYCDECL yylexeraction(int action) 
#else 
int YYCDECL yylexeraction(action) 
int action; 
#endif 
{ 
	yyreturnflg = YYTRUE; 
	switch (action) { 
	case 1: 
		{ 
#line 32 ".\\scan.l" 
return AND; 
#line 170 "scan.c" 
		} 
		break; 
	case 2: 
		{ 
#line 33 ".\\scan.l" 
return ARRAY; 
#line 177 "scan.c" 
		} 
		break; 
	case 3: 
		{ 
#line 34 ".\\scan.l" 
return MYBEGIN; 
#line 184 "scan.c" 
		} 
		break; 
	case 4: 
		{ 
#line 35 ".\\scan.l" 
return BOOLEAN; 
#line 191 "scan.c" 
		} 
		break; 
	case 5: 
		{ 
#line 36 ".\\scan.l" 
return DO; 
#line 198 "scan.c" 
		} 
		break; 
	case 6: 
		{ 
#line 37 ".\\scan.l" 
return ELSE; 
#line 205 "scan.c" 
		} 
		break; 
	case 7: 
		{ 
#line 38 ".\\scan.l" 
return END; 
#line 212 "scan.c" 
		} 
		break; 
	case 8: 
		{ 
#line 39 ".\\scan.l" 
return MYFALSE; 
#line 219 "scan.c" 
		} 
		break; 
	case 9: 
		{ 
#line 40 ".\\scan.l" 
return FUNCTION; 
#line 226 "scan.c" 
		} 
		break; 
	case 10: 
		{ 
#line 41 ".\\scan.l" 
return IF; 
#line 233 "scan.c" 
		} 
		break; 
	case 11: 
		{ 
#line 42 ".\\scan.l" 
return INTEGER; 
#line 240 "scan.c" 
		} 
		break; 
	case 12: 
		{ 
#line 43 ".\\scan.l" 
return NOT; 
#line 247 "scan.c" 
		} 
		break; 
	case 13: 
		{ 
#line 44 ".\\scan.l" 
return OF; 
#line 254 "scan.c" 
		} 
		break; 
	case 14: 
		{ 
#line 45 ".\\scan.l" 
return OR; 
#line 261 "scan.c" 
		} 
		break; 
	case 15: 
		{ 
#line 46 ".\\scan.l" 
return PROCEDURE; 
#line 268 "scan.c" 
		} 
		break; 
	case 16: 
		{ 
#line 47 ".\\scan.l" 
return PROGRAM; 
#line 275 "scan.c" 
		} 
		break; 
	case 17: 
		{ 
#line 48 ".\\scan.l" 
return REAL; 
#line 282 "scan.c" 
		} 
		break; 
	case 18: 
		{ 
#line 49 ".\\scan.l" 
return THEN; 
#line 289 "scan.c" 
		} 
		break; 
	case 19: 
		{ 
#line 50 ".\\scan.l" 
return MYTRUE; 
#line 296 "scan.c" 
		} 
		break; 
	case 20: 
		{ 
#line 51 ".\\scan.l" 
return VAR; 
#line 303 "scan.c" 
		} 
		break; 
	case 21: 
		{ 
#line 52 ".\\scan.l" 
return WHILE; 
#line 310 "scan.c" 
		} 
		break; 
	case 22: 
		{ 
#line 53 ".\\scan.l" 
return SEMI; 
#line 317 "scan.c" 
		} 
		break; 
	case 23: 
		{ 
#line 54 ".\\scan.l" 
return COMMA; 
#line 324 "scan.c" 
		} 
		break; 
	case 24: 
		{ 
#line 55 ".\\scan.l" 
return COLON; 
#line 331 "scan.c" 
		} 
		break; 
	case 25: 
		{ 
#line 56 ".\\scan.l" 
return LP; 
#line 338 "scan.c" 
		} 
		break; 
	case 26: 
		{ 
#line 57 ".\\scan.l" 
return RP; 
#line 345 "scan.c" 
		} 
		break; 
	case 27: 
		{ 
#line 58 ".\\scan.l" 
return LSP; 
#line 352 "scan.c" 
		} 
		break; 
	case 28: 
		{ 
#line 59 ".\\scan.l" 
return RSP; 
#line 359 "scan.c" 
		} 
		break; 
	case 29: 
		{ 
#line 60 ".\\scan.l" 
return DOT; 
#line 366 "scan.c" 
		} 
		break; 
	case 30: 
		{ 
#line 61 ".\\scan.l" 
return ASSIGNOP; 
#line 373 "scan.c" 
		} 
		break; 
	case 31: 
		{ 
#line 62 ".\\scan.l" 
return EQ; 
#line 380 "scan.c" 
		} 
		break; 
	case 32: 
		{ 
#line 63 ".\\scan.l" 
return NE; 
#line 387 "scan.c" 
		} 
		break; 
	case 33: 
		{ 
#line 64 ".\\scan.l" 
return LT; 
#line 394 "scan.c" 
		} 
		break; 
	case 34: 
		{ 
#line 65 ".\\scan.l" 
return LE; 
#line 401 "scan.c" 
		} 
		break; 
	case 35: 
		{ 
#line 66 ".\\scan.l" 
return GT; 
#line 408 "scan.c" 
		} 
		break; 
	case 36: 
		{ 
#line 67 ".\\scan.l" 
return GE; 
#line 415 "scan.c" 
		} 
		break; 
	case 37: 
		{ 
#line 68 ".\\scan.l" 
return PLUS; 
#line 422 "scan.c" 
		} 
		break; 
	case 38: 
		{ 
#line 69 ".\\scan.l" 
return MINUS; 
#line 429 "scan.c" 
		} 
		break; 
	case 39: 
		{ 
#line 70 ".\\scan.l" 
return TIMES; 
#line 436 "scan.c" 
		} 
		break; 
	case 40: 
		{ 
#line 71 ".\\scan.l" 
return OVER; 
#line 443 "scan.c" 
		} 
		break; 
	case 41: 
		{ 
#line 72 ".\\scan.l" 
return DIV; 
#line 450 "scan.c" 
		} 
		break; 
	case 42: 
		{ 
#line 73 ".\\scan.l" 
return MOD; 
#line 457 "scan.c" 
		} 
		break; 
	case 43: 
		{ 
#line 74 ".\\scan.l" 
return NUM; 
#line 464 "scan.c" 
		} 
		break; 
	case 44: 
		{ 
#line 75 ".\\scan.l" 
return REALNUM; 
#line 471 "scan.c" 
		} 
		break; 
	case 45: 
		{ 
#line 76 ".\\scan.l" 
return ID; 
#line 478 "scan.c" 
		} 
		break; 
	case 46: 
		{ 
#line 77 ".\\scan.l" 
lineno++; 
#line 485 "scan.c" 
		} 
		break; 
	case 47: 
		{ 
#line 78 ".\\scan.l" 
/* skip whitespace */ 
#line 492 "scan.c" 
		} 
		break; 
	case 48: 
		{ 
#line 79 ".\\scan.l" 
 char c; 
                  do 
                  { c = yyinput(); 
                    if (c == EOF) return ERROR; 
                    if (c == '\n') lineno++; 
                  } while (c != '}'); 
                 
#line 505 "scan.c" 
		} 
		break; 
	case 49: 
		{ 
#line 86 ".\\scan.l" 
return ERROR; 
#line 512 "scan.c" 
		} 
		break; 
	default: 
		yyassert(0); 
		break; 
	} 
	yyreturnflg = YYFALSE; 
	return 0; 
} 
 
#ifndef YYNBORLANDWARN 
#ifdef __BORLANDC__ 
#pragma warn .rch		/*  to the old state */ 
#endif 
#endif 
YYCONST yymatch_t YYNEARFAR YYBASED_CODE YYDCDECL yymatch[] = { 
	0 
}; 
 
int YYNEAR YYDCDECL yytransitionmax = 246; 
YYCONST yytransition_t YYNEARFAR YYBASED_CODE YYDCDECL yytransition[] = { 
	{ 0, 0 }, 
	{ 4, 1 }, 
	{ 5, 1 }, 
	{ 4, 4 }, 
	{ 57, 31 }, 
	{ 51, 27 }, 
	{ 53, 28 }, 
	{ 61, 34 }, 
	{ 45, 24 }, 
	{ 47, 25 }, 
	{ 49, 26 }, 
	{ 59, 32 }, 
	{ 50, 26 }, 
	{ 60, 33 }, 
	{ 54, 28 }, 
	{ 48, 25 }, 
	{ 58, 31 }, 
	{ 62, 34 }, 
	{ 46, 24 }, 
	{ 91, 78 }, 
	{ 40, 17 }, 
	{ 41, 17 }, 
	{ 42, 19 }, 
	{ 92, 78 }, 
	{ 4, 1 }, 
	{ 52, 27 }, 
	{ 4, 4 }, 
	{ 43, 23 }, 
	{ 63, 35 }, 
	{ 64, 36 }, 
	{ 66, 43 }, 
	{ 44, 23 }, 
	{ 6, 1 }, 
	{ 7, 1 }, 
	{ 8, 1 }, 
	{ 9, 1 }, 
	{ 10, 1 }, 
	{ 11, 1 }, 
	{ 12, 1 }, 
	{ 13, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 14, 1 }, 
	{ 15, 1 }, 
	{ 16, 1 }, 
	{ 17, 1 }, 
	{ 18, 1 }, 
	{ 19, 1 }, 
	{ 67, 44 }, 
	{ 68, 45 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 21, 1 }, 
	{ 69, 46 }, 
	{ 22, 1 }, 
	{ 70, 47 }, 
	{ 71, 49 }, 
	{ 72, 50 }, 
	{ 23, 1 }, 
	{ 24, 1 }, 
	{ 20, 1 }, 
	{ 25, 1 }, 
	{ 26, 1 }, 
	{ 27, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 28, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 29, 1 }, 
	{ 30, 1 }, 
	{ 31, 1 }, 
	{ 32, 1 }, 
	{ 20, 1 }, 
	{ 33, 1 }, 
	{ 20, 1 }, 
	{ 34, 1 }, 
	{ 20, 1 }, 
	{ 35, 1 }, 
	{ 36, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 20, 1 }, 
	{ 37, 1 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 73, 51 }, 
	{ 74, 52 }, 
	{ 75, 54 }, 
	{ 76, 55 }, 
	{ 77, 56 }, 
	{ 78, 59 }, 
	{ 79, 60 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 80, 61 }, 
	{ 81, 62 }, 
	{ 82, 63 }, 
	{ 83, 64 }, 
	{ 55, 29 }, 
	{ 84, 67 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 20, 118 }, 
	{ 38, 14 }, 
	{ 85, 68 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 14, 14 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 65, 65 }, 
	{ 86, 69 }, 
	{ 87, 71 }, 
	{ 88, 73 }, 
	{ 89, 74 }, 
	{ 90, 75 }, 
	{ 56, 30 }, 
	{ 93, 79 }, 
	{ 94, 80 }, 
	{ 95, 81 }, 
	{ 96, 83 }, 
	{ 97, 84 }, 
	{ 98, 85 }, 
	{ 99, 86 }, 
	{ 100, 88 }, 
	{ 101, 89 }, 
	{ 102, 90 }, 
	{ 103, 91 }, 
	{ 104, 92 }, 
	{ 105, 96 }, 
	{ 106, 99 }, 
	{ 107, 101 }, 
	{ 108, 102 }, 
	{ 109, 103 }, 
	{ 110, 104 }, 
	{ 111, 106 }, 
	{ 112, 107 }, 
	{ 113, 108 }, 
	{ 114, 109 }, 
	{ 115, 110 }, 
	{ 116, 112 }, 
	{ 117, 114 }, 
	{ 118, 117 }, 
	{ 39, 15 } 
}; 
 
YYCONST yystate_t YYNEARFAR YYBASED_CODE YYDCDECL yystate[] = { 
	{ 0, 0, 0 }, 
	{ -3, -8, 0 }, 
	{ 1, 0, 0 }, 
	{ 0, 0, 49 }, 
	{ 0, -6, 47 }, 
	{ 0, 0, 46 }, 
	{ 0, 0, 25 }, 
	{ 0, 0, 26 }, 
	{ 0, 0, 39 }, 
	{ 0, 0, 37 }, 
	{ 0, 0, 23 }, 
	{ 0, 0, 38 }, 
	{ 0, 0, 29 }, 
	{ 0, 0, 40 }, 
	{ 0, 145, 43 }, 
	{ 0, 184, 24 }, 
	{ 0, 0, 22 }, 
	{ 0, -41, 33 }, 
	{ 0, 0, 31 }, 
	{ 0, -39, 35 }, 
	{ 118, 0, 45 }, 
	{ 0, 0, 27 }, 
	{ 0, 0, 28 }, 
	{ 118, -83, 45 }, 
	{ 118, -93, 45 }, 
	{ 118, -96, 45 }, 
	{ 118, -98, 45 }, 
	{ 118, -92, 45 }, 
	{ 118, -96, 45 }, 
	{ 118, 52, 45 }, 
	{ 118, 107, 45 }, 
	{ 118, -98, 45 }, 
	{ 118, -103, 45 }, 
	{ 118, -88, 45 }, 
	{ 118, -97, 45 }, 
	{ 118, -69, 45 }, 
	{ 118, -75, 45 }, 
	{ 0, 0, 48 }, 
	{ 65, 0, 0 }, 
	{ 0, 0, 30 }, 
	{ 0, 0, 34 }, 
	{ 0, 0, 32 }, 
	{ 0, 0, 36 }, 
	{ 118, -70, 45 }, 
	{ 118, -59, 45 }, 
	{ 118, -47, 45 }, 
	{ 118, -27, 45 }, 
	{ 118, -32, 45 }, 
	{ 118, 0, 5 }, 
	{ 118, -28, 45 }, 
	{ 118, -12, 45 }, 
	{ 118, 18, 45 }, 
	{ 118, 17, 45 }, 
	{ 118, 0, 10 }, 
	{ 118, 12, 45 }, 
	{ 118, 29, 45 }, 
	{ 118, 14, 45 }, 
	{ 118, 0, 13 }, 
	{ 118, 0, 14 }, 
	{ 118, 20, 45 }, 
	{ 118, 35, 45 }, 
	{ 118, 58, 45 }, 
	{ 118, 43, 45 }, 
	{ 118, 47, 45 }, 
	{ 118, 57, 45 }, 
	{ 0, 155, 44 }, 
	{ 118, 0, 1 }, 
	{ 118, 67, 45 }, 
	{ 118, 87, 45 }, 
	{ 118, 105, 45 }, 
	{ 118, 0, 41 }, 
	{ 118, 113, 45 }, 
	{ 118, 0, 7 }, 
	{ 118, 100, 45 }, 
	{ 118, 117, 45 }, 
	{ 118, 116, 45 }, 
	{ 118, 0, 42 }, 
	{ 118, 0, 12 }, 
	{ 118, -80, 45 }, 
	{ 118, 111, 45 }, 
	{ 118, 110, 45 }, 
	{ 118, 120, 45 }, 
	{ 118, 0, 20 }, 
	{ 118, 114, 45 }, 
	{ 118, 102, 45 }, 
	{ 118, 114, 45 }, 
	{ 118, 124, 45 }, 
	{ 118, 0, 6 }, 
	{ 118, 125, 45 }, 
	{ 118, 111, 45 }, 
	{ 118, 125, 45 }, 
	{ 118, 128, 45 }, 
	{ 118, 116, 45 }, 
	{ 118, 0, 17 }, 
	{ 118, 0, 18 }, 
	{ 118, 0, 19 }, 
	{ 118, 130, 45 }, 
	{ 118, 0, 2 }, 
	{ 118, 0, 3 }, 
	{ 118, 135, 45 }, 
	{ 118, 0, 8 }, 
	{ 118, 128, 45 }, 
	{ 118, 133, 45 }, 
	{ 118, 135, 45 }, 
	{ 118, 139, 45 }, 
	{ 118, 0, 21 }, 
	{ 118, 127, 45 }, 
	{ 118, 127, 45 }, 
	{ 118, 125, 45 }, 
	{ 118, 123, 45 }, 
	{ 118, 132, 45 }, 
	{ 118, 0, 4 }, 
	{ 118, 132, 45 }, 
	{ 118, 0, 11 }, 
	{ 118, 129, 45 }, 
	{ 118, 0, 16 }, 
	{ 118, 0, 9 }, 
	{ 118, 143, 45 }, 
	{ 0, 68, 15 } 
}; 
 
YYCONST yybackup_t YYNEARFAR YYBASED_CODE YYDCDECL yybackup[] = { 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0, 
	0 
}; 
 
#line 88 ".\\scan.l" 
 
 
TokenType getToken(void) 
{ static int firstTime = TRUE; 
  TokenType currentToken; 
  if (firstTime) 
  { firstTime = FALSE; 
    lineno++; 
    yyin = source; 
    yyout = listing; 
  } 
  currentToken = yylex(); 
  if(currentToken == ERROR){ 
	printf("error: Unknown character:%s.\n",lineno,yytext); 
	Error = TRUE; 
  } 
  if(currentToken==ID || currentToken==NUM || currentToken==REALNUM)  
	strncpy(tokenString,yytext,MAXTOKENLEN); 
  if (TraceScan) { 
    fprintf(listing,"\t%d: ",lineno); 
    printToken(currentToken,yytext); 
  }    
  return currentToken; 
}