5 #define debug(arg) // g_message("scan: " arg, yytext);
14 DATA ([^<\n]|<[^%])*\n*
15 CODE [ \t\n]([^%\n]|%[^>])*\n*
18 [[:space:]]*\n { debug("NL [%s]"); }
19 <INITIAL>{START} { debug("START [%s]"); yylval = g_strdup(yytext); BEGIN(IN); return START; }
20 <INITIAL>{DATA} { debug("DATA [%s]"); yylval = g_strdup(yytext); return DATA; }
21 <IN>{END} { debug("END [%s]"); yylval = g_strdup(yytext); BEGIN(INITIAL); return END; }
22 <IN>= { debug("OUT [%s]"); yylval = g_strdup(yytext); return OUT; }
23 <IN>% { debug("FMT [%s]"); yylval = g_strdup(yytext); return FMT; }
24 <IN>{CODE} { debug("CODE [%s]"); yylval = g_strdup(yytext); return DATA; }