Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 【论文】学习中 / 2007-04-10
【标  题】:【论文】学习中 / 2007-04-10
【关键字】:2007-04-10
【来  源】:http://blog.csdn.net/zkdavids/archive/2007/04/10/1559129.aspx

【论文】学习中 / 2007-04-10

Your Ad Here  【计划】看Saxon把XQuery编译为语法树的这个过程,在哪里体现的。如果没有的话,要找出执行具体查询的代码段,贴到blog里面。

在语法分析阶段,需要建立语法树,下面的代码中,在解析了特定的Token以后,生成新的exp类,并通过setLocation,加入这个结构。虽然还没有具体的看Expression这个类,但,应该实现了类似的结构

    private Expression parseOrExpression() throws StaticError {
        Expression exp 
= parseAndExpression();
        
while (t.currentToken == Token.OR) {
            nextToken();
            exp 
= new BooleanExpression(exp, Token.OR, parseAndExpression());
            setLocation(exp);
        }

        
return exp;
    }           

在跟踪Saxon运行的状态下,反复看到一个输出的模式
            int properties = (inheritNamespaces ? 0 : ReceiverOptions.DISINHERIT_NAMESPACES);
            out.startElement(nameCode, typeCode, locationId, properties);

            
// output the required namespace nodes via a callback

            outputNamespaceNodes(c2, out);

            
// process subordinate instructions to generate attributes and content
            content.process(c2);

            
// output the element end tag (which will fail if validation fails)
            out.endElement();

输出<tagname  someNB someAttr> some content </tagname> 这个内容。还没有看到具体的处理过程。每一个 XQuery语法的语法要素都有对应的action对象,这块还是不理解。

NND ,脑子又开始乱了
"水仙花数"用Application与Applet实现:【上一篇】
【论文】整理思路 / 2007-4-9:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • STRUTS 入门教学(4)
  • rs.getString(n)赋值引用顺序
  • Linux SMP/interrupt
  • Ubuntu将会发布3款桌面系统
  • 5.4. 硬碟的效能特性
  • 同事总结的备份相关内容
  • HQL: Hibernate查询语言(一)
  • 鼠绘技术内幕完全接触-人物篇
  • 接口种类
  • Ruby 全局变量
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.