问题标签 [bnf]
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.
programming-languages - 关于BNF的问题
我有这个用 BNF 写的语法。如何将其转换为 + 优先于 * 并强制 + 正确关联?
这是我的解决方案:
如何检查给定语法的正确性?任何的想法?
谢谢,
bnf - C 的 BNF 的起始状态是什么?
我不知道C 的 BNF中哪个是起始状态
有谁知道?
context-free-grammar - 常用表达
首先,我不知道这是否是我所要求的正确翻译。
在我的一门课程中,我们只是盯着学习正则表达式、形式语言等。
在这种情况下,假设我从 1R 开始,然后我可以继续使用 1R 或 0R。
如果我从 1R 开始,那么只有 1....那么句子(在这种情况下是二进制数)是完整的,对吗?因为我不能在之后“附加”一些东西,所以说 1R 然后我选择 1 然后我再次选择 1R ?
在此先感谢,如果不正确,请重新标记/移动帖子。
添加:
如何生成 1100110?
这不是家庭作业,它是来自 powerpoint 的示例/问题。我不明白这是怎么做到的。
presentation - EBNF 演示示例?
任何人都知道用于电子媒体(即 HTML)的扩展巴科斯-瑙尔表格演示的好例子吗?
我正在寻找有关形式而非内容的建议——我希望使其尽可能具有可读性,以便轻松区分规则、终端和 EBNF 符号。
validation - 电子邮件验证问题 [abnf] [RF 5322]
在下面的句子中是什么意思1*( atext / "." ) "@" ldh-str 1*( "." ldh-str )
有人可以简单地说一下吗?
与以下 [ABNF] 产生式匹配的任何字符串:
其中 atext 在 [RFC 5322] 中定义,ldh-str 在 [RFC 1034] 中定义。
parsing - Yacc 解析器语法错误。诠释 X; 分别读为 int X 和 ;
问题描述
在我的 yacc 解析器语法中,我定义了以下规则和相应的操作(参见下面的program.y)。解析int X;
应该有推导type => TOK_INT
and variable_list => TOK_VARIABLE
,然后这些与以 a 结尾的声明匹配statment ;
。但是,将其读作int X
and ;
。也就是说,两个单独的语句。谁能明白为什么?
程序.y
python - 用于 WikiLeaks 电缆的基于 Python 的容错解析器
前段时间,我开始为WikiLeaks 发布的电缆编写基于BNF 的语法。但是我现在意识到我的方法可能不是最好的,我正在寻找一些改进。
一个机箱由三部分组成。头部有一些RFC2822风格的格式。这解析通常是正确的。文本部分有一个更非正式的规范。例如,有一条REF线。这应该以 开头REF:
,但我发现了不同的版本。以下正则表达式捕获大多数情况:^\s*[Rr][Ee][Ff][Ss: ]
. 所以前面有空格,不同的情况等等。文本部分主要是带有一些特殊格式标题的纯文本。
我们要识别每个字段(日期、REF 等)并放入数据库。我们选择了 Python 的 SimpleParse。目前,解析在它无法识别的每个字段处停止。我们现在正在寻找更容错的解决方案。所有字段都有某种顺序。当解析器无法识别某个字段时,它应该在当前字段中添加一些“未识别”-blob 并继续。(或者也许你在这里有一些更好的方法)。
你会建议什么样的解析器或其他类型的解决方案?周围有更好的吗?
xml - 可以自动将 ABNF 转换为 XML 吗?
是否可以自动将 ABNF 转换为 XML?特别是,我需要将用 ABNF 编写的语音识别语法转换为 XML。谢谢。
regex - 解释 RFC 2141 中 NID 的 BNF 语法
我无法理解RFC2141中的一些BNF语法。
线是<NID> ::= <let-num> [ 1,31<let-num-hyp> ]
。我认为这意味着它<NID>
是一个字符串的符号,受两个规则的约束:
- 字符串必须以任何
<let-num>
字符的单次出现开始。 - 此字符后面可能出现 0-31 次出现*的任何
<let-num-hyp>
字符。
我读对了吗?因为,如果我是,其中的一些含义有点令人困惑。
*相当于“可选,1-31 次出现
RFC2141<NID>
中(命名空间标识符)的完整 BNF 语法是: