小李子

小小的蜗牛,慢慢的爬。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年5月22日

摘要: 麻雀虽小,五脏俱全!本文试图用最简单的示例覆盖最多的知识点。文中主要通过加减法器的设计来介绍基于Gold的解释器(关于解释器和编译器的区别联系见《儿子和女儿-解释器和编译器的区别与联系》)开发方法,不仅介绍了基于Gold的词法分析和语法分析,同时还介绍了如何在自动生成的基本骨架代码上来完成语义分析、解释执行和错误提示功能。1.目标介绍: 首先说一下,我们开发的解释器究竟是面对什么语言呢?例子非常简单,只是整数的加减法而已,输入源语言如下所示: 1+2+3 1 +22+ 333+4+ 555 要求如下: (1)输入为32位正整数的和或差的表达式,表达式中终结符的前后和中间可以有不可见字... 阅读全文

posted @ 2012-05-22 12:51 ljl_falcon 阅读(310) 评论(0) 推荐(0)

摘要: 最近打算重做以前的一个留下遗憾的工作,当中的一项小任务就是要求编写一个简易SQL语言的语法分析器。 本科的《编译原理》课程依稀在我脑中留下些许映象。当初的课程大作业是写一个叫Dicuf(貌似是这么发音)的编译器,在万恶的助教的鞭策下,我们使用了Lex和Yacc成功逃离了恐怖之狱。现在又要拾起编译来,还是有些挑战性的。 善其事,利其器。在网络上一番东游西逛,我对于时兴的一些语法分析器自动生成工具有了点了解。现总结如下,以资参考。Lex/Yacc 它生于Unix,是最经典的词法\语法分析器,是经典教材中的示例御用工具。现在它也支持在Windows上生成(安装环境),然而其所生成语法分析器的语言仅. 阅读全文

posted @ 2012-05-22 12:24 ljl_falcon 阅读(669) 评论(0) 推荐(1)