C	[%!$&\'\(\)\*\+,\-./0-9;=?A-Za-z_]
L	[a-zA-ZφδεΦΔΕ0-9_]

%{

/*
C	[a-zA-Z0-9φδεΦΔΕ\\\*=$%£&/!\^\~;:.,\?\{\}\(\)\[\]\<\>\-\+\*\|\'\`]
*/
/*
"\ "\\*=$%£&/!\^~;:.,?\{\}\(\)\[\]\<\>-+*\|\'\`]
typedef union {
	char* s;
	}  YYSTYPE;
extern YYSTYPE yylval;


"/"({C}|{PC})+ {
  return (TNAME);
}

*/


#define YY_DECL int db_scan(void)


#define YYDEBUG

#include "conf_yacc.h"
#include <string.h>

long db_lineno=1;

%}

%%

"@@db_spec" {
  return (TDBSPEC);
}

"@@"({L}+) {
  return (TUNKNOWN);
}

"#"[^\n]*"\n" {
  db_lineno++;
}

({C})+ {

 error(230," %s \n",yytext);

 return (TID);
}

[" "\t] {}

"\n" {
 db_lineno++;
 return (TNEWLINE);
}

[^\n] {
 return (TERROR);
}

<<EOF>> {
	return (TEOF);
	}
	

%%

int dbwrap(){
  return 1;
}

void db_buff(FILE* f){

 yy_switch_to_buffer(yy_create_buffer( f, YY_BUF_SIZE ) );

}
