- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2-栈-分隔符匹配.doc
分隔符匹配
前提, 目标, 结果
前提: 应该已经掌握如下技能
Stack – 了解栈的实现.
Templates – 模板类的创建
File IO – 基本文件流操作
目标: 促进学生对栈结构以及使用的了解.
结果: 成功完成此次任务学生的收获如下.
进一步熟悉模板类的实现
进一步了解栈的结构与使用
背景
编译器经常需要检查程序的语法错误,但是缺失一个符号的情况频繁出现,比如花括号或者注释符的缺失等等,会导致编译器忽略上百行的代码而找不到真正的语法错误。
这种情况下检查分隔符是否匹配的程序将是一个有用的工具,也就是说,每一个右花括号,方括号,圆括号都必须匹配一个左花括号,方括号,圆括号。比如,序列[()] 是合法的,但是[(]) 就是错误的. 很明显为此写一个很大的程序是不值得的,不过有这么一个工具确实会使检验变得容易很多。
描述
我们可以使用栈来实现这个功能。
申请一个空栈,依次从文件中读字符直到文件结尾。如果这个字符是开的(即起始的,如左括号),将其压入栈中,如果是闭的(即结束的,如右括号),则查看栈是否为空,如果为空,则报错。否则看栈项元素是否与其匹配,如果不匹配,报错。否则,弹出栈底元素。读到文件结尾的时候,如果栈不为空,则报错。
除了括号的匹配,还有考虑注释符(“/**/”)的匹配。如果出现一个“/*”,接下来的所有字符全被忽略,直到“*/”出现。如果文件结束的时候也没有出现“*/”,报错。
程序处理的部分内容如下图所示
任务
为了完成此次任务,你需要定义Stack类以及完成main.cpp 文件,在这个文件中定义了分隔符的匹配。指导步骤列表如下
首先在Stack.h中创建Stack类,你可以通过数组或者链表来实现,但是必须定义成模板类,并且需要包含下列基本操作。
void Pop(): 将栈项元素弹出栈
void Push(const T e): 将一个元素压入栈中
T Top(): 返回栈项元素
bool Isempty() const: 如果栈为空,返回真,否则返回假
int Size() const: 返回栈中元素数量.
接下来创建main.cpp文件,完成分隔符匹配的实现,具体步骤如下
从命令行参数得到文件名,即预检验的文件名,然后使用此文件名调用delimiterMatching函数
完成delimiterMatching函数的定义, 接收一个string类型的参数,即上面所说的文件名。此函数不断从文件中读取一个字符,然后对其进行如上面描述的处理,如果发现错误则所错输出,否则一直到文件结束才结束。
提交
Submit only the following.
Stack.h - your completed class Stack definition
Stack.cpp - if created
main.cpp - your completed delimiter matching file
您可能关注的文档
最近下载
- 《广告策划与创意》课件(全).pptx VIP
- 企业财务管理制度十二篇.docx VIP
- 工业行业市场前景及投资研究报告:解析Palantir.pdf VIP
- 检验科标本接收拒收制度标本验收标准.pdf VIP
- 卫生部手术分级目录(2025年版).doc VIP
- 电子束曝光技术.ppt VIP
- 第二单元《燕赵大地连津门》第2课时《津冀之声》课件 人教版二年级音乐上册.pptx VIP
- (2025)全国保密教育线上培训知识考试题库及参考答案.pdf
- 房地产制度与标准 - 绿城项目运营手册之交付后工作操作指引 .docx VIP
- 2024年9月28日福建省事业单位统考《行政职业能力测试》笔试试题.docx VIP
文档评论(0)