gpt4 book ai didi

java - 使用 BNF 的 Compiler 编译器

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:09 32 4
gpt4 key购买 nike

没有使用直接 BNF 的解析器生成器有什么原因吗?

我熟悉 JavaCCAntlr ,最近遇到了Parse2 .似乎每个人都有自己的符号。 BNF 真的很容易阅读,而其他符号则不然。 BNF 是明确的。有什么内在原因导致我无法将 BNF 提供给编译器编译器并得到解析树吗?

最佳答案

Marpa::R2 , Perl 接口(interface) Marpa ,一个通用的 BNF 解析器,接受直接的 BNF 作为语法描述,并在 Perl 中为它生成一个解析器。这是一个几乎从字面上取自 BNF grammar tutorial 的示例.

<tree>  ::= '(' <list> ')'
<list> ::= <thing> | <list> ',' <thing>
<thing> ::= <tree> | <name>
<name> ::= 'ant' | 'bat' | 'cow' | 'dog' | 'cat'

The full code example.

关于java - 使用 BNF 的 Compiler 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537890/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com