习题参考答案 第4章 词法分析(注:部分解题过程略)

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

习题参考答案 第4章 词法分析(注:部分解题过程略)

4.1 编写以下字符串集的正规式(若没有正规式则说明原因): (1)以a 开头和结尾的所有小写字母串; (2)以a 开头或/和结尾的所有小写字母串; (3)不以0开头的所有数字串;

(4)每个5均在每个1之前的所有数字串;

(可能有两种理解:a ,每个1前面总有个5;b ,所有5都在所有的1前面) (5)a 和b 的个数相等的所有ab 串。 解:(1)a(a|b|c|…|z)*a|a

(2)a(a|b|c|…|z)*|(a|b|c|…|z)*a (3)(1|…|9)(0|1|2|…|9)*

(4)((0|2|3|4|6|7|8|9)*51)*(0|2|3|4|6|7|8|9)* (按a 的理解) (5)“a 和b 的个数相等的所有ab 串”属上下文有关,正规式不能描述。 4.2 简述由下列正规式生成的语言: (1)(a|b)*a(a|b|ε) (2)(A|B|…|Z)(a|b|…|z)* (3)(aa|b)*(a|bb)*

(4)(0|1|…|9|A|B|C|D|E|F)+(x|X) 解:(1)以a ,aa 或ab 结尾的ab 串; (2)以1个大写字母打头的小写字母串;

(3)由若干个a 串和b 串交替出现的串,其中前段的a 串和后段的b 串的长度均为偶

数; (4)十六进制数的一种表示形式,以x 或X 结尾。

4.3 构造4.1题的每个字符串集的DFA ,或说明不存在DFA 的原因。

解:(1)由正规式a(a|b|c|…|z)*a|a 构造的NFA1,以及确定化得到的DFA1分别为:

(2)由正规式a(a|b|c|…|z)*|(a|b|c|…|z)*a 构造的NFA2,以及确定化简得到的

DFA1

…,z

DFA2分别为:

(3)由正规式(1|…|9)(0|1|2|…|9)*构造的DFA3为:

(4)依题意构造的DFA4为:

(5)确定有限自动机与3型文法等价。而“a 和b 的个数相等的所有ab 串”属上下文有关,需要1型文法描述,故确定有限自动机不能描述。

4.4 构造下列正规式相应的NFA ,然后转换为DFA : (1)(a|b)*a(a|b|ε) (2)(aa|b)*a(a|bb)* 解:(1)解一

DFA2

+

DFA1

NFA1

DFA4

DFA3

(2)

4.5 构造自动机A1和A2,使得 L(A1)={ε,a n ,ba n |n≥1} L(A2)={ε,(ab)

n |n≥1} 解:

4.6 将下列NFA 确定化:

NFA2

-A2

A1

DFA2

NFA2

A1

A2

4.7 消除下列εFA 的ε边:

解:

4.8 构造以下3型文法相应的最简自动机(“最简自动机”应该是“最简确定自动机”):

G: S → aS | bA | a A → aS | bA | bB B → bB | b

解:

NFA

DFA 已是最简的

A1

DFA1

DFA2

A1

4.9 构造以下自动机相应的3型文法G:

解:G: A → aB | bB

B → a

C | b

D | a | b

C → aB

D → bB

4.10 将以下自动机最小化:

解:确定化:

最小化:

相关文档
最新文档