Chomsky文法分类体系

文章目录

  • Chomsky文法分类体系
    • 0型文法(Type-0 Grammar)
    • 1型文法(Type-1 Grammar)
    • 2型文法(Type-2 Grammar)
    • 3型文法(Type-3 Grammar)
  • 四种文法之间的关系

0型文法(Type-0 Grammar)

α → β \alpha \rightarrow{\beta} α→β
无限制文法/短语结构文法

∀ α → β ∈ P \forall \alpha \rightarrow \beta \in P ∀α→β∈P, α \alpha α中至少包含1个非终结符。

0型文法生成的语言称为0型语言

1型文法(Type-1 Grammar)

α → β \alpha \rightarrow{\beta} α→β

上下文有关文法(Context-Sensitive Grammar)
7

  • ∀ α → β ∈ P , ∣ α ∣ ≤ ∣ β ∣ \forall \alpha \rightarrow{\beta} \in P,|\alpha| \le |\beta| ∀α→β∈P,∣α∣≤∣β∣
  • 产生式的一般形式: α 1 A α 2 → α 1 β α 2 ( β ≠ ϵ ) \alpha_1 A\alpha_2 \rightarrow{\alpha_1\beta \alpha_2} (\beta \ne \epsilon) α1​Aα2​→α1​βα2​(β̸​=ϵ)
  • 由上下文有关文法(1型文法)G产生的语言L(G),称为1型语言(上下文有关语言)。

2型文法(Type-2 Grammar)

α → β \alpha \rightarrow{\beta} α→β

上下文无关文法(Context-Free Grammar)

  • ∀ α → β ∈ P , a ∈ V N \forall \alpha \rightarrow{\beta} \in P, a \in V_N ∀α→β∈P,a∈VN​(产生式的左部一定要是非终结符)
  • 产生式的一般形式: A → β A \rightarrow{\beta} A→β

例如:

  1. S → L ∣ L T S \rightarrow{L | LT} S→L∣LT
  2. T → L ∣ D ∣ T L ∣ T D T \rightarrow{L | D | TL | TD} T→L∣D∣TL∣TD
  3. L → a ∣ b ∣ c ∣ . . . ∣ z L \rightarrow{a|b|c|...|z} L→a∣b∣c∣...∣z
  4. D → 0 ∣ 1 ∣ 2 ∣ . . ∣ 9 D \rightarrow{0|1|2|..|9} D→0∣1∣2∣..∣9

由上下文无关文法生成的语言称为上下文无关语言(2型语言)

3型文法(Type-3 Grammar)

3型文法又称正则文法(Regular Grammar):

  • 右线性文法: A → ω B A \rightarrow{\omega B} A→ωB或 A → ω A \rightarrow{\omega} A→ω
  • 左线性文法: A → B ω A \rightarrow{B \omega} A→Bω或 A → ω A \rightarrow{\omega} A→ω

左线性文法和右线性文法都称为正则文法。

由于左部一定是非终结符,所以3型文法满足2型文法

正则文法能描述程序设计语言的多数单词

四种文法之间的关系

  • 逐级限制

    • 0型文法: α \alpha α中至少包含1个非终结符
    • 1型文法: ∣ α ∣ ≤ ∣ β ∣ |\alpha| \le |\beta| ∣α∣≤∣β∣
    • 2型文法: α ∈ V N \alpha \in V_N α∈VN​
    • 3型文法: A → ω B A \rightarrow{\omega B} A→ωB或 A → ω A \rightarrow{\omega} A→ω(右线性)。 A → B ω A \rightarrow{B \omega} A→Bω或 A → ω A \rightarrow{\omega} A→ω(左线性)

Chomsky文法分类相关推荐

  1. 编译原理之形式语言文法分类

    高级程序设计语言的三个基本因素: 语法:描述语言成分的构成规则(包括词法规则和语法规则) 语义:描述语法成分的含义 语用:描述语法成分的使用方法 形式语言理论(formal language theo ...

  2. 【编译原理】文法分类

    文章目录 0型文法 1型文法 2型文法 3型文法 总结 0型文法 1型文法 (和0型文法的差别就是左部α中符号数要小于等于β中的符号数) 1型文法中不包含空产生式(如果包含空串ε,β为空串的话|β|= ...

  3. 【编译原理笔记02】计算机如何表示语言及其文法,字母表(及其运算)、串、推导和归约、句型和句子、文法分析树

    本次笔记内容: 2-1 词法语法分析基本概念 2-2 文法定义 2-3 语言的定义 2-4 文法的分类 2-5 CFG的分析树 文章目录 概述:计算机如何表示语言及其文法 字母表(Alphabet) ...

  4. SPIR-V 研究:编译器基本原理

    http://blog.csdn.net/qwertyu1234/article/details/50163847 前面转过两篇关于SPIR-V 中间语言的介绍:接下来笔者准备深入学习一下SPIR-V ...

  5. 软件工程专插本_2021年软件工程专业-编译原理-考试大纲(专插本).docx

    吉林大学珠海学院 2021 年本科插班生招生考试 < 软件工程 >专业课程考试大纲 考试科目名称: 编译原理 一.考试的内容.要求和目的 第 1 章 引论 (考核比重:10%) (一)课程 ...

  6. NLP入门概览(7) ——句法分析a:Chomsky(乔姆斯基)形式文法

      在上一部分中,我们介绍了NLP领域最基本的问题:词法分析,现阶段解决该问题最常用的方法就是将其转化为序列标注问题,根据解决序列标注问题的方法对其进行解决.   词的问题解决了,那么下一步,就是句法 ...

  7. 文法和语法和词法的解释

    词法分析(Lexical analysis或Scanning)和词法分析程序(Lexical analyzer或Scanner)  词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符 ...

  8. 形式语言与自动机 Part.1绪论, Part.2 语言与文法

    课程名:形式语言与自动机 作者:Lupinus_Linn 许可证:CC-BY-NC-SA 3.0 创作共用-署名-非商业性-相同方式共享 署名(英语:Attribution,BY):您(用户)可以复制 ...

  9. 《中国图书馆图书分类法》(第五版)详表(中图分类号查询表)

    中图分类号简介: <中国图书馆图书分类法>是我国建国后编制出版的一部具有代表性的大型综合性分类法,简称<中图法>. <中图法>的编制始于1971年,先后出版了五版. ...

最新文章

  1. SimpleDateFormat 日期,时间格式转化
  2. SpringBoot 概念和起步
  3. UVA 10245 The Closest Pair Problem
  4. JS实现的ajax发送数据重复
  5. RabbitMQ死信实战(生产者)
  6. QT Creator应用程序开发——信号与槽
  7. 条件运算符(?:)和 $替代string.Format()
  8. 在Windows环境下用Editplus打造一个Python编辑调试环境
  9. 开发日记:接口开发设计
  10. [拇指飞动]读《程序员修炼之道:从小工到专家》
  11. @Valid注解的使用
  12. Xcode7中 添加 .dylib
  13. Julia:调用python函数的几种方法
  14. 【多目标优化求解】基于matlab布谷鸟算法多目标(成本+时间+质量)优化求解【含Matlab源码 118期】
  15. mac配置java环境
  16. 如何下载斗鱼回放视频(纯手工)
  17. elk6.4.3安装部署指导手册
  18. 玩转B2B平台的商业模式你选对了吗?
  19. 完美解析解决java.sql.SQLException:Access denied for user ‘‘@‘localhost‘ (using password: NO)
  20. [激光器原理与应用-4]:激光器的内部结构与工作原理

热门文章

  1. 洛谷 P1456 Monkey King 题解
  2. 【python量化】将Transformer模型用于股票价格预测
  3. android ota权限,Android手机Root后不能接收OTA?
  4. 使用nuget 打包并上传 nuget.org
  5. C语言 | 文件打开关闭
  6. java.sql.SQLException: Unable to run insert stmt on object 解决办法
  7. Mysql 1146错误 出现Table 'mysql.proc' doesn't exist ( 1146 )
  8. 【实践】haskell、coq基本语法
  9. Anaconda环境变量配置
  10. 中心极限与大数定理律的关系_CLT 中心极限定理