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 accept string starting with vowel.
Examples:
Input: animal Output: Accepted Input: zebra Output: Not Accepted
Below is the implementation:
/* Lex Program to accept string starting with vowel */ % { int flag = 0;
% } %% [aeiouAEIOU].[a-zA-Z0-9.]+ flag=1; [a-zA-Z0-9]+ %% main() { yylex();
if (flag == 1)
printf ( "Accepted" );
else
printf ( "Not Accepted" );
} |
Output: