Dado un número n, la tarea es verificar si el n dado es par o impar usando el programa Lex.
Ejemplos:
Input : 10 Output : Even Input : 5 Output : Odd
Prerrequisito: FLEX (Generador de analizador léxico rápido)
Un número par es un número entero que es «divisible uniformemente» por 2. Esto significa que si el número entero se divide por 2, no da resto o 0 como resto. De manera similar, un número impar es un número entero que no es «divisible por igual» por 2 y dejará 1 como resto.
A continuación se muestra la implementación del enfoque anterior:
/*Lex program to take check whether the given number is even or odd */ %{ #include<stdio.h> int i; %} %% [0-9]+ {i=atoi(yytext); if(i%2==0) printf("Even"); else printf("Odd");} %% int yywrap(){} /* Driver code */ int main() { yylex(); return 0; }
Producción: