[东北师范大学]编译原理19秋在线作业13-答案

合集下载

[东北师范大学]编译原理19秋在线作业21-答案

[东北师范大学]编译原理19秋在线作业21-答案

[东北师范大学]编译原理 19 秋在线作业 2
试卷总分:100 得分:100
【题目】词法分析器输出的单词符号常常表示成什么样的二元式()。

A、(Class,Value)
B、(OP,Result)
C、(Class,Result)
D、(OP,Value)
正确选择:A
【题目】已知文法 G:S→LaR|R,L→bR|c,R→L,该文法是哪一类文法()。

A、LR(0)文法
B、SLR(1)文法
C、LR(1)文法
D、都不是
正确选择:C
【题目】自底向上分析开始时,首先在栈底放置什么符号,然后将输入符号逐个推入栈内()。

A、界符#及开始符号 S
B、开始符号 S
C、界符#号
D、当前的输入符号
正确选择:C
【题目】在定义程序中的一个循环时,流程图中的一个结点指的是什么()。

A、一个四元式
B、几个四元式
C、一个基本块
D、几个基本块
正确选择:C
【题目】下述语句类中,什么在编译时通常不产生可执行代码()。

A、赋值语句
B、流程控制语句
C、复合语句
D、说明语句
正确选择:D
【题目】在文法中,由于有些符号不需要进一步定义,故通常将它们称为什么()。

A、终结符号
B、非终结符号
C、开始符号。

编译原理习题及答案(整理后)

编译原理习题及答案(整理后)

编译原理习题及答案(整理后)第⼀章1、将编译程序分成若⼲个“遍”是为了。

b.使程序的结构更加清晰2、构造编译程序应掌握。

a.源程序b.⽬标语⾔c.编译⽅法3、变量应当。

c.既持有左值⼜持有右值4、编译程序绝⼤多数时间花在上。

d.管理表格5、不可能是⽬标代码。

d.中间代码6、使⽤可以定义⼀个程序的意义。

a.语义规则7、词法分析器的输⼊是。

b.源程序8、中间代码⽣成时所遵循的是- 。

c.语义规则9、编译程序是对。

d.⾼级语⾔的翻译10、语法分析应遵循。

c.构词规则⼆、多项选择题1、编译程序各阶段的⼯作都涉及到。

b.表格管理c.出错处理2、编译程序⼯作时,通常有阶段。

a.词法分析b.语法分析c.中间代码⽣成e.⽬标代码⽣成三、填空题1、解释程序和编译程序的区别在于是否⽣成⽬标程序。

2、编译过程通常可分为5个阶段,分别是词法分析、语法分析中间代码⽣成、代码优化和⽬标代码⽣成。

3、编译程序⼯作过程中,第⼀段输⼊是源程序,最后阶段的输出为标代码⽣成程序。

4、编译程序是指将源程序程序翻译成⽬标语⾔程序的程序。

⼀、单项选择题1、⽂法G:S→xSx|y所识别的语⾔是。

c. x n yx n(n≥0)d. x*yx*2、⽂法G描述的语⾔L(G)是指。

a. L(G)={α|S + ?α , α∈VT*} b. L(G)={α|S*?α, α∈VT*}c. L(G)={α|S *?α,α∈(VT∪V N*)} d. L(G)={α|S+ ?α, α∈(VT∪V N*)}3、有限状态⾃动机能识别。

a. 上下⽂⽆关⽂法b. 上下⽂有关⽂法c.正规⽂法d. 短语⽂法4、设G为算符优先⽂法,G的任意终结符对a、b有以下关系成⽴。

a. 若f(a)>g(b),则a>bb.若f(a)c. a~b都不⼀定成⽴d. a~b⼀定成⽴5、如果⽂法G是⽆⼆义的,则它的任何句⼦α。

a. 最左推导和最右推导对应的语法树必定相同b. 最左推导和最右推导对应的语法树可能不同c. 最左推导和最右推导必定相同d. 可能存在两个不同的最左推导,但它们对应的语法树相同6、由⽂法的开始符经0步或多步推导产⽣的⽂法符号序列是。

编译原理习题及答案(整理后)

编译原理习题及答案(整理后)

第一章1、将编译程序分成若干个“遍”是为了。

a.提高程序的执行效率b.使程序的结构更加清晰c.利用有限的机器内存并提高机器的执行效率d.利用有限的机器内存但降低了机器的执行效率2、构造编译程序应掌握。

a.源程序b.目标语言c.编译方法d.以上三项都是3、变量应当。

a.持有左值b.持有右值c.既持有左值又持有右值 d.既不持有左值也不持有右值4、编译程序绝大多数时间花在上。

a.出错处理b.词法分析c.目标代码生成d.管理表格5、不可能是目标代码。

a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码6、使用可以定义一个程序的意义。

a.语义规则b.语法规则c.产生规则d.词法规则7、词法分析器的输入是。

a.单词符号串b.源程序c.语法单位d.目标程序8、中间代码生成时所遵循的是- 。

a.语法规则b.词法规则c.语义规则d.等价变换规则9、编译程序是对。

a.汇编程序的翻译b.高级语言程序的解释执行 c.机器语言的执行d.高级语言的翻译10、语法分析应遵循。

a.语义规则b.语法规则c.构词规则d.等价变换规则二、多项选择题1、编译程序各阶段的工作都涉及到。

a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析2、编译程序工作时,通常有阶段。

a.词法分析b.语法分析c.中间代码生成d.语义检查e.目标代码生成三、填空题1、解释程序和编译程序的区别在于。

2、编译过程通常可分为5个阶段,分别是、语法分析、代码优化和目标代码生成。

3、编译程序工作过程中,第一段输入是,最后阶段的输出为程序。

4、编译程序是指将程序翻译成程序的程序。

单选解答1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。

2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。

3、对编译而言,变量既持有左值又持有右值,故选c。

4、编译程序打交道最多的就是各种表格,因此选d。

5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。

编译原理-黑大-试题及答案

编译原理-黑大-试题及答案

编译原理一.填空题1.①⑤②⑥③⑦④⑧2.N T N文无关文法,通常用来描述计算机语言的语法结构。

( × )5.前后文无关文法的是否具有二义性是不可判定的。

( √ )6.同一字母表上的NFA和DFA是等价的。

( √ )7.若自动机M1的状态数和自动机M2的状态数不相等,则M1与M2一定不等价( × )8.状态转换图中终态结点只有一个。

( × )9.正规集与正规式之间并不存在一一对应关系。

( √ )10某些语言不能用正规式来描述,因此正规式的描述能力是有限的。

( √ )三.求解题1.试描述文法所产生的语言。

S→aSa|bSb|c答:S→aSa→abSba→abcba L(G)={a m b n cb n a m|m,n≥0}2.试描述文法所产生的语言。

S→AB A->aAb|ab B->cBd|cd答:S→AB→aAbcBd→aabbccdd L(G)={a n b n c m d m|m,n≥0}3.试构造所产生语言的文法。

{ a m b n c n d m | m,n>=1 }答:S→AB A→aA|d B→bB|c4.试构造所产生语言的文法。

{ a n # b n |n>=0 }∪{ c n # d n |n>=0 }答:S→E|F|# E→aEb|# F→cFd|#5.改写文法消除文法左递归。

引入{ }改写:E→EAT|T,T→TMF|F答:E→T{AT}T→F{MF}6.改写文法消除文法左递归.引入E’,T’改写:E→EAT|T,T→TMF|F答:E→TE’E’→ATE’|εT→FT’T’→MF T’|ε四.综合题1.文法:S→AB|c A→bA|a B→aSb|c,给出句子w=bbaacb的最左推导和最右推导。

这种推导是属于自顶向下还是自底向上的句型分析?答:①W的最左推导S→AB→bAB→bbAB→bbaB→bbaacb②W的最右推导S→AB→AaSb →Aacb→bAacb→bbAacb→bbaacb自底向上2.假设<标识符>-><标识符>字母|<标识符>数字|字母|下划线,画出识别标识符的状态转换图。

编译原理习题及答案

编译原理习题及答案

( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 10.× 22.√
) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 11.
二、填空题: 2.编译过程可分为 ( 词法分析) , (语法分析) , (语义分析与中间代码生成 ) , (优化)和(目标 代码生成 )五个阶段。 3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( 二义性的 4.从功能上说,程序语言的语句大体可分为( 5.语法分析器的输入是( 单词符号 6.扫描器的任务是从( 源程序中 执行性 )语句和(说明性 ) 。 ) 。 ) ,其输出是( 语法单位 )中识别出一个个( 单词符号 ) 。 )语句两大类。
因此,文法 G[为二义文法。
五.计算题(10 分) 已知文法 A->aAd|aAb| ε
判断该文法是否是 SLR(1) 文法,若是构造相应分析表,并对输入串 ab# 给出分析过程。 解:增加一个非终结符 S/后,产生原文法的增广文法有: S'->A A->aAd|aAb|ε 下 面 构 造 它 的 LR(0) 项 目 集 规 范 族 为 :
对输入串 ab#给出分析过程为:
一、是非题:
1.一个上下文无关文法的开始符,可以是终结符或非终结符。 2.一个句型的直接短语是唯一的。 3.已经证明文法的二义性是可判定的。 4.每个基本块可用一个 DAG 表示。 5.每个过程的活动记录的体积在编译时可静态确定。 6.2 型文法一定是 3 型文法。 7.一个句型一定句子。 8.算符优先分析法每次都是对句柄进行归约。 X 9.采用三元式实现三地址代码时,不利于对中间代码进行优化。 10.编译过程中,语法分析器的任务是分析单词是怎样构成的。 11.一个优先表一定存在相应的优先函数。 13.递归下降分析法是一种自下而上分析法。 14.并不是每个文法都能改写成 LL(1)文法。 15.每个基本块只有一个入口和一个出口。 16.一个 LL(1)文法一定是无二义的。 17.逆波兰法表示的表达试亦称前缀式。 18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 19.正规文法产生的语言都可以用上下文无关文法来描述。 20.一个优先表一定存在相应的优先函数。 21.3 型文法一定是 2 型文法。 22.如果一个文法存在某个句子对应两棵不同的语法树, 则文法是二义性的。 答案:1.× 12.√ 13.× 2.× 14.√ 3.× 15.√ 4.√ 16.√ 5.√ 17.× 6.× × 18.√ 19.√ 20.× 21.√ 7.× 8.× 9.√ X 12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。

编译原理习题答案(部分)

编译原理习题答案(部分)

本书习题可分为思考题和必做题,这里仅给出必做题的参考答案。

习题11-1至1-11均为思考题。

习题22-1至2-14均为思考题。

习题33-1至3-13均为思考题。

习题44-1至4-4均为思考题。

4-5 解:上下文有关文法(1型文法),产生的语言L(G){=a i b i c i | i≥1,i为整数} 4-6 解:3型文法,L(G)={a i | i≥1,i为奇数}4-7 解:2型文法,L(G)={a i b i | i≥1,i为整数}4-8 解:1型文法,L(G)={a i b i c i | i≥1,i为整数}4-9 解:1. 最左推导最右推导S⇒ (A) ⇒ (B) ⇒(SdB) S⇒ (A) ⇒ (B) ⇒ (SdB)⇒ ((A)dB) ⇒ ((B)dB) ⇒ (SdS) ⇒ (Sda)⇒ ((S)dB) ⇒ ((b)dB) ⇒ ((A)da ⇒ ((B)da)⇒ ((b)dS) ⇒ ((b)da) ⇒ ((s)da⇒ ((b)da)2. 语法树4-10解:1. 因为存在推导S ⇒ SbF ⇒ SbP ⇒ Sbc ⇒ Fbc ⇒ FaPbc所以FaPbc是文法G (S) 的一个句型。

2. 语法树4-11解:因为串aaabaa可有下列两棵不同的语法树所以文法G (S)是二义文法。

4-12解:因为串i (*可有下列两棵不同的语法树4-13解:假定所设计的语言面向的机器为一般通用机。

按照题目给出的问题,如果不考虑输入和输出语句,那么所要设计的语言仅包含字符串数据类型和赋值语句。

语言设计如下:<程序>→<分程序><分程序>→begin<语句说明表>;<执行语句>end<说明语句表>→<说明语句>|<说明语句表>;<说明语句><说明语句>→<变量说明><变量说明>→string<变量表>说明:string是变量的类型,表示变量为字符串。

[东北师范大学]编译原理19秋在线作业12-答案

[东北师范大学]编译原理19秋在线作业12-答案

[东北师范大学]编译原理 19 秋在线作业 1
试卷总分:100 得分:100
【题目】下述正规表达式中,能描述字母表{0,1}上所有长度不为 3 的符号串的是哪个()。

A、(ε|0|1|00|11|10|01)((0|1)(0|1)*)
B、ε|0|1(00|11|10|01)*
C、ε|0|1(00|11|10|01)(0|1)*
D、没有一个
正确选择:D
【题目】设有文法 G[T]:T::=T*F|F,F::=F↑P|P,P::=(T)|a,下列符号串中是该文法句型T*P↑(T*F)的直接短语是哪个()。

A、(T*F)
B、T*F
C、P↑
D、P↑(T*F)
正确选择:B
【题目】在 BNF 表示方法中,“→”表示什么()。

A、恒等于
B、不等于
C、取决于
D、定义为
正确选择:D
【题目】LR(K)方法是什么样的方法()。

A、从左到右分析,每次走 K 步的一种编译方法
B、从左到右分析,共经过 K 步的一种编译方法
C、从左到右分析,每次向前预测 K 步的一种编译方法
D、从左到右分析,每次向前看 K 个输人符号的一种语法分析方法。

正确选择:D
【题目】正则式的“·”读作什么()。

A、并且
B、或者
C、连接
D、闭包
正确选择:C
【题目】文法 G 的一棵语法树叶结点的自左至右排列是 G 的一个什么()。

A、短语
B、句型。

编译原理

编译原理

《编译原理》课后习题答案第 1 章引论第 1 题解释下列术语:(1)编译程序(2)源程序(3)目标程序(4)编译程序的前端(5)后端(6)遍(1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。

(2)源程序:源语言编写的程序称为源程序。

(3)目标程序:目标语言书写的程序称为目标程序。

(4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。

通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符号表管理等工作。

(5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。

(6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。

第 2 题一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。

一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。

其各部分的主要功能简述如下。

词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。

语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。

语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。

中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。

中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。

目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

表格管理程序:负责建立、填写和查找等一系列表格工作。

表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。

编译原理习题及答案(整理后)

编译原理习题及答案(整理后)

第一章之相礼和热创作1、将编译程序分成多少个“遍”是为了.a.进步程序的执行服从b.使程序的结构愈加明晰c.利用无限的机器内存并进步机器的执行服从d.利用无限的机器内存但降低了机器的执行服从2、构造编译程序应掌握.a.源程序b.目口号言c.编译方法d.以上三项都是3、变量该当.a.持有左值b.持有右值c.既持有左值又持有右值d.既不持有左值也不持有右值4、编译程序尽大多数工夫花在上.a.出错处理b.词法分析c.目的代码生成d.管理表格5、不成能是目的代码.a.汇编指令代码b.可重定位指令代码c.尽对指令代码d.两头代码6、运用可以定义一个程序的意义.a.语义规则b.语法规则c.发生规则d.词法规则7、词法分析器的输入是.a.单词符号串b.源程序c.语法单位d.目的程序8、两头代码生成时所遵照的是-.a.语法规则b.词法规则c.语义规则d.等价变换规则9、编译程序是对.a.汇编程序的翻译b.高级言语程序的解释执行c.机器言语的执行d.高级言语的翻译10、语法分析应遵照.a.语义规则b.语法规则c.构词规则d.等价变换规则二、多项选择题1、编译程序各阶段的工作都触及到.a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析2、编译程序工作时,通常有阶段.a.词法分析b.语法分析c.两头代码生成d.语义检查e.目的代码生成三、填空题1、解释程序和编译程序的区别在于.2、编译过程通常可分为5个阶段,分别是、语法分析、代码优化和目的代码生成.3、编译程序工作过程中,第一段输入是,末了阶段的输入为程序.4、编译程序是指将程序翻译成程序的程序.单选解答1、将编译程序分成多少个“遍”是为了使编译程序的结构愈加明晰,故选b.2、构造编译程序应掌握源程序、目口号言及编译方法等三方面的学问,故选d.3、对编译而言,变量既持有左值又持有右值,故选c.4、编译程序打交道最多的就是各种表格,因此选d.5、目的代码包含汇编指令代码、可重定位指令代码和尽对指令代码3种,因此不是目的代码的只能选d.6、词法分析遵照的是构词规则,语法分析遵照的是语法规则,两头代码生成遵照的是语义规则,而且语义规则可以定义一个程序的意义.因此选a.7、b 8、c 9、d 10、c多选解答1.b、c 2. a、b、c、e填空解答能否生成目的程序 2、词法分析两头代码生成 3、源程序目的代码生成4、源程序目口号言第二章一、单项选择题1、文法G:S→xSx|y所识此外言语是.n yx n(n≥0) d.x*yx*2、文法G描绘的言语L(G)是指.a. L(G)={α|S+⇒α, α∈V T*}b. L(G)={α|S*⇒α, α∈V T*}c. L(G)={α|S*⇒α,α∈(V T∪V N*)}d. L(G)={α|S+⇒α,α∈(V T∪V N*)}3、无限形态自动机能辨认.a. 上下文有关文法b. 上下文有关文法c.正轨文法d. 短语文法4、设G为算符优先文法,G的恣意闭幕符对a、b有以下关系成立.a. 若f(a)>g(b),则a>bb.若f(a)<g(b),则a<bc. a~b都纷歧定成立d.a~b一定成立5、假如文法G是无二义的,则它的任何句子α.a. 最左推导和最右推导对应的语法树一定相反b. 最左推导和最右推导对应的语法树可能分歧c. 最左推导和最右推导一定相反d. 可能存在两个分歧的最左推导,但它们对应的语法树相反6、由文法的开始符经0步或多步推导发生的文法符号序列是.a. 短语b.句柄c. 句型d. 句子7、文法G:E→E+T|TT→T*P|PP→(E)|I则句型P+T+i的句柄和最左素短语为.a.P+T和i和P+T 和P+T+id.P和T8、设文法为:S→SA|AA→a|b则对句子aba,下面是规范推导.ÞSAÞSAAÞAAAÞaAAÞabAÞabab. SÞSAÞSAAÞAAAÞAAaÞAbaÞabac. SÞSAÞSAAÞSAaÞSbaÞAbaÞabad. SÞSAÞSaÞSAaÞSbaÞAbaÞaba9、文法G:S→b|∧(T)T→T,S|S则FIRSTVT(T).a. {b,∧,(}b. {b,∧,)}c.{b,∧,(,,}d.{b,∧,),,}10、发生正轨言语的文法为.型 b. 1型 c. 2型 d. 3型11、采取自上而下分析,必须.a. 消弭左递回b. 消弭右递回c. 消弭回溯d. 提取公共左因子12、在规范回约中,用来刻画可回约串.a. 直接短语b. 句柄c. 最左素短语d. 素短语13、有文法G:E→E*T|TT→T+i|i句子1+2*8+6按该文法G回约,其值为.a. 23 B. 42 c. 30 d. 1714、规范回约指.a. 最左推导的逆过程b. 最右推导的逆过程c. 规范推导d.最左回约的逆过程二、多项选择题1、下面哪些说法是错误的.a. 有向图是一个形态转换图b. 形态转换图是一个有向图c.有向图是一个DFAd.DFA可以用形态转换图暗示2、对无二义性文法来说,一棵语法树每每代表了.a. 多种推导过程b. 多种最左推导过程c.一种最左推导过程d.仅一种推导过程e.一种最左推导过程3、假如文法G存在一个句子,满足下列条件之一时,则称该文法是二义文法.a. 该句子的最左推导与最右推导相反b. 该句子有两个分歧的最左推导c. 该句子有两棵分歧的最右推导d. 该句子有两棵分歧的语法树e.该句子的语法树只要一个4、有一文法G:S→ABA→aAb|εB→cBd|ε它不发生下面集合.a. {a n b m c n d m|n,m≥0}b. {a n b n c m d m|n,m>0}c. {a n b m c m d n|n,m≥0}d. {a n b n c m d m|n,m≥0}e. {a n b n c n d n|n≥0}5、自下而上的语法分析中,应从开始分析.a. 句型b. 句子c. 以单词为单位的程序d. 文法的开始符e. 句柄6、对正轨文法描绘的言语,以下有才能描绘它.a.0型文法b.1型文法c.上下文有关文法d.右线性文法e.左线性文法三、填空题1、文法中的闭幕符和非闭幕符的交集是.词法分析器交给语法分析器的文法符号一定是,它一定只出如今发生式的部.2、最左推导是指每次都对句型中的非闭幕符进行扩展.3、在语法分析中,最稀有的两种方法一定是分析法,另一是分析法.4、采取语法分析时,必须消弭文法的左递回.5、树代表推导过程,树代表回约过程.6、自下而上分析法采取、回约、错误处理、等四种操纵.7、Chomsky把文法分为品种型,编译器构造中采取和文法,它们分别发生和言语,并分别用和自动机辨认所发生的言语.四、判别题1、文法 S→aS|bR|ε描绘的言语是(a|bc)* ( )R→c S2、在自下而上的语法分析中,语法树与分析树一定相反.()3、二义文法不是上下文有关文法. ()4、语法分析时必须先消弭文法中的左递回.()5、规范回约和规范推导是互逆的两个过程.()6、一个文法全部句型的集合构成该文法所能接受的言语.()五、简答题1、句柄2、素短语3、语法树4、回约5、推导六、问答题1、给出上下文有关文法的定义.2、文法G[S]:S→aSPQ|abQQP→PQbP→bbbQ→bccQ→cc(1)它是Chomsky哪一型文法?(2)它生成的言语是什么?3、按指定类型,给出言语的文法.L={a i b j|j>i≥1}的上下文有关文法.4、有文法G:S→aAcB|BdA→AaB|cB →bScA|b(1)试求句型aAaBcbbdcc 和aAcbBdcc 的句柄; (2)写出句子acabcbbdcc 的最左推导过程.5、对于文法G[S]:S →(L )|aS|aL →L, S|S(1)画出句型(S,(a ))的语法树.(2)写出上述句型的全部短语、直接短语、句柄和素短语. 6、考虑文法G[T]:T →T*F|F F →F ↑P|P P →(T )|i证明T*P ↑(T*F )是该文法的一个句型,并指出直接短语和句柄. 单选[解答] 1、选c.2、选a.3、选c.4、虽然a 与b 没有优先关系,但构造优先函数后,a 与b 就一定存在优先关系了.以是,由f(a)>g)(b)或f(a)<g(b)其实不克不及断定原来的a 与b 之间能否存在优先关系:故选c.5、假如文法G 无二义性,则最左推导是老师长左边的枝叶:对于d6、选c.7、由图2-8-18、规范推导是最左推导,故选d.9、由T →T,…和T →(… 得 由T →S 得FIRSTVT(S)⊂∧,(};即FIRSTVT(T)={b,∧,(,,}; 10、d 11、c 12、b 13、b 14、b多选解答 1、e 、a 、c 2、a 、c 、e 3、、a 、b 、c 、d 、e填空解答 1、空集 闭幕符 右 2、最左3、自上而上 自下而上4、自上而上5、语法 分析6、移进 接受7、4 2 型 3型 上下文有关言语 正轨言语 下推自动机 无限 判别解答 1、对 2、错 3、错 4、错 5、错 6、错 简答[解答]1、句柄:一个句型的最左直接短语称为该句型的句柄.2、素短语:至多含有一个闭幕符的素短语,而且除它本身之外不再含任何更小的素短语.3、语法树:满足下面4个条件的树称之为文法G[S]的一棵语法树. ①每一闭幕均有一标识表记标帜,此标识表记标帜为V N ∪V T 中的一个符号;②树的根结点以文法G[S]的开始符S 标识表记标帜;③若一结点至多有一个直接后继,则此结点上的标识表记标帜为V N 中的一个符号;④若一个以A 为标识表记标帜的结点有K 个直接后继,且按从左至右的顺序,这些结点的标识表记标帜分别为X 1,X 2,…,X K ,则A→X 1,X 2,…,X K ,必定是G 的一个发生式.4、回约:我们称αγβ直接回约出αAβ,仅当A→γ是一个发生式,且α、β∈(V N∪V T)*.回约过程就是从输入串开始,反复用发生式右部的符号更换成发生式左部符号,直至文法开始符.5、推导:我们称αAβ直接推出αγβ,即αAβÞαγβ,仅当A→γ是一个发生式,且α、β∈(V N∪V T)*.假如α1Þα2Þ…Þαn,则我们称这个序列是从α1至α2的一个推导.若存在一个从α1αn的推导,则称α1可推导出αn.推导是回约的逆过程.问答1[解答]一个上下文有关文法G是一个四元式(V T,V N,S, P),其中:●V T是一个非空无限集,它的每个元素称为闭幕符号;●V N是一个非空无限集,它的每个元素称为非闭幕符号,V T∩V N=Φ;●S是一个非闭幕符号,称为开始符号;●P是一个发生式集合(无限),每个发生式的方式是P→α,其中,P∈V N,α∈(V T∪V N)*.开始符号S至多必须在某个发生式的左部出现一次.2[解答](1)由于发生式左部存在闭幕符号,且全部发生式左部符号的长度均小于等于发生式右部的符号长度,以是文法G[S]是Chomsky1型文法,即上下文有关文法.(2)按发生式出现的顺序规定优先级由高到低(否则无法推出句子),我们可以得到:SÞabQÞabcSÞaSPQÞaabQPQÞaabPQQÞaabbQQÞaabbcQÞaabbccSÞaSPQÞaaSPQPQÞaaabQPQPQÞaaabPQQPQÞaaabPQPQQÞaaaPP QQQÞaaabbPqqqÞaaabbQQQÞaaabbbcQQÞaaabbbccQÞaaabbbccc……于是得到文法G[S]生成的言语L={a n b n c n|n≥1}3【解答】(1)由L={a i b j|j>i≥1}知,所求该言语对应的上下文有关文法首先应有S→aSb型发生式,以包管b的个数很多于a的个数;其次,还需有S→Sb或S→bS型的发生式,用以包管b的个数多于a的个数;也即所求上下文有关文法G[S]为:G[S]:S→aSb|Sb|b4【解答】(1)分别画出对应两句型的语法树,如图2-8-2所示句柄:AaB BdÞ5((6【解答】 首先构造T*P ↑(T*F 由图2-8-4可知,T*P ↑(T*F 直接短语有两个,即P 和T*F 第三章 一、单项选择题1、词法分析所根据的是. a. 语义规则 b. d. 等价变换规则2、词法分析器的输入结果是.a. 单词的种别编码b. 单词在符号表中的地位c. 单词的种别编码和本身值d. 单词本身值3、正轨式M 1和M 2等价是指.a. M 1和M 2的形态数相称b. M 1和M 2的有向弧条数相称c. M 1和M 2所识此外言语集相称d. M 1和M 2形态数和有向弧条数相称4、形态转换图(见图3-6-1)接受的字集为.a. 以 0b. 以0结尾的二进制数组成的集合 c. d. 含偶数个0的二进制数组成的集合 5白,因此,. a. 词法分析器作为子程序较好c. 词法分析器分解为多个过程,由语法分析器选择运用d. 词法分析器其实不作为一个独立的阶段 二、多项选择题1、在词法分析中,能辨认出. a. 基本字 b. 四元式 c. 运算符 d. 逆波兰式 e. 常数2、令∑={a,b},则∑上全部以b 扫尾,后跟多少个ab 的字的全体对应的正轨式为.a.b(ab)*b. b(ab)+c.(ba)*bd. (ba)+b e. b(a|b) 三、填空题1、确定无限自动机DFA 是的一个特例.2、若二个正轨式所暗示的相反,则以为二者是等价的.3、一个字集是正轨的,当且仅当它可由所. 四、判别题1、一个无限形态自动机中,有且仅有一个独一终态. ( )2、设r 和s 分别是正轨式,则有L (r|s )=L(r)|L(s). ( )3、自动机M 和M ′的形态数分歧,则二者必不等价. ( )4、确定的自动机以及不确定的自动机都能正确地辨认正轨集. ( )5、对恣意一个右线性文法G ,都存在一个NFA M ,满足L(G)=L(M). ( )6、对恣意一个右线性文法G ,都存在一个DFA M ,满足L(G)=L(M). ( )7、对任何正轨表达式e ,都存在一个NFA M ,满足L(G)=L(e). ( )8、对任何正轨表达式e ,都存在一个DFA M ,满足L(G)=L(e). ( ) 五、基本题1、设M =({x,y}, {a,b}, f,x,{y})为一非确定的无限自动机,其中f 定义如下:图3-6-7 的NFA Mf (x,a )={x,y} f (x,b )={y} f (y,a )=φ f (y,b )={x,y}试构造相应的确定无限自动机M ′.2、对给定正轨式b*(d|ad )(b|ab )+,构造其NFA M ; 单选解答 1、b 2、c3、c4、d5、b 多选解答 1、a 、c 、e 2、a 、b 、d填空解答 1、NFA 2、正轨集 3、DFA (NFA )所辨认 判别解答 1 、2、3、错 4、5、6、7、8、正确基本1解答:对照自动机的定义M=(S,Σ,f,S 0,Z),由f 的定义可知将转换矩阵中的全部子集重新命名而构成表3-6-4所示的形态转换矩阵.表3-6-4 形态转换矩阵将图调查{1,2}.{1,2}都导向1所示化简21、 D → T 2、 S →P →3、 G[S]aAbDe|dA →BSD|eB →SAc| cD| εD→Se| ε(1)求出该文法的每一个非闭幕符U的FOLLOW集.(2)该文法是LL(1)文法吗?(3)构造C[S]的LL(1)分析表.4、将文法G[V]改形成为LL(1)的.G[V]:V→N|N[E]E→V|V+EN→i5、已知文法:G[A]:A→aAa|ε(1)该文法是LL(1)文法吗?为什么?(2)若采取LL(1)方法进行语法分析,怎样得到该文法的LL(1)分析表?(3)若输入符号串“aaaa”,请给出语法分析过程.1解答: LL(1)分析表见表4-3-1分析虽然这个文法很简单,我们还是从求开始符号集合和后继符号集合开始.FIRST(D)=FIRST(T)={int, real}FOLLOW(D)=FOLLOW (L)={#}FIRST(L)={id} FOLLOW(T)={id}FIRST(R)={,, ε} FOLLOW(R)={#}有了下面每个非闭幕符的FIRST集合,填分析表时要计算一个发生式右部α的FIRST(α)就不是件难事了.填表时独一要警惕的时,ε是发生式R→ε右部的一个开始符号,而#在FOLLOW(R)中,以是R→ε填在输入符号#的栏目中.2解答:该文法不是LL(1)文法,见下面分析中的阐明.分析只要三个非闭幕符有两个选择.1、P的两个右部d P 和ε 的开始符号一定不相交.2、Q的两个右部a Q 和ε 的开始符号一定不相交.3、对S来说,由于x ∈ FIRST(A B),同时也有x ∈ FIRST(P Q x)(由于P和Q都可能为空).以是该文法不是LL(1)文法.3解答:(1)求文法的每一个非闭幕符U的FOLLOW集的过程如下:由于:①S是辨认符号,且有A→BSD、B→SAc、D→Se,以是FOLLOW(S)应包含FIRST(D)∪FIRST(Ac)∪FIRST(e)∪{#}={a,d}∪{a,d,c,e}∪{e}∪{#}={a,c,d,e#}②又由于A→BSD和D→ε,以是FOLLOW中还包含FOLLOW(A).由于S→aAbDe和B→SAc,以是FOLLOW(A)=FIRST(bDe)∪FIRST(c)={b,c}综合①、②得FOLLOW(S)={a,d,c,e,#}∪{a,b,c,d,e,#}由于A→BSD,以是 FOLLOW(B)=FIRST(SD)={a,d}由于S→aAbDe | d、A→BSD| e和B→SAc | cD,以是FOLLOW(D)=FIRST(e)∪FOLLOW(A)∪FOLLOW (B)={e}∪{b,c}∪{a,d}={a,b,c,d,e}(2)G[S]不是LL(1)文法.由于发生式B→SAc|cD| ε中FIRST(SAc)∩FOLLOW(B)={a,d}≠Ø(3)构造G[S]的LL(1)分析表.按照LL(1)分析表的构造算法构造方法G[S]的LL(1)分析表如表4-3-2所示.4解答:对文法G[V]提取公共左因子后得到文法:G′[V]:V→NAA→ε|[E]E→VBB→ε|+EN→i求出文法G′[V]中每一个非闭幕符号的FIRST集:FIRST(V)={i} FIRST(A)={[,ε}FIRST(E)={i} FIRST(B)={+,ε}FIRST(N)={i}求出文法G′[V]中每一个非闭幕符号的FOLLOW集:FOLLOW(V)={#}∪FIRST(B)\{ε}∪FOLLOW(E)={#,+,]}FOLLOW(A)= FOLLOW(V)={+,,#}FOLLOW(E)= FIRST(])\{ε}∪FOLLOW(B)= FIRST(])\{ε}∪FOLLOW(E)={]}FOLLOW(B)= FOLLOW(E)={ ]}FOLLOW(N)= FIRST(A)\{ε}∪FOLLOW(V)={[,],+,#}可以看到,对文法G′[V]的发生式A→ε|[E],有FIRST([E])∩FOLLOW(A)={[}∩{+,],#}= Ø对发生式B→ε|+E,有FIRST(+E)∩FOLLOW(B)={+}∩{]}= Ø而文法的其他发生式都只要一个不为ε的右部,以是文法G′[V]是LL(1)文法.5解答:(1)由于发生式A→aAa|ε有空发生式右部,而FOLLOW(A)={#}∪FIRST(a)={a, #}形成 FIRST(A)∩FOLLOW(A)={A, ε}∩{a, #}≠Ø以是该文法不是LL(1)文法.(2)若采取LL(1)方法进行语法分析,必须修正该文法.因该文法发生偶数(可以为0)个a,以是得到文法G′[A]: A→aaA|ε此时对发生式A→aaA|ε,有FOLLOW(A)={#}∪FOLLOW(A)={#},因此FIRST(A)∩FOLLOW(A)={a, ε}∩{#}=Ø以是文法G′[A]是LL(1)文法,按LL(1)分析表构造算法构造该文法的LL(1)分析表如表4-3-3所示.”的分析过程如表4-3-4所示.第五章1.设有文法G[S]为:S→a|b|(A)A→SdA|S(1)完成下列算符优先关系表,见表5-7-1,并判别G[S]能否为算符优先文法.表5-7-1 算符优先关系表(2素短语.(3)给出输入串(adb)#的分析过程.解答:(1)先求文法G[S]的FIRSTVT集和LASTVT集:由S→a|b|(A)得:FIRSTVT(S)={a,b,( );由A→Sd…得:FIRSTVT(A)={d};又由A→S…得:FIRSTVT(S)⊂FIRSTVT(A),即FIRSTVT(A)={d,a,b,(};由S→a|b|(A)得;LASTVT(S)={a,b,}};由A→…dA得:LASTVT(A)={d},又由A→S得:LASTVT(S)⊂LASTVT(A),即LASTVT(A)={d,a,b,)}.构造优先关系表方法如下:①对P→…ab…,或P→…aQb…,有a≖b;②对P→…aR…,而b∈FIRSTVT(R),有a⋖b;③对P→…Rb…,而a∈FIRSTVT(R),有a⋗b.由此得到:①由S→(A)得:(≖);②由S→(A…得:(⋖FIRSTVT(A),即:(⋖d,(⋖a ,(⋖b,(⋖(;由A→…dA得:d⋖FIRSTVT(A),即:d⋖d,d⋖a,d⋖b,d⋖(;③由S→A)得,LASTVT(A)⋗),即:d⋗),a⋗),b⋗),)⋗);由A→Sd…得:LASTVT(S)⋗d,即:a⋗d,b⋗d,)⋗d;此外,由#S#得:#≖#;由#⋖FIRSTVT(S)得:#⋖a,#⋖b,#⋖(;脂由LASTVT(S)⋗#得:d⋗#,a⋗#,b⋗#,)⋗#.末了得到算符优先关系表,见表5-7-2.表5-7-2 算符优先关系表由表5-7-2≖、⋖、⋗三种优先关系之一,故G[S]为算符优先文法.(2)为求出句型(SdSdS)的短语、简单短语、句柄,我们先画出该句型对应的语法树,如图5-7-3所示.短语:S,SdS,SdSdS,(SdSdS)简单短语(即直接短语):S句柄(即最左直接短语):S素短语:SdS,它同时也是该句型的最左素短语.(3)输入串(adb)#的分析过程见表5-7-4表5-7-4 输入串(adb)#的分析过程第六章一、单项选择题1、若a为闭幕符,则A→α·aβ为项目a.回约b.移进c.接受d.待约2、若项目集I k含有A→α·,则在形态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采纳“A→α·”动作的一定是.LR文法b.LR(0)文法c.LR(1)文法d.SLR(1)文法3、就文法的描绘才能来说,有.a. SLR(1)⊂LR(0)b. LR(1)⊂LR(0)c. SLR(1)⊂LR (1)d.无二义文法⊂LR(1)4、在LR(0)的ACTION子表中,假如某一行中存在标识表记标帜“r j”的栏,则.a.该行一定填满r jb.该行未填满r jc.其他行也有r j子表中也有r j5、一个指明了在分析过程中的某时候所能看到发生式多大一部分.a.活前缀b.前缀c.项目d.项目集二、多项选择题1、一个LR分析器包含.a.一个总控程序b.一个项目集c.一个活前缀d.一张分析表e.一个分析栈2、LR分析器核心部分是一张分析表,该表包含等子表.a.LL(1)分析b.优先关系c.GOTOd.LRe.ACTION3、每一项ACTION[S,a]所规定的动作包含.a.移进b.比较c.接受d.回约e.报错4、对LR分析表的构造,有可能存在动作冲突.a.移进b.回约c.移进/回约d.移进/移进e.回约/回约5、就文法的描绘才能来说,有.a. SLR(1)⊂LR(1)b. LR(1)⊂SLR(1)c. LR(0)⊂LR(1)d. LR(1)⊂无二义文法e. SLR(1)⊂无二义文法6、对LR分析器来说,存在等分析表的构造方法.LRb.LR(0)c.SLR(1)d.SLR(0)e.LR(1)7、自上而下的语法分析方法有 .a.算符优先分析法b.LL(1)分析法c.SLR(1)分析法d.LR(0)分析法LR(1)分析法三、填空题1、对于一个文法,假如可以构造.使得它的均是独一确定的,则称该文法为LR文法.2、字的前缀是指该字的.3、活前缀是指的一个前缀,这种前缀不含之后的任何符号.4、在LR分析过程中,只需的已扫描部分坚持可回约成一个,则扫描过的部分正确.5、将识此外NFA确定化,使其成为以为形态的DFA,这个DFA 就是建立的根底.6、A→α·称为项目;对文法开始符S′→α·为项目;若a为闭幕符,则称A→α·aβ为项目;若B为非闭幕符,则称A→α·aβ为项目.7、LR(0)分析法的名字中“L”暗示,“R”暗示,“0”暗示.四、综合题1、对于文法G[S]: S→AS|bA→SA|a(1)列出全部LR(0)项目(2)列出构成文法LR(0)项目集规范族.单项解答:1、A→α·称为回约项目,对文法开始符S′的回约项目,如S′→α·称为接受项目,A→α·aβ(a为闭幕符)称为移进项目.在此选b.2、当用发生式A→α回约时,LR(0)无论面临什么输入符号都进行回约;SLR(1)则仅当面临的输入符号a∈FOLLOW(A)时进行回约;LR(1)则当在把α回约为A的规范句型的前缀βAa前提下,当α后跟闭幕符a时,才进行回约;因此选d.3、由于LR(0)⊂SLR(1)⊂ LR(1)⊂无二义文法,故选c.4、选a.5、选c.多选解答:1、一个LR分析器包含一个总控程序和一张分析表,选a、d.2、选c、e.3、选a、c、d、e.4、在LR分析表的构造中有可能存在“移进”/“回约”和“回约”/“回约”冲突;故选c、e.5、选a、b、c、d、e.6、选a、b、c、e.7、选a、c、d、e.填空解答:1、一张分析表每个入口2、恣意首部3、规范句型句柄4、输入串活前缀5、活前缀项目集合 LR分析算法6、回约接受移进待约7、自左至右分析采取最右推导的逆过程即最左回约向右检查0个字符综合解答:首先将文法G拓广为G[S′]:S′→SS→AS|bA→SA|a(1)文法G[S′]的LR(0)项目是:。

编译原理习题答案

编译原理习题答案

对应的if与else等。它们的存在必定因下列规则的必定存在:
E::=E+T|T T::=T*F|F F::=(E)|i
以及 S::=if(E)S else S
因此,E=>* xEy x, y≠
与 S=>* uSv u, v≠ ,
即, E与S等必定是具有自嵌套特性的非终结符号。因此通常的程序设计语言
的文法必具有自嵌套特性的非终结符号,也就是说不可能是正则文法。
不能写:E =>T=>F =>(E) => (i )
可以写: E => T => F => (E) => + (i)
E =>E-T =>T-T =>T*F-T =>F*F-T
=>i*F-T=>i * i - T=>i * i - F =>i * i - i (最左推导)

E =>E-T =>E-F =>E-i =>T-i =>T*F-i
G [W]: W::=A0 A::=0{01|0}
第十六页,共六十二页。
6.试消去文法G[S]:
S::=Qc|Rd|c Q::=Rb|Se|b R::=Sa|Qf|a
解: 步骤1 首先判定是文法左递归还是规则左递归
步骤2 是文法左递归,按相应算法处理如下。 步 骤2.1 把非终结符号排序成
U1=S U2=Q U3=R (n=3)
=> T*i-i => F*i-i =>i*i-i
(最右推导)
第四页,共六十二页。
E => T => T/F => F/F => (E)/F => (E+T)/F

东北师范大学编译原理18秋在线作业1-3答案

东北师范大学编译原理18秋在线作业1-3答案

东北师范大学编译原理18秋在线作业1-3
作业试题参考答案
一、单选题共20题,60分
1、算符优先文法的特点是文法的产生式中不含什么()。

A不含右递归
B不含两个相邻的终结符
C不含ε-产生式
D不含左递归
这道题选择:C
2、通常把每个非终结符号的右部符号串称为该非终结符号的什么()。

A推导项
B选择式
C规则项
D候选式
这道题选择:D
3、文法G:S→xSx|y所识别的语言是()。

Axy*x
B(xyx)*
Cxx*yxx*
Dx*yx*
这道题选择:D
4、文法G的一棵语法树叶结点的自左至右排列是G的一个什么()。

A短语
B句型
C句柄
D素短语
这道题选择:B
5、在语法分析处理中,FIRST集合、FOLLOW集合均是什么样的集合()。

A非终极符集
B终极符集
C字母表
D状态集
这道题选择:B
6、若状态k含有项目“A→α?”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A→α”归约的语法分析方法是指哪一类方法()。

A算符优先分析法
BLR(0)分析法
CLR(1)分析法
DSLR(1)分析法
这道题选择:D
7、编译程序中语法分析器接收以什么为单位的输入()。

A单词
B表达式
C产生式。

编译原理课后习题答案

编译原理课后习题答案

编译原理课后习题答案第三章N=>D=> {0,1,2,3,4,5,6,7,8,9}N=>ND=>NDDL={a |a(0|1|3..|9)n且 n>=1}(0|1|3..|9)n且 n>=1{ab,}a nb n n>=1第6题.(1) <表达式> => <项> => <因子> => i(2) <表达式> => <项> => <因子> => (<表达式>) => (<项>)=> (<因子>)=>(i)(3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i(4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项>=> <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>)=> i+(<因子>+<因子>)=> i+(i+i)(6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i第7题第9题语法树ss s* s s+aa a推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F语法树:E*短语: T*F E+T*F直接短语: T*F句柄: T*F12.短语:直接短语:句柄:13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S ABSS Aa S ε A aB b(3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa,直接短语: a1 , b1 , b2, a2 , , 句柄:a114 (1)S ABA aAb | εB aBb | ε (2)S 1S0 S AA 0A1 |ε第四章1. 1. 构造下列正规式相应的DFA (1) 1(0|1)*101NFA123114(2) 1(1010*|1(010)*1)*0 NFA(3)NFA(4)NFA2.解:构造DFA 矩阵表示b其中0 表示初态,*表示终态用0,1,2,3,4,5分别代替{X} {Z} {X,Z} {Y} {X,Y} {X,Y,Z}得DFA状态图为:3.解:构造DFA矩阵表示构造DFA的矩阵表示其中表示初态,*表示终态替换后的矩阵4.(1)解构造状态转换矩阵:{2,3} {0,1}{2,3}a={0,3} {2},{3},{0,1}{0,1}a={1,1} {0,1}b={2,2}(2)解:首先把M 的状态分为两组:终态组{0},和非终态组{1,2,3,4,5} 此时G=( {0},{1,2,3,4,5} ) {1,2,3,4,5}a ={1,3,0,5} {1,2,3,4,5}b ={4,3,2,5}由于{4}a ={0} {1,2,3,5}a ={1,3,5}因此应将{1,2,3,4,5}划分为{4},{1,2,3,5} G=({0}{4}{1,2,3,5}) {1,2,3,5}a ={1,3,5} {1,2,3,5}b ={4,3,2}因为{1,5}b ={4} {23}b ={2,3}所以应将{1,2,3,5}划分为{1,5}{2,3} G=({0}{1,5}{2,3}{4}){1,5}a ={1,5} {1,5}b ={4} 所以{1,5} 不用再划分{2,3}a ={1,3} {2,3}b ={3,2}因为 {2}a ={1} {3}a ={3} 所以{2,3}应划分为{2}{3} 所以化简后为G =( {0},{2},{3},{4},{1,5})7.去除多余产生式后,构造NFA 如下确定化,构造DFA 矩阵G={(0,1,3,4,6),(2,5)} {0,1,3,4,6}a={1,3}{0,1,3,4,6}b={2,3,4,5,6}所以将{0,1,3,4,6}划分为 {0,4,6}{1,3} G={(0,4,6),(1,3),(2,5)}{0,4,6}b={3,6,4} 所以划分为{0},{4,6} G={(0),(4,6),(1,3),(2,5)}不能再划分,分别用0,4,1,2代表各状态,构造DFA 状态转换图如下;b8.代入得S = 0(1S|1)| 1(0S|0) = 01(S|ε) | 10(S|ε) = (01|10)(S|ε) = (01|10)S | (01|10)= (01|10)*(01|10)构造NFA由NFA可得正规式为(01|10)*(01|10)=(01|10)+9.状态转换函数不是全函数,增加死状态8,G={(1,2,3,4,5,8),(6,7)}(1,2,3,4,5,8)a=(3,4,8) (3,4)应分出(1,2,3,4,5,8)b=(2,6,7,8)(1,2,3,4,5,8)c=(3,8)(1,2,3,4,5,8)d=(3,8)所以应将(1,2,3,4,5,8)分为(1,2,5,8), (3,4)G={(1,2,5,8),(3,4),(6,7)}(1,2,5,8)a=(3,4,8) 8应分出(1,2,5,8)b=(2,8)(1,2,5,8)c=(8)(1,2,5,8)d=(8)G={(1,2,5),(8),(3,4),(6,7)}(1,2,5)a=(3,4,8) 5应分出G={(1,2), (3,4),5, (6,7) ,(8) }去掉死状态8,最终结果为 (1,2) (3,4) 5,(6,7) 以1,3,5,6代替,最简DFA为b正规式:b*a(da|c)*bb*第五章1.S->a | ^ |( T )T -> T , S | S(a,(a,a))S => ( T ) => ( T , S ) => ( S , S ) => ( a , S) => ( a, ( T )) =>(a , ( T , S ) ) => (a , ( S , S )) => (a , ( a , a ) )S=>(T) => (T,S) => (S,S) => ( ( T ) , S ) => ( ( T , S ) , S ) => ( ( T , S , S ) , S ) => ( ( S , S , S ) , S )=> ( ( ( T ) , S , S ) , S ) => ( ( ( T , S ) , S , S ) , S ) =>( ( ( S , S ) ,S , S ) , S ) => ( ( ( a , S ) , S , S ) , S )=> ( ( ( a , a ) , S , S ) , S ) => ( ( ( a , a ) , ^ , S ) , S ) => ( ( ( a , a ) , ^ , ( T ) ) , S )=> ( ( ( a , a ) , ^ , ( S ) ) , S ) => ( ( ( a , a ) , ^ , ( a ) ) , S ) => ( ( ( a , a ) , ^ , ( a ) ) , a )S->a | ^ |( T )T -> T , ST -> S消除直接左递归:S->a | ^ |( T )T -> S T’T’ -> , S T’ | ξSELECT ( S->a) = {a}SELECT ( S->^) = {^}SELECT ( S->( T ) ) = { ( }SELECT ( T -> S T’) = { a , ^ , ( }SELECT ( T’ -> , S T’ ) = { , }SELECT ( T’ ->ξ) = FOLLOW ( T’ ) = FOLLOW ( T ) = { ) } 构造预测分析表分析符号串( a , a )#分析栈剩余输入串所用产生式#S ( a , a) # S -> ( T )# ) T ( ( a , a) # ( 匹配# ) T a , a ) # T -> S T’# ) T’ S a , a ) # S -> a# ) T’ a a , a ) # a 匹配# ) T’,a) # T’ -> , S T’# ) T’ S , , a ) # , 匹配# ) T’ S a ) # S->a# ) T’ a a ) # a匹配# ) T’) # T’ ->ξ# ) ) # )匹配# # 接受2.E->TE’ E’->+E E’->ξ T->FT’ T’->T T’->ξ F->PF’ F’->*F’ F’->ξP->(E) P->a P->b P->∧SELECT(E’->+E)={+}SELECT(E’->ε)=FOLLOW(E’)= {#,)}SELECT(T->FT’)=FIRST(F)= {(,a,b,^}SELECT(T’ —>T)=FIRST(T)= {(,a,b,^)SELECT(T’->ε)=FOLLOW(T’)= {+,#,)}SELECT(F ->P F’)=FIRST(F)= {(,a,b,^}SELECT(F’->*F’)={*}SELECT(F’->ε)=FOLLOW(F’)= {(,a,b,^,+,#,)}3. S->MH S->a H->Lso H->ξ K->dML K->ξ L->eHf M->K M->bLMFIRST ( S ) =FIRST(MH)= FIRST ( M ) ∪ FIRST ( H ) ∪ {ξ} ∪ {a}= {a, d , b , e ,ξ}FIRST( H ) = FIRST ( L ) ∪ {ξ}= { e , ξ}FIRST( K ) = { d , ξ}FIRST( M ) = FIRST ( K ) ∪ { b } = { d , b ,ξ}FOLLOW ( S ) = { # , o }FOLLOW ( H ) = FOLLOW ( S ) ∪ { f } = { f , # , o }FOLLOW ( K ) = FOLLOW ( M ) = { e , # , o }FOLLOW ( L ) ={ FIRST ( S ) –{ξ} } ∪{o} ∪ FOLLOW ( K )∪ { FIRST ( M ) –{ξ} } ∪ FOLLOW ( M )= {a, d , b , e , # , o }FOLLOW ( M ) ={ FIRST ( H ) –{ξ} } ∪ FOLLOW ( S )∪{ FIRST ( L ) –{ξ} } = { e , # , o }SELECT ( S-> M H) = ( FIRST ( M H) –{ξ} ) ∪ FOLLOW ( S )= ( FIRST( M ) ∪ FIRST ( H ) –{ξ} ) ∪ FOLLOW ( S )= { d , b , e , # , o }SELECT ( S-> a ) = { a }SELECT ( H->L S o ) = FIRST(L S o) = { e }SELECT ( H ->ξ ) = FOLLOW ( H ) = { f , # , o }SELECT ( K-> d M L ) = { d }SELECT ( K->ξ ) = FOLLOW ( K ) = { e , # , o }SELECT ( L-> e H f ) = { e }SELECT ( M->K ) = ( FIRST( K ) –{ξ} ) ∪ FOLLOW ( M ) = {d,e , # , o }SELECT ( M -> b L M )= { b }构造LL( 1 ) 分析表4 . 文法含有左公因式,变为S->C $ { b, a }C-> b A { b }C-> a B { a }A -> b A A { b }A-> a A’ { a }A’-> ξ { $ , a, b }A’-> C { a , b }B->a B B { a }B -> b B’ { b }B’->ξ { $ , a , b }B’-> C { a, b }5. <程序> --- S <语句表>――A <语句>――B <无条件语句>――C <条件语句>――D <如果语句>――E<如果子句> --FS->begin A end S->begin A end { begin }A-> B A-> B A’ { a , if }A-> A ; B A’-> ; B A’ { ; }A’->ξ { end }B-> C B-> C { a }B-> D B-> D { if }C-> a C-> a { a }D-> E D-> E D’ { if }D-> E else B D’-> else B { else }D’->ξ {; , end }E-> FC E-> FC { if }F-> if b then F-> if b then { if }非终结符是否为空S-否 A-否A’-是 B-否 C-否 D-否D’-是 E-否 F-否FIRST(S) = { begin }FIRST(A) = FIRST(B) ∪ FIRST(A’) ∪ {ξ} = {a , if , ; , ξ}FIRST(A’) ={ ; , ξ}FIRST(B) = FIRST(C) ∪ FIRST(D) ={ a , if }FIRST(C) = {a}FIRST(D) = FIRST(E)= { if }FIRSR(D’) = {else , ξ}FIRST(E) = FIRST(F) = { if }FIRST(F) = { if }FOLLOW(S) = {# }FOLLOW(A) = {end}FOLLOW(A’) = { end }FOLLOW(B) = {; , end }FOLLOW (C) = {; , end , else }FOLLOW(D) = {; , end }FOLLOW( D’ ) = { ; , end }FOLLOW(E) = { else , ; end }FOLLOW(F) = { a }S A A’ B C D D’ E F if then else begin end a b ;6. 1.(1) S -> A | B(2) A -> aA|a(3)B -> bB |b提取(2),(3)左公因子(1) S -> A | B(2) A -> aA’(3) A’-> A|ξ(4) B -> bB’2.(1) S->AB(2) A->Ba|ξ(3) B->Db|D(4) D-> d|ξ提取(3)左公因子(1) S->AB(2) A->Ba|ξ(3) B->DB’(4) B’->b|ξ(5) D-> d|ξ3.(1) S->aAaB | bAbB(2) A-> S| db(3) B->bB|a4(1)S->i|(E)(2)E->E+S|E-S|S提取(2)左公因子(1)S->i|(E)(2)E->SE’(3)E’->+SE’|-SE’ |ξ5(1)S->SaA | bB(2)A->aB|c(3)B->Bb|d消除(1)(3)直接左递归(1)S->bBS’(2)S’->aAS’|ξ(4) B -> dB’(5)B’->bB’|ξ6.(1) M->MaH | H(2) H->b(M) | (M) |b消除(1)直接左递归,提取(2)左公因子(1)M-> HM’(2)M’-> aHM’ |ξ(3)H->bH’ | ( M )(4)H’->(M) |ξ7. (1)1)A->baB2)A->ξ3)B->Abb4)B->a将1)、2)式代入3)式1)A->baB2)A->ξ3)B->baBbb4)B->bb5)B->a提取3)、4)式左公因子1)A->baB2)A->ξ3)B->bB’4)B’->aBbb | b5)B->a(3)1)S->Aa3)A->SB4)B->ab将3)式代入1)式1)S->SBa2)S->b3)A->SB4)B->ab消除1)式直接左递归1)S->bS’2)S’->BaS’ |ξ3)S->b4)A->SB5)B->ab删除多余产生式4)1)S->bS’2)S’->BaS’ |ξ3)S->b4)B->ab(5)1)S->Ab2)S->Ba3)A->aA4)A->a5)B->a提取3) 4)左公因子1)S->Ab2)S->Ba3)A->aA’4)A’-> A |ξ将3)代入1) 5)代入21)S->aA’b2)S->aa3)A->aA’4)A’-> A |ξ5)B->a提取1) 2)左公因子1)S-> aS’2)S’->A’b | a3)A->aA’4)A’-> A |ξ5)B->a删除多余产生式5)1)S-> aS’2)S’->A’b | a3)A->aA’4)A’-> A |ξA A’ S’ S将3)代入4)1)S-> aS’2)S’->A’b | a3)A->aA ’4)A’-> aA’ |ξ将4)代入2)1)S-> aS’2)S’->aA’b3)S’->a4)S’->b5)A->aA ’6)A’-> aA’ |ξ对2)3)提取左公因子1)S->aS’2)S’->aS’’3)S’’->A’b|ξ4)S’->b5)A->aA ’6)A’-> aA’ |ξ删除多余产生式5)1)S->aS’2)S’->aS’’3)S’’->A’b|ξ4)S’->b5)A’-> aA’ |ξ第六章1S a | ∧ | ( T )T T , S | S解:(1) 增加辅助产生式S’#S#求 FIRSTVT集FIRSTVT(S’)= {#}FIRSTVT(S)={a ∧ ( }={ a ∧ ( } FIRSTVT (T) ={,} ∪ FIRSTVT( S ) = { , a ∧ ( }求 LASTVT集LASTVT(S’)= { # }LASTVT(S)={ a ∧ )}LASTVT (T) ={ , a ∧ )}(2)算符优先关系表a∧(),# a·>·>·>∧·>·>·> (<·<·<·=·<·)·>·>·>,<·<·<··>·>#<·<·<·=·因为任意两终结符之间至多只有一种优先关系成立,所以是算符优先文法(3)a ∧( ) , #F 1 1 1 1 1 1g 1 1 1 1 1 1f 2 2 1 3 2 1g 2 2 2 1 2 1f 3 3 1 3 3 1g 4 4 4 1 2 1f 3 3 1 3 3 1g 4 4 4 1 2 1(4)栈优先关系当前符号剩余输入串移进或规约#<· ( a,a)# 移进#( <· a ,a)# 移进# (a ·> , a)# 规约#(T <· , a)# 移进#(T,<· a )# 移进#(T,a ·> ) # 规约#(T,T ·> ) # 规约#(T =· ) # 移进#(T) ·> #规约#T =·#接受4.扩展后的文法S’#S# S S;G S G G G(T) G H H a H(S)T T+S T S(1)FIRSTVT(S)={;}∪FIRST VT(G) = {; , a , ( }FIRSTVT(G)={ ( }∪FIRSTVT(H) = {a , ( }FIRSTCT(H)={a , ( }FIRSTVT(T) = {+} ∪FIRSTVT(S) = {+ , ; , a , ( }LASTVT(S) = {;} ∪LASTVT(G) = { ; , a , )}LASTVT(G) = { )} ∪ LASTVT(H) = { a , )}LASTVT(H) = {a, )}LASTVT(T) = {+ } ∪LASTVT(S) = {+ , ; , a , ) };()a+#;·><··><··>·> (<·<·=·<·<·)·>·>·>·>·> a·>·>·>·>·> +<·<··><··>#<·<·<·=·因为任意两终结符之间至多只有一种优先关系成立,所以是算符优先文法(2)句型a(T+S);H;(S)的短语有:a(T+S);H;(S) a(T+S);H a(T+S) a T+S (S) H直接短语有: a T+S H (S)句柄: a素短语:a T+S (S)最左素短语:a(3)分析a;(a+a)(4)不能用最右推导推导出上面的两个句子。

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案2

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案2

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.一个文法所描述的语言是什么样的?()A.唯一的B.不唯一的C.可能唯一D.可能不唯一2.算符优先文法是在什么之间定义优先关系?()A.终结符号B.非终结符号C.所有符号D.部分符号3.假设某程序语言的文法如下:S→a|b|(T),T→TdS|S,考察该文法的句型(Sd(T)db),其中:素短语是哪个?()A.SB.bC.(T)D.Sd(T)4.有下列文法:S→Pa|Pb|c,P→Pd|Se|f,该文法是哪一类文法?()A.LL(1)文法B.SLR(1)文法C.A和BD.都不是5.在一个控制结点树中,一个结点n的全部子孙就组成了这个结点的必经结点集D(n)。

()A.错误B.正确6.已知文法G[S]:S→A0|Bl,A→S1|1,B→S0|0; 该文法属于乔姆斯基定义的哪类文法?()A.0型B.1型C.2型D.3型7.∑={0,1}上的正规式(0|1)*表示什么?()A.0开头的串B.1开头的串C.有一个0和一个1的串D.由0、1组成的任意串8.自底向上分析时,若分析成功,则分析栈中只剩下什么?()A.界符#及开始符号SB.开始符号SC.界符#号D.当前的输入符号9.在流程图中的一组结点构成一个循环时,可以有若干个入口结点,但出口结点必须是惟一的。

()A.错误B.正确10.一个语言的文法是唯一的。

()A.错误B.正确11.对于规模较大的文法,采用手工的方式来计算各个FIRST集和FOLLOW集几乎是不可能的。

()A.错误B.正确12.对源程序或其内部表示从头到尾扫视一次,并进行有关的加工处理工作的叫什么?()A.扫描B.遍C.覆盖D.模块13.不属于编译程序组成部分的是什么?()A.词法分析程序B.代码生成程序C.设备管理程序D.语法分析程序14.词法分析器的输出是什么?()A.字符串B.二元式C.三元式D.四元式15.代码优化的主要目标是什么?()A.如何提高目标程序的运行速度B.如何减少目标程序运行所需的空间C.如何协调A和BD.如何使生成的目标代码尽可能简短第2卷一.综合考核(共15题)1.规范推导的每一步总是用产生式右边符号串替换句型中什么位置的非终结符号?()A.最左B.最右C.最中D.任意2.逆波兰式ab+c+d*e-所对应的表达式是什么?()A.(a+b+c)*d-eB.a+b+c*d-eC.a+(b+c)*d-eD.(a-b+c)*d+e3.对基本块进行分析的一种有效数据结构是无回路有向图DAG。

编译原理试题+答案

编译原理试题+答案

编译原理试卷三一、选择1.下面说法正确的是:A 一个正规文法也一定是二型文法B 一个二型文法也一定能有一个等价的正规文法2.文法G[A]:A→b A→AB B→Ab B→a是( ):A 二型文法B 正规文法3.下面说法正确的是( ):A lex是一个词法分析器B yacc是一个语法分析器的生成器4.一个LR(1)文法合并同心集后,如果不是LALR(1)文法必定存在( ):A 移进--归约冲突B 归约--归约冲突5.7.5 PL/0语言编译程序使用递归子程序法进行语法分析,他的文法必须满足( ):A LL(1)文法B SLR(1) 文法二、问答题问答第1题(6分)试对 repeat x:=b until b>a or (b<a and b=d) 的四元式序列给出第四区段应回填的指令地址,并指出真假出口链和链头及回填的次序。

应回填的值回填的次序真链头 E.true=(1) x:= b 真出口链( )(2) if b>a goto ( ) ( ) 真出口链( )(3) goto ( ) ( )(4) if b<a goto ( ) ( ) 假链头 E.false=(5) goto ( ) ( ) 假出口链( )(6) if b=d goto ( ) ( )(7) goto ( ) ( )(8) ...问答第2题(10分)某语言的拓广文法G′为:(0) S′→S(1) S → Db|B(2) D → d|ε(3) B → Ba|ε证明G不是LR(0)文法而是SLR(1)文法,请给出SLR(1)分析表。

问答第3题(5分)给出文法G[S]的LR(1)项目集规范族中I0项目集的全体项目。

G[S]为:S →S;V|VV →VaA|AA →b(S)| εI0:问答第4题(5分)文法G[M]及其LR分析表如下,请给出对串dada#的分析过程。

G[M]: 1) S →VdB2) V →e3) V →ε 4) B →a5) B →Bda 6) B →ε状态ACTION GOTOd e a # S B V0 r3 S3 1 21 acc2 S43 r24 r6 S5 r6 65 r4 r46 S7 r17 S88 r5 r5问答第5题(7分)(1) 给出下列PL/0示意程序中当程序执行到D过程调用A过程后(即执行A过程体时)的栈式存储分配布局和用Display显示表时A过程最新活动记录的内容。

2023年东师编译原理秋在线作业

2023年东师编译原理秋在线作业

东北师范大学东师编译原理16秋在线作业2一、单项选择题(共20 道试题,共60 分。

)1. 代码优化旳重要目旳是什么()。

A. 怎样提高目旳程序旳运行速度B. 怎样减少目旳程序运行所需旳空间C. 怎样协调A和BD. 怎样使生成旳目旳代码尽量简短。

对旳答案:2. 假设某程序语言旳文法如下:S→SaT∣T,T→TbR∣R,R→PdR∣P,P→fSg∣e,那么,此文法是哪一类文法()。

A. 正规文法B. 算符文法C. 二义性文法D. LL(1)文法对旳答案:3. 算符优先分析法每次都是对什么进行归约()。

A. 最左短语B. 简朴短语C. 最左素短浯D. 素短语对旳答案:4. 设有文法G[E]:E→E+E∣E*E∣(E)∣i,文法G[E]属于什么文法()。

A. 算符优先文法B. 简朴优先文法C. 正则文法D. 二义性文法对旳答案:5. 词法分析器旳输入是什么()。

A. 单词串B. 源程序C. 语法单位D. 目旳程序对旳答案:6. 方程X=rX+t旳解是什么()。

A. X=rt*B. X=t*rC. X=r*t对旳答案:7. 设有文法G[S]:S→Ac|b,A→cAS|bS,则文法G不满足LL(1)文法旳哪个条件()。

A. 第一种B. 第二个C. 第三个D. 所有对旳答案:8. 设有文法G[E]:E→E+T|T,T→T*F|F,F→(E)|i,考察该文法旳句型E+T*(E)+i,其中:素短语是哪个()。

A. E+TB. (E)C. iD. T*(E)对旳答案:9. 一种状态转换图中只能具有一种什么,用来指示分析旳开始()。

A. 输入字符B. 矢线C. 终态D. 初态10. 把形如[A→α?β,a]旳项目称为一种什么项目()。

A. LR(1)B. LR(0)C. SLR(1)D. LALR(1)对旳答案:11. 对于有同一接受集旳FA,与之等价且具有最小状态数旳DFA在什么意义下是惟一旳()。

A. 同构B. 等价C. 最小化D. 不可辨别对旳答案:12. 设有文法G[T]:T::=T*F|F,F::=F↑P|P,P::=(T)|a,下列符号串中是该文法句型T*P↑(T*F)旳直接短语是哪个()。

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案3

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案3

东北师范大学智慧树知到“计算机科学与技术”《编译原理》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.逆波兰表示法表示表达式时,运算对象按实际计算顺序从左到右排列。

()A.错误B.正确2.汇编程序是将什么程序改造成目标语言程序的翻译程序?()A.机器语言B.汇编语言C.高级语言D.低级语言3.有时不需要将一个布尔表达式从头算到尾,而只需计算它的一个子表达式,便能确定整个布尔表达式的真假值。

()A.错误B.正确4.源程序中的每个变量有两种重要的属性,一是在数据区给它们分配的存储单元地址,二是在目标程序运行时存放在相应单元中的值。

()A.错误B.正确5.有下列文法:S→Pa|Pb|c,P→Pd|Se|f,该文法是哪一类文法?()A.LL(1)文法B.SLR(1)文法C.A和BD.都不是6.∑={0,1}上的正规式(0|1)*表示什么?()A.0开头的串B.1开头的串C.有一个0和一个1的串D.由0、1组成的任意串7.构造句型的语法树时,要从树的根结点出发,逐步向下构造,而不能从句型出发向上构造。

()A.错误B.正确8.在一个循环中,如果属于同一族的归纳变量有多个,有时可以删去对其中的一些归纳变量的计算。

()A.错误B.正确9.自底向上分析时,若分析成功,则分析栈中只剩下什么?()A.界符#及开始符号SB.开始符号SC.界符#号D.当前的输入符号10.采用分层技术可以消除任意文法中的多重优先关系。

()A.错误B.正确11.用分层法消除多重优先关系时,由于改写文法引入一些单产生式,将增加文法的复杂性和降低语法分析的效率。

()A.错误B.正确12.状态转换图中的状态数目可以是无限的。

()A.错误B.正确13.非LL(1)语言(即不能由任何LL(1)文法产生的前后文无关语言)是存在的。

()A.错误B.正确14.一个句型中的可归前缀是什么?()A.短语B.简单短语C.句柄D.包含句柄的活前缀15.每个句子都有规范推导。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[东北师范大学]编译原理 19 秋在线作业 1
试卷总分:100 得分:100
【题目】所谓冲突,是指在一个项目集中,出现什么并存的情况()。

A、移进项目和归约项目
B、移进项目和待约项目
C、移进项目和移进项目
D、待约项目和待约项目
正确选择:A
【题目】文法Z→Bb|c,A→Aa,B→Bc 中含有什么样的非终结符号()。

A、直接左递归
B、直接右递归
C、间接左递归
D、间接右递归
正确选择:A
【题目】有下列文法:S→Pa|Pb|c,P→Pd|Se|f,该文法是哪一类文法()。

A、LL(1)文法
B、SLR(1)文法
C、A 和 B
D、都不是
正确选择:B
【题目】数组的存储通常有几种方式()。

A、1 种
B、两种
C、3 种
D、4 种
正确选择:B
【题目】下述正规表达式中与(a*|b)*(c|d)等价的是哪个()。

A、a*(c|d)|b(c|d)
B、a*(c|d)*|b(c|d)*
C、a*(c|d)|b*(c|d)
D、(a*|b)*c|(a*|b)*d
正确选择:D
【题目】在一个规范句型中,位于句柄右边的符号(如果有的话)必然是什么()。

A、非终结符号
B、终结符号
C、开始符号。

相关文档
最新文档