- 浏览: 3019415 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
之前的一帖提到过访问DLR tree所使用的visitor的实现方式,与LINQ相同,都是由一个总的Visit()方法通过每个AST节点上的NodeType属性来判断节点类型并分发到具体的VisitXXX()方法上。
这种设计与常见的Visitor模式并不相同——常见的方式是为需要被访问的类层次中每个类设计一对Accept()/Visit()方法,以此实现double-dispatch的Visitor。在最近更新的IronPython/IronRuby源码中,可以看到ExpressionTreeVisitor已经确认会作为公开API提供。相应的,visitor也从基于NodeType的大switch的设计改回到普通的Visitor模式的设计。
根据观察,这些改变将不会进入IronPython 2.0,而会进入更后面的IronPython 2.1中。
这种设计与常见的Visitor模式并不相同——常见的方式是为需要被访问的类层次中每个类设计一对Accept()/Visit()方法,以此实现double-dispatch的Visitor。在最近更新的IronPython/IronRuby源码中,可以看到ExpressionTreeVisitor已经确认会作为公开API提供。相应的,visitor也从基于NodeType的大switch的设计改回到普通的Visitor模式的设计。
根据观察,这些改变将不会进入IronPython 2.0,而会进入更后面的IronPython 2.1中。
发表评论
-
对象的重量
2011-08-21 17:15 0http://domino.research.ibm.com/ ... -
IronRuby 1.1系的自适应执行(解释/编译的混合模式)
2010-10-29 14:12 0IronRuby自身的compiler部分基本上还是保持不变的 ... -
Expression Tree中的Constant被编译后放到哪里去了?
2010-02-28 16:21 0Expression.Constant()可以放任意对象进去作 ... -
拿ETv2来生成方法体的两种阳春办法
2009-09-22 06:03 0System.Type System.Reflection.E ... -
C#的语言结构到Expression Tree v2的映射
2009-05-21 03:11 0在.NET Framework 4 Beta 1中,Expre ... -
.NET Framework 4.0 Beta 1里的Expression Tree一例
2009-05-20 10:23 2884既然装上了Visual Studio 20 ... -
用Iron-*语言来探索.NET
2009-05-15 23:21 3359刚才写代码的时候又是在不停查文档,甚是心烦。一怒,拿出Iron ... -
自己关于VM的帖的目录
2009-04-07 14:02 68860JavaEye的blog系统只允许把帖放到单一类别下,而不能用 ... -
MIX09上关于DLR解释器消息的一段听记(3月26更新IronPython 2.6A1消息)
2009-03-23 21:09 1806John Lam在MIX 09上做了一个关于动态语言与Silv ... -
答复: C# 4 DLR & Java 7 Invokedynamic
2009-03-22 17:12 2975原帖地址:C# 4 DLR & Java 7 Invo ... -
通过get或set方法的MethodInfo获得相应的PropertyInfo的方式
2009-02-01 22:41 3506在IronPython 46307的MemberExpress ... -
同一个ParameterExpression被用在不同嵌套层次的lambda里会怎样?
2009-01-16 00:22 2563今天写代码的时候不小心写错了几个地方,把同一个Paramete ... -
CodePlex上放出DLR v0.9 beta
2008-11-27 14:34 1946之前提到过DLR会在CodePlex上拥有自己独立的项目页面, ... -
IronRuby (r170)中respond_to?的实现
2008-11-13 23:29 0IronRuby.Libraries/Builtins/Ker ... -
DLR中的binder的演变
2008-11-11 23:29 0从模糊的“标准消息”转变为明确完整的MetaObject Pr ... -
DLR即将在Codelex开设独立的站点
2008-10-29 23:01 1411DLR官网:Dynamic Language Runtime ... -
IronPython放出RC1
2008-10-23 09:59 1794下载链接:http://www.codep ... -
对比DLR
2008-10-08 04:32 0Managed JScript: // // AST: E ... -
目前DLR执行一棵DLR tree的过程(针对10月3日的ChangeSet 41087)
2008-10-07 01:46 1741先在Microsoft.Scripting.Actions.C ... -
LINQ与DLR的Expression tree(4):创建静态类型的LINQ表达式树节点
2008-09-27 00:18 9315(Disclaimer:如果需要转载请先与我联系;文中图片请不 ...
相关推荐
设计模式C++学习之访问者模式(Visitor)
也许最开始出现这种模式,是因为另外的原因: 我有一堆数据放在一个库里头,不想让其它人拿着, 如果你要用数据干活,那你就把函数指针给我,我来替你使用这个数据。...然后人们就说,这是visitor模式。
博文链接:https://notguru.iteye.com/blog/78260
设计一个开发以下两个访问者的访问者:一个访问者,它读取输入文件input.txt,并用文件中的所有单词填充树数据结构。 使用树数据结构将第二位访问者的性能最大化。 使用该树数据结构的插入条件将单词存储在树中。 一...
Visitor
C#设计模式之1 --- Visitor (附原码)
访问者模式(Visitor) 用意:适用于数据结构相对未定的系统,把数据结构和作用于结构上的操作间的耦合解开。
Laravel开发-visitor 以数据库、页面点击量记录您的访问者,并为Laravel 5生成访问计数器
23种设计模式之二十(行为模式)Visitor模式
Visitor模式.docVisitor模式.doc
C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式
该PPT包含了Visitor里面所有的知识点和扩展,对于想要学习该模式的人来说是不二的选择,并且配上了源代,未经允许不可传至其他网站。
Visitor TT1 BRK
面向对象 北工大 课设 使用多种设计模式,实现的求值引擎,包括表达式树的构建
访问者模式(Visitor Pattern)是GoF提出的23种设计模式中的一种,属于行为模式。它表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。从定义可以看出,...
visitor.js这个js文件能提供你关于你的网站的访客的详细信息(比如他在哪个城市,最后访问日期等等)。 该软件已改名为 session.js
设计模式 -访问者(Visitor)模式详解和应用.pdf
Laravel开发-visitor-log Laravel 4记录所有访客的包
struts2中Visitor校验器以及域对象级别上验证和使用上下文优化的使用,我自己写的一个完整代码,详细的展示了如何使用Visitor校验器以及怎样在域对象上验证和注意事项,代码解压后可以直接部署到MyEclipse上运行,...