Windows平台flex+gcc词法分析实验工具包

词法分析是编译原理中的必不可少的一部分,这部分的实验一般会使用flex和gcc工具。本人喜欢protable apps,在查阅了一些资料后,自己整理了这个工具包。这个工具包其实只是把现有的一些程序和进行的收集和整理,自己原创的只有一个bat文件。整个工具包不到3M,只要解压就能使用了,当然没有做太多的测试,先放出来,接受反馈。具体的说明请参见read me.txt文件。下载地址:http://files.cnblogs.com/tt-0411/flex_gcc_tools.zip 

附read me.txt文件内容:


flex+gcc词法分析实验工具包

关于

这是一个用于flex+gcc进行词法分析实验的简易工具包。

flex程序,来自sourceforge上gnuwin32项目Flex for Windows,下载地址 http://goo.gl/WQYnL

gcc程序,来自“代码至上”博客的博文《Windows命令行下的GCC编译器》,文章地址 http://goo.gl/Vb1Ok。文章的说明gcc提取自dev-cpp,可能库文件会有不全。

启动文件start.bat,本人制作,作用是把flex和gcc所在bin目录添加到系统变量path中。(这个path只会在当前进程中有效,不会添加到实际的系统变量中,且当cmd窗口退出后path的设置失效)。

测试文件sample.l,代码来自http://goo.gl/xYvme。使用方法略有区别,可参考下面的操作
生成:flex sample.l
命令执行后会生成一个c代码文件lex.yy.c
编译:gcc -g lex.yy.c -o sample
命令执行后会生成一个可执行文件sample.exe,会有一个warning可以忽略。
运行: sample
命令执行后换行,随便输入字母或数字,按回车会出现类型判断的提示,按Ctrl+Z结束输入,会进行类型统计,之后sample程序退出。

使用方法,双击start.bat启动命令行,可按照与测试文件类似的方式使用。

本工具包仅供用于学习,所有文件、程序的版权归原作者所有。
欢迎访问我的博客 http://www.cnblogs.com/tt-0411

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex和Yacc是Unix系统下的两个工具,常用来开发编译器和解释器。Flex是一个词法分析器生成器,用于将输入的字符流转换为符号流。Yacc是一个语法分析器生成器,用于解析符号流并生成相应的语法树或中间代码。 Flex和Yacc通常是配合使用的。Flex负责从输入文件中根据预定的正则表达式识别出不同的词法单元,如关键字、运算符等,并将其转换为相应的记号。而Yacc则负责根据预定的语法规则对这些记号进行语法分析,生成语法树或中间代码。 GCC(GNU Compiler Collection)是一个开源的编译器工具集,其中包括了C、C++、Fortran、Java等多种编程语言的编译器。它是广泛使用的编译器之一,被许多操作系统和开发环境所采用。 GCC内部使用了Flex和Yacc来进行词法分析和语法分析。Flex和Yacc帮助GCC将源代码转换为可执行的机器码。Flex根据C语言的词法规则将源代码转换为记号,然后Yacc根据C语言的语法规则对这些记号进行分析。最终,GCC将分析得到的结果生成相应的目标代码。 通过使用Flex和Yacc,GCC可以实现自定义语法和语义分析,并对源代码进行优化和转换。这使得GCC成为了一个功能强大的编译器工具,可以支持各种编程语言的编译和开发。 总之,Flex和Yacc是一对强大的词法分析和语法分析工具,而GCC则是一个包含了Flex和Yacc功能的编译器工具集,用于将源代码转换为可执行的机器码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值