问题标签 [formal-languages]

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 投票
0 回答
76 浏览

automata - 形式语言语法

这是问题:

显示:

L = {0m1n, m > 1, n > 1, n < m }, 其中 m & n 是上标

不规律。

我不确定在这种情况下上标是什么意思?是不是这样的意思:

PS如何在SO中显示上标?

0 投票
1 回答
372 浏览

regex - 形式语言的正则表达式

我正在尝试为一种语言编写一个正则表达式,该语言包括:

  • 包含任意数量的 a 后跟单个 b 和的字符串
  • 包含任意数量的 a 后跟单个 b 后跟偶数 a 的字符串。

我想(b | ((a^+)b)^* ) U (a | ( (b^+) a)* ),但这是错误的。

有谁知道我错在哪里?

0 投票
1 回答
5205 浏览

java - 在 Java 中验证给定上下文无关语法的字符串

有人如何验证字符串是否是上下文无关语法的一部分?不仅仅是虚拟的,而是为它构建一个算法?

给定一个带有规则的上下文无关文法,例如

  • V-> v1v2
  • v1->1 | 1v1
  • v2-> 2 | 2v2

很明显,这是语言 1^n 2^n。但是,您将如何使用算法来验证它是否确实如此。我正在尝试在 java 中完成此操作。

0 投票
1 回答
754 浏览

context-free-grammar - 这是什么语法?上下文无关或上下文敏感

我正在学习形式语言和自动机理论,我有一个关于书中没有回答的问题的问题。问题是:

这种语言是上下文无关的、常规的还是上下文相关的?

L= {a n w w R b n | w 是 ( a+b )*, w R是 w 的倒数并且 n>=0 }

我认为这种语言是上下文相关的,因为它至少需要两个堆栈才能接受。

有人可以对此发表评论吗?

谢谢。

0 投票
2 回答
1255 浏览

finite-automata - 图灵机

我正在读一本关于语言和自动机的书,但我不了解图灵机。我已经自学了 DFA 的 NFA 和 Pushdown Automata,没有任何问题。有人可以解释这是在做什么吗?

B = {w#w|w ∈ {0, 1}*}

下图包含 Ml 的磁带在输入 011000#011000 开始时在阶段 2 和 3 中计算时的几个快照。

图灵机

非常感谢!

0 投票
1 回答
419 浏览

antlr - 将一种语言的语法(用 ANTLR 编写)转换为形式语言/数学符号

在我目前的项目中,我的老板分配了一项将领域特定语言的语法(用 ANTLR 编写)表达为正式语言/符号的工作。例如,以下是一小段语法代码。

据我所知,任何语言的 ANTLR 语法本身就是一个正式的规范。我不知道——我怎样才能指定这个语法是正式的方式。您能否给我一些将上述语法写入正式规范/数学符号的指示?

0 投票
1 回答
2313 浏览

context-free-grammar - CFG 和闭包属性

我正在解决一个问题,我迫切需要一个提示来解决一个问题:

在 union 下使用闭包来表明以下语言是上下文无关的:

{a m b n c p d q : n=q 或 m <= p 或 m+n=p+q }

0 投票
1 回答
234 浏览

formal-languages - 下载 Mac 的 Z 规范

抱歉,如果这不属于溢出,但我真的很想继续使用 Z 制定规范,因为我在今年大学期间开始学习它。

我想知道是否可以在 Mac 电脑上下载它,因为我目前了解它通常在 Linux 或 SunOS 上使用,但我家里没有。我将非常感谢可以下载它的资源,因为我无法通过谷歌搜索找到任何资源。我也想安装 zans animator 和 ztc 类型检查器。

提前致谢。

0 投票
2 回答
1768 浏览

context-free-grammar - 这种语言有下推自动机(PDA)吗?

语言是:{ A n B (2n) C n | 其中 n>=0 }

我认为它有,因为你可以这样处理它:推 A,推 B,每个 C 从堆栈中弹出 3 次,如果没有 C 并且堆栈为空,则返回 true,否则返回 false。

0 投票
1 回答
321 浏览

ruby-on-rails - 在哪里可以找到 Ruby on Rails、Cobal 和 VSL 的形式语法?

有谁知道我在哪里可以获得这些语言的正式语法,尤其是 Ruby on Rails?我有兴趣了解如何处理语言。

谢谢