10得票5回答
NLTK上下文无关语法生成

我正在使用Unicode字符处理非英语解析器。为此,我决定使用NLTK。 但它需要预定义的上下文无关语法,如下所示: S -> NP VP VP -> V NP | V NP PP PP -> P NP V -> "saw" | "ate" | "walk...

10得票4回答
有没有任何工具可以根据语言语法随机生成源代码?

一份C程序源代码可以根据C语法(在CFG中描述)进行解析,并最终转换为许多AST。我在考虑是否存在这样的工具:它可以通过首先随机生成许多AST,这些AST包括没有具体字符串值的标记,只有标记的类型,根据CFG,然后根据正则表达式中标记的定义生成具体标记。 我可以想象第一步看起来像是一个迭代的...

12得票2回答
LL(*)解析器是如何工作的?

我找不到关于LL(*)解析器的完整描述,例如ANTLR。 我想知道LL(k)解析器和LL(*)解析器之间的区别以及它们为什么不能支持左递归语法,尽管它们很灵活。

116得票8回答
正则文法与上下文无关文法的区别

我正在为我的计算语言测试学习,有一个概念让我难以理解。 我知道正则语法更简单且不能包含歧义,但无法处理编程语言所需的大部分任务。我也知道上下文无关语法允许歧义存在,但可以处理编程语言中一些必要的东西(如回文)。 我不明白的是,如何通过知道正则语法非终结符可以映射到终结符或终结符和非终结符...

12得票3回答
将语法转换为乔姆斯基范式?

将以下语法转换为乔姆斯基范式。给出所有的中间步骤。S -> AB | aB A -> aab|lambda B -> bbA 好的,首先我添加了一个名为S0的新起始变量。 现在我有:S0 -> S S -> AB | aB A -> aab|lambda ...

35得票3回答
乔姆斯基谱系的通俗易懂解释

我正在尝试找到一份简明易懂(即非正式)的关于乔姆斯基所提出的四个形式语法层次(无限制文法,上下文有关文法,上下文无关文法,正则文法)的解释。 自我学习形式语法以来已经过了很久,现在各种定义对我来说都很混淆。我想要强调的是,我不是在寻找你可以在任何地方找到的正式定义(例如这里和这里——我和其他...

7得票2回答
使用Ogden引理与普通泵引理来处理上下文无关文法

我正在学习问题中lemmata之间的区别。我找到的每个参考都使用以下示例: {(a^i)(b^j)(c^k)(d^l) : i = 0 or j = k = l} 为了展示两者之间的不同,我可以举一个使用常规引理来“反驳”它的例子。 选择 w = uvxyz,使得 |vy| > ...

9得票1回答
用Python解析上下文无关语法

有哪些Python工具可以协助解析无上下文语法? 当然,我可以自己编写,但我正在寻找一个通用工具,可以为给定的CFG生成一个解析器。

19得票3回答
JavaScript是一种无上下文语言吗?

这篇关于浏览器如何工作的文章解释了CSS是上下文无关文法,而HTML则不是。但JavaScript呢?JavaScript是上下文无关的吗? 我正在学习CFG和正式证明,但离理解如何解决这个问题还有很长的路要走。有人知道JavaScript是上下文无关的还是不是吗?

7得票1回答
为什么 ({123;}) 能被视为有效的 C 代码? --- ({123;}) 的结果为 123。

以下是一个类型安全的典型MAX宏的版本(在gcc 4.4.5上有效): 可能重复: 在哪些版本的C语言中,括号内的块用于返回值是有效的? 注:MAX宏是一个常见的宏定义,用于取两个数中的最大值。此处的类型安全版本是指使用了一些技巧,使得不会出现类型不匹配的问题。 #define max...