%{
#include <stdio.h>
%}
%%
"+" { printf("Arithmetic Operator: +\n"); }
"-" { printf("Arithmetic Operator: -\n"); }
"*" { printf("Arithmetic Operator: *\n"); }
"/" { printf("Arithmetic Operator: /\n"); }
"=" { printf("Assignment Operator: =\n"); }
"+=" { printf("Assignment Operator: +=\n"); }
"-=" { printf("Assignment Operator: -=\n"); }
"*=" { printf("Assignment Operator: *=\n"); }
"/=" { printf("Assignment Operator: /=\n"); }
"%=" { printf("Assignment Operator: %=\n"); }
"&" { printf("Bitwise Operator: &\n"); }
"|" { printf("Bitwise Operator: |\n"); }
"^" { printf("Bitwise Operator: ^\n"); }
"~" { printf("Bitwise Operator: ~\n"); }
"==" { printf("Relational Operator: ==\n"); }
"!=" { printf("Relational Operator: !=\n"); }
">" { printf("Relational Operator: >\n"); }
"<" { printf("Relational Operator: <\n"); }
">=" { printf("Relational Operator: >=\n"); }
"<=" { printf("Relational Operator: <=\n"); }
"<<" { printf("Shift Operator: <<\n"); }
">>" { printf("Shift Operator: >>\n"); }
"&&" { printf("Logical Operator: &&\n"); }
"||" { printf("Logical Operator: ||\n"); }
"!" { printf("Logical Operator: !\n"); }
[ \t\n] { /* Ignore whitespace */ }
. { printf("Other Symbol: %s\n", yytext); }
%%
int main() {
printf("Enter the operators: \n");
yylex();
return 0;
}