加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么在线解析器似乎停在正则表达式?

发布时间:2020-12-13 22:53:26 所属栏目:百科 来源:网络整理
导读:我一直想知道为什么似乎没有任何解析器,例如 BNF,在各种库中表现得像正则表达式. 当然,有像ANTLR,Yacc和其他许多生成代码的东西,反过来,它们可以解析CFG,但似乎没有一个库可以在没有中间步骤的情况下做到这一点. 我有兴趣编写一个Packrat parser来启动所有与
我一直想知道为什么似乎没有任何解析器,例如 BNF,在各种库中表现得像正则表达式.

当然,有像ANTLR,Yacc和其他许多生成代码的东西,反过来,它们可以解析CFG,但似乎没有一个库可以在没有中间步骤的情况下做到这一点.

我有兴趣编写一个Packrat parser来启动所有与regexp相关的嵌套 – 括号 – 怪癖(对于它的运动,甚至可能更多),但不知何故,我有这样的感觉,我只是走进另一个停止像沼泽一样的问题.

这些解析器是否存在技术/理论上的限制,或者我只是遗漏了什么?

我认为这更像是一种文化事物.无上下文语法的使用主要局限于编译器,编译器通常具有与每个生产规则相关联的代码.在某些语言中,输出代码比模拟回调更容易.在其他人中,您将看到解析器库:例如,Haskell中的解析器组合器.另一方面,正则表达式在grep等工具中有广泛的用途,每次用户提供新的正则表达式时,运行C编译器都很不方便.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读