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
系统 使用LLVM框架的Sysy2020语言编译器 LLVM框架语言:LLVM 12.0.0 编译环境:cmake 3.13 + Deepin 20.1 Beta 编译时若出错请注意LLVM版本号 目前支持程度 函数定义参数 二元表达式 &&,|| +,-,*,/,%,!= 函数调用 传参基础类型,矩阵,多维矩阵传参 条件分支关键字如果 循环关键字 为了 尽管 休息继续 函数返回return保持单入单出特性 全局,局部变量 斑点 尺寸,局部尺寸/多维尺寸 公布定义时初始化 生成AST语法树 生成对应系统架构的目标代码 ...(比较懒,不想写)
2021-05-11 18:29:55 175KB C++
1
LLVM-12.0.0-6923b0a7-win64.exe
2021-05-11 12:01:17 245.42MB LLVM-12.0.0-6923
1
https://releases.llvm.org/download.html 官网下载速度是有点要人命啊,给我整吐了,整整一下午。 1、文件压缩成zip了,里面只有一个exe文件 2、赚点积分,但是相对少一些。毕竟也确实累人。
2021-05-10 09:03:03 172.41MB LLVM
1
仅包含retdec编译好的x86版本源码exe和相关组件 解压retdec-master-compiled-success20210426.zip至E:\git\WindowsResearch\retdec-master 解压openssl-x86.7z至c:\openssl
2021-05-04 14:00:11 950MB llvm
1
仅包含retdec编译好的x86版本源码exe和相关组件 解压retdec-master-compiled-success20210426.zip至E:\git\WindowsResearch\retdec-master 解压openssl-x86.7z至c:\openssl
2021-05-04 14:00:11 825.93MB llvm
1
llvm cook学习资料——LLVM IR语言核心概念入门 核心内容汇总,基本应用命令入门,先用再分析,然后才能进一步结合编译原理看llvm编译器clang的实现代码。
2021-04-25 10:03:33 3.67MB llvm clang 编译器
1
Ghidra转LLVM 该工具将已编译的二进制文件提升为LLVM。 特别感谢我的顾问Arie Gurfinkel和CMU Pharos团队( )。 从其存储库中进行的测试。 Python 3所需的软件包 llvmlite Graphviz 安装说明(仅Linux) 1.安装Ghidra 提取JDK:tar xvf 用您选择的编辑器打开〜/ .bashrc。 例如:vi〜/ .bashrc 在文件的最后,将JDK bin目录添加到PATH变量中:export PATH = / bin:$ PATH 保存存档 重新启动所有打开的终端窗口以使更改生效 2.编辑g2llvm.py 该脚本要求您提供两个文件的位置(绝对路径): ghidra_headless_loc =“ /PATH/TO/ghidra_9.1.1_PUBLIC/support/an
2021-04-23 11:45:53 989KB Python
1
llvm-7.0.1.src.tar.xz
2021-04-14 14:00:42 27.00MB llvm
1
本安装包包含clang,clangd,clang-format等一系列C++工具。
2021-04-04 17:07:05 172.43MB 安装包
1