windows10下词法分析器flex的安装、使用、编译和运行
2021-03-19 02:26
标签:http 自定义 fast 工具 exe 格式 正则表达 nothing void 今天老师讲到了关于编译器工作的第一步:词法分析。 flex的输入要么是文件要么是标准输入(控制台等) 定义 其中,定义分为两种:一种是变量声明,另一种是正则表达式声明 规则部分:一个规则一行,每行有两部分构成: 代码部分:用户自定义过程,直接复制到lex.yy.c末尾 那么进入正题,windows下怎么安装flex呢? 下载完成后,将得到一个exe文件,直接安装。 准备flex的输入文件find.l,给文件的内容为: %% 很显然,这段代码是用来匹配数字的,打开CMD,切换工作目录到当前文件下,输入命令: flex find.l 将会得到一个lex.yy.c文件,lex.yy.c文件的内容很丰富 添加完毕后,打开CMD,并切换到lex.yy.c文件的目录下 gcc lex.yy.c 执行命令后,将会得到a.exe可执行文件 接受文件输入 可以看到编写的find.l文件确确实实起到了匹配数字的作用 windows10下词法分析器flex的安装、使用、编译和运行 标签:http 自定义 fast 工具 exe 格式 正则表达 nothing void 原文地址:https://www.cnblogs.com/ASE265/p/12337922.html《编译工程》
并介绍了用于词法分析的工具,其中提到了flex
flex全称——fast lexical analyzer generator,即快速词法分析器生成器
而其输入的文件由正则表达式和C代码的形式组成
flex的输入文件由三段组成,由两个%%这样的符号将文件划分为三部分
%%
规则
%%
用户代码(C代码)
变量声明使用%{ 要声明的变量 %},声明格式与C语言相同
而正则表达式声明就不需要使用%{%}这个符号,直接定义即可,声明格式为:表达式名称:表达式
正则表达式 {动作函数}
下载网址:http://gnuwin32.sourceforge.net/packages/flex.htm
进入网址后,下载“Complete package,except sources”,点击“Setup”链接即可。
全都安装好以后还要设置一下环境变量Path,即需要将flex的安装目录添加到Path中
打开右键->我的电脑→属性→高级系统设置->环境变量->系统变量->Path->编辑->新建->输入flex的安装目录具体到bin目录下->确定
退出后,打开CMD,输入flex - V,记住这里的v要大写。若安装成功就会显示flex的版本号
[+-]?[0-9]+ ?{ printf("%s\n", yytext); } ?/* Print integers /
\n ????{?}??/ newline /
. ????{?}??/ For others, do nothing */
%%
void main(){
????yylex();
}
int yywrap(){
????return 1;
}
而在windows中想要编译.c文件则需要安装MinGW编译器(当然,编译.c文件不是只有MinGW一种选择,只是这里使用MinGW编译器罢了)
该编译器可直接前往官网下载,同样下载后需要将编译器的安装目录(需要具体到bin目录下)添加到Path中
a.exe文件既可以接受标准输入,也可以接受文件输入
接受标准输入:
文章标题:windows10下词法分析器flex的安装、使用、编译和运行
文章链接:http://soscw.com/essay/66049.html