- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用某种高级程序设计语言实现文法的等价压缩算法(PASCAL语言实现)
编译原理实习作业
用某种高级程序设计语言实现
文法的等价压缩算法
(PASCAL语言实现)
二○○一年十月一日
实习作业:用高级程序设计语言实现对文法多余规则的等价压缩
一.相关定义及定理:
给出一个无U::=U形规则的前提下规则不多余的判别条件:
一个规则U::=u要是有用的,便得在推导中被应用,即其左部非终结符号U必须在句子的推导中出现,且u能推导到终结符号串。为此,U与u必须分别满足下列条件:
条件1:Z=*xUy,其中x,y∈V,Z为识别符号;
条件2:u=+t,其中t∈VT。
●判别条件1的加标记算法步骤如下:
步骤1:对规则中识别符号Z加标记;
步骤2:对左部非终结符加有标记的规则,将其右部中出现的一切非终结符号加标记;
步骤3:检查是否一切非终结符号都已加过标记。是,则无多余规则而结束;否,则执行下一步骤;
步骤4:检查最近一次执行步骤2时是否未对任何非终结符号加过标记。如果是这样,该文法中左部非终结符号未加过标记的规则都不满足条件1,这些规则是多余的,结束。否则重复步骤2。
●判别条件2的加标记算法步骤如下:
步骤1:对u∈V的规则U::=u之左部非终结符号U加标记;
步骤2:对右部仅包含终结符号与已加标记的非终结符号的规则之左部加标记;
步骤3:检查是否已对一切非终结符号加过标记。是,则无多余的规则而结束;否,则执行下一步骤;
步骤4:检查最近一次执行步骤2时是否未对任何非终结符号加过标记。如果是这样,该文法中左部非终结符号未加过标记的规则都不满足条件2,这些规则是多余的,结束。否则重复步骤2。
概括起来,对一个给定的文法进行压缩文法等价变换的规范步骤如下:
展开文法规则,并删除U::=u形规则
判别条件1和2,执行加标记算法
删除不满足条件的无用规则,得到等价的压缩了的文法。
二.PASCAL程序设计语言实现文法压缩算法的功能说明:
文法的存储:对每一个可能包含无用规则的文法G[Z]以数组(grammar类型)形式存储。其中,每一个数组元素都是一条规则,而每一条规则又是一个记录类型(rulers),它包括规则左部(left:字符类型)、规则右部(right:字符串类型)两部分;
加标记算法:对符合条件的非终结符号加标记是采用间接的方法,即:若要对终结符号加标记,则把它存到一个数组B(字符类型)中,以后只要判断该数组中有无某非终结符号便知它加过标记没有。而同样对每个字符是否非终结符号的判断也借助一个数组A(字符类型)来执行;
条件1和2的实现:对一个文法它首先存在一个数组g1(grammar类型)中,对每一个符合条件1的规则都存在另一个数组g2(grammar类型)中,这样也就等于删除了不满足条件1的多余规则;同样在执行条件2后又把所有满足条件2的规则放到g1中去,这样重复直到条件1和2执行过后剩余的有用规则的条数相同为止。
三.设计评价:本设计基本实现了对非压缩文法的等价压缩。但是它只限于文法规则条数不多(这里不超过20条)的情况,并且每次输入都必须先输入要输入的文法包含规则的条数,这一点有待改进。
四.PASCAL语言实现源程序如下:
program zipgrammar(input,output);
type
cc=packed array [1..20] of char;
rulers=record
left:char;
right:string[15];
end;
grammar=array [1..20] of rulers;
var
g1,g2:grammar;
a,b:cc;
n1,n2,n,v,h,i:integer;
gz,ch,ccc,ag:char;
procedure new(var g1:grammar;var n1:integer); {输入未压缩文法子过程}
var
n,x,i,j:integer;
a,b,c:char;
s,t:boolean;
begin
writeln;
write(How many rulers will you enter?);
read(n);
writeln(Enter G[Z]:);
readln;
j:=1;
for i
您可能关注的文档
- (初三第一章分式.doc
- (初中1600词汇.doc
- (初三物理模一.doc
- (初中八年级期末复习712教学案.doc
- (初中化学优秀教案评选.doc
- (初中化学元素的单质及化合物大总结.doc
- (初中化学双基一2.doc
- (初中化学双基一.doc
- 生态经济复习要点.doc
- (初中化学基础知识复习提纲.doc
- 生产项目二期厂房及附属设施工程项目环境影响报告表.docx
- 第十四章内能的利用测试卷2025-2026学年人教版九年级全一册物理(.pdf
- 第三单元 语文园地三(教学设计)一年级语文上册(统编版五四制2025).pdf
- 三年级下册语文七彩课堂.pptx
- 《统计学应用案例》课件.ppt
- 第四单元检测题-2025-2026学年统编版语文七年级上册(2025) .pdf
- 第七单元 长方形和正方形(学案)2025-2026学年数学三年级上册-人教版.pdf
- 西溪湿地创建全国旅游标准化试点工作自查报告.docx
- 2025年PTFE项目可行性建设方案.docx
- 2025年生态环境监测网络的优化布局与运行管理研究.docx
最近下载
- 高斯小学奥数含答案二年级(下)第06讲-扫雷游戏.pdf VIP
- 《景区运营与管理实务》课件——旅游景区管理要素.pptx VIP
- GB50171-2012 电气装置安装工程 盘、柜及二次回路接线施工及验收规范.pdf VIP
- 《工程制图》教学教案(1-10次课,合计50次课).doc VIP
- 统编版道德与法治九年级上册第三单元《文明与家园》作业设计.docx
- 高斯小学奥数含答案二年级(下)第06讲扫雷游戏.pdf VIP
- 旅游景区运营管理手册(制度)[257页].doc VIP
- 中南大学ORcad实验报告(程嘉洲版实验2到实验7)完美步骤,完美报告!.doc
- 部编版九年级道德与法治第四单元《文明与家园》作业设计.docx
- 《工程制图》教学教案(11-20次课,合计50次课).doc VIP
文档评论(0)