第7讲词法分析测试题剖析讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
= -closure({7,12})
={1,2,3,4,5,7,8,9,10,11,12,14}
状态
T0 T1 T2
输入符号 01 T1 T2 T1 T2
T3= T2已被标记
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5,6,8,9,10,11,14} T2 ={1,2,3,4,5,7,8,9,10,11,12,14} T3= -closure((move(T2,0))
= -closure({6})
={1,2,3,4,5, 6,8, 9,10,11,14}
状态
T0 T1 T2
输入符号 01 T1 T2 T1 T2 T1
T3= T1已被标记
状态 输入符号 01
T0 ={0,1,2,3,4,5,9,10,11,14}
T0
T1 T2
T1 T1 T2
T2 T1 T3
T3
={1,2,3,4,5, 6,8, 9,10,11,14}
状态
T0 T1 T2
输入符号 01 T1 T2 T1
T3= T1已被标记
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5,6,8,9,10,11,14} T2 ={1,2,3,4,5,7,8,9,10,11,12,14} T3= -closure((move(T1,1))
提示:r+等价于rr*;r?等价于ε|r
digit
start
0
digit
1
.
E
digit
digit
E
2
3
4
other
d源自文库git digit
+/ digit
5
6
other
other
*
7
四、构造正规式((0|1)*|(11))*的DFA
art
01
2
0 4
3 1
5
6
8 7
1
1
11
12
13
9
A. (+|-|ε)(0x|0X)BB* B. (+|-|ε)AA* C. (+|-|ε)(0x|0X)AA* D. (0x|0X)BB*
•(C语言中的16进制数必须以 0x开头,其中的x也不区分大 小写,字母也不区分大小写)
正确答案:C
3.词法分析程序的任务包括( 1、2、3、4、5 )。
①按照词法规则分割出单词,识别出其属性,并以二元式形式输出
T1 ={1,2,3,4,5,6,8,9,10,11,14}
T2 ={1,2,3,4,5,7,8,9,10,11,12,14}
T3= -closure((move(T2,1)) = -closure({7,12,13})
T3未被标记,且为终结状态
={1,2,3,4,5,7,8,9,10,11,12,13,14}
= -closure({7,12,13})
状态
2.对任何正则表达式e都存在一个NFA M,满足L(M)=L(e)。 ( 对)
3.对任何正则表达式e都存在一个DFA M,满足L(M)=L(e)。 ( 对)
三、Pascal语言无符号数的正规定义如下: num→digit+(.digit+)?(E(+|-)?digit+)? 其中,digit表示数字,用状态转换图表示接受无符号数的NFA
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5,6,8,9,10,11,14} T2 ={1,2,3,4,5,7,8,9,10,11,12,14} T3={1,2,3,4,5,7,8,9,10,11,12,13,14} T4= -closure((move(T3,0))
状态
T0 T1 T2
输入符号 01 T1 T2
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5,6,8,9,10,11,14} T2 ={1,2,3,4,5,7,8,9,10,11,12,14} T3= -closure((move(T1,0))
= -closure({6})
状态
T0 T1
输入符号 01 T1
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5, 6,8, 9,10,11,14} T2= -closure((move(T0,1))
= -closure({7,12})
={1,2,3, 4,5, 7,8, 9,10, 11,12, 14} T2未被标记,且为终结状态
= -closure({6})
状态
T0 T1 T2 T3
输入符号
01
T1 T2 T1 T2 T1 T3 T1
T4= T1已被标记
T0 ={0,1,2,3,4,5,9,10,11,14} T1 ={1,2,3,4,5,6,8,9,10,11,14} T2 ={1,2,3,4,5,7,8,9,10,11,12,14} T3={1,2,3,4,5,7,8,9,10,11,12,13,14} T4= -closure((move(T3,1))
10
14
状态 T0
输入符号 01
T0= -closure(0) ={0,1,2,3,4,5,9,10,11,14}
T0未被标记,且为终结状态
T0 ={0, 1, 2,3, 4,5, 9,10, 11,14} T1= -closure((move(T0,0))
= -closure({6})
={1,2,3,4,5, 6,8, 9,10,11,14} T1未被标记,且为终结状态
1.以n表示阿拉伯数字,描述整数的正则表示式是( C)。 A. nn* B.(+|-) nn* C.(+|-|ε) nn* D. (+|-|ε)n*
正确答案:C
2.用A表示(0|1|2|3|4|5|6|7|8|9|a|b|c|e|d|f|A|B|C|D|E|F), 用B表示(0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F)则描述C语言 十六进制整数的正则表示式是( C )。
②删除程序中的注释
③删除程序中的空格
④发现程序中的词法错误,并指出位置 ⑤建立并填写符号表
正确答案: ①②③④⑤
• 4.是否存在这样的语言,它们能够被确定的有限自动 机和正规文法识别,但是不能用正则表达式表示。
(B )。
• A.存在
B.不存在
C.说不清楚
正确答案: B
二、判断题
1.一张转换图只包含有限个状态,其中有一个被认为是初态 最多只有一个终态。( 错 ) (至少有一个终态)
相关文档
最新文档