文法和语言的分类
2005-08-24 21:05
316 查看
0型文法:其规则没有限制,可以由任何数量的符号产生任何数量的符号。由0型文法的产生的语言称0型语言,识别0型语言机器对应于图灵机。
1型文法:从直觉上可以认为有两种完全不同的1型文法,但实际上是等价的。一种称为单调语言,要其规则左边的符号的个数不多于右边的符号,如:N E -> and N。另一种称为上下文相关的语言,所谓上下文相关是指,只有规则左边的一个符号被替换,而且没有替换掉的符号保持原先的位置。由1型文法的产生的语言称1型语言,识别1型语言机器对应于线性界限自动机。如:
Name Comma Name End -> Name and Name End。
2型文法:2型文法是上下文无关文法,简单的说就是规则左边只有一个非终结符,上下文无关文法的一个典型特征是可以递归嵌套。由2型文法的产生的语言称2型语言,识别2型语言机器对应于下推自动机。如:
Name -> tom | dick | harry
SentenceS -> Name | List and Name
List -> Name , List | Name
3型文法:它只允许包含两种规则:一种是一个非终结符产生0个或多个终结符。第二种是一个非终结符产生0个或多个终结符再跟上一个非终结符,由3型文法的产生的语言称3型语言,识别3型语言机器对应于有穷自动机。如:
SentenceS -> t | d | h | List
List -> t ListTail | d ListTail | h ListTail
ListTail -> List | &t | &d | &h
4型文法:没有非终结符出现在规则的右边。由4型文法的产生的语言称4型语言。如,
SS -> [tdh] | [tdh] & [tdh] | [tdh] , [tdh] & [tdh]
N E -> and N
1型文法:从直觉上可以认为有两种完全不同的1型文法,但实际上是等价的。一种称为单调语言,要其规则左边的符号的个数不多于右边的符号,如:N E -> and N。另一种称为上下文相关的语言,所谓上下文相关是指,只有规则左边的一个符号被替换,而且没有替换掉的符号保持原先的位置。由1型文法的产生的语言称1型语言,识别1型语言机器对应于线性界限自动机。如:
Name Comma Name End -> Name and Name End。
2型文法:2型文法是上下文无关文法,简单的说就是规则左边只有一个非终结符,上下文无关文法的一个典型特征是可以递归嵌套。由2型文法的产生的语言称2型语言,识别2型语言机器对应于下推自动机。如:
Name -> tom | dick | harry
SentenceS -> Name | List and Name
List -> Name , List | Name
3型文法:它只允许包含两种规则:一种是一个非终结符产生0个或多个终结符。第二种是一个非终结符产生0个或多个终结符再跟上一个非终结符,由3型文法的产生的语言称3型语言,识别3型语言机器对应于有穷自动机。如:
SentenceS -> t | d | h | List
List -> t ListTail | d ListTail | h ListTail
ListTail -> List | &t | &d | &h
4型文法:没有非终结符出现在规则的右边。由4型文法的产生的语言称4型语言。如,
SS -> [tdh] | [tdh] & [tdh] | [tdh] , [tdh] & [tdh]
N E -> and N
相关文章推荐
- 文法与语言分类
- 编译原理-第2部分形式语言导论-第二节文法和语言 第二小节形式语言分类
- 编译原理之形式语言文法分类
- 语言编译器编程语言分类及入门
- 1029 语言文法
- 语言文法
- 【语言处理与Python】9.1文法特征
- 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的关系
- 计算机语言常用运算符分类
- 《Go语言入门》第一个Go语言程序——HelloWorld 标签: go语言helloworld 2015-11-29 18:46 4066人阅读 评论(4) 收藏 举报 分类: go语言入门(3)
- 【南阳OJ分类之语言入门】80题题目+AC代码汇总
- 计算机高级语言分类及JAVA语言特点
- 计算机语言的简单分类与区别
- 乔姆斯基文法分类【0型1型2型3型文法】
- IOS开发---OC语言-⑮分类
- 脚本语言随笔分类
- OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法
- LL(1)文法实现(C系语言版)实现
- 计算机语言 的类型与分类
- R语言机器学习笔记——垃圾邮件分类