小鬼之家

流浪,游走于文明与原始之间. 关注底层技术,实现美好生活。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年1月22日

摘要: 上两篇用分析JSON的例子讲完了词法分析与语法分析的整个过程,本篇再谈谈自己的一些认识。  词法分析与语法分析的理论基础都是自动机原理。或许会有人认为理论比较难学难用,其实我们也不必拘泥于它的理论,我们只要知道在一个大的循环里,我们要使用大量的if语句来进行判断,根据要分析的对象的边界条件来产生相应的对象也就可以了。对词法或语法的解析,最难的地方是要怎么才能知道这样的词法或语法是行得通的,而需要证... 阅读全文
posted @ 2009-01-22 16:35 黄尚 阅读(1191) 评论(1) 推荐(0) 编辑

摘要: 上一篇谈到了词法分析,并且给了一小段词法分析上的代码。如果大家对着代码看,可能就会发现我构造了一个对象来对字符串进行读取。具体代码是:CharReadersrc=newCharReader(chars);这样子写是为了减少在后面的while语句对字符串数组末尾的判断,起到简化代码的作用;这样的小技巧在写一些比较复杂的算法的时候特别的重要。实现完词法分析之后我们就要进行到下一步的语法分析了。教科书的... 阅读全文
posted @ 2009-01-22 15:28 黄尚 阅读(673) 评论(0) 推荐(0) 编辑

摘要: 计算机相关专业的差不多都有学过编译原理吧?今天我班门弄刀,也谈谈我自己对编译原理的认识和理解。当然啦,我主要要谈的是编译器的前端的实现,后端的代码生成我目前还没有研究过。 实现一个编译器有两大步骤:一是词法分析,二是语法分析。应对这两块有很多的工具是可以帮助我们进行这样的工作的(例如:flex、yacc等),但我要说的是怎么完全手工去实现它。语法分析的主要目的是把一个个的字符和字母之类的东西给识别... 阅读全文
posted @ 2009-01-22 14:41 黄尚 阅读(2620) 评论(8) 推荐(0) 编辑