本次课程设计实现了基于面向对象思想的一个简易Markdown编辑器, 可解析并生成HTML格
式的输出.
本次课设思路清晰, 构建了基于位置优先的多层次分治算法模型, 对Markdown语法转换成HTML格
式较鲁棒, 特别对嵌套的子列表采用了递归树解析的方法, 此外本课设不仅完成了PDF上的基本需求, 还进行了全面的拓展, 比如参考Markdown标准语法对语法进行扩充(包含5项), 在GUI版本可载入文件、自由编辑(修改多行内容), 而且可输出带有CSS样式的HTML文件.
目录
I 主要内容、目标 3
I-A 基本内容 3
I-A1 可以从控制台录入Markdown格式的文本(只录入文本即可,无
自由编辑功能),并保存生成 .md 文件 3
I-A2 载入生成的 .md 文件,根据以上定义的Markdown语法子集进
行解析,生成HTML文件(保证可以通过浏览器打开,正常展
示) 3
I-A3 对于生成的HTML文件,无附带CSS样式,只生成基本的标签
即可 3
I-A4 语法规则,Markdown文本,HTML标签等应合理表示 4
I-B 拓展部分实现内容 4
I-B1 CSS样式 4
I-B2 附加语法(5项) 4
I-B3 GUI界面(自由编辑) 6
II 设计思路 7
II-A 如何解析复杂的嵌套句子 7
II-B 如何处理匹配标记的先后顺序 8
II-C 如何解析嵌套列表 9
III 主要类的设计、类的数据和操作、类之间的关系 11
IV 附加内容提要: 拓展语法与GUI界面 12
V 如何运行代码 12
V-A 控制台版本 12
V-B 图形界面版本 13
VI 总结 14
I. 主要内容、目标
A. 基本内容
基本内容由控制台版本实现, 代码对应附件: console version 文件夹
1) 可以从控制台录入Markdown格式的文本(只录入文本即可,无自由编辑功能),并保存
生成 .md 文件: .
图 1. 控制台录入Markdown格式运行截图
2) 载入生成的 .md 文件,根据以上定义的Markdown语法子集进行解析,生成HTML文件
(保证可以通过浏览器打开,正常展示): .
3) 对于生成的HTML文件,无附带CSS样式,只生成基本的标签即可: .