- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汉字行编辑程序发文档(最终)
汉字行编辑程序开发文档
软件工程课程设计
第一 章 需求分析
正文编辑语言决定了正文编辑程序。设计正文编辑语言包括外部编辑命令、编辑命令和输出信息。本正文编辑程序有输入和编辑两种工作模式。,:;
外部编辑命令
“外部行”是用户在输入模式或编辑模式打入的字符串。字符串可为空 ,这个字符串由可以打字的字符组成。在换行之前输入的字符串长度不允许超过预先规定的固定长度。
正文编辑程序一个字符一个字符地接受一个外部行,并由它构造出一个内部行。如果输入的字符不满一行,那么这行的右侧由空格填充。
当用户打进一个外部行时可能会犯错误,因此需要能够编辑该行正文。为此给用户提供了4个外部编辑命令(见表1.1) 。 正文编辑程序能够识别出这些命令,并且在构造内部行时对外部行进行编辑。
在输入模式时,如果在某一行开头就输入一个换行符,则表明这行是一个空行,它命令编辑程序由输入工作模式转到编辑工作模式。如果一行的开头输入一个或多个空格后再输入换行符,则表明这行是空格行,不是外部编辑命令。
含义 命令 备注 字符删除命令 @ 删除前一个字符或汉字 行删除命令 # 删除这一行中已输入的所有字符 换行 ! 换行 模式转换命令 空行 转到编辑模式 表1.1
编辑命令
此正文编辑程序工作在编辑模式时,共有12个编辑命令。表1.2列出了这些命令的名字、格式和编辑操作。正文编辑程序对一个不正确的编辑命令的响应是输出‘?!’。
命令‘T’、‘Q’、‘E’和‘I’没有操作数;命令‘U’、‘N’、‘L’、‘D’、‘C’和‘S’都只有一个操作数(最多为4位的十进制数);命令‘F’有一个字符串作为操作数;命令‘R’有两个字符串和一个数(可任选)作为操作数。
名字 命令 编辑操作 TOP T 使当前行指针BPTR指向虚拟行 UP U?N 把指针BPTR往上移N行 NEXT N?N 把指针BPTR往下移N行 ENTER E 进入输入模式 LIST L?N 从当前行开始输出N行正文 DELETE D?N 从当前行开始删除N行正文。删掉的正文放在自由链前面 REPLACE R? /STR1/STR2/?N 在从当前行开始的N行正文中,用STR2替换每一个STR1 FIND F? /STRING1/ 从下一行开始扫描各行正文,使指针BPTR指向第一个包含字符串STRING1的正文行 COPY C?N 从正文链中复制N行正文放到工作链的尾部,但并不把这些正文行从正文链中删掉 STORE S?N 从正文链中把N行正文移到工作链的尾部 INSERT I 把工作链中的所有正文行插到正文链中当前行的后面 QUIT Q 停止编辑程序的运行 表1.2
注::(1)N代表空格或十进制正整数(最多4位)。STR1(或STRING1)代表需要在正文链中匹配的字符串,STR2代表替换字符串。N是空格时为默认值1。
(2)BPTR代表正文链中的当前行指针。
(3)?代表空格。
输出信息
除了列出正文链中的正文外,正文编辑程序还应能输出下列7个信息:‘EDIT!’ 、‘INPUT!’、‘?!’ 、‘TOF!’ 、‘EOF!’、‘NOTEXT!’和‘NOFREE!’:
(1) ‘EDIT!’响应。当正文编辑程序处在输入模式时,对在终端上输入一个空行(‘!’)所做的响应。它指出已经进入了编辑模式,以后从终端输入的正文行将被解释为编辑命令。
(2) ‘INPUT!’响应。在编辑模式中给出ENTER命令‘E’之后,程序的响应。它指出正文编辑程序已经进入输入模式,以后从终端输入的字符串将作为正文行加入到正文链中。
(3) ‘?!’响应。对无效的编辑命令的响应。正文编辑程序忽略无效的命令,并且仍处于编辑模式中,等待接收下一个编辑命令。
(4) ‘TOF!’命令。对把当前行指针移到正文链中第一行前面去的UP命令的响 应。
(5) ‘EOF!’响应。每当一个编辑命令试图把当前行指针移到正文链中最后一行的后面去的时候, 正文编辑程序都显示这个信息。在这种情况,当前行指针总是指向正文链中的最后一行(如果正文链是空的,则指向虚拟行) 。
‘NOTEXT!’响应。当正文链是空的时候,正文编辑程序对于除ENTER和INSERT之外的所有编辑命令都回答‘NOTEXT!’。
‘NOFREE!’响应。.当在输入模式时这个响应指出,已经没有空闲的主存储块可以用来存放输入的正文行了。当出现这种情况时,正文编辑程序忽略最后输入的正文行,并且自动进入编辑模式。仍然可以命令它转回输入模式,但是如果试图往正文链中增加一行
您可能关注的文档
最近下载
- 2025款比亚迪宋PLUS EV豪华尊贵旗舰型_用户手册驾驶指南车主车辆说明书电子版.pdf VIP
- 第1课《初三,我来了》课件北师大版心理健康教育九年级全一册.ppt
- 2023全域用户经营白皮书:STAR模型,从用户运营到生意增长.doc VIP
- NBT 35042-2014 水力发电厂通信设计规范.pdf
- 《小学英语单元整体作业设计的实践研究》开题报告.docx VIP
- “三个聚焦”内容个人自查报告.docx VIP
- 2024年充电宝市场现状分析:充电宝全球市场销售额达到224亿元.docx
- 各种烟气焓温、密度、比热计算表.xls VIP
- 考试妇科试题.docx VIP
- 德国科技创新与产业趋势.pptx VIP
文档评论(0)