编译原理
文章平均质量分 56
玛了个玛卡巴卡
这个作者很懒,什么都没留下…
展开
-
lldb常用命令
使用gcc的选项进行编译 对filename进行调试 设置断点为filename文件的第line行break选项 指定断点为funcname函数 设置断点条件,如 查看断点列表 删除第一组断点 删除所有断点 启动目标程序 继续运行程序直到遇到断点 单步运行,不会进入子函数 单步运行,遇到子函数会进去 列出当前所有的变量值 查看变量值 设置变量值,如.........原创 2022-06-23 18:03:21 · 1331 阅读 · 1 评论 -
修改的LLVM IR基本指令
SysY2022语言定义中不包含无符号整数、结构体、移位操作,整数和浮点数均为32位,比赛测试样例不包含错误。鉴于语言定义的特点,在满足比赛要求的基础上筛选出了如下指令1. 终结符指令2. 一元运算3. 二元运算4. 按位二元运算5. 向量运算6. 聚合操作7. 内存访问和寻址操作8. 转换操作9. 其他操作程序中的每个基本块都以“终结符”指令结束,该指令指示在当前块完成后应该执行哪个块。概述:语法:例子:br指令概述:语法:表示一个布尔值,为真跳转到标签,为假跳转到标签无条件跳转到标签原创 2022-06-12 19:55:08 · 1809 阅读 · 2 评论 -
cmake基本命令及编译介绍
cmake的基本命令及其与编译的关系原创 2022-06-08 01:39:32 · 557 阅读 · 0 评论 -
Mac安装Antlr生成C++代码
Or just download in browser from website: https://www.antlr.org/download.html and put it somewhere rational like /usr/local/lib.It’s also a good idea to put this in your .bash_profile or whatever your startup script is.二、安装C++运行时库下载 antlr4-cpp-runt原创 2022-06-05 23:59:02 · 382 阅读 · 0 评论 -
Mac交叉编译C/C++到树莓派
本文期望您的 Mac 上安装了 Xcode 和 homebrew,并且您的 Raspberry Pi 运行 Linux 并设置为通过 ssh 登录。为了为 Raspberry Pi 编译,我们需要 binutils 来组装和链接二进制文件,以及可以为 ARM CPU 生成代码的编译器。在这一步中,我们安装 clang 作为编译器和为硬浮点 GNU EABI 编译的 GNU binutils,这是大多数 Linux 发行版运行的。此外,我们还从 homebrew 安装了 rsync,后面用它来进行文件传输:原创 2022-06-03 19:37:28 · 781 阅读 · 0 评论 -
mac使用clang进行llvm IR学习
对程序中的编译预处理指令(非c语言指令,以#开头,不以;结尾)进行处理 将源代码(高级语言)翻译为汇编代码(低级语言)编译程序的组成这里的目标程序就是汇编代码 将汇编语言翻译为机器语言,汇编语言将二进制码(例如11000010)表示为人容易理解的形式(例如LOAD),因此汇编过程也相对简单 将c语言经过汇编之后生成的二进制文件,和系统组件(比如标准库、动态链接库等)结合起来,组合成一个可执行文件。 如果将编写的程序分散到多个源文件中,编译器每次只能编译一原创 2022-06-02 11:26:16 · 727 阅读 · 0 评论 -
形式语言与有限自动机
一、词法分析概述任务:从源程序字符序列识别出相应独立意义的单词检查源程序中的词法错误分类:保留字(有限)特殊符号(有限):运算符、界限符、格式符标识符(无限)常量(无限)二、字符和字符串基本概念字符表语言的字符集Σ字符串ε表示空串字符串连接字符串的方幂x^n = xx…xx(n个x)字符串集合,例如A={a,b},空集{ε}字符串集合乘积,例如AB={xy|(x∈A)^(y∈B)}字符串集合的方幂,例如A^2={aa,ab,ba,bb}字符串集合的正闭包A+=原创 2022-03-03 20:00:44 · 172 阅读 · 0 评论 -
编译原理概述
编译、解释原创 2022-02-28 11:07:52 · 150 阅读 · 0 评论