`
Tonyguxu
  • 浏览: 271967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

表达式解析

 
阅读更多

 

JavaCC编译ELParser.jj生成ELParser.java

 

ELParser.java 语法分析器

 

---parse方法---

public static Node parse(String ref) throws ELException

    {

        try {

        return (new ELParser(new StringReader(ref))).CompositeExpression();

        } catch (ParseException pe) {

            throw new ELException(pe.getMessage(), pe);

        }

    }

parse方法会完全从ELParser.jj拷贝到ELParser.java。

 

---CompositeExpression方法---

CompositeExpression方法被javacc由ELParser.jj描述的规则生成。

 

 

其他类:

ELParserConstants.java

ELParserTokenManager.java 词法分析器

 

 

 

《Lucene源码解析》p363 javacc使用的是编译原理里自上而下分析法,基本采用LL(1)方法

 

jjtree

http://www.softwaresecretweapons.com/jspwiki/jjtree-tutorial-for-advanced-java-parsing

 

其他

http://code.alibabatech.com/wiki/display/SimpleEL/Home

 

dsl

 

ELParser与QueryParser的比较

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics