首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是contex free而不是regular

什么是contex free而不是regular
EN

Stack Overflow用户
提问于 2010-01-13 15:16:07
回答 4查看 4.6K关注 0票数 1

我正在为考试准备上下文无关的语法。我不明白为什么语言

代码语言:javascript
复制
{ a^n b^n | n>=0}

是上下文无关的,但不是常规的。为什么它不是常规的?什么时候我们可以说一个表达式不是正则的?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2010-01-13 15:17:34

如果一个表达式不能被regular expression或(等价地) finite state machine匹配(精确地),那么它就不是正则表达式。另请参见context free languageregular language

票数 3
EN

Stack Overflow用户

发布于 2010-01-13 15:42:27

就像在前面的答案中所说的,它是上下文无关的,因为你可以用上下文无关的语法来表达它。

例如:S -> aSb | ε

它不是正则的,因为你不能用有限状态机或正则表达式来表达它。您应该能够计算A的数量,并检查B的数量是否匹配。这不能在有限状态下完成,因为n可以是任何值

票数 3
EN

Stack Overflow用户

发布于 2010-01-21 06:12:44

标准方法是使用Pumping Lemma

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2055042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档