/*

File:		yt_unique_datalog.l
Purpose:	yt_unique_datalog grammer lexem definition.
Author: 	Anouar Lachheb.
ST-Tunis - Test Solutions Competence Center.
Date:		05/Mai/2006
Project:	YieldTracker.
Version:	1.0.0

*/

%{

#include "yt_unique_datalog.h"
#include "yt_unique_datalog_yacc.h"
#include "yt_allocProc.h"
#include "gpl_string.h"

%}

%option nounput
%option noyywrap

sep 						[|=]

TD_I						"TD_"[0-9]+
TD_I_N_Y					"<""/"?"TD_"[0-9]+"_"[NY]("_"[0-9]+)?">"
alpha_num					[\[\]_/A-Za-z0-9:\.\-]

%%

\n							{line_no++;}

{sep}						{return yytext[0];}

"<ID_TAG>"					{
								yt_unique_datalog_lval._string = strdup (yytext);
								if ( yt_unique_datalog_lval._string == NULL )
									(void) yt_AllocError();
								printf ("ID_TAG = %s\n", yytext);
								return (ID_TAG);
							}
"</ID_TAG>"					{return (SLASH_ID_TAG);}
"LOT_ID"					{return (LOT_ID);}
"SBLOT_ID"					{return (SBLOT_ID);}
"PART_TYP"					{return (PART_TYP);}
"START_T"					{return (START_T);}
"TST_TEMP"					{return (TST_TEMP);}
"JOB_NAM"					{return (JOB_NAM);}
"JOB_REV"					{return (JOB_REV);}
"FLOOR_ID"					{return (FLOOR_ID);}
"FLOW_ID"					{return (FLOW_ID);}
"<DIE_ID>"					{return (DIE_ID);}
"</DIE_ID>"					{return (SLASH_DIE_ID);}
"X_COORD"					{return (X_COORD);}
"Y_COORD"					{return (Y_COORD);}
"PART_ID"					{return (PART_ID);}
"SITE_NUM"					{return (SITE_NUM);}
"PART_FLG"					{return (PART_FLG);}

{TD_I} 						{
								yt_unique_datalog_lval._string = strdup (yytext);
								if ( yt_unique_datalog_lval._string == NULL )
									(void) yt_AllocError();
								printf ("TD_I = %s\n", yytext);
								return TD_I;
							}
							
{TD_I_N_Y}					{
								yt_unique_datalog_lval._string = strdup (yytext);
								if ( yt_unique_datalog_lval._string == NULL )
									(void) yt_AllocError();
								printf ("TD_I_N_Y = %s\n", yytext);
								return TD_I_N_Y;
							}

{alpha_num}+				{
								yt_unique_datalog_lval._string = strdup (yytext);
								if ( yt_unique_datalog_lval._string == NULL )
									(void) yt_AllocError();
								printf ("ALPHANUM = %s\n", yytext);
								return ALPHANUM;
							}

.							{/* Escape any other char */}


%%
