anltr的词法解析问题 请问在antlr中 如何能实现 正则中的 \d{3,5} 这样的 识别问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 唉,谢了,我自己找到答案了 在这里标记一下。翻了好几遍官方的document,在www.antlr.org上面找了好久,终于明确知道 antlr 不支持 类似正则的 element{3,5} 这样重复 3到5次之间这样的语法。但是abnf 和ebnf 里面是有支持的。abnf 见http://www.ietf.org/rfc/rfc2234.txtebnf 见http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf唉,这不完整的蛋疼的实现让我了好久。解决的方法有两种,1,换 jflex + CUP 这两个对bnf的支持比较好,但迁移的工作量不小2、采用 antlr的 gagted semantic predicate + valid semantic predicate. 如rule@init {int n = 0;}:({n<=5}?=> factor {n++} )+ {n>=3}?让我郁闷的是,我需要生成第二个.g文件。期望后续的版本能够在语法层支持这一特性而不需要带到语义层去实现。 新手求解,socket写聊天室的时候,nextLine堵塞了 简单问题2个请求帮助 java 做一个分割大文件 怎么判断ResultSet已经没有记录了 静态与非静态变量的OutOfMemory问题 jButton的名字怎么实现换行? The method getItemNo() is undefined for the type Item怎么解决!! 一个双击便能执行的jar文件与一般的JAR文件有什么区别 java菜鸟提问。 请问可以在applet中使用MenuBar吗? java父类想调用子类方法 java 后台监听键盘~~
翻了好几遍官方的document,在www.antlr.org上面找了好久,终于明确知道 antlr 不支持 类似正则的 element{3,5} 这样重复 3到5次之间这样的语法。
但是abnf 和ebnf 里面是有支持的。abnf 见
http://www.ietf.org/rfc/rfc2234.txtebnf 见
http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf唉,这不完整的蛋疼的实现让我了好久。解决的方法有两种,
1,换 jflex + CUP 这两个对bnf的支持比较好,但迁移的工作量不小
2、采用 antlr的 gagted semantic predicate + valid semantic predicate.
如
rule
@init {int n = 0;}
:
({n<=5}?=> factor {n++} )+ {n>=3}?让我郁闷的是,我需要生成第二个.g文件。期望后续的版本能够在语法层支持这一特性而不需要带到语义层去实现。