Browse Category 自学指南

[RustOS]VGA Text Mode笔记

本文是 [Writing an OS in Rust (Second Edition)](https://os.phil-opp.com/second-edition/)第三篇文章[VGA Text Mode](https://os.phil-opp.com/vga-text-mode/) 的阅读笔记,同时对文章中我觉得不太明白的一些内容做了一些扩展。

Continue Reading

[0x00] 当我们在编程时我们在做什么

先让我们把计算机想象成一个人吧。一个人总要有个名字,就叫他小明吧。

小明可以帮我们做一些事情,比如说算一下 256 乘以 1024 等于多少。这种问题对我们自己来说,按照乘法规则算一下也能算,就是麻烦,可是对小明来说算起来可很简单,这是小明擅长的领域。不过这个小明并不能理解你所说的“256 乘以 1024 等于多少”这句话。因为小明是一个外国人,他只说自己的语言。就像你和一个图瓦卢的人说“告诉我 256 乘以 1024 等于多少”,我想他也会一脸莫名奇妙。小明也是这样,不能理解你的意思。我们只能用小明的语言来告诉他要做什么。

Continue Reading

Flex & Bison

因为公司在用 phalcon,这种 c 扩展的框架 IDE 没有办法补全,所以想写一个把 zephir 转译成 PHP IDE Helper 的东西。本来想直接 Reflection 取一下类信息就好了,奈何最终效果不理想,本来 Zephir 中有的很多信息都丢掉了,注释也全部没有。所以还是要用 passer 转译。

只能说兴趣果然是最好的老师。之前编译原理看三段打瞌睡,死活读不下去,这下却是兴致满满了。只是Flex、Bison入门资料太少,网上写的那些文章都是浅尝辄止,完全没有可实践性。读手册又太过乏味。

看来看去,还是动物书的 Flex & Bison 读起来舒服。

对于词法分析语法分析完全没有概念的同学,可以先看看这个 PDF 了解一下,再读动物书会好一些,不然有些没头没脑。内容基本和书里的第一章重合,但简单介绍了一下 Flex/Bison 是用来做什么的。

总结:

  1. 这个 PDF

  2. 动物书的 Flex & Bison