问题标签 [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.
compiler-construction - 标记化、词法分析、BNF、上下文无关语法
我只想问Tokenization是否与词法分析相同,Backus Naur Form是否与上下文无关语法相同?我需要定义和解释所有四个并举例说明,但似乎有些网站将其中一些视为一个。
谢谢你。
syntax - 什么是上下文无关语法和巴库斯瑙尔形式?
有人可以用外行的话解释一下:
什么是上下文无关语法?
什么是巴克斯瑙尔形式?
如何使用这个符号?
如何进行字符串推导?
如何描述语言语法?
syntax - 什么是常规语言?
我正在尝试理解语言级别的概念(常规、上下文无关、上下文相关等)。
我可以很容易地查到这个,但我找到的所有解释都是一堆符号和谈论集合。我有两个问题:
你能用语言描述什么是常规语言,以及这些语言有什么不同吗?
人们从哪里学会理解这些东西?据我了解,它是形式数学?我在大学有几门课程使用它,几乎没有人理解它,因为导师只是假设我们知道它。我在哪里可以学习它,为什么人们“期望”在这么多来源中知道它?好像教育有差距。
这是一个例子:
属于该集合的任何语言都是字母表上的常规语言。
一种语言怎么能“超越”任何东西?
objective-c - 这个 ParseKit BNF 有什么问题?
我将 ParseKit 用于 Objective-C,它采用类似 BNF 的语法来指定语法:
包含最后一行会导致错误。基本上我想说一个对象可以是房子或其他东西。非终结元素“other”应该能捕捉到任何不是房子的词。
我是否以错误的方式谈论“这里的任何东西”的想法?
谢谢!
context-free-grammar - 适合初学者的 BNF 语法教程/介绍?
你对 BNF 语法的介绍(以及如何在实践中使用它们)有什么建议?
有很多例子的简洁的东西会很棒。一直在谷歌搜索,但到目前为止只发现了非常长的文章,其中的例子不清楚:/
(在我的特殊情况下,我正在尝试解析Galaxy Toolconfig 语法,其中包括 if/else 语句等)
java - 在 Java 中解析 ad-hoc if/else 语法的推荐策略?
(抱歉,不确定 ad-hoc 是否是正确的词……欢迎提出更好的建议)
我正在尝试在 Java 应用程序中解析 Galaxy ToolConfig XML CLI 工具包装格式,以便(部分)复制 Galaxy 软件本身的行为。
该格式在命令标签内包含一些“自由文本” if/else 子句(这是它们出现的唯一位置,AFAIK):
将这种 if/else 结构解析为可用于在 Java 中重塑 if/else 逻辑的推荐策略是什么?
BNF/ANTLR 是不是过大了,最好只是解析成一些对象结构,还是?任何适合这里的设计模式?(以前没有与 BNF/ANTLR 合作过,但如果值得的话,我愿意研究它)。
bnf - 你如何将一些表达式抽象为 BNF?
例如 :
上面的算术表达式可以被这个 BNF 抽象出来(可能与标准 BNF 有一些不同,但我们暂时忽略它):
但是EX1~EX5
抽象对我来说并不是那么直观。(我不太了解它们是如何制作的)
规范化此类表达式时是否有任何步骤可遵循?
bnf - 用于 LOGO 编程语言的 EBNF 或 BNF
有谁知道我在哪里可以获得LOGO编程语言的 BNF 或 EBNF?
bnf - 4 美元从哪里来?
这是Perl 的第一条规则:
当右侧$4
只有元素时如何工作?3
theory - 从理论上讲,BNF 是否足以描述所有文件格式?
有没有 BNF 无法描述的文件格式?