Complete Source Program in Lex
#define   IF   256  /* constant for IF */
#define   THEN 257  /* constant for THEN */
#define   ID   258  /* constant for ID */
#define   INT  259  /* constant for NUM */
int yylval;         /* yylval is visible for parser */
letter    [a-z]
digit     [0-9]
id        {letter}({letter}|{digit})*
integer   {digit}+
%%
if        return(IF);
then      return(THEN);
{id}      {yylval = install_id() ;return(ID) ;}
{integer} {yylval = install_int();return(INT);}
%%
int install_id()  { … }
int install_int() { … }
35/35