%{
#include <stdio.h>
int financial_count = 0;
%}
%%
finance|money|investment|stock|market|economy|profit|loss|revenue|asset|liability|income|expense|balance|credit|debit|transaction|cash|account|bank|loan|currency|budget { financial_count++; }
. ; /* ignore all other characters */
%%
int main(int argc, char *argv[]) {
yyin = fopen(argv[1], "r");
yylex();
printf("Financial keyword count: %d\n", financial_count);
if (financial_count >= 5) {
printf
("The document
is likely financial
.\n"
); } else {
printf
("The document
is not likely financial
.\n"
); }
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCBmaW5hbmNpYWxfY291bnQgPSAwOwolfQoKJSUKZmluYW5jZXxtb25leXxpbnZlc3RtZW50fHN0b2NrfG1hcmtldHxlY29ub215fHByb2ZpdHxsb3NzfHJldmVudWV8YXNzZXR8bGlhYmlsaXR5fGluY29tZXxleHBlbnNlfGJhbGFuY2V8Y3JlZGl0fGRlYml0fHRyYW5zYWN0aW9ufGNhc2h8YWNjb3VudHxiYW5rfGxvYW58Y3VycmVuY3l8YnVkZ2V0IHsgZmluYW5jaWFsX2NvdW50Kys7IH0KLiAgICAgICAgICAgOyAvKiBpZ25vcmUgYWxsIG90aGVyIGNoYXJhY3RlcnMgKi8KCiUlCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CiAgICB5eWluID0gZm9wZW4oYXJndlsxXSwgInIiKTsKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIkZpbmFuY2lhbCBrZXl3b3JkIGNvdW50OiAlZFxuIiwgZmluYW5jaWFsX2NvdW50KTsKICAgIGlmIChmaW5hbmNpYWxfY291bnQgPj0gNSkgewogICAgICAgIHByaW50ZigiVGhlIGRvY3VtZW50IGlzIGxpa2VseSBmaW5hbmNpYWwuXG4iKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCJUaGUgZG9jdW1lbnQgaXMgbm90IGxpa2VseSBmaW5hbmNpYWwuXG4iKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==