%{
#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;
}
