%{
#include <stdio.h>
#include <string.h>
void PrintStr();
void InitStr();
void AddStr(char *);
char str[8192];
int curp = 0; 
%}
%s LSTR
%s COMNT
%%
<LSTR>^\.\n { BEGIN 0; PrintStr(); }
<LSTR>.*\n { AddStr(yytext); }
#  { BEGIN COMNT; }
[Tt][Ee][Xx][Tt]:([ \t]+(#.*)?)?\n {
    BEGIN LSTR; 
    InitStr(); 
}
[ \t]+   ;
\"([^\"]|\\(.|\n))*\"  { ECHO; }
.|\n     ;
%%

main()
{
    yylex();
}

void InitStr(void )
{
    curp = 0;
}

void AddStr(char *txt)
{
    str[curp] = '\0';
    strcat(str, txt);
    curp += strlen(txt);
}

void PrintStr(void )
{
    printf("%s", str);
}
