- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想提出一种语言语法。我已经阅读了这三个方面的内容,并且看不到一个人能做的事而另一个人却做不到的事。有什么理由要使用另一个?还是只是偏爱问题?
最佳答案
您必须考虑将 EBNF 和 ABNF 作为扩展,可以帮助您在开发语法时更加简洁明了。
例如,考虑一个可选的非终结符,在 BNF 语法中,您可以使用以下中间符号来定义它:
A ::= OPTIONAL OTHER
OPTIONAL ::= opt_part | epsilon
A ::= [opt_part] OTHER
BNF
A ::= B C
B ::= a | b | c
EBNF
A ::= (a | b | c) C
4*DIGIT
)
关于syntax - BNF vs EBNF vs ABNF:选择哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575044/
如何用 EBNF 表示法描述带引号的字符串(如 C、Java 等)? 我在考虑这个(见下文),但 AnyCharacter 部分也将匹配双引号 (")。 QuotedString = '"' AnyC
这个问题在这里已经有了答案: 10年前关闭。 Possible Duplicate: Forth language EBNF rule for an infinite loop or if state
有没有EBNF描述 Forth 无限循环或 if 语句的规则? 最佳答案 EBNF 用于描述语法。无限循环或其他循环通常不会落入它所描述的范围内。因此,您将查看 EBNF 的无限循环,它看起来像: i
是否有一个 EBNF 铁路生成器可以创建更大的 block ,而不是每个语法生成一个图表? 我试过了 http://bottlecaps.de/rr/ui它非常好:可以从 W3C 规范(例如 http
有谁知道 Java 语言的 (E)BNF 的准确来源?最好是来自权威来源,例如太阳。 谢谢。 最佳答案 我相信第 3 版是最新的: JLS 3rd edition 关于Java EBNF?,我们在St
假设我有以下 EBNF: ProductNo ::= Digitgroup "-" Lettergroup; Digitgroup ::= Digit Digit? Digit? Digit?;
您是否知道一个语法分析器模块(用 Ruby、Python、Javascript 编写...),给定一个标记列表和一个 EBNF -like 语法(作为简单字符串传递),返回解析后的树?我发现最接近的是
我想设计一种满足 EBNF 的数学语言,让我编写尽可能接近自然数学语言的方程组和不等式。我想为这种小语言有两个解析器,一个解析器准备用这种语言编写的等式/不等式以供发布,另一个解析器准备它进行计算,即
我想使用扩展巴科斯-诺尔形式 (EBNF) 上下文无关语法定义一组无序的值。在 EBNF 中定义一个无序列表的值很容易,例如: value = 'A' | 'B' | 'C'; list = valu
在为语言解析器定义语法时,如何处理可能出现在文本中任何位置的注释(例如/* .... */)等内容? p> 当事物结构化时,从标签内的标签构建语法似乎效果很好,但注释似乎会抛出一切。 您只需分两步解析
我目前正在使用 lark parser for python尝试阅读一些问题规范。我对扩展 Backus-Naur 形式的“正确”语法感到困惑,尤其是 LHS 和 RHS 是如何分开的。 wikipe
我收到一个解析符合 EBNF 语法的文本的任务。有我可以使用的工具/库吗? 最佳答案 ANTLR是解析EBNF的标准工具。 参见Good parser generator (think lex/yac
我正在使用 LL(k) EBNF 语法来解析字符流。我需要三种不同类型的 token : CHARACTERS letter = 'A'..'Z' + 'a'..'z' . digit = "
我目前正在使用 lark parser for python尝试阅读一些问题规范。我对扩展 Backus-Naur 形式的“正确”语法感到困惑,尤其是 LHS 和 RHS 是如何分开的。 wikipe
我有以下数据: dbCon= { main = { database = "db1", hostname = "db1.serv.com", m
我最近需要为 C# 编写一个基本反射(reflect) SQL 的流畅界面。是的,我知道 LINQ to SQL,但我对“更接近金属”很感兴趣——有一些东西基本上只提供 在 C# 中的 Intelli
我正在使用 CocoR 生成类似 java 的扫描器/解析器: 我在创建 EBNF 表达式以匹配代码块时遇到了一些麻烦: 我假设一个代码块被两个众所周知的标记包围:示例: public method(
我不确定我是否将 EBNF 翻译成正确的代码,所以如果有人可以看看其中一种我很难做到的方法,那就太好了。 这是 EBNF 语法: program ::= P {declare} B {state
我正在尝试使用 Grako 和 Python 为 Cisco IOS 和 ASA 配置编写解析器。我试图弄清楚如何在 EBNF 中表示“作用域”关键字 - 例如,“描述”关键字必须出现在 interf
我正在使用 Grako EBNF/PEG parser . 我知道 EBNF 语法允许获取满足给定选项之一的表达式: (a | b | c) 是否有类似的语法部分或解决方法允许获取 a、b 和 c 的
我是一名优秀的程序员,十分优秀!