/* %option nodebug */
START [ \t]*<%
END [ \t]*%>[ \t]*
-DATA ([^<\n]|<[^%])*
-CODE [ \t\n]([^%\n]|%[^>])*
+DATA ([^<\n]|<[^%])*\n*
+CODE [ \t\n]([^%\n]|%[^>])*\n*
%s IN FMT
%%
+[[:space:]]*\n { debug("NL [%s]"); }
<INITIAL>{START} { debug("START [%s]"); yylval = g_strdup(yytext); BEGIN(IN); return START; }
<INITIAL>{DATA} { debug("DATA [%s]"); yylval = g_strdup(yytext); return DATA; }
<IN>{END} { debug("END [%s]"); yylval = g_strdup(yytext); BEGIN(INITIAL); return END; }
<IN>= { debug("OUT [%s]"); yylval = g_strdup(yytext); return OUT; }
<IN>{CODE} { debug("CODE [%s]"); yylval = g_strdup(yytext); return DATA; }
-[\n] { debug("NL [%s]"); }
%%