/* OPERACION COMMIT EN BASES DE DATOS */
/* ---------------------------------------------------*/
/* -- Programa: commit.lex ----*/
/* -- TEcnica: Dirigida por la sintAxis ----*/
/* -- Programador: J. Rafael R. ochoa ----*/
/*----------------------------------------------------*/
%{
#include "y.tab.h"
%}
st [ \t]
blank ({st})
let [a-zA-Z]
numlet [a-zA-Z0-9_-]
numero ([0-9]+)
texto ({let}+{numlet}*)
todo (\<[^\>]*\>)
%%
"*" {return ASTERISCO;}
"'" {return APOSTROFE;}
"," {return COMA;}
"=" {return IGUAL;}
"\n" {return LINEA;}
"(" {return LEFT;}
")" {return RIGHT;}
"\\Q" {return SALIR;}
"\\q" {return SALIR;}
"\\G" {return GO;}
"\\g" {return GO;}
"INSERT" {return INSERT;}
"INTO" {return INTO;}
"VALUES" {return VALUES;}
"BEGIN" {return BEGINX;}
"DELETE" {return DELETE;}
"FROM" {return FROM;}
"WHERE" {return WHERE;}
"SELECT" {return SELECT;}
"UPDATE" {return UPDATE;}
"CREATE" {return CREATE;}
"TABLE" {return TABLE;}
"DROP" {return DROP;}
"NOT_NULL" {return NOT_NULL;}
"SET" {return SET;}
"AND" {return AND;}
"OR" {return OR;}
"CHAR" {return CHAR;}
"INT" {return INT;}
"COMMIT" {return COMMIT;}
"ROLLBACK" {return ROLLBACK;}
"TRANSACTION" {return TRANSACTION;}
"transaction" {return TRANSACTION;}
"begin" {return BEGINX;}
"insert" {return INSERT;}
"into" {return INTO;}
"values" {return VALUES;}
"delete" {return DELETE;}
"from" {return FROM;}
"where" {return WHERE;}
"select" {return SELECT;}
"update" {return UPDATE;}
"create" {return CREATE;}
"table" {return TABLE;}
"drop" {return DROP;}
"not_null" {return NOT_NULL;}
"set" {return SET;}
"and" {return AND;}
"or" {return OR;}
"char" {return CHAR;}
"int" {return INT;}
"commit" {return COMMIT;}
"rollback" {return ROLLBACK;}
{numero} { sprintf(yylval.str, "%s", yytext);
return NUMERO;
}
{texto} { sprintf(yylval.str, "%s",yytext);
return TEXTO;
}
. { ; }
%%
int yywrap() { return(1); }