栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

简洁的语法来解析诸如“ abab”或“ baba”之类的交替字符的字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简洁的语法来解析诸如“ abab”或“ baba”之类的交替字符的字符串

您拥有的BNF语法是这样的:

expr ::= A | BA ::= "a" B | "a"B ::= "b" A | "b"

我认为可以使用您的语法将此翻译为:

"expr": Or(Ref("A"), Ref("B")),"A": And(    a,    Optional(Ref("B"))),"B": And(    b,    Optional(Ref("A")))

请注意,在非端子()之前检查端子(

"a"
"b"
)很重要
Ref(x)
,否则会出现无限循环。它将始终尝试查看它是否可以匹配另一个字符串
A
B
该字符串的末尾,然后匹配另一个字符串,从而导致永无止境的递归。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号