随笔分类 -  编译技术

摘要:# Foreword> # 序 This book brings you face-to-face with the most fundamental idea in computer programming: > 关于计算机的基础理念,这本书会给您带来一个直观的理解: **The interpre 阅读全文
posted @ 2017-01-30 12:56 周游(Michael Chow) 阅读(1000) 评论(0) 推荐(0)
摘要:周末两天我写了一个MySQLParser。写这个东西的目的是:公司的一个项目中需要对数据打版本号(每个表的每条记录要有一个版本号字段,这个字段需要由框架自动打上去,而不是由程序员来做)。 所以,我写的这个程序是有专门的场景的,并非为通用情况而编写(也就是说:有些东西并不影响工具对sql加字段的,我在 阅读全文
posted @ 2016-08-16 02:59 周游(Michael Chow) 阅读(625) 评论(0) 推荐(0)
摘要:一、为什么要写这个工具?公司内容有多个项目需要同一个功能,而这些项目中,有的是用Java的,有的是用C++的,同时由于某些现实条件限制,无法所有项目都调用统一的服务接口(如:可能运行在无网络的情况下),所以可选方案有两种:a.分别用Java和C++实现两套一样的功能。b.实现一个生成工具,用来生成同... 阅读全文
posted @ 2015-07-24 21:57 周游(Michael Chow) 阅读(1087) 评论(1) 推荐(0)
摘要:我的扩展功能描述如下:在java的现有语法中加入var来声明变量,并且可以根据初始化数据来自动类型推导。举两个例子:例一:如下JAVA代码(注意这里的var是新语法):import java.util.*;public class TestHello { private var i =... 阅读全文
posted @ 2015-04-21 13:40 周游(Michael Chow) 阅读(1381) 评论(0) 推荐(1)
摘要:对于SNL语言解释器的内容可以参考我的前一篇文章《使用antlr4及java实现snl语言的解释器》。此文只讲一下“尾递归优化”是如何实现的——“尾递归优化”并不是一个语言实现必须要做的,但这是一个比较有趣的东西,所以我还是想拿来讲一讲。 在前一篇文章中有一个例子: program recursion procedure f(integer d); begin write(d); f(d +... 阅读全文
posted @ 2014-06-22 01:07 周游(Michael Chow) 阅读(1127) 评论(0) 推荐(0)
摘要:对于antlr4的基础使用,请参考我的前一篇文章《用antlr4来实现中的计算器》。 其实我对于antlr4的理解也仅限于那篇文章的范围,但那些内容对于我们实现一个SNL语言已是足够了。 SNL语言的简介可以百度百科(http://baike.baidu.com/subview/2298006/5909410.htm)中看到。 简单说来,这是一个非常简单的结构化编程语言,它包含了一个编程语言应该... 阅读全文
posted @ 2014-06-07 14:25 周游(Michael Chow) 阅读(2402) 评论(1) 推荐(0)
摘要:上次在公司内部讲《词法分析——使用正则文法》是一次失败的尝试——上午有十几个人在场,下午就只来了四个听众。本来我还在构思如何来讲“语法分析”的知识呢,但现在看来已不太可能。这个课程没有预想中的受欢迎,其原因可能是:1.课程内容相对复杂,听众知识背景与基础差异比较大。2.授课技巧不够,不能把复杂的知识... 阅读全文
posted @ 2014-06-02 14:57 周游(Michael Chow) 阅读(3850) 评论(0) 推荐(0)
摘要:(周游[http://www.cnblogs.com/naturemickey]版权所有,未经许可请勿转载)在我的前一篇文章《按编译原理的思路设计的一个计算器》中,大致讲了编译器的结构及构造思路。这次把词法分析的部分单独拿出来细讲一下。一、什么是词法分析词法分析是编译器的第一个阶段。它输入一段程序的... 阅读全文
posted @ 2014-04-15 22:52 周游(Michael Chow) 阅读(5111) 评论(0) 推荐(0)
摘要:(周游[http://www.cnblogs.com/naturemickey]版权所有,未经许可请勿转载)首先看一下这个计算器的功能:CALC> set a = 1; b = 2CALC> set c = 3CALC> calc (10 + pow(b, c)) * sqrt(4) - 135.0... 阅读全文
posted @ 2014-04-15 22:51 周游(Michael Chow) 阅读(1654) 评论(1) 推荐(0)