问题标签 [chomsky-hierarchy]

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 回答
1016 浏览

formal-languages - 上下文相关语法

我正在寻找描述以下语言的上下文相关语法:

我遇到了一个问题,即不允许使用诸如 X -> ε 之类的规则,因此我不能放置任何非终结符来指示单词的“中间”。这个问题有什么诀窍吗?
如果你碰巧知道答案,请帮忙。

0 投票
1 回答
235 浏览

formal-languages - 一种语言的示例,它不是递归可枚举的,它的补充语言也不是 RE

只有我想不到的、不属于 RE 类的语言是对角语言,但不幸的是,它的补充语言是递归可枚举的。有没有人有任何想法?

0 投票
1 回答
42 浏览

chomsky-hierarchy - Chomsky Hierarchy Type 2:不是左侧站点上的终端符号

是否允许在第 2 类语法的语法左侧制作两个非终结符?

在此处输入图像描述

我应该为语言 L2 定义类型 2 语法。如果允许执行类似的规则,这很容易

CB->BC 但我不确定这是否会违反任何规则。在类型 1 中,这很容易。

谢谢!

0 投票
2 回答
190 浏览

regex - 永远无法用正则表达式解析的字符串

我正在向一些优秀的程序员教授正则表达式。他们擅长编程,但很少使用正则表达式。我的任务是训练他们,让他们知道何时使用正则表达式,何时不使用。

在展示了大多数正则表达式功能后,我发现他们正在使用正则表达式解析所有内容。这不是我想要的。我希望他们知道有些文本永远无法用正则表达式解析。

但我不走运。我知道正则表达式可以解析正则语言。如果它是一种非常规语言,它就无法解析它。所以我正在寻找非正则语言示例。

我的目标是当他们无法解析它时,他们会想出一些自定义解析器。

那么,你能提供一些关于这种非常规语言的好例子吗?

0 投票
4 回答
3713 浏览

sql - SQL 是一种什么样的语言?

SQL 是上下文无关语言还是其他类型的语言?

0 投票
1 回答
136 浏览

regex - 我的正则表达式/DFA 的正则语法

我有以下正则表达式: ((abc)+d)|(ef*g?)

我创建了一个 DFA(我希望它是正确的),你可以在这里看到

http://www.informatikerboard.de/board/attachment.php?attachmentid=495&sid=f4a1d32722d755bdacf04614424330d2

任务是创建一个常规语法(乔姆斯基层次结构类型 3),但我不明白。但我创建了一个常规语法,如下所示:

S → aT

T → b

T → c

T → dS

S → eT

S → eS

T → ε

T → f

T → fS

T → gS

最好的问候帕特里克

0 投票
0 回答
326 浏览

regular-language - 如何检查一种语言是否是常规的、无上下文的、det。上下文无关或类型 0

我必须决定几种语言是否是常规的、上下文无关的、det。无上下文或 type-0。我了解如何显示一种不规则的语言(使用抽水引理),但是如何非常快速地为其他语言类型决定它?第一语言是

{a,b,c}* \ {a^n b^n c^n | n is element of natural numbers}

0 投票
1 回答
819 浏览

regex - 有限和无限语言混淆

我最近开始学习形式语言理论,并在有限和无限语言方面遇到了一些问题。

有人告诉我,所有有限语言都是规则的。

然而,通读给我的笔记,一个带有产生式的语法:

尽管产生的字符串数量有限,但它不是常规语言。

但是,产生式的语法:

它生成 a^mb^n 形式的字符串,这是一个无限的字符串列表,但这种语言被定义为常规语言?

谁能帮我简单理解一下?在我苦苦挣扎时将不胜感激。

0 投票
2 回答
54 浏览

grammar - 这是什么?寻找正确的术语这里发生了什么

看看下面的语法,就解析器生成器而言,它有一个明显的缺陷:

这种语法有缺陷的原因是扫描仪无法区分终端[Integer;HexNumber]。(是1234整数还是十六进制数?!)。

在此示例中编写的产生式中,这与位无关,但可能存在语法,其中产生式的上下文将阐明是否需要整数或十六进制数,并且扫描仪仍会拒绝协作。

因此,扫描器需要知道解析器的状态,以便能够对十六进制或整数令牌做出正确的决定。

现在是术语的问题。这使这...错误...语法是什么?词法分析器?然后?一个上下文敏感的词法分析器?或者有人会说这是一种上下文相关的语法,即使它显然是一个扫描仪问题?是否有其他术语用于描述此类现象?

0 投票
1 回答
655 浏览

grammar - 乔姆斯基语言:如何识别它们?

我对语言的识别有问题。例如,给定某种语言,如何根据乔姆斯基快速确定属于哪种类型?ancb2n, n > 0

我的想法是确定生成它的语法,然后确定语言,但这是一个漫长的过程。我认为还有另一种方法可以通过肉眼识别它,而无需编写语法或自动机。有人能帮我吗?