1.Introducion to lex/flex
lex (lexical analyzer) flex (fast lexical analyzer) is a tool for generating scanners: programs which recognized lexical patterns in text. Lex can generate analyzers in either C or Ratfor, a language which can be translated automatically to portable Fortran. It is available on the PDP-11 UNIX, Honeywell GCOS, and IBM OS systems. However, will only discuss generating analyzers in C on the UNIX based system. flex reads the given input files(.lex), or its standard input if no file names are given, for a description of a scanner to generate. The description is in the form of pairs of regular expressions and C code, called rules. flex generates as output a C source file, lex.yy.c, which defines a routine yylex(). This file is compiled and linked with the -lfl library to produce an executable. When the executable is run, it analyzes its input for occurrences of the regular expressions. Whenever it finds one, it executes the corresponding C code. Lets create a sample lex file log.lex (...