用lex 和yacc做的一个简单的带有词法分析 语法分析 语义分析的一个编译器,供大家参考
2021-05-29 21:35:04 815KB lex yacc flex bison
1
lex-yacc 描述 针对语言C-的简单词法分析器和语法分析器定义如下。 (图1) (图2) lexer.l是词法分析器。 parser.y是解析器(语法分析器) lex.yy.c是lexer.l的编译文件 跑步: Linux-使用./compiler < testfile.c 需要编译时,使用make -f MAKEFILE (Linux)运行makefile。
2021-05-29 15:18:51 98KB parser flex lex yacc
1
该设计为编译原理实验课内容,使用Flex+Bison设计MiniPascal编译器,支持if-else、while、for、变量任何位置定义以及变量初始化。随压缩包附实验报告及测例。
2021-05-20 00:20:55 651KB 编译原理 MiniPascal 编译器 Flex
1
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
编译原理课程设计 使用Bison和Flex实现一个简单的编译器,将源代码翻译成四元式。 编译 下载野牛和flex sudo apt install bison flex 编译 make 使用 初始文件名是my_compiler,执行时有两个参数: -t生成抽象语法树 -c用来生成四元式 所有输入标准以标准输入流方式读入,在实际使用中可以使用替换或管道来将文件中的串行输入程序,输入替代也是向标准输出流输出,同样可以使用替换来将输出结果保存到文件。下面是一个临时的例子: 编写源文件a.txt如下: if (a > 2) then begin a := b + 1; end ./my_compiler -c , a, t0, 4 | 3 | jmp, -,
2021-05-12 22:24:23 179KB 系统开源
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
国际象棋程序野牛
2021-04-26 16:02:50 275KB 开源软件
1
使用cygwin编译的能够在64位windows下的bison 3.7和flex 2.6.4,已经配置了所需要的所有文件。
2021-04-22 22:01:01 3.51MB bison flex windows64 3.7版本
1
介绍Flex及Bison使用的高清pdf。
2021-04-21 11:00:09 2.74MB flex bison
1