导航:首页 > 源码编译 > 编译原理中空串是短语吗

编译原理中空串是短语吗

发布时间:2022-05-15 16:57:36

1. 求解编译原理的一道题:设有文法如下

首先要做这题你要知道判别文法类型
包括四个层次:

0-型文法(无限制文法或短语结构文法)包括所有的文法。该类型的文法能够产生所有可被图灵机识别的语言。可被图灵机识别的语言是指能够使图灵机停机的字串,这类语言又被称为递归可枚举语言。注意递归可枚举语言与递归语言的区别,后者是前者的一个真子集,是能够被一个总停机的图灵机判定的语言。
1-型文法(上下文相关文法)生成上下文相关语言。这种文法的产生式规则取如 αAβ -> αγβ 一样的形式。这里的A 是非终结符号,而 α, β 和 γ 是包含非终结符号与终结符号的字串;α, β 可以是空串,但 γ 必须不能是空串;这种文法也可以包含规则 S->ε ,但此时文法的任何产生式规则都不能在右侧包含 S 。这种文法规定的语言可以被线性有界非确定图灵机接受。
2-型文法生成上下文无关语言。这种文法的产生式规则取如 A -> γ 一样的形式。这里的A 是非终结符号,γ 是包含非终结符号与终结符号的字串。这种文法规定的语言可以被非确定下推自动机接受。上下文无关语言为大多数程序设计语言的语法提供了理论基础。
3-型文法(正规文法)生成正规语言。这种文法要求产生式的左侧只能包含一个非终结符号,产生式的右侧只能是空串、一个终结符号或者一个非终结符号后随一个终结符号;如果所有产生式的右侧都不含初始符号 S ,规则 S -> ε 也允许出现。这种文法规定的语言可以被有限状态自动机接受,也可以通过正则表达式来获得。正规语言通常用来定义检索模式或者程序设计语言中的词法结构。
正规语言类包含于上下文无关语言类,上下文无关语言类包含于上下文相关语言类,上下文相关语言类包含于递归可枚举语言类。这里的包含都是集合的真包含关系,也就是说:存在递归可枚举语言不属于上下文相关语言类,存在上下文相关语言不属于上下文无关语言类,存在上下文无关语言不属于正规语言类。

1)本题应该是--上下文无关文法

句子是产生式在推导时“仅仅有终结符”的任何一步
2)%mm%nn 是一个句子

由于下面一题的图我等级不够 不能贴图 发你邮箱

2. 编译原理有关语法的题

短语:E+F*(E+i),F*(E+i),(E+i),E+i,i

直接短语:i(能直接推出来的)

句柄:i(最左直接短语)

素短语:i(并且至少含有一个终结符并除自身之外不含任何更小的素短语)

这些你根据语法树看,就比较好找了啊~

语法树如图:

3. 提问 编译原理问题(高分)

词法分析 的作用是把输入的源语句转化成单词形式
第五个最右推导没给要推出的句子 如果是 cbb 那过程也不对
E->CB

C->c

B->b

最右推导的分析为

1 CB

2 Cb

3 cb
你给的文法有问题吧,最右推导通俗的说 就是只按照最右边的非终结符推导

你这些都是要干什么的题,如果要考试,后面那几道的类型几乎必考!!!

4. 编译原理什么是素短语

编译原理中,素短语是至少含义一个终结符,并且自身不包含任何更小素短语的一种短语。

素短语是一种特殊的短语,它是一个递归的定义,至少含有一个终结符,并且除它自身之外不再含任何更小的素短语,所谓最左素短语就是处于句型最左边的素短语的短语。

一个算符优先文法G的任何句型的最左素短语是满足以下条件的最左子串NaNb…NcNdN(N是非终结符,a,b,c,d是终结符)。例如:句型T+T*F+id,T*F是最左素短语,id是素短语。

(4)编译原理中空串是短语吗扩展阅读:

通过语法树可以得知素短语:

1、每个句型对应一棵语法树

2、每棵语法树的叶子结点从左到右排列构成一个句型

3、每棵语法树的子树的叶子结点从左到右排列构成一个短语

4、每棵语法树的简单子树(只有父子两层结点)的叶子结点从左到右排列构成一个简单(直接)短语。

5、素短语是至少包含一个终结符的短语,但它不能包含其它素短语。

5. 编译原理:空字符串可以是短语吗

ε可以是短语

6. 编译原理中的短语、直接短语、句柄

就是说,对一棵分析树从上到下,从左到右把所有的直接短语写出来,在所有的直接短语的最前面(也就是最左边)的那个就是句柄啦。
希望帮到你理解这个意思。

7. 编译原理中,形式语言里怎么区分2型文法与3型文法

二型文法如下:
S->Ac
S->Sc
A->ab
A->aAb
三型文法如下:
S->aS
A->bA
B->cB
B->c
A->Bb
A、2型文法是上下文无关文法,表现在产生式上就是产生式的左部只有一个非终结符;3型文法从广义上讲包括左线形文法、右线形文法和正规文法 。
B、左线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最左端。
C、右线形文法产生式的右部要么没有非终结符,如果有非终结符也只能有一个,且必须位于产生式右部的最右端 。
D、正规文法是右线形文法的一个子集,其产生式右部只有三种情况:
1)空串
2)只有一个终结符
3)只有一个终结符后接一个非终结符
E、所有的3型文法都是2型文法。

8. 编译原理的疑问

设文法G的开始符号为S,abc是G的一个句型。
如果有句型S *=>aAc,且A +=>b,则称b是句型abc相对于非终结符A的短语。
假如A =>b,则称b是句型abc相对于规则A=>b的直接短语。
句柄就是句型的最左直接短语。
假如一个短语,有且只含有一个非终结符,则称之为素短语;(语法树)最左边的素短语为最左素短语。

形式语言里,规范推导是最右开始,则归约是最左开始。
短语的特点是由非终结符而来。在算符优先分析里,短语是进行归约的方向。它和常见的中文、英文里所说的短语概念有相似,也有不同。

9. 编译原理 空串为什么可以区分终态和非终态

follow集合是针对非终结符而言的;follow(U)所表达的是句型中非终结符U的所有可能的后随终结符号的集合,特别注意一点:“#”是识别符号的后随附。
直接收取:形如“……Ua”的组合,直接把啊收入到follow(U)中
直接收取:形如“……UP……”的组合,(P是非终态符);把firth(P)除去ε直接收入到follow(U)中。
反复传递:形如“P-……U”的产生式,
follow(P)的全部内容传递到follow(U)中,或者说是P-……UB且first(B)包含ε,则把first(B)除去ε直接收入到follow(U)中,同时吧follow(P)的全部内容传送到follow(U)中...

10. 编译原理空字符ε与空集区别

不知你说的空集是为何指?据我所猜应该是指某个文法所能推导的语句的集合为空,这里的空集意思是不存在匹配该文法的句子。而ε则是指某个包含非终结符号的文法符号串的推导为空,例如A->ε。咋看上去好像差不多,其实它们却有本质的区别,空集是面向结果的,即一个文法所有可能推导的最终语句;而ε则是面向定义的,即某个非终结符号可以推导为空,这样的定义可以在推导过程重复使用。
最后给你来点哲学的。为什么会存在ε?古代有句话叫,其大无外,其小无内,大小之间转化的奥秘在编译原理中真实的被呈现了出来,就看你有没有发现。可以肯定的说,ε的存在正是应了无穷的需要。例如:A->aA|ε,这里ε既可以A可以表达任意多的a串,又可以动态的将其终止,不至无休止的无限下去。
你终会明白,理解了ε,就是理解了形式语言的整个灵魂。

阅读全文

与编译原理中空串是短语吗相关的资料

热点内容
汽车小压缩机拆解 浏览:825
云桌面卡是因为服务器的原因吗 浏览:377
qd123压缩机 浏览:969
pn532读取加密门禁卡 浏览:85
win10文件夹属性里无法加密 浏览:34
比特币加密的条件 浏览:848
求购现成影视app源码 浏览:572
wdsecurity加密版 浏览:813
云服务器和云丰云 浏览:188
服务器如何设置独立ip 浏览:857
tar命令打包文件夹 浏览:1000
删除linux用户和组 浏览:548
小米的程序员都用什么笔记本 浏览:703
字节三面算法题 浏览:971
服务器保护有什么好处 浏览:894
全部下载完后进行统一解压 浏览:393
远嫁的程序员妈妈 浏览:555
1024程序员节安全攻防挑战赛 浏览:786
怎么解除txt加密 浏览:772
javahttp流 浏览:656