摘要:摒弃分布式事务的高伸缩性解决方案
Life beyond Distributed Transactions: an Apostate’s Opinion
阅读全文
摘要:1. Ajax调用被杀毒软件/防火墙阻挡 记得05年做项目遇到过这种情况,发现客户端关掉kv300和瑞星的网页监控选项能够解决问题,因为是集团和供应商之间的系统,没有深究原因,而是要求用户关闭杀毒软件的网页监控选项 不久前的项目又遇到这个情况,卡巴会拦截ajax调用请求。将http header的connection设置为close可以解决问题:xmlHttp.setRequestHeader('...
阅读全文
摘要:1. 对语法框架结构的整体构思 一方面为了避免过多因素的干扰,另一方面考虑迭代完善过程,在对语法的整体构思时不要考虑语法树的结构,以及如何构造语法树的问题。2. 采用自底向上的方法 因为这样可以结合ANTLRWorks一步步测试,在Interpreter窗口选择要测试的规则就可以进行。 例如下面图中的NoViableAltException表示这个表达式无法解析 自底向上时对每一个规则最好能够充...
阅读全文
摘要:OQL中的两个概念对象 case 1: 把属性替换为列名,对象替换为表名 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->select UserId,UserCode,UserName from User 结果: Code highli...
阅读全文
摘要:OQL使用ANTLR写了个SQL解析器,这样ORM的基本功能就比较完整了。几天的时间比较仓促,所以对于最终目标,还只能算是个雏形。总体状况使用SQL解析器的主要优点:1. 基于解析之后的语法树提供用户操作接口,灵活性非常好,因为达到了对SQL每一部分的完整控制。2. 对数据库的适应性。 首先可以采用标准SQL,以及部分封装好的特性(例如分页)、函数(例如主要数据库都支持的函数,但语法有一定差异的)...
阅读全文
摘要:目前为止使用的例子中,都是直接在语法文件中嵌入求值处理代码,这种方式ANTLR称为嵌入式动作(embeded action)。复杂情况下,需要基于语法树遍历(walking the tree)生成目标代码。embeded action将处理代码跟语法描述混合起来,语法复杂时使语法文件臃肿。另外语法可能经常需要修改,但语法的主要表达式不会变动,将语法识别与转换、生成(目标代码)等处理分离是有好处的。...
阅读全文
摘要:安装配置需要JRE或者JDK下载ANTLRWorks: http://www.antlr.org/works/index.html查看DFA需要使用Graphviz,下载安装: http://www.graphviz.org/运行antlrworks-1.1.7.jar,在菜单File -> Preferences中设置DOT path为Graphviz安装路径"bin"dot.exe。这里...
阅读全文
摘要:ANTLR的语法文件使用扩展巴科斯范式EBNF描述,记得编译原理的用起来非常简单,需要进一步了解的是怎么构造自己的recognizer和translator。很多的语法不需要从头写,一方面很多语言标准中基本都使用EBNF描述,另一方面ANTLR网站http://www.antlr.org/grammar/list上有大量写好的语法文件,可以参考使用。我已经忘得一干二净,从头大致了解一下。巴科斯范式...
阅读全文
摘要:安装配置:1. JDK环境 http://java.sun.com/ JDK bin路径设置。如果只是生成C#程序,装JRE就可以,生成Java程序,编译测试才需要JDK。网上Java的示例多一些,所以不妨装个Eclipse。2. 安装ANTLR v3 http://www.antlr.org/download.html 我没有用ANTLRWorks,下载的ANTLR 3.0.1 source d...
阅读全文