i am running this code but i am geting few errors .as shown in the imagelexical analyzer code error-17-03-2013-6-51-43-pm-jpg
Code:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <string>






using namespace System;


#define T_SEMICOLON ';'
#define T_LPAREN '('
#define T_RPAREN ')'
#define T_ASSIGN '='
#define T_DIVIDE '/'


#define T_WHILE 257
#define T_IF 258
#define T_RETURN 259


#define T_IDENTIFIER 268
#define T_INTEGER 269
#define T_DOUBLE 270
#define T_STRING 271


#define T_END 349
#define T_UNKNOWN 350




struct token_t {
	int type;
	union{
		char stringValue [256];
		int intValue;
		double doubleValue;
	} val;
};
//array<System::String ^> ^args
int main(int argc,char *argv[])
{
    
	
	struct token_t token; 
	InitScanner();
	while (ScanOneToken(stdin, &token) !=T_END);
	
		
		
	
	return 0;
	
}
static void InitScanner()
{
create_reserved_table();
insert_reserved("WHILE",T_WHILE)
insert_reserved("IF",T_IF)
insert_reserved("RETURN",T_RETURN)
}
static int ScanOneToken(FILE *fp,struct token_t *token)
{
	int i,ch,nextch;
	ch =getc(fp);
	while (isspace(ch))
		ch = getc(fp);
	switch(ch)
	{
	case'/':
		nextch=getc(fp);
		if(nextch=='/'|| nextch =='*');
		else
			ungetc(nextch,fp););
	case';':case',':case'=':
		token->type =ch;
		return ch;


	case 'A':case'B':case'C':case'D':case'E':case'F':case'G':case'H':case 'I':case'J':case'K':case'L':case'M':case'N':case'O':case'P':
	case 'Q':case'R':case'S':case'T':case'U':case'V':case'W':case'X':case'Y':case'Z':
		token->val.stringValue[0]=ch;
		for (i=1;isupper(ch =getc(fp));i++)
			token->type =lookup_reserved(token->val.stringValue);
		return token->type;
    case 'a':case'b':case'c':case'd':case'e':case'f':case'g':case'h':case 'i':case'j':case'k':case'l':case'm':case'n':case'o':case'p':
	case 'q':case'r':case's':case't':case'u':case'v':case'w':case'x':case'y':case'z':
			token->type = T_IDENTIFIER;
			token->val.stringValue[0] = ch;
			for (i=1; islower(ch= getc(fp));i++)
				token->val.stringValue[i]=ch;
			ungetc(ch,fp);
			token->val.stringValue[i] ='\0';
			if (lookup_symtab(token->val.stringValue)==NULL)
				add_symtab(token->val.stringValue);
			return T_IDENTIFIER;
			case '0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case '8':case'9':
				token->type=T_INTEGER;
				token->val.intValue = ch -'0';
				while (isdigit(ch = getc(fp)))
					token->val.intValue = token->val.intValue*10+ch-'0';
				ungetc(ch,fp);
				return  T_INTEGER;


			case EOF:
				return T_END;
				
			default:
				token->val.intValue = ch;
				token->type = T_UNKNOWN;
				return T_UNKNOWN;
	}
}