设有上下文无关无法G及其语法制导翻译如下(注:G中终结符id仅由单个英文字母组成,如a,b等):
E→E1*T{E.place=newtemp;emit(*,E1.place,T.place,E.place;}
|T{E.place=T.place;}
T→T1-F{T.place=newtemp;emit(-,T1.place,F.place,T.place;}
|F{T.place=F.place;}F→id{F.place=id.name;}
(1)当a=5、b=2、c=4时,写出表达式a-b*c的结果;(*表示算术乘、-表示算术减)
(2)给出文法G识别活前缀的DFA,简要说明该DFA的项目集中是否有冲突及冲突的类型。
第1题
E→E1*T {E.place=newtemp; emit(*, E1.place, T.place, E.place;}
| T {E.place=T.place;}
T→T1-F {T.place=newtemp; emit(-, T1.place, F.place, T.place;}
| F {T.place=F.place;}
F→id {F.place=id.name;}
(1)当 a=5、b=2、c=4 时,写出表达式 a-b*c 的结果;(*表示算术乘、-表示算术减)
(2)给出文法 G 识别活前缀的 DFA,简要说明该 DFA 的项目集中是否有冲突及冲突的类型。
第3题
文法G[S]属于(52):
S→CD Ab→bA
C→aCA Ba→aB
C→bCB Bb→bB
AD→aD C→ε
BD→bD D→ε
Aa→bD
L(G)={ww|w∈{a,b}*}
文法G[P]属于(53):
P→0A|1B|0
A→A|1B|OP
B→1B|1|0
文法G[I]属于(54):
I→IT
I→1
T→IT
T→dT
T→1
T→d
其中,1表示a~z中的任意一个英文字母,d表示0~9中的任意一个数字。
A.1型(上下文有关)文法
B.1型(上下文无关)文法
C.定义标识符的3型(正规)文法
D.0型文法
第4题
文法G[S]属于(12):
S→CD Ab→bA
C→aCA Ba→aB
C→bCB Bb→bB
AD→aD C→s
BD→bD D→c
Aa→bD
L(G)={ww|w∈{a,b)*)
文法G[冈属于(13):
P→0A|1B|O
A→0A|1B|0P
B→1B|1|0
文法G[1]属于(14):
I→1T
I→1
T→1T
T→dT
T→1
T→d
其中,1表示a~z中的任意一个英文字母,d表示0~9中的任意一个数字。
A.1型(上下文有关)文法
B.2型(上下文无关)文法
C.定义标识符的3型(正规)文法
D.0型文法
第5题
文法G[S]属于 (52) :
S→CD Ab→bA
C→aCABa→aB
C→bCBBb→bB
AD→aDC→ε
BD→bDD→ε
Aa→bD
L(G)={ww|w∈{a,b}*}
文法G[P]属于 (53) :
P→0A|1B|0
A→0A|1B|0P
B→1B|1|0
文法G[I]属于 (54) :
I → lT
I → l
T → lT
T → dT
T → l
T → d
其中,l表示a~z中的任意一个英文字母,d表示0~9中的任意一个数字。
(52) ~(54) A.1型(上下文有关)文法
B.2型(上下文无关)文法
C.定义标识符的3型(正规)文法
D.0型文法
第6题
阅读以下说明和流程图(如图1所示),回答问题1至问题4,将答案写在答卷的对应栏内。
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组IN[]存储中缀表达式;
数组POLISH[]存储其后缀表达式;
数组S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
【问题1】
填充流程图中①的判断条件。
【问题2】
写出子程序A的功能,并顺序写出实现该功能的操作
【问题3】
写出子程序B的功能,并顺序写出实现该功能的操作。
【问题4】
中缀表达式
(A+B-C*D)*(E-F)/G
经该流程图处理后的输出是什么?
【流程图】
图1
第7题
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组 IN[]存储中缀表达式;
数组 POLISH[]存储其后缀表达式;
数组 S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
填充流程图中①的判断条件。
第8题
设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为____。(英文状态输入,用","作为分隔符)
第9题
A.控制符、数字符、大写英文字母、小写英文字母
B.数字符、控制符、大写英文字母、小写英文字母
C.控制符、数字符、小写英文字母、大写英文字母
D.数字符、大写英文字母、小写英文字母、控制符
第10题
A.控制符、数字符、大写英文字母、小写英文字母
B.数字符、控制符、大写英文字母、小写英文字母
C.控制符、数字符、小写英文字母、大写英文字母
D.数字符、大写英文字母、小写英文字母、控制符
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!