表达式解析

 

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的比较

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值