问题标签 [ebnf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2627 浏览

erlang - Erlang syntax - 为 Erlang 构建 Intellij IDEA 语言支持插件

我正在寻找为 Erlang 创建一个 Intellij IDEA 语言支持插件。

我遇到的第一个也是最大的问题是制定 JFlex Erlang 语法定义。

有谁知道我在哪里可以得到 Erlang 的 EBNF 或 BNF?

0 投票
1 回答
813 浏览

c# - EBNF 到流畅的界面

我最近需要为 C# 编写一个流畅的接口,它本质上将镜像 SQL。是的,我知道 LINQ to SQL,但我对“更接近金属”很感兴趣——C# 中拥有的东西基本上只提供了一个 Intellisensified SQL shim。

例如,

现在,我在想这个概念可以被推广——也就是说,一个通用的 EBNF 到流利的接口生成器怎么样?有谁知道这样的野兽是否存在?

0 投票
5 回答
6825 浏览

grammar - 语法写作工具

我正在尝试在 EBNF 中编写语法(除非有很好的理由,它必须是 EBNF)并且正在为它寻找一些实用程序 - 如果有一个可以制作的 GUI 界面,那就太好了,但是我最想找的是可以检查语法的东西,例如看它是否是 LALR( n ),如果是,n的值是多少。是否存在这样的实用程序?还有其他我应该知道的有用的语法编写工具吗(我不是在寻找解析器生成器)。

0 投票
1 回答
1228 浏览

regex - 在 TinyPG 中使用 BNF 中的现有语言?

如何在 TinyPG中使用GOLD 元语法(RegExp + BNF)中的这些 BNF 语法?我是 BNF 的新手,所以大约需要进行什么样的转换才能将 BNF 转换为 EBNF?

我相信这应该很简单,因为 TinyPG 需要 RegExp + EBNF,而 GOLD 语法是 RegExp + BNF

另外,是否有任何可用语言的 TinyPG 源代码,只是为了看看我需要做什么样的转换?

0 投票
3 回答
8355 浏览

java - Java EBNF?

有谁知道 Java 语言的 (E)BNF 的准确来源?最好是来自权威来源,例如 Sun。

谢谢。

0 投票
4 回答
1893 浏览

compiler-construction - 我在哪里可以获得学习 EBNF 的材料?

扩展巴库斯-瑙尔形式:EBNF

我对解析概念很陌生。我在哪里可以获得足够容易阅读和遵循的材料来为 boost::spirit 库编写语法,它使用类似于 EBNF 的语法?

目前我正在从维基百科研究EBNF

0 投票
3 回答
3171 浏览

parsing - ANTLR 是序列化/反序列化二进制数据格式的合适工具吗?

我需要读取和写入八位字节流以通过各种网络发送以与智能电表通信。有一个 ANSI 标准 ANSI C12.19 描述了二进制数据格式。虽然数据格式并不太复杂,但该标准非常庞大(500 多页),因为它描述了许多不同的类型。该标准完全由 EBNF 语法描述。我正在考虑使用 ANTLR 来读取 EBNF 语法或其修改版本,并创建可以读取和写入八位字节流的 C# 类。

这是对ANTLR的好用吗?

如果是这样,我需要做什么才能使用 ANTLR 3.1?通过搜索新闻组档案,我似乎需要实现一个可以读取字节而不是字符的新流。这就是全部还是我还必须实现 Lexer 衍生产品?

如果 ANTLR 可以帮助我读取/解析流,它也可以帮助我编写流吗?

谢谢。

丹芬卡内

0 投票
2 回答
815 浏览

grammar - 在 EBNF 中定义语言

L给出由字符组成的语言的 EBNF 规范,使得该语言中的句子具有a以下形式bc

到目前为止我所拥有的:

如果这是正确的,我仍然不确定如何生成Q以及如何S反向表示。

0 投票
1 回答
2371 浏览

parsing - 如何使用 BNFC 定义 INI 文件语法?

http://www.cs.chalmers.se/Cs/Research/Language-technology/BNFC/

我应该如何编写带标签的 BNF 来让 BNFC 为我生成 INI 解析器?

我只到了这么远o__O!





o__O我被困住了......

0 投票
4 回答
1372 浏览

java - 解析维基媒体标记 - 基于 EBNF 的解析器是否不适合?

我正在尝试解析(在 Java 中)在 Wikipedia 上找到的 Wikimedia 标记。有许多现有的包可以完成这项任务,但我还没有找到特别适合我需要的包。我用过的最好的包是Mathclipse Bliki 解析器,它在大多数页面上都做得不错。

但是,此解析器不完整,无法解析某些页面或在其他页面上解析不正确。遗憾的是,代码相当混乱,因此修复这个解析引擎中的问题非常耗时且容易出错。

在尝试找到更好的解析引擎时,我研究了使用基于 EBNF 的解析器来完成此任务(特别是 ANTLR)。然而,经过一些尝试,这种方法似乎并不特别适合这项任务,因为 Wikimedia 标记相对宽松,因此不容易适应结构化语法。

然而,我对 ANTLR 和类似解析器的经验非常有限,因此可能是我的经验不足导致了问题,而不是此类解析器天生就不适合这项任务。在这些主题上有更多经验的人可以在这里权衡吗?

@Stobor:我提到过我查看了各种解析引擎,包括谷歌查询返回的解析引擎。到目前为止,我发现最好的是 Bliki 引擎。问题是用这些解析器解决问题变得非常乏味,因为它们本质上都是长链的条件和正则表达式,导致意大利面条代码。我正在寻找更类似于 EBNF 解析方法的方法,因为该方法更清晰、更简洁,因此更易于理解和发展。我看过你发布的 mediawiki 链接,这似乎证实了我的怀疑,即开箱即用的 EBNF 不适合这项任务。因此,我正在寻找一个像 EBNF 一样清晰易懂的解析引擎,但也能够处理 wiki 标记的混乱语法。