TinyCompiler 序言 项目概述 本项目是基于flex,bison和LLVM,使用c ++ 11实现的类C语法编译器,使用flexbindingyacc对源代码进行词法,语法分析;在语法分析阶段生成整个源代码相应的抽象语法树后,根据LLVM IR(中间表示)模块中定义的中间代码语法输出与LLVM中间语言语法,机器无关的中间代码;最后,本项目通过调用LLVM后端模块的接口,根据本地指令集与操作系统架构,将中间代码编译成二进制目标代码。编译生成的目标代码之后可直接编译生成初始化文件,或与其他目标代码链接生成替代文件。 本项目解析的语法与是C语言的一个子集,但部分语法存在区别,这些将在最后的测试用例中具体说明。目前已支持的数据类型包括: 虚空 整型 浮动 双 烧焦 串 布尔 自定义结构体 样本(包括多维样本) 支持的主要语法包括: 变量的声明,初始化(包括一维细分初始化,多维序列暂不支持初始化,只能逐个元素赋值使用) 函数声明,函数调用(传递参数类型可以是任意已支持类型) 外部函数声明和调用 控制流语句if-else,for,while和任意层级的嵌套使用 单行注释(#) 二元运算
2021-05-13 00:02:15 2.01MB bison flex compiler llvm
1
Visual Studio中创建Flex+Bison项目,源码中包含多个vs2010可编译通过的demo,用win_flex_bison-2.5.18 其中包含《Visual Studio中创建Flex+Bison项目.pdf》学习flex bison入门资料《flex与bison中文版.pdf》
2021-05-11 19:37:37 16.5MB flex bison win_flex_bison flexbison中文版
1
编译原理_计算器_flex、bison实现(详细辅助理解)-附件资源
2021-05-01 20:16:28 106B
1
介绍Flex及Bison使用的高清pdf。
2021-04-21 11:00:09 2.74MB flex bison
1
flex 和bison linux 下的软件,到2012年4月最新的版本,在linux操作系统下使用,词法和语法分析程序
2021-04-06 21:09:55 3.94MB flex bison
1
课程设计,附实验报告。使用Flex&Bison;生成的DLL文件用作计算器后端,使用Flask框架和HTML CSS做前端。
2021-03-25 14:47:12 2.74MB Flex&Bison; Flask
1
建议只做参考使用,不要抄袭 使用bison结合flex编写语法分析程序,对一段程序进行编译,并输出结果。
2021-03-11 19:25:27 1.16MB 利用 Flex/Bison 构造 系统软件开发实践
1
 复杂系统中多个单元之间存在着不同的通信协议,开发人员通常需要花费大量的时间编写相应的协议解析代码。文中通过对常见的通信协议进行分析,提出了采用形式化描述方法来描述这些协议,并利用编译技术开发了相应的协议自动化解析程序。文中提出的方法避免了大量重复性代码的开发,减少了协议代码的开发工作,在通信协议软件开发方面具有很强的实用性。
1
四个实验的代码和运行结果还有测试数据都在里面,要是要课程设计报告可以翻翻我的另一个《系统软件课程设计报告》
2020-02-22 03:01:38 2.16MB flex&bison;
1
压缩包包含两个程序: bison-2.4.1-setup.exe\flex-2.5.4a-1.exe 下载后直接点击安装就可以,接着右键计算机,打开属性->高级系统设置->环境变量,在path变量中添加路径,即到你安装好的程序的bin的路径,如:C:\Program Files (x86)\GnuWin32\bin; 之后你就可以在cmd中通过命令编译你的lex\yacc文件了。 绝对可用,本人亲试,如果编译不成功的可能是你写的lex\yacc文件有问题,用一个好的示例文件进行编译就知道这可以用了(血泪教训啊,当初还以为不能用呢)
2019-12-21 22:14:57 4.79MB LEX YACC FLEX BISON
1