开发工具:
文件大小: 33kb
下载次数: 0
上传时间: 2021-04-01
详细说明:9cc C编译器
注意:9cc不再是一个活动项目,后继者是 。
9cc是我的 C编译器的后继产品。 在这个新项目中,我正在尝试编写易于生成的代码,这些代码在创建可生成合理有效汇编的编译器时非常容易理解。
9cc比8cc具有更多的阶段。 以下是内部结构的概述:
将输入字符串编译为抽象语法树。
在树上运行语义分析器,以将类型添加到每个树节点。
将树转换为中间代码(IR),在某种程度上类似于x86-64指令,但具有无限数量的寄存器。
将无限数量的寄存器映射到有限数量的寄存器。
从IR生成x86-64指令。
为了使代码尽可能简单,我做出了一些重要的设计选择:
与8cc一样,没有内存管理是9cc中的内存管理策略。 我们使用malloc()分配内存,但从不调用free()。 我知道人们发现该策略很奇怪,但这实际上是短期程序(例如编译器)的合理设计选择。 该策略极大地简化了代码,并且完
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
相关搜索: