首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则语言与正则文法的区别

正则语言与正则文法的区别
EN

Stack Overflow用户
提问于 2012-02-05 21:54:39
回答 3查看 7.9K关注 0票数 4

我的书对常规语法和常规语言给出了类似但略有不同的解释。我怀疑这是错误的,常规语言和常规语法是一样的吗?我这本书的定义是:如果所有的结果都是V-> aW或V->Wa带有V,W非终端或终端符号,则语法是正规的。W也可以是空的,也可以是与V相同的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-05 21:56:53

形式语法是一组规则,而形式语言是一组字符串。

正则文法是描述的一种形式文法,是一种正则语言。

根据Wikipedia的说法

左边的正则文法生成所有的正则语言。正确的正则文法描述了所有这些语言的反转,也就是说,也准确地描述了正则语言。

如果允许混合使用left-regular和right-regular规则,我们仍然有一个线性语法,但不一定是规则语法。

在上面,left-regular规则是格式为V->Wa (right-regular,格式为V->aW)的规则。

票数 2
EN

Stack Overflow用户

发布于 2012-02-05 22:01:43

常规语法和常规语言是两个不同的术语:

  1. 一种语言是一组(可能是无限的)有效的终端符号序列。
  2. 语法定义了哪些是有效序列。

同一种语言可以用不同类别的语法(规则、上下文无关等)来表示。A language ,如果它可以用一个规则的语法来表示,则称它是正则的。另一方面,规则语法总是定义一种规则语言。您所张贴的是常规语法的定义。

有关详细信息,请参阅this Wikipedia post

票数 4
EN

Stack Overflow用户

发布于 2020-12-28 08:34:27

我想如果我解释一下languagegrammar之间的区别,你的问题就会自动得到解决。

language是满足某些编码为语法的特定规则的字母表上的一组字符串,而Grammars则用于生成语言。

基本上,grammars表示字符串的语法规则,可以用语法的开始符号生成的字符串集称为Language of grammar

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

https://stackoverflow.com/questions/9149779

复制
相关文章

相似问题

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