首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我的语法包含一个由多个或-级联的子表达式组成的表达式,那么为什么Grako解析过程会失败呢?

如果我的语法包含一个由多个或-级联的子表达式组成的表达式,那么为什么Grako解析过程会失败呢?
EN

Stack Overflow用户
提问于 2017-03-15 07:52:10
回答 1查看 94关注 0票数 2

我在用Grako。在我的EBNF语法中,我有一个表达式,该表达式由许多使用OR-运算符连接的子表达式组成,如下所示:

代码语言:javascript
复制
expression = subexpressionA | subexpressionB | ...  | subexpressionZ;

如果输入字符串包含后一个子表达式,比如subexpressionZ,解析过程总是失败的。当我像这样重写语法时

代码语言:javascript
复制
expression = subexpressionZ | subexpressionB |  ...  | subexpressionA;

如果输入字符串包含subexpressionZ,解析过程将成功完成,但如果包含subexpressionA,则现在将失败。

有没有人遇到过类似的问题?是Grako中的一个bug (我使用的是3.6.3)。还是我做错什么了?

非常感谢你的任何想法!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 11:27:51

我解决了我的问题--很久以前:) --把这些表达式分成几个子表达式,例如:

代码语言:javascript
复制
expression1 = subexpressionA | subexpressionB | subexpressionC;
expression2 = subexpressionD | subexpressionE | ...  | subexpressionZ;
expression = expression1 | expression2;

出于某种原因,这是可行的..。

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

https://stackoverflow.com/questions/42803877

复制
相关文章

相似问题

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