Lex tool manual 1. Lexical Analyzer Generator Lex (Flex in recent implementation) Samy Said Mohamed Eshaish Pre-Masters student, Department of Computer Science 2012-2013 Compiler Design 2Contents:- 2. 1- Lex What is Lex Structure of Lex Program Lex Predefined Variables Lex Library Routines2- Set up the Tool Install on Windows Install on Linux. About cpp.sh. C Shell, 2014-2015.
- Lex is a program that generates lexical analyzer. It is used with YACC parser generator.
- The lexical analyzer is a program that transforms an input stream into a sequence of tokens.
- It reads the input stream and produces the source code as output through implementing the lexical analyzer in the C program.
The function of Lex is as follows:
- Firstly lexical analyzer creates a program lex.1 in the Lex language. Then Lex compiler runs the lex.1 program and produces a C program lex.yy.c.
- Finally C compiler runs the lex.yy.c program and produces an object program a.out.
- a.out is lexical analyzer that transforms an input stream into a sequence of tokens.
Lex file format
A Lex program is separated into three sections by %% delimiters. The formal of Lex source is as follows:
Definitions include declarations of constant, variable and regular definitions.
Rules define the statement of form p1 {action1} p2 {action2}....pn {action}.
Where pi describes the regular expression and action1 describes the actions what action the lexical analyzer should take when pattern pi matches a lexeme.
![Lex Compiler Online Lex Compiler Online](/uploads/1/2/5/0/125000983/112546505.jpeg)
User subroutines are auxiliary procedures needed by the actions. The subroutine can be loaded with the lexical analyzer and compiled separately.