给出文法1:

下列句子1可由文法1推导得到:

接着构造句子1的语法树:

接下来给出短语、简单短语、句柄的不严谨定义:
短语:一棵树及其子树包含的所有叶节点组成的符号串,上图的短语为
id1 id1*id2 id2 三个。
简单短语:只包含叶节点的子树,其叶节点组成的符号串,上图的简单短语为
id1 id2 两个。
句柄:最左端的简单短语,上图的句柄为id1。
句柄是简单短语的子集,而简单短语是短语的子集。
接下来看句子1的语法分析的例子:

  1. 用F->id规约

    短语:F F*id2 id2
    简单短语:F id2
    句柄:F
  2. 用T->F规约

    短语:T*id2 id2
    简单短语:id2
    句柄:id2
  3. 用F->id规约

    短语:TF
    简单短语:T
    F
    句柄:T*F
  4. 用T->T*F规约

    短语:T
    简单短语:T
    句柄:T
  5. 用E->T规约、

分析结束,句子1可由文法1推导得到。
说明:此处的文法1为非二义性文法,该文法的每个最右句型仅有一个句柄。若一个文法是二义性的,那么可能有多个句柄。
接下来给出一个更复杂的例子,参考该篇博客

  • 短语:(Sd(T)db) , Sd(T)db, Sd(T), (T), S, b
  • 简单短语:(T), S, b
  • 句柄:S

编译原理——短语、简单短语、句柄相关推荐

  1. 《编译原理》求短语,直接短语,句柄,素短语,最左素短语 - 例题解析

    <编译原理>求短语,直接短语,句柄,素短语,最左素短语 - 例题解析 笔记 (一)明确概念: 名称 概念 短语 定义: 若 S 为文法 G 的开始符号,αβδ 是该文法的一个句型,即 S ...

  2. 编译原理(简单自动词法分析器LEX)

    编译原理(简单自动词法分析器LEX)源程序下载地址:  http://files.cnblogs.com/files/hujunzheng/%E6%B1%87%E7%BC%96%E5%8E%9F%E7 ...

  3. 编译原理之:短语,直接短语,句柄

    由于我的编译原理课程不讲人话,在阅读<数据结构>和CSDN相关博文之后,总结编译原理语法分析中的三个词的定义: 1.短语,所有子树的末端节点行成的字符串. 2.直接短语,所有简单子树的末端 ...

  4. 编译原理:素短语、短语、直接短语、句柄的基本概念

    素短语的概念:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语.而一个算符优先文法G的任何句型的最左素短语是满足以下条件的 ...

  5. 编译原理实验代码c语言,编译原理实验 简单词法分析(含源代码和实验结果)

    可直接运行 原创!! 附录一 实验报告样式 <编译原理>实验报告 实验2 简单词法分析 姓名 陈婷婷 学号 1009050121 班级 计科1001班 时间: 2012/4/5 地点:文波 ...

  6. 编译原理:简单词法分析器的设计与实现

    一.实验目的: 设计.编制并调试一个简单的c语言词法分析程序,加深对词法分析原理的理解 二.实验要求: 对单词的构词规则有明确的定义: 编写的分析程序能够正确识别源程序中的单词符号: 识别出的单词以( ...

  7. 编译原理之简单语法分析器(c语言)

    语法分析是编译过程的核心部分,其基本任务是根据语言的语法规则进行语法分析,如果不存在语法错误即给出正确的语法结果,并为语义分析和代码生成做准备. 语法分析器的两种方式 语法分析器的任务主要是确定是否可 ...

  8. 编译原理之 短语直接短语句柄 定义与区分

    编译原理之 短语&直接短语&句柄 定义与区分 一.关于短语 二.关于直接短语 三.关于句柄 四.小练习 1.练习一 2.练习二 五.知识加强拓展 1.利用语法树寻找句型的短语.直接短语 ...

  9. 【编译原理】短语、直接短语、句柄、素短语、最左素短语概念辨析例题练习

    概念 短语:某个句型中可以成功归约的子串(1-n个终结符) 直接短语/简单短语:可一步归约的短语(即若节点A下一步推出的均为叶子节点,则这些叶子节点构成的子串为一个直接短语) i1+i2 (√) i1 ...

  10. 素短语,最左素短语-编译原理

    这个连接是句型,短语,简单短语,句柄的定义http://blog.csdn.net/qq78442761/article/details/53868673 下面是素短语和最左素短语的定义: 素短语,是 ...

最新文章

  1. IVs提取合并工具ivstools
  2. 云原生平台的建设怎么搞?监控系统又该如何演进?这里有答案!
  3. insightface mxnet训练horovod版
  4. go mongodb排序查询_【赵强老师】MongoDB中的索引(下)
  5. 【整理】ABAP 7.40新特性介绍(下)
  6. python多进程参考代码
  7. 如何掌握眼神接触技巧?
  8. C++程序员迈向百万年薪的最后一道坎
  9. py 的 第 12 天
  10. 知网中的硕博论文是caj格式,如何用CAJ转PDF?
  11. 开源单点登录系统CAS
  12. 人工智能原理——第一章 绪论
  13. 霞浦职业中专学校计算机专业,霞浦职业中专学校
  14. 【Hexo】记录NexT主题美化及域名配置(图示详解)
  15. Android 毕业设计高仿抖音(视频类App)(内附源码)
  16. SpringBoot 配置热部署
  17. c语言上机实验作业答案,C语言上机实验-答案
  18. 8000字解读蕉下:拿什么打破新消费亏钱魔咒?
  19. 视壮科技:VS-RK3399简单的I2C 功能介绍
  20. 不用写代码的Android 2D RPG游戏引擎

热门文章

  1. Thread类常用方法
  2. (训练二)王朗自然保护区---训练前准备,设置
  3. linux如何查找目录6,Linux常见四种查找命令
  4. Android开发中如何实现设备与账号绑定
  5. istio学习(4)Vsvc+DR
  6. 【flex布局】关于flex: ;对 li 不起作用的问题
  7. 【软件设计师考试】面朝大海,春暖花开
  8. 基础篇——用串口登陆树莓派pi3/pi4并配置wifi网络
  9. mysql还原数据的方法_MySQL 数据还原
  10. Linux中使用shell命令创建文件