-
376 votesanswersviews
C上下文无关或上下文敏感?
我经常听到声称C是一种上下文敏感的语言 . 采用以下示例: a b(c); 这是变量定义还是函数声明?这取决于符号 c 的含义 . 如果 c 是变量,则 a b(c); 定义名为 b 的变量 a . 它用 c 直接初始化 . 但是如果 c 是一个类型,则 a b(c); 声明一个名为 b 的函数,该函数接受 c 并返回 a . 如果您查找无上下文语言的定义,它基本上会告诉您所有语法规则必须具... -
0 votesanswersviews
这个语法上下文是否免费?
G: S ---> aSb S ---> λ 根据我的要求,第一个 生产环境 规则是无上下文的(因为左侧小于右侧)但是对于第二个 生产环境 规则,它不是(因为左侧长度等于右侧) . 那么,在这个陈述中我们可以对这个语法说些什么呢 . 是否没有上下文? -
1 votesanswersviews
哪些语言对上下文敏感? [关闭]
我正在学习“编译器理论”,它说大多数语言使用“确定性无上下文语法” . 我想知道有没有语言使用“上下文敏感语法”? Update : 我问过某个人,他说c和ruby有一些上下文敏感的语法 . 例如,在c中,此代码: abc(); 如果有一个名为 abc 的方法,则 abc() 表示"the invocation of this method" . 如果有一个类 class ... -
3 votesanswersviews
上下文敏感语法与无上下文语法之间的区别[重复]
可能重复:上下文敏感语法和无上下文语法 在我的教科书中,这里是这两个术语的解释: 语境敏感语法: 语法可以有w1→w2形式的产生,其中w1 = lAr,w2 = lwr,其中A是非终结符号,l和r是零个或多个终端或非终结符号的字符串,w是终端的非空字符串或非终结符号 . 只要S不出现在任何其他 生产环境 的右侧,它也可以具有 生产环境 S→λ . 上下文免费语法: 语法只能生成w1→w2... -
5 votesanswersviews
有人可以给出一个简单但非玩具的上下文敏感语法示例吗? [关闭]
我正在尝试理解上下文敏感的语法,我理解为什么语言会像 {ww | w是一个字符串} {an bn cn | a,b,c是符号} 不是上下文,但我想知道一个类似于无类型lambda演算的语言是否与上下文相关 . 我想看一个简单但非玩具的例子(我考虑上面的玩具示例),一个上下文敏感语法的例子,对某些 生产环境 规则,例如,告诉一些符号串是否可以目前处于范围内(例如,在生成函数体时) . 上下文敏感... -
1 votesanswersviews
上下文敏感的语法可以有空字符串吗?
在我的一个cs类中,他们提到无上下文语法和上下文敏感语法之间的区别在于CSG,然后 生产环境 规则的左侧必须小于或等于右侧 . 因此,他们给出的一个例子是,上下文敏感的语法不能有空字符串,因为这样就不会满足第一个规则 . 但是,我已经理解常规语法包含在无上下文中,无上下文包含在上下文敏感中,并且上下文相关包含在递归可枚举语法中 . 因此,例如,如果语法是递归可枚举的,那么也是类型上下文敏感,无上下... -
376 votesanswersviews
C上下文无关或上下文敏感?
我经常听到声称C是一种上下文敏感的语言 . 请看以下示例: a b(c); 这是变量定义还是函数声明?这取决于符号 c 的含义 . 如果 c 是变量,则 a b(c); 定义名为 b 的变量 a . 它用 c 直接初始化 . 但是如果 c 是一个类型,则 a b(c); 声明一个名为 b 的函数,该函数接受 c 并返回 a . 如果您查找无上下文语言的定义,它基本上会告诉您所有语法规则必须具... -
30 votesanswersviews
无上下文语法与上下文敏感语法?
有人可以向我解释为什么这种语法[无上下文语法和上下文敏感语法]接受一个字符串? 我所知道的是 Context-free grammar 是一种形式语法,其中每个生成(重写)规则是V→w的形式,其中V是单个非终结符号,w是一串终端和/或非终端 . w可以是空的 Context-sensitive grammar 是一种形式语法,其中任何 生产环境 (重写)规则的左侧和右侧可以被终端和非终结符号的上...