一个 EL语法二义性的问题

本文讨论了JSEL语法扩展的问题,特别是如何支持静态函数调用。作者考虑借鉴JSPEL中的函数定义方法,并提出了一些可能的语法选项。但随之而来的是如何解决不同语法之间的冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在琢磨着怎么扩展我的[url=http://www.iteye.com/news/4009-jsel]JSEL[/url]语法。想去支持静态函数调用。想到JSP EL中的函数定义方法。

JSP中可以给一批函数,定义在一个命名空间中。调用语法如下。

fn:substr('1234',1,1)//返回'3'


但是JSEL中我已经打算支持直接的全局函数调用,比如我可以直接支持JS中的parseInt,isNaN等全局函数。
如此一来,我需要同时支持两种语法。

parseInt()。
myfn:parseInt()。


如此一来,问题出来了:
xxx  ?  fn:method1() + fn:method(2)

如何解释呢?
语义一:
xxx  ?
fn:
method1() + fn:method(2)

语义二:
xxx  ?
fn:method1() + fn
:method(2)

都有道理,不知道改如何去做了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值