本书改编自第 12 届 iT 邦帮忙铁人赛 IoT 组优选系列文章《拿到锤子的我想在微控制器上面执行 Ruby》。在学习编程语言的过程中,随着我们理解的知识和技巧越来越多,我们难免需要更加深入了解我们所使用的语言。而这本是一本关于编程语言设计的书籍,我们将通过 mruby 这款设计给嵌入式系统的 Ruby 语言,一步一步重现 Ruby 虚拟机器的部分功能,并借此方式逐步了解一个语言的实现,且将其在开发板上执行。此外,这也帮助我们重新思考使用编程语言时虚拟机器的运作及语言的关联。
内容重点
我们将从阅读原始码开始,从前人的经验学习如何打造一个语言虚拟机器,逐步实现一个能在 ESP8266 开发板上执行,并具備物件導向特性的精簡版虚拟机器。
加法虚拟机器
实现一个语言的虚拟机器,并没有我们想像中的困难,我们第一个虚拟机器会以將 Ruby 的「加法」实现出来为目标,透过数百行的程式碼完成一个*简单的虚拟机器。
实现逻辑判断
加入能够在我们的虚拟机器中进行 if 类型的判断,透过这样的虚拟机器实现,进而能够让程式按照我们的预期进行複杂的行為。
实现物件導向
Ruby 语言的一大特色就是物件導向特性,我们将会讨论如何管理物件的封裝資訊,以及将 C 语言的程式碼转換成可以在 Ruby 中直接被呼叫的方法等機制。
用测试驗证想法
本书的目标是实现一个能够在 ESP8266 开发板上执行的虚拟机器,为了减少反覆上傳程式到开发板的步骤,我们可以透过撰写测试的方式,来驗证每一個虚拟机器的实现是否如我们所預期的来運作。
目标读者
想了解编程语言运作原理的人。
想更好撰写程式的人。
想在开发板上使用不同编程语言的人。
本书特色
逐步打造语言虚拟机器,深入了解编程语言的运作原理
每项功能都有完整实作,可更容易了解语言虚拟机器的实现方式
搭配撰写测试驗证程式,可在学习实作之外,也学习到软件测试的技巧
详细分析 mruby 虚拟机器的基本原理,并透过简化的方式引導学习语言虚拟机器
作者简介
苍时弦也(邱政憲)
我是软件开发的求道者苍时弦也,主要使用猶如賢者之石一般的 Ruby 语言,期望能够在软件开发的这条路上,找出一個能讓每個人都享受撰写程式樂趣的方法,并且让世界上能有更多優秀的程式被设计出来。
目录
| CHAPTER 01 | 基础知识
| 1.1 虚拟机器
| 1.2 C 语言概念
| 1.3 mruby 入门
| 1.4 微控制器
| CHAPTER 02 | 閱讀原始碼的技巧
| 2.1 Octotree 扩展套件
| 2.2 Sourcegraph 扩展套件
| 2.3 熟悉语言
| CHAPTER 03 | 从 mruby-L1VM 开始
| 3.1 从範例开始
| 3.2 虚拟机器初始化
| 3.3 启动虚拟机器
| 3.4 处理 IREP
| 3.5 处理 OPCode
| 3.6 虚拟机器的概念
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
评论