%{
#include <stdio.h>
#include <stdlib.h>
FILE *outFile;
%}
%%
"<"[^>]+">" {
fprintf(outFile, "%s\n", yytext);
}
.|\n { /* Ignore all other content */ }
%%
int yywrap()
{
return 1;
}
int main(int argc, char *argv[])
{
if(argc < 3)
{
printf("Usage: %s input.txt output.txt\n", argv[0]);
return 1;
}
FILE *inFile = fopen(argv[1], "r");
if(!inFile)
{
printf
("Cannot
open input file\n"
); return 1;
}
outFile = fopen(argv[2], "w");
if(!outFile)
{
printf
("Cannot
open output file\n"
); return 1;
}
yyin = inFile;
yylex();
fclose(inFile);
fclose(outFile);
printf("HTML tags extracted successfully!\n");
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KRklMRSAqb3V0RmlsZTsKJX0KCiUlCiI8IltePl0rIj4iIHsgCiAgICAgICAgICAgIGZwcmludGYob3V0RmlsZSwgIiVzXG4iLCB5eXRleHQpOyAKICAgICAgICAgICAgfQoKLnxcbiB7IC8qIElnbm9yZSBhbGwgb3RoZXIgY29udGVudCAqLyB9CiUlCgppbnQgeXl3cmFwKCkKewogICAgcmV0dXJuIDE7Cn0KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIAp7CgogICAgaWYoYXJnYyA8IDMpCiAgICB7CiAgICAgICAgcHJpbnRmKCJVc2FnZTogJXMgaW5wdXQudHh0IG91dHB1dC50eHRcbiIsIGFyZ3ZbMF0pOwogICAgICAgIHJldHVybiAxOwogICAgfQogICAgRklMRSAqaW5GaWxlID0gZm9wZW4oYXJndlsxXSwgInIiKTsKICAgIGlmKCFpbkZpbGUpCiAgICB7CiAgICAgICAgcHJpbnRmKCJDYW5ub3Qgb3BlbiBpbnB1dCBmaWxlXG4iKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBvdXRGaWxlID0gZm9wZW4oYXJndlsyXSwgInciKTsKICAgIGlmKCFvdXRGaWxlKQogICAgewogICAgICAgIHByaW50ZigiQ2Fubm90IG9wZW4gb3V0cHV0IGZpbGVcbiIpOwogICAgICAgIHJldHVybiAxOwogICAgfQogICAgeXlpbiA9IGluRmlsZTsKICAgIHl5bGV4KCk7CgogICAgZmNsb3NlKGluRmlsZSk7CiAgICBmY2xvc2Uob3V0RmlsZSk7CgogICAgcHJpbnRmKCJIVE1MIHRhZ3MgZXh0cmFjdGVkIHN1Y2Nlc3NmdWxseSFcbiIpOwogICAgcmV0dXJuIDA7Cn0K