Lex is a computer program that generates lexical analyzers. Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language.
The commands for executing the lex program are:
lex abc.l (abc is the file name) cc lex.yy.c -efl ./a.out
Let’s see lex program to check valid email.
Examples:
Input : csetanmayjain@gmail.com Output : Valid Input : !23@43.com Output : Not Valid
Below is the implementation:
/*lex code to accept a valid email */ % { int flag = 0; %
} % % [a - z.0 - 9 _] + @[a - z] + ".com" | ".in"
flag = 1; % % main() { yylex();
if (flag == 1)
printf ( "Accepted" );
else
printf ( "Not Accepted" );
} |
Output: