编译原理-词法分析器1(lex实现)
编译原理课实验一是词法分析器,但是在网上查了很多资料,发现用lex实现还要用Linux,Windows可以用对应的flex实现,但是网上的资料很零散,所以整理了一下从安装到配置,到实现一个词法分析器的过程
一、 安装
- 下载flex和bison
UnxUtils: http://pan.baidu.com/s/1o6NY1E6
Updates:http://pan.baidu.com/s/1o6NY1E6
保存在E:\lex\cywin - 使用的flex和bison都是GNU的工具,GCC既采用C/C++的编译器也采用GNU的编译器,Windows平台的GCC主要是MinGW编译器,下载地址:
https://sourceforge.net/projects/mingw/files/Installer/mingw-get/catalogue/msys-package-list.xml.lzma/download
或者
http://www.mingw-w64.org/doku.php
保存在E:\lex\GnuWin32 - 下载Parser Generator
http://www.bumblebeesoftware.com/downloads.htm
二、 配置环境变量
下载UnxUtils以及UnxUpdates之后,解压到自己的文件夹,把/usr/local/wbin文件夹的绝对地址加到
我的电脑(右键)->属性->高级->环境变量->系统变量->path值
三、 安装MinGW - 安装过程简图
点击mingw-get-setup.exe
- 打开安装好的软件,选Basic Setup,在右侧选择mingw32-gcc-g++,鼠标右键点击Mark for Installation,然后点击左上角的Installation按钮,选择Apply Changes,弹出对话框点击Apply,安装对应的编辑器
- 设置环境变量
进入MinGW的安装路径E:\lex\GnuWin32,将bin的绝对路径添加到path中(E:\lex\GnuWin32\bin)
我的电脑(右键)->属性->高级->环境变量->系统变量->path值 - 检查安装完成
打开cmd,输入gcc -v,显示如下即为安装成功
四、 Parser Generator的配置 - 打开Parser Generator
- 菜单project->LibBuilder选第一个
3. 配置好后点击built
4. 建立一个project
<1>project->ParserWizard
<2>工程设定(语言可选C/C++/JAVA)
<3>工程设定(是否带main函数的YACC文件或LEX文件)
<4>YACC文件设定
<5>LEX文件设定
<6>编辑好代码后project->Rebuild All
上图:
五、 配置VC6.0
- 打开cmd,一直到1.l存在的文件夹的目录下
- Flex 1.l,此时再打开1.l的文件夹会发现出现lex.yy.c文件
- 那么现在开始配置VC,首先导入Parser Generator的库文件和源文件
Tools->Options,设置Iuclude files,library files,Source files
4. project->Settings
Win32 Debug
C/C++ -> preprocessor definitions添加宏定义,YYDEBUG
Link -> Object/Library Modules 加yld,lib
Win32 Release
Link -> Object/Library Modules 加yld,lib
- 将lex.yy.c添加到Source Files
将1.h添加到Header Files - 编译运行就OK啦
- 或者在DOS下运行