Jackiesteed

www.github.com/jackiesteed

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

2012年9月1日

摘要: 承接上一篇日志, 我对原来的解释器做一点小小的改动.大致增加了如下特性:允许int, char变量在定义的时候赋值.if, for while等支持一条语句的循环体, 在ver1.0中, 作者为了方便解析, 限定了if, for等的循环体不能使用单条语句.对于switch的优化, 原来作者的代码里面不能在case后面加block{}(而这一点是比较必须的), 而且没有default项, 这两项都被改进了.对于if else语句的改进, 使得else 后面还可以接if语句.对于cout的改进, 支持endl, 输出换行.上面的大部分都是小改动, 但是涉及了对代码中小部分逻辑的修改, 如下:int 阅读全文
posted @ 2012-09-01 23:48 Jackiesteed 阅读(1192) 评论(1) 推荐(0) 编辑

摘要: 来自<C++编程艺术>.Herbert Schildt已经把很多基本的程序解析的技巧表达了出来, 不过现在的源代码比较脆弱, 经过我改进的代码也很脆弱, 所以, 如果你感兴趣, 请使用简单的代码来测试它.书中MiniCPP(理解为MiniCpp1.0)支持的特性如下:具有局部变量的参数化函数.嵌套的作用域.递归.if语句.switch语句.do-while, while及for循环.break语句.int, char类型的局部及全局变量.整型和字符型的函数参数.字符串常量(部分实现).return语句, 可以带或不带返回值.少量的标准函数.基本的运算符.返回整型的函数./*和//注 阅读全文
posted @ 2012-09-01 23:27 Jackiesteed 阅读(1817) 评论(0) 推荐(0) 编辑