06 2014 档案
摘要:对于SNL语言解释器的内容可以参考我的前一篇文章《使用antlr4及java实现snl语言的解释器》。此文只讲一下“尾递归优化”是如何实现的——“尾递归优化”并不是一个语言实现必须要做的,但这是一个比较有趣的东西,所以我还是想拿来讲一讲。 在前一篇文章中有一个例子: program recursion procedure f(integer d); begin write(d); f(d +...
阅读全文
摘要:对于antlr4的基础使用,请参考我的前一篇文章《用antlr4来实现中的计算器》。 其实我对于antlr4的理解也仅限于那篇文章的范围,但那些内容对于我们实现一个SNL语言已是足够了。 SNL语言的简介可以百度百科(http://baike.baidu.com/subview/2298006/5909410.htm)中看到。 简单说来,这是一个非常简单的结构化编程语言,它包含了一个编程语言应该...
阅读全文
摘要:上次在公司内部讲《词法分析——使用正则文法》是一次失败的尝试——上午有十几个人在场,下午就只来了四个听众。本来我还在构思如何来讲“语法分析”的知识呢,但现在看来已不太可能。这个课程没有预想中的受欢迎,其原因可能是:1.课程内容相对复杂,听众知识背景与基础差异比较大。2.授课技巧不够,不能把复杂的知识...
阅读全文