首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个语法能用antlr4解析吗?

这个语法能用antlr4解析吗?
EN

Stack Overflow用户
提问于 2018-12-16 17:29:03
回答 1查看 93关注 0票数 1

给定一个由n个规则组成的集合,我需要一个antlr4规则来匹配任意的S子集,顺序如下:

  • S的每条规则都可以出现零或一次
  • 子集的任何排列都是可以的。

示例

给定S= {a,b},(n = 2)规则必须匹配

  • 一个
  • B
  • a.b
  • B a

例如,"a b b“不能匹配。

用antlr4语法解析这种表达式是可能的吗?我的真实集有n= 6,所以列出语法中的所有组合似乎不是一个可能的选择!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-16 19:20:46

不,不能在ANTLR (或我所知道的任何其他解析器生成器)中定义规则的组合和/或排列。

您可以使用predicates to accomplish your goal,但这意味着向语法中添加特定于目标的代码:我只需解析任何ab并在解析后验证结构(在自定义访问者/侦听器中)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53804755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档