%{
#include <stdio.h>
%}
%%
// Match valid C identifiers: starts with letter or underscore, followed by letters/digits/underscores
[a-zA-Z_][a-zA-Z0-9_]* { printf("Valid Identifier: %s\n", yytext); }
// Match anything else
.|\n { printf("Invalid Identifier: %s\n", yytext); }
%%
int main() {
yylex(); // Start lexical analysis
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQoKLy8gTWF0Y2ggdmFsaWQgQyBpZGVudGlmaWVyczogc3RhcnRzIHdpdGggbGV0dGVyIG9yIHVuZGVyc2NvcmUsIGZvbGxvd2VkIGJ5IGxldHRlcnMvZGlnaXRzL3VuZGVyc2NvcmVzClthLXpBLVpfXVthLXpBLVowLTlfXSogICAgeyBwcmludGYoIlZhbGlkIElkZW50aWZpZXI6ICVzXG4iLCB5eXRleHQpOyB9CgovLyBNYXRjaCBhbnl0aGluZyBlbHNlCi58XG4gICAgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIkludmFsaWQgSWRlbnRpZmllcjogJXNcbiIsIHl5dGV4dCk7IH0KCiUlCgppbnQgbWFpbigpIHsKICAgIHl5bGV4KCk7ICAvLyBTdGFydCBsZXhpY2FsIGFuYWx5c2lzCiAgICByZXR1cm4gMDsKfQo=