VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
预测分析报告

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

预测分析法实验报告

下面是你输入的文法G:

非终结符号集合为:{ A, B, C, D, Z }

终结符符号集合为:{ a, b, c, d }

G[Z]:

A->cD

B->bC

C->@

C->BcA

D->aBD

D->d

Z->aAcB

Z->Bd

可以推出空串的非终结符集合为:{ C }

非终结符号的FIRST集合:

FIRST(A) = { c }

FIRST(B) = { b }

FIRST(C) = { @, b }

FIRST(D) = { a, d }

FIRST(Z) = { a, b }

非终结符号的FOLLOW集合:

FOLLOW(A) = { c, a, d, # }

FOLLOW(B) = { c, a, d, # }

FOLLOW(C) = { c, a, d, # }

FOLLOW(D) = { c, a, d, # }

FOLLOW(Z) = { # }

各产生式的SELECT集合:

SELECT(A->cD) = { c }

SELECT(B->bC) = { b }

SELECT(C->@) = { @, c, a, d, # }

SELECT(C->BcA) = { b }

SELECT(D->aBD) = { a }

SELECT(D->d) = { d }

SELECT(Z->aAcB) = { a }

SELECT(Z->Bd) = { b }

输入的文法是一个LL(1)文法。

下面是生成的预测分析表:

 

 a

 b

 c

 d

 #

 A

  

  

 cD

  

  

 B

  

 bC

  

  

  

 C

 @

 BcA

 @

 @

 @

 D

 aBD

  

  

 d

  

 Z

 aAcB

 Bd

  

  

  

例如:对符号串acabdcb#的分析过程:

步骤

分析栈

剩余输入串

所用产生式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#Z

#BcAa

#BcA

#BcDc

#BcD

#BcDBa

#BcDB

#BcDCb

#BcDC

#BcD

#Bcd

#Bc

#B

#Cb

#C

#

acabdcb#

acabdcb#

cabdcb#

cabdcb#

abdcb#

abdcb#

bdcb#

bdcb#

dcb#

dcb#

dcb#

cb#

b#

b#

#

#

Z->aAcB

a匹配

A->cD

c匹配

D->aBD

a匹配

B->bC

b匹配

C->@

D->d

d匹配

c匹配

B->bC

b匹配

C->@

接受




相关文章

相关软件