问题标签 [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.
formal-languages - 上下文相关语法
我正在寻找描述以下语言的上下文相关语法:
我遇到了一个问题,即不允许使用诸如 X -> ε 之类的规则,因此我不能放置任何非终结符来指示单词的“中间”。这个问题有什么诀窍吗?
如果你碰巧知道答案,请帮忙。
formal-languages - 一种语言的示例,它不是递归可枚举的,它的补充语言也不是 RE
只有我想不到的、不属于 RE 类的语言是对角语言,但不幸的是,它的补充语言是递归可枚举的。有没有人有任何想法?
chomsky-hierarchy - Chomsky Hierarchy Type 2:不是左侧站点上的终端符号
是否允许在第 2 类语法的语法左侧制作两个非终结符?
我应该为语言 L2 定义类型 2 语法。如果允许执行类似的规则,这很容易
CB->BC 但我不确定这是否会违反任何规则。在类型 1 中,这很容易。
谢谢!
regex - 永远无法用正则表达式解析的字符串
我正在向一些优秀的程序员教授正则表达式。他们擅长编程,但很少使用正则表达式。我的任务是训练他们,让他们知道何时使用正则表达式,何时不使用。
在展示了大多数正则表达式功能后,我发现他们正在使用正则表达式解析所有内容。这不是我想要的。我希望他们知道有些文本永远无法用正则表达式解析。
但我不走运。我知道正则表达式可以解析正则语言。如果它是一种非常规语言,它就无法解析它。所以我正在寻找非正则语言示例。
我的目标是当他们无法解析它时,他们会想出一些自定义解析器。
那么,你能提供一些关于这种非常规语言的好例子吗?
sql - SQL 是一种什么样的语言?
SQL 是上下文无关语言还是其他类型的语言?
regex - 我的正则表达式/DFA 的正则语法
我有以下正则表达式: ((abc)+d)|(ef*g?)
我创建了一个 DFA(我希望它是正确的),你可以在这里看到
任务是创建一个常规语法(乔姆斯基层次结构类型 3),但我不明白。但我创建了一个常规语法,如下所示:
S → aT
T → b
T → c
T → dS
S → eT
S → eS
T → ε
T → f
T → fS
T → gS
最好的问候帕特里克
regular-language - 如何检查一种语言是否是常规的、无上下文的、det。上下文无关或类型 0
我必须决定几种语言是否是常规的、上下文无关的、det。无上下文或 type-0。我了解如何显示一种不规则的语言(使用抽水引理),但是如何非常快速地为其他语言类型决定它?第一语言是
{a,b,c}* \ {a^n b^n c^n | n is element of natural numbers}
regex - 有限和无限语言混淆
我最近开始学习形式语言理论,并在有限和无限语言方面遇到了一些问题。
有人告诉我,所有有限语言都是规则的。
然而,通读给我的笔记,一个带有产生式的语法:
尽管产生的字符串数量有限,但它不是常规语言。
但是,产生式的语法:
它生成 a^mb^n 形式的字符串,这是一个无限的字符串列表,但这种语言被定义为常规语言?
谁能帮我简单理解一下?在我苦苦挣扎时将不胜感激。
grammar - 这是什么?寻找正确的术语这里发生了什么
看看下面的语法,就解析器生成器而言,它有一个明显的缺陷:
这种语法有缺陷的原因是扫描仪无法区分终端[Integer;HexNumber]
。(是1234
整数还是十六进制数?!)。
在此示例中编写的产生式中,这与位无关,但可能存在语法,其中产生式的上下文将阐明是否需要整数或十六进制数,并且扫描仪仍会拒绝协作。
因此,扫描器需要知道解析器的状态,以便能够对十六进制或整数令牌做出正确的决定。
现在是术语的问题。这使这...错误...语法是什么?词法分析器?然后?一个上下文敏感的词法分析器?或者有人会说这是一种上下文相关的语法,即使它显然是一个扫描仪问题?是否有其他术语用于描述此类现象?
grammar - 乔姆斯基语言:如何识别它们?
我对语言的识别有问题。例如,给定某种语言,如何根据乔姆斯基快速确定属于哪种类型?ancb2n, n > 0
我的想法是确定生成它的语法,然后确定语言,但这是一个漫长的过程。我认为还有另一种方法可以通过肉眼识别它,而无需编写语法或自动机。有人能帮我吗?