Open In App

Lex Program to accept a valid integer and float value

Improve
Improve
Like Article
Like
Save
Share
Report

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 to accept a valid integer and float value
using lex program.

Examples:

Input : 
-77.99
Output :
 Valid Float Value

Input : 
fghj
Output : 
Not a valid Integer/ Float number

Below is the implementation:




/*lex code to accept a valid integer 
  and float value using lex program.*/
    
%{
int valid_int=0, valid_float=0;
%}
  
%%
^[-+]?[0-9]* valid_int++;
^[-+]?[0-9]*[.][0-9]+$ valid_float++;
.;
%%
  
int main()
{
  yylex();
  if(valid_int!=0) printf("Valid Integer number\n");
  else if(valid_float!=0) printf("Valid Float number\n");
  else printf("Not valid Integer/Float number\n");
  return 0;
}


Output:


Last Updated : 30 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads