1. 首页 > 科技

编译原理习题求帮忙

编译原理习题求帮忙

请教高人,帮忙解答几道编译原理的题目!急!!!有赏啊!

1. L(A)|L(A)=L(A) => A|A=A

2. A=b|aA => L(A)= {b或任意个a开头,以b结束的字符串} => A=a*b

同理:A=a*b => A=b|aA

所以:A=b|aA当且仅当A=a*b

3. ....有点麻烦

编译原理的题目,给出接受在字母表{a,b}上所有以a开头b结束的串的DFA。

boolean tag = true;

final String pattern1 = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$";

final Pattern pattern = Patternpile(pattern1);

final Matcher mat = pattern.matcher(email);

if (!mat.find()) {

帮忙解下编译原理题

1.构造正规式1(0|1)*101相应的DFA.

先构造NFA

确定化

0

1

X

A

A

A

AB

AB

AC

AB

AC

A

ABY

ABY

AC

AB

重新命名,令AB为B、AC为C、ABY为D

0

1

X

A

A

A

B

B

C

B

C

A

D

D

C

B

DFA:

2.将下图确定化:

0

1

S

VQ

QU

VQ

VZ

QU

QU

V

QUZ

VZ

Z

Z

V

Z

QUZ

VZ

QUZ

Z

Z

Z

重新命名,令VQ为A、QU为B、VZ为C、V为D、QUZ为E、Z为F。

0

1

S

A

B

A

C

B

B

D

E

C

F

F

D

F

E

C

E

F

F

F

DFA:

3.把下图最小化:

初始分划得∏0:终态组{0},非终态组{1,2,3,4,5}

对非终态组进行审查:

{1,2,3,4,5}a {0,1,3,5}

而{0,1,3,5}既不属于{0},也不属于{1,2,3,4,5}

∵{4} a {0},所以得新分划

∏1:{0},{4},{1,2,3,5}

对{1,2,3,5}进行审查:

∵{1,5} b {4}

{2,3} b {1,2,3,5},故得新分划

∏2:{0},{4},{1, 5},{2,3}

{1, 5} a {1, 5}

{2,3} a {1,3},故状态2和状态3不等价,得新分划

∏3:{0},{2},{3},{4},{1, 5}

这是最后分划了

最小DFA:

4.构造一个DFA,它接收∑={0,1}上所有满足如下条件的字符串:每个1都有0直接跟在右边。并给出该语言的正规式和正规文法。

按题意相应的正规表达式是0*(0 | 10)*0*或0*( 100*)*0*

构造相应的DFA,首先构造NFA为

用子集法确定化

I

I0

I1

S

0

1

{X,0,1,3,Y}

{0,1,3,Y}

{2}

{1,3,Y}

{0,1,3,Y}

{0,1,3,Y}

{1,3,Y}

{1,3,Y}

{2}

{2}

/

{2}

1

2

3

4

2

2

4

4

3

3

3

DFA:

可最小化,终态组为{1,2,4},非终态组为{3},{1,2,4}0 {1,2,4},{1,2,4}1 {3},所以1,2,4为等价状态,可合并。

编译原理题:分别构造下列语言的文法(4个题) 200分献上。。。

(3)任何不是以0打头的所有奇整数所组成的集合 

  解:G(S) = ({S,A,B,I,J},{-,0,1,2,3,4,5,6,7,8,9},{S→J|IBJ,B→0B|IB|e, I→J|2|4|6|8, Jà1|3|5|7|9},S) 

 (4)所有偶数个0和偶数个1所组成的符号串集合 

  解:对应文法为 S→0A|1B|e,A→0S|1C B→0C|1S C→1A|0B