编译原理:短语、直接短语、句柄、素短语
概念
如果S->* αAβ and A->+γ,则称γ是句型αγβ的相对于变量A的短语
如果S->* αAβ and A->γ,则称γ是句型αγβ的相对于变量A的直接(简单)短语 最左直接短语叫做句柄
其实最简单的判断方法直接画出语法树了。
文法
S->(L)|aS|a
L->L,S|S
分析(S,(a))
1.先画出语法树
2.判断短语
一个句型的语法树中任一子树叶节点所组成的符号串都是该句型的短语。
- 很明显的,最下面的a是S的叶子节点、最左边的S是L的叶子节点。
- 其他的叶子节点从左往右分别是(,,,(,),)
- 在树的第四层的(,L,)都是子树S的孩子,因为短语都是叶子节点,所以这边的短语有(a)
- 在树的第三层的L,,,S都是子树L的孩子,因为短语都是叶子节点,所以这边的短语有S,(a)
在树的第二层的(,L,)都是根节点S的孩子,因为短语都是叶子节点,所以这边的短语有(S,(a))
所以短语有a (a) S,(a) (S,(a)) S
3.判断直接(简单)短语
当子树不包含其他更小的子树时,该子树叶节点所组成的字符串就是该句型的直接短语
短语包含直接短语,我们可以直接在短语中判断。
这里只有第五层的S和第三层的L不包含其他更下的子树,所以有a和S是直接短语。
其中(a)的父节点S包含L,S,(a)的父节点L包含L和S, (S,(a))的父节点S包含L
4.判断句柄
句柄是最左边的直接短语
因为S处于最左边,所以S是直接短语。
5.判断素短语
素短语是一个短语,它至少含有一个终结符,而且除他之外不含有其他素短语。
短语包含素短语,我们可以直接在短语中判断。
因为S可以推导出其他字符,(a);S,(a);(S,(a))都包含其他素短语,所以符合条件的只有a。
编译原理:短语、直接短语、句柄、素短语相关推荐
- 《编译原理》求短语,直接短语,句柄,素短语,最左素短语 - 例题解析
<编译原理>求短语,直接短语,句柄,素短语,最左素短语 - 例题解析 笔记 (一)明确概念: 名称 概念 短语 定义: 若 S 为文法 G 的开始符号,αβδ 是该文法的一个句型,即 S ...
- 编译原理:短语、直接短语、句柄、素短语、最左素短语案例零基础解析
短语.直接短语.句柄.素短语.最左素短语为句型分析的有关问题,其编译原理(第三版)书中的章节分别为2.6.3和5.3.4 概念解析: PS:先了解文法.句型.句子等基础概念 短语: 某一个句型中可以成 ...
- 【编译原理】短语、直接短语、句柄、素短语、最左素短语概念辨析例题练习
概念 短语:某个句型中可以成功归约的子串(1-n个终结符) 直接短语/简单短语:可一步归约的短语(即若节点A下一步推出的均为叶子节点,则这些叶子节点构成的子串为一个直接短语) i1+i2 (√) i1 ...
- 短语、直接短语、句柄、素短语、最左素短语
复习编译原理,理了一下几个基本概念的判断思路: 1. 根据句型画语法推导树. 2. 判断短语:短语是语法推导树中每一个非叶子节点作为根的子树,从左到右的叶子节点.注意:短语可以是非终结符. 3. 判断 ...
- 编译原理基本定义(短语、直接短语、句柄、素短语、最左素短语)
一般先根据句型写出语法树,然后再根据语法树进行求解. 举个例子: 先画出语法树(最左推导): 短语:在语法树中,先找出所有的非终结符,然后用叶子节点去替换他们,最后得到的集合就是短语的集合. 这里的非 ...
- 短语,直接短语,素短语与最左素短语(语法树求法)
目录 1.基本概念 (1)短语和直接短语: (2)素短语: (3)最左素短语: 2.判断方法 3.例题演示 1.基本概念 (1)短语和直接短语: 一个句型的语法树中任一子树叶结点所组成的符号串都是 ...
- 编译原理 —— 短语、直接短语、素短语和句柄
定义 如果 βββ 中至少含有一个终结符,而且除它自身之外不再含任何更小的素短语,那么称 βββ 为 素短语 题目 令文法 G1G_1G1 为: ①S−>(L)∣aS∣a①S->(L)| ...
- 编译原理:素短语、短语、直接短语、句柄的基本概念
素短语的概念:它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语.而一个算符优先文法G的任何句型的最左素短语是满足以下条件的 ...
- 素短语,最左素短语-编译原理
这个连接是句型,短语,简单短语,句柄的定义http://blog.csdn.net/qq78442761/article/details/53868673 下面是素短语和最左素短语的定义: 素短语,是 ...
最新文章
- 11WinDlg 对话框一
- USB接口直接焊线的顺序记录
- Faster R-CNN的安装及测试(Python版本和Matlab版本)
- PowerDesigner oracle 反向工程到cdm文件
- Java并发包基石-AQS详解
- ibm+i+to+mysql_IBM X3650 M3下配置nginx+tomcat+mysql
- 顺序堆栈实现学生信息管理系统
- android 动态创建数据库表,简析Android数据库中创建表与LitePal的基本用法
- python和c的语法区别_python和c语言语法有什么区别?
- 5年迭代5次,抖音推荐系统演进历程
- FPGA课程设计——数字频率计
- Python爬虫——多线程爬取阳光问政
- [软件人生]大白话讲述了近两百年中美之间的历史关系及tpp是什么
- 网页游戏对java的技术要求_网页制作谈谈什么技术是Java开发网页游戏的必要条件呢?怎样在微信公众平台上制作5级游戏?...
- 什么是微前端及微前端优缺点
- DevExpress WinForms Controls v22.1 beta版来袭,上车
- Select 选择器
- 2022-2028全球与中国成像色度计市场现状及未来发展趋势
- Windows XPE 安装
- JavaWeb_04_ELJSTL