LEX/FLEX词法分析器 您所在的位置:网站首页 lex专栏是什么 LEX/FLEX词法分析器

LEX/FLEX词法分析器

2023-11-26 11:47| 来源: 网络整理| 查看: 265

LEX/FLEX词法分析器

CONTENTS:

LEXFLEX词法分析器 LexFlex词法分析器 Flex的安装和使用 Lex语法格式 definitions rules user subroutines FLEX实例

这篇文章的内容包括:

lex语法格式

linux下flex的安装和使用

flex实例

flex源代码的编译和使用

Lex/Flex词法分析器

Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具,主要功能是生成一个词法分析器(scanner)的C源码,描述规则采用正则表达式(regular expression)。描述词法分析器的文件*.l,经过lex编译后,生成一个lex.yy.c 的文件,然后由C编译器编译生成一个词法分析器。词法分析器,简单来说,其任务就是将输入的各种符号,转化成相应的标识符(token),转化后的标识符 很容易被后续阶段处理。 —— [ 百度百科 ]

Flex的安装和使用

在使用apt软件包管理器linux系统上我们可以非常方便地安装并使用flex。在终端中输入以下代码安装flex:(可能需要root权限)

$> sudo apt-get install flex

flex代码的源文件往往是以.l为后缀名的。 .l文件通过以下命令编译(以文件名为scanner.l为例):

$> flex scanner.l

编译后在源代码相同目录下会生成一个lex.yy.c,这就是生成的能够执行上述scanner.l功能的c语言代码。使用gcc编译即可生成词法分析程序1:

$> gcc lex.yy.c -o scanner

然后将需要分析的文件(以input.txt为例)作为参数传递给scanner执行分析:

$> ./scanner input.txt Lex语法格式

flex的语法被分为三个部分:

{definitions} %% {rules} %% {user subroutines} definitions: LABEL REGULAR_EXPRESSION

LABEL是这里类字符串的名称,REGULAR_EXPRESSIO



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有