如何将语言分为常规语言、上下文无关语言和短语结构语言?
如果给你一种语言,你如何判断它是常规语言、CF 但不是常规语言,还是短语结构但不是 CF?有没有好的方法来解决这个问题?我可以随意尝试制作 FA 或 P…
上下文无关语言的闭包性质
我有以下问题: 语言 L1 = {a^n * b^n : n>=0} 和 L2 = {b^n * a^n : n>=0} 是 上下文无关语言,因此它们在 L1L2 下是封闭的,因此 L={a^n * b^2n…
计算理论 - 对上下文无关语言使用泵引理
我正在复习计算理论课程的笔记,但我无法理解如何完成某个证明。问题是: A = {0^n 1^m 0^n | n>=1, m>=1} Prove that A is not regular. 很明显…
语言 A = {0^n 1^n 0^n} 上下文无关吗?
我只是对不同的语言进行了一些思考(因为我正在复习即将到来的期末考试),我想不出一个有效的下推自动机来处理语言 A = {0^n 1^n 0^n | n>=0}。这…
Shift-reduce:什么时候停止减少?
我正在尝试学习移位归约解析。假设我们有以下语法,使用强制执行操作顺序的递归规则,灵感来自 ANSI C Yacc 语法: S: A P : NUMBER | '(' S ')' M :…
Java:如何判断文本文件中的一行是否应该为空白?
我正在开发一个项目,在该项目中我必须读取语法文件(将其分解为我的数据结构),目标是能够生成随机的“DearJohnLetter”。 我的问题是,在读取 .txt…
两种语法中非终结符的第一个和后续
给定以下语法: S -> L=L s -> L L -> *L L -> id 非终结符的第一个和后续是什么? 如果语法改为: S -> L=R S -> R L -> *R L -> id…
Yacc 程序无法识别函数声明
我认为我的程序应该能够将以下内容识别为函数声明: int fn(int i) { int n return } 但事实并非如此。 这是我的 yacc 文件的相关部分: program : de…