刚开始学习编程语言,要怎么去做,动手编写一个编译器,学习一下较为底层的编程方式,是一种学习计算机到底是如何工作的非常有效方法。编译器通常被看作是十分复杂的工程。事实上,编写一个产品级的编译器也确实是一个庞大的任务。但是写一个小巧可用的编译器却不是这么困难。
这个秘密是,首先介绍编程入门教程,找到尽可能小的项目,然后想要的功能加入。这种方法也意味着在他那篇著名的文章中提到的“一个编译器构造的快捷方式”阿卜杜勒阿齐兹Ghuloum说。但是这种方法确实工作。只需要按照第一步操作本文中,可以得到一个真正可用的编译器。当然,它只能被编译的编程语言是非常小的子集,但它确实是一个真正的编译器可用。你可以自由地扩展这个编译器,然后了解更多,更深的了解。
从某种意义上来说这比写一个scheme的编译器要困难一些(因为必须去解析C那复杂的语法),但是在某些方面又很便利(不需要去处理运行时类型)。要写这样一个编译器,只需要从那个可用的最小的编译器开始。没有变量,没有函数调用,没有额外的依赖,甚至连if语句,循环语句都没有,一切看起来是那么简单。
踏出了编程入门教程第一步,接下去怎么做就全看自己了。可以按照文章所指导的全部做一遍,然后制作一个更加复杂的编译器。需要去写一个更加精巧的语法树来生成汇编代码。接下去的几步分别
是:(1)允许返回任意的值(比如,return3; 一些可执行代码);(2)添加对“非”的支持(比如,return ~1; 一些可执行代码)。每一个额外的特性都可以教你关于C语言的更多知识,编译器到底是怎么执行的,以及世界上其他编写编译器的人是如何想的。这是构建 babyc 的方法。Babyc 现在已经拥有了if语句,循环,变量以及最基础的数据结构。
本文内容由北大青鸟佳音校区老师于网络整理,学计算机技术就选北大青鸟佳音校区!了解校区详情可进入www.bjaccp.com网站,学校地址位于北京市西城区北礼士路100号!