个性化阅读
专注于IT技术分析

Lex词法分析器

  • Lex是一个生成词法分析器的程序。它与YACC解析器生成器一起使用。
  • 词法分析器是一个将输入流转换为标记序列的程序。
  • 它通过在C程序中实现词法分析器来读取输入流并生成源代码作为输出。

Lex的功能如下:

  • 首先, 词法分析器以Lex语言创建程序lex.1。然后, Lex编译器运行lex.1程序并生成一个C程序lex.yy.c。
  • 最后, C编译器运行lex.yy.c程序并生成一个目标程序a.out。
  • a.out是词法分析器, 它将输入流转换为令牌序列。
Lex词法分析器

Lex文件格式

Lex程序由%%分隔符分为三部分。 Lex的正式形式如下:

{ definitions } 
%%
 { rules } 
%% 
{ user subroutines }

定义包括常量, 变量和常规定义的声明。

规则定义形式为p1 {action1} p2 {action2} …. pn {action}的语句。

其中pi描述正则表达式, 而action1描述动作, 当模式pi匹配词素时, 词法分析器应采取什么动作。

用户子例程是操作所需的辅助过程。该子例程可以与词法分析器一起加载并单独编译。

赞(0)
未经允许不得转载:srcmini » Lex词法分析器

评论 抢沙发

评论前必须登录!