问题标签 [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 投票
1 回答
929 浏览

bison - EBNF 到 Bison - 减少/减少错误

我必须将此 EBNF 翻译成野牛:

当我翻译赋值、if、while 语句和 proc_func_ 时,bison 没有错误。然而,当我在野牛中输入这个时,翻译复合语句:

有一个减少/减少错误。

有人可以向我解释一下,为什么会出现减少/减少错误,因为这对我来说没有意义。我真的很感激。

提前致谢。

0 投票
2 回答
4700 浏览

parsing - 左结合运算符的 BNF 文法

对于带有左关联运算符的简单算术表达式,我有以下EBNF语法:

如何在不更改运算符关联性的情况下将其转换为BNF语法?以下 BNF 语法对我不起作用,因为现在运算符已变为右关联:

维基百科说:

几种解决方案是:

  1. 将语法重写为左递归,或
  2. 用更多的非终结符重写语法以强制正确的优先级/关联性,或
  3. 如果使用 YACC 或 Bison,则有运算符声明,%left、%right 和 %nonassoc,它们告诉解析器生成器强制执行哪种关联。

但它并没有说如何重写语法,我也没有使用任何解析工具,如 YACC 或 Bison,只是简单的递归下降。我所要求的甚至可能吗?

0 投票
1 回答
296 浏览

grammar - 如何用 EBNF 定义排列?

我正在使用 EBNF 来定义语法。

但是我被卡住了,因为我需要定义一个排列:我有一组可以组合的值,但它们只能使用一次,而且我不关心顺序。

如何用 EBNF 做到这一点?

示例:值:a、b、c

可能的组合:abc、acb、bac、bca、cab、cba

0 投票
2 回答
472 浏览

java - “反向”XSLT(解析和构建 XML DOM 的语言)

我使用 XSLT 来转换它:

1)

进入这个:

2)

是否有一个库用作文本数据的解析器,它允许对预期标记进行描述性声明(想想扩展的 Backus–Naur 形式 |EBNF| 和基于 Lex/Yacc 正则表达式的提示)并从中构建 XML DOM?

0 投票
1 回答
800 浏览

parsing - 在 PowerShell 语法中,“lvalueExpression”规则是什么意思?

我正在查看此处发布的 PowerShell 语法:http: //www.manning.com/payette/AppCexcerpt.pdf

(我认为它自 PowerShell v1 以来没有更新,并且存在一些拼写错误。所以,它显然不是真正的PowerShell 语法,而是一个以人为本的文档。)

在 C.2.1 节中,它说:

问号的含义是什么?我不知道它的意思是“匹配任何字符”还是“匹配问号”或者是拼写错误。

我不确定这是要匹配的输入,但也许是这样的:

在这种情况下,问号应该是逗号?

0 投票
0 回答
514 浏览

bnf - BNF 转换为 EBNF

我正在将以下语法从 BNF 转换为 EBNF。

我做了我的研究,我想出了

这是正确的,没有人可以为我提供解决方案吗?

0 投票
2 回答
394 浏览

context-free-grammar - 在 Context Free Grammar 中,如何定义一对标签,比如数据?

预期的语言如下:

我遇到的困难是如何指定以确保在一对标签中,开始标签和结束标签都具有相同的名称。

tag是长度小于 10 的 [a-zA-Z] 的组合。

0 投票
1 回答
1096 浏览

parsing - 这是 BNF 语法 LL(1) 吗?

如果以下 BNF 语法是 LL(1),有人可以帮我确认一下:

其中 S 是起始符号,非终结符 A 和 B 可以导出为 epsilon。我知道解析表中的单个单元格中是否有 2 个或多个产生式,那么语法不是 LL(1)。但是如果一个单元格已经包含 epsilon,我们可以在构建解析表时安全地用新的产生式替换它吗?

0 投票
1 回答
1908 浏览

parsing - 用空格分隔的单词列表的 EBNF 语法

我试图了解如何使用 EBNF 来定义形式语法,特别是由空格分隔的单词序列,例如

  1. 定义单词终端的正确方法是什么?
  2. 表示所需空格的正确方法是什么?
  3. 可选的重复列表如何表示?
  4. 是否有任何关于 EBNF 的示例教程?

提前谢谢了!

0 投票
1 回答
1412 浏览

python - 使用 simpleparse EBNF 解析 nuke 脚本

我正在尝试使用以下 EBNF 传递一个 nuke 脚本(foundry .nk 文件),但我似乎在我的“内容”文字中捕捉到了太多。此外,我很确定我在格式化时犯了一些重大的菜鸟错误。谁能帮我一把?

EBNF:

核子脚本:

当前的 EBNF 阻塞了“视图”旋钮值。通过从节点中删除它,我的代码按预期工作。我的完整代码在这里: http: //pastebin.com/z01RWpqW

谢谢