程计软题3-编译程序基本原理

(一)词法分析的工具-正规式

题1-语句找表达式

1.

在这里插入图片描述

排除法
对于A:a*取0个a,(a)*取1个a,b*取b,A例可取ab,不满足题目
对于C:取ba*取b,a*取1个a,(b)*,取ab,不满足题目
对于D:(a|b)*表示a或者b,取a,(aa)*表示含aa的表达式取aa,最后取aaa,不满足题目

2.

在这里插入图片描述

B:取a,不满足
C:a,不满足
D:a,不满足

题2表达式找语句特点

在这里插入图片描述

0*表示可以含有0个或者多个0,所以A,如果取表达式0*为0个0则实现不了A选项,比如101
C:00---
D:0110

3.有问题

在这里插入图片描述

假如后两位算以ab,bb结尾,则
A:有bb,abb,没有ab结尾的
B:
C:可以出现

题3-找表达式

在这里插入图片描述

语言L:a取0个或多个,b至少取1个
A:aa*满足不了a取0个
C:同理A
D:b*可以取0个b,满足不了至少取一个b

(二)有限自动机-词法分析的工具

题1-有限自动机是词法分析工具

在这里插入图片描述

题2-分析自动机的特点

在这里插入图片描述

从初始态q0输入0仍然到q0或者输入1到达终态q1,从q1还可以输入0重新到达初始态q0,
所以这个有限自动机识别的0、1串不一定是以0开头的,1的数目的奇偶性也没办法确定,0后面也可以是0,
所以选项A、B、C都是错误的。从q0输入1到达终态q1后,或者串结束,或者输入0再到q0,
所以这个串中的1不会连续出现,选项D是正确的。

题3-看图选字符串

在这里插入图片描述找路线

题4-可识别的字符串

在这里插入图片描述

A:0从A到B,0在B处循环,不能到达终点C
B:输入1,只会一直在A处循环,到达不了终点C,
C:0从A到B,1从B到C,0从C到B,1从B到C,可以选
D:1仍在A,0从A-B,1 B-c,0 c-B,到达不了终点C

题5-含有空字符

在这里插入图片描述
在这里插入图片描述

题6-判断哪个是NFA和DFA

在这里插入图片描述

(三)上下文无关文法

题1-GFG定义

在这里插入图片描述

题2-由分析树得出结论判断对错

在这里插入图片描述

由分析树的性质知道:
1.根S是 开始符号
2.每一层叶子结点从左到右的序列是其父节点的一个产生式。最后的终结符号是句子
3.B->C B->D与B-C|D是等价的
S-aAcB-a AaB cB-a c abc bScA -acabcb Bd cA-acabcbdcc

题3-文法/语法=上下文无关文法

在这里插入图片描述

题4-由句子判断对错

在这里插入图片描述

S-A0-10,从开始不能保证全是0或者全是1,所以AB选项排除
S-A0-S10-A010-1010
S-B1-01,存在某些0和1个数相等的字符串

题5-推导

1.

在这里插入图片描述
在这里插入图片描述

2.

在这里插入图片描述
在这里插入图片描述

3.

在这里插入图片描述

(四)中缀式后缀式

题1-由表达式求后缀表达式

1.

在这里插入图片描述
在这里插入图片描述

先画中缀表达式的树,再转为后缀表达式

2.

在这里插入图片描述
在这里插入图片描述

题2-由后缀表达式(逆波兰表达式)求中缀表达式

在这里插入图片描述

后缀式利用栈求值
后转中:栈
ab入栈,遇到-,弹出ab,形成a-b,入栈
cd入栈,遇到+,弹出cd,形成c+b,入栈
遇到* ,弹出a-b和c+b,形成C选择
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-C`ESTVRAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值