Skip to content
Related Articles
Open in App
Not now

Related Articles

Lex program to identify the identifier

Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 30 Apr, 2019
Improve Article
Save Article
Like Article

Lex is a computer program that generates lexical analyzers and was written by Mike Lesk and Eric Schmidt. Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lex in the C programming language.

In C, an identifier must begin with either an alphabet or underscore, it can not begin with a digit or any other special character, moreover digits can come after.

Example:

gfg : valid identifier
123 : invalid identifier
_abc12 : valid identifier
#abc : invalid identifier

Let’s see the lex program to determine whether input is an identifier or not.




/*lex code to determine whether input is an identifier or not*/
% {
#include <stdio.h>
    %
}
  
    / rule section % %
    // regex for valid identifiers
    ^[a - z A - Z _][a - z A - Z 0 - 9 _] * printf("Valid Identifier");
  
// regex for invalid identifiers
^[^a - z A - Z _] printf("Invalid Identifier");
.;
% %
  
    main()
{
    yylex();
}


Output:

My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!