我正在学习“编译理论”,它说大多数语言都使用“确定性上下文无关语法”。我想知道有没有使用“上下文敏感语法”的语言?
更新
我问了某人,他说c++和ruby有一些上下文敏感的语法.
例如,在c++中,以下代码:
abc();
如果有一个名为abc
的方法,那么abc()
的意思是“调用此方法”。如果有一个类class abc{ }
,那么它的意思是“创建一个类abc的实例”。
在红宝石,因为它有元编程,它有更多的上下文敏感语法。
他说得对吗?
发布于 2012-11-26 06:50:25
上下文敏感的语法有符号,这些符号与上下文中使用的各种非终结语相关,可以改变它们的意义。在计算机世界中,它们是非常罕见的,因为它使解析器的编写相当复杂--判断字符串是否属于某个上下文敏感的语法是PSPACE-完全的。
https://stackoverflow.com/questions/13567001
复制相似问题