%{
/* definitions */

%}

ws		[ \n\t]+
real		[0-9]+.[0-9]+
integer		[0-9]+
id		[a-zA-Z][a-zA-Z0-9\-]*
comment		^#*$
ipadd		"([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})"
types		"(ping|tcp|udp|snmp|nntp|smtp|imap|pop3|x500|pop2|bootp|dns|www|https|sysmon|sshd|ircd|radius)"
nl		\n

%%

{ws}            ;
{ip} 		{printf("found an ip line and that ip is %s\n",yytext); }
{contact} 	{printf("found a contact, and it is %s",yytext); }
{object}	{printf("found a object, and the name is %s", yytext);}
{desc}		{printf("found a description, and it is %s", yytext);}
{type}		{printf("found a type, and it is %s",yytext);}
{child}		{printf("found a child declaration, and it is %s\n",yytext);}
{dep}		{printf("found a dependency, and it is %s\n",yytext);}
{page}		{printf("found a page contact, and it is %s\n",yytext);}
{also-notify}	{printf("found someone else to notify, and it is %s\n",yytext);}
.		{printf("DONT KNOW:%s\n", yytext); }

%%


/* User defined functions go here, this is neato */

int yywrap()
{
	return 0;
}

#ifdef JARED
int main()
{
	yylex();
}
#endif /* JARED */
