%{

#define YY_NO_UNPUT

#include <stdlib.h>
#include <string.h>
#include "pofiles.h"

int lastToken;

int lineno = 0;
%}

%option noyywrap

%%

[ ]*[\n]	;
msgid		{
		    lastToken = T_MSGID;
		    return T_MSGID;
		}
msgid_plural	{
		    lastToken = T_MSGIDPLURAL;
		    return T_MSGIDPLURAL;
		}
msgstr\[[0-9]+\]	{
		    lastToken = T_MSGSTR;
		    return T_MSGSTR;
		}
msgstr		{
		    lastToken = T_MSGSTR;
		    return T_MSGSTR;
		}
#~[^\n]*	{
		   lastToken = T_OBSOLETE;
		   return T_OBSOLETE;
		}

#[^\n]*		{
		   lastToken = T_COMMENT;
		   return T_COMMENT;
		}
\"([^\n]*(\\\")?)*\"\n	{
			yytext[strlen(yytext)-2] = 0;
			yytext++;
		   lastToken = T_STRING;
		   return T_STRING;
		}

.		;

<<EOF>>		{
		    lastToken = T_EOF;
		    return T_EOF;
		}

%%
