Skip to content
Related Articles
Open in App
Not now

Related Articles

Lex program to check if a Date is valid or not

Improve Article
Save Article
  • Last Updated : 03 May, 2019
Improve Article
Save Article

Problem: Write a Lex program to check if a date is valid or not.

Flex (Fast lexical Analyzer Generator) is a tool/computer program for generating lexical analyzers (scanners or lexers) written by Vern Paxson in C around 1987. Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language. The function yylex() is the main flex function which runs the Rule Section.

Note: Format of Date is DD/MM/YYYY.


Input: 02/05/2019
Output: It is a valid date

Input: 05/20/2019
Output: It is not a valid date 


/* Lex program to check if a date is valid or not */
   /* Definition section */
   int i=0, yr=0, valid=0;
/* Rule Section */
            \/([1-2][0-9][0-9][-0-9]) {valid=1;}
         \/([1-2][0-9][0-9][0-9]) {valid=1;}
            \/([1-2][0-9][0-9][0-9]) {valid=1;}
     { while(yytext[i]!='/')i++; i++;
// driver code 
  yyin=fopen("vpn.txt", "r");
  if(valid==1) printf("It is a valid date\n");
  else printf("It is not a valid date\n");
 int yywrap()
 return 1;


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!