跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析
摘要:文章中引用的代码均来自https://github.com/vczh/tinymoe。看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了。在正确分析"print sum from 1 to 100"之前,我们首先得分析"phrase sum from (lower bound) to (upper bound)"这样的声明。Tinymoe的函数声明又很多关于block和se...
阅读全文
posted @
2014-03-23 16:55
陈梓瀚(vczh)
阅读(7521)
推荐(11) 编辑
跟vczh看实例学编译原理——二:实现Tinymoe的词法分析
摘要:文章中引用的代码均来自https://github.com/vczh/tinymoe。实现Tinymoe的第一步自然是一个词法分析器。词法分析其所作的事情很简单,就是把一份代码分割成若干个token,记录下他们所在文件的位置,以及丢掉不必要的信息。但是Tinymoe是一个按行分割的语言,自然token列表也就是二维的,第一维是行,第二维是每一行的token。在继续讲词法分析器之前,先看看Tiny...
阅读全文
posted @
2014-03-02 23:45
陈梓瀚(vczh)
阅读(7242)
推荐(4) 编辑