﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-俺的垃圾箱-随笔分类-编译器【解释器】开发</title><link>http://www.cnblogs.com/riceball/category/79250.html</link><description>架构分析
解释编译原理</description><language>zh-cn</language><lastBuildDate>Thu, 09 Apr 2009 05:29:22 GMT</lastBuildDate><pubDate>Thu, 09 Apr 2009 05:29:22 GMT</pubDate><ttl>60</ttl><item><title>Web Continuation</title><link>http://www.cnblogs.com/riceball/archive/2008/01/26/1054000.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Sat, 26 Jan 2008 01:30:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2008/01/26/1054000.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/1054000.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2008/01/26/1054000.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/1054000.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/1054000.html</trackback:ping><description><![CDATA[摘要: 传统Web开发，一般都是以客户端作为主动的，客户端发请求，然后接收响应，然后再发请求...，整个流程都是以客户端为推动源。这样的一个结果就是，一般的web框架都是把他们的控制器分成一个个的方法调用，客户端的请求就对应到这些方法调用当中。而Web Continuation Server 通过引入Continuation机制将逻辑反转了过来，并以此实现了对于page flow的完整描述。&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2008/01/26/1054000.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/1054000.html?type=1" width = "1" height = "1" />]]></description></item><item><title>Continuation 概念与协程(CoRoutine)</title><link>http://www.cnblogs.com/riceball/archive/2008/01/19/Continuation.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Sat, 19 Jan 2008 13:22:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2008/01/19/Continuation.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/1045765.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2008/01/19/Continuation.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/1045765.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/1045765.html</trackback:ping><description><![CDATA[摘要: 所谓Continuation就是保存接下来要做的事情的内容(the rest of the computation)。举个简单例子，我在写文档，突然接到电话要外出，这时我存档，存档的数据就是Continuation(继续即将的写作)，然后等会儿回来，调入存档，继续写作。Continuation这个概念就协程来说就是协程保护的现场。而对于函数来说就是保存函数调用现场——Stack Frame值和寄存器，以供以后调用继续从Continuation处执行。换一个角度看，它也可以看作是非结构化Goto语句的函数表达。当我们执行 Yield从协程返回的时候，需要保存的就是Continuation了。&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2008/01/19/Continuation.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/1045765.html?type=1" width = "1" height = "1" />]]></description></item><item><title>Coroutine(协程) 模式与“控制”和“行为”的代码复用</title><link>http://www.cnblogs.com/riceball/archive/2008/01/03/1025158.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Thu, 03 Jan 2008 14:48:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2008/01/03/1025158.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/1025158.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2008/01/03/1025158.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/1025158.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/1025158.html</trackback:ping><description><![CDATA[摘要: 在很多时候，我们需要对数据结构（如：List，Stack）中的元素按某种要求进行遍历，我们称之为“控制”；然后对目标元素进行某个操作，我们称之为 “行为”。许多情况下，这种“控制”或行为的代码本来是可以被复用的，但是因为难以将这其中的“控制”和“行为”分离，造成了我们不得不一遍又一遍的书写这些类似的代码（虽然利用回调可以实现在一定程度上的“控制”和行为的分离，但是并不优雅，也不无法实现彻底重用）。这时候，有聪明人就将目光转向了非对称式(asymmetric-coroutine)协程。&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2008/01/03/1025158.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/1025158.html?type=1" width = "1" height = "1" />]]></description></item><item><title>[JavaScript] 你相信么，只需一个函数5行JS代码即可在Javascript中实现完整的AOP功能，</title><link>http://www.cnblogs.com/riceball/archive/2007/09/02/jsInject.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Sun, 02 Sep 2007 08:57:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2007/09/02/jsInject.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/878995.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2007/09/02/jsInject.html#Feedback</comments><slash:comments>26</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/878995.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/878995.html</trackback:ping><description><![CDATA[摘要: 你相信么，在JavaScript只要5行代码即可实现完整的面向方面AOP编程功能。这5行代码的功能包括：<br><br>    * 无限层次的函数无害拦截<br>    * 函数执行前拦截<br>          o 检查函数的参数值<br>          o 重新设定函数的参数值<br>    * 函数执行后拦截<br>          o 检查函数执行后的返回结果<br>          o 重新设定函数的返回结果&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2007/09/02/jsInject.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/878995.html?type=1" width = "1" height = "1" />]]></description></item><item><title>架构基于纯Class体系的Common Type System 系统的困惑</title><link>http://www.cnblogs.com/riceball/archive/2007/01/22/626716.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Mon, 22 Jan 2007 04:26:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2007/01/22/626716.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/626716.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2007/01/22/626716.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/626716.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/626716.html</trackback:ping><description><![CDATA[摘要: 利用 CLR 提出的 Static Members 的概念，可以将普通类型全部类化，包括模块这一概念，通过Static Method 的这样的概念（没有Self指针，只能操作Static Fileds，等价于原来的函数过程），这样不会影响过程的速度性能。从速度性能上来说，的确该让我满意了！但是对于内存开销来说，采用类这一形式来表现类型后，内存开销增大了，即使表现最简单的整数类型，也不得不用类来表示。还是仔细列举出优劣对比：<br><br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2007/01/22/626716.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/626716.html?type=1" width = "1" height = "1" />]]></description></item><item><title>设计高速TurboScript脚本引擎随笔 － static class - perfect concept, I love</title><link>http://www.cnblogs.com/riceball/archive/2007/01/07/613931.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Sun, 07 Jan 2007 03:23:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2007/01/07/613931.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/613931.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2007/01/07/613931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/613931.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/613931.html</trackback:ping><description><![CDATA[摘要: 通过 static class 概念，让所有的一切都可以以类的观点进行处理了！漂亮的solver！模块这一概念也可以视作一个static class.<br>真是好主意，看来俺的TurboScript需要重新构思类型系统了。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2007/01/07/613931.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/613931.html?type=1" width = "1" height = "1" />]]></description></item><item><title>脚本引擎解释器执行效率评测</title><link>http://www.cnblogs.com/riceball/archive/2006/12/25/603468.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Mon, 25 Dec 2006 15:02:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2006/12/25/603468.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/603468.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2006/12/25/603468.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/603468.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/603468.html</trackback:ping><description><![CDATA[摘要: 初步评测世界上最快的脚本引擎的解释器的执行效率 ——  EUPHORIA, Lua，以及俺写的TurboScript解释器核心原型【也许会开源】。&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2006/12/25/603468.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/603468.html?type=1" width = "1" height = "1" />]]></description></item><item><title>厉害的 JITter 优化</title><link>http://www.cnblogs.com/riceball/archive/2006/12/22/600653.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Fri, 22 Dec 2006 09:36:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2006/12/22/600653.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/600653.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2006/12/22/600653.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/600653.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/600653.html</trackback:ping><description><![CDATA[摘要: 编译汇编语句： ADD EBX, 300，重复2017次，测得其运行时间为 60 个 QueryPerfomanceCount。在这里直接运行的机器码应该是最快实现了吧。但是让我们编译IL语句： ldc.i4 300, ADD 重复2017次，测得其运行时间居然只有区区 5个 QueryPerfomanceCount。跌破眼球吧，到底是怎么回事了，这就是JITter 优化的功劳了。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2006/12/22/600653.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/600653.html?type=1" width = "1" height = "1" />]]></description></item><item><title>面向堆栈的虚拟机与 Moving Forth 简介</title><link>http://www.cnblogs.com/riceball/archive/2006/12/17/594814.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Sun, 17 Dec 2006 08:33:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2006/12/17/594814.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/594814.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2006/12/17/594814.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/594814.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/594814.html</trackback:ping><description><![CDATA[摘要: CLR 的实现虚拟机就是一个与Forth类似的堆栈虚拟机。Forth是一套建造于一个虚拟硬件上之系统，其中包括有操作系统、语言、除错器等等软件。 所以Forth规类为混合操作系统之语言。因此种特性使之特别合适于嵌入式系统中。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2006/12/17/594814.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/594814.html?type=1" width = "1" height = "1" />]]></description></item><item><title>Coco/R 快速编译器生成工具</title><link>http://www.cnblogs.com/riceball/archive/2006/12/15/593788.html</link><dc:creator>Riceball LEE</dc:creator><author>Riceball LEE</author><pubDate>Fri, 15 Dec 2006 13:58:00 GMT</pubDate><guid>http://www.cnblogs.com/riceball/archive/2006/12/15/593788.html</guid><wfw:comment>http://www.cnblogs.com/riceball/comments/593788.html</wfw:comment><comments>http://www.cnblogs.com/riceball/archive/2006/12/15/593788.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/riceball/comments/commentRss/593788.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/riceball/services/trackbacks/593788.html</trackback:ping><description><![CDATA[摘要: Coco/R 使用增强的 EBNF 文法建立递归下降分析的分析器(Recursive Descent Parser)和扫描器(Scanner)。Coco/R 除了提供调用分析器的主程序模块之外，还提供语义(semantic )模块在文法之中调用（如，符号表处理和代码生成器）,可以直接在grammer 内写语意动作。&nbsp;&nbsp;<a href='http://www.cnblogs.com/riceball/archive/2006/12/15/593788.html'>阅读全文</a><img src ="http://www.cnblogs.com/riceball/aggbug/593788.html?type=1" width = "1" height = "1" />]]></description></item></channel></rss>