有限和无限语言混淆
Posted
技术标签:
【中文标题】有限和无限语言混淆【英文标题】:Finite and Infinite languages confusion 【发布时间】:2015-07-07 12:46:27 【问题描述】:我最近开始学习形式语言理论,在有限和无限语言方面遇到了一些问题。
有人告诉我,所有有限语言都是正则的。
但是,阅读给我的笔记,带有产生式的语法:
S --> ab
S --> aabb
S --> aaabbb
虽然产生式生成有限数量的字符串,但它不是常规语言。
但是,带有产生式的语法:
S --> Sb
S --> Tb
T --> Ta
T --> a
它生成 a^m b^n 形式的字符串,这是一个无限的字符串列表,但这种语言被定义为常规语言?
谁能帮我简单理解一下?在我苦苦挣扎时将不胜感激。
【问题讨论】:
【参考方案1】:理论问题https://cs.stackexchange.com/可能会得到更快的答案,但这里仍然有人可以回答。
您忘记了关系不是对称的。所有有限语言都是正则的,但并非所有正则语言都是有限的。同样,所有常规语言都是上下文无关的,但并非所有上下文无关语言都是常规的。这种关系在 Cleaveland, J.C. & Uzgalis, R.C. 中有很好的说明。 (1977) 编程语言语法,Elsevier North Holland,第 20 页:
【讨论】:
以上是关于有限和无限语言混淆的主要内容,如果未能解决你的问题,请参考以下文章