%{
#include <stdio.h>
%}
%%
\<[^>]+\> { printf("HTML Tag: %s\n", yytext); } // Match HTML tags
.|\n { /* Ignore other characters */ }
%%
int main(int argc, char *argv[]) {
if (argc > 1) {
FILE *file = fopen(argv[1], "r");
if (!file) {
printf("Error opening file: %s\n", argv[1]);
return 1;
}
yyin = file;
}
yylex(); // Start lexical analysis
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQoKXDxbXj5dK1w+ICAgeyBwcmludGYoIkhUTUwgVGFnOiAlc1xuIiwgeXl0ZXh0KTsgfSAgLy8gTWF0Y2ggSFRNTCB0YWdzCgoufFxuICAgICAgICB7IC8qIElnbm9yZSBvdGhlciBjaGFyYWN0ZXJzICovIH0KCiUlCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CiAgICBpZiAoYXJnYyA+IDEpIHsKICAgICAgICBGSUxFICpmaWxlID0gZm9wZW4oYXJndlsxXSwgInIiKTsKICAgICAgICBpZiAoIWZpbGUpIHsKICAgICAgICAgICAgcHJpbnRmKCJFcnJvciBvcGVuaW5nIGZpbGU6ICVzXG4iLCBhcmd2WzFdKTsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIHl5aW4gPSBmaWxlOwogICAgfQoKICAgIHl5bGV4KCk7IC8vIFN0YXJ0IGxleGljYWwgYW5hbHlzaXMKCiAgICByZXR1cm4gMDsKfQoKaW50IHl5d3JhcCgpIHsKICAgIHJldHVybiAxOwp9Cg==