1. 研究目的与意义(文献综述)
1.1 研究背景
“编译原理”是计算机专业的一门重要基础课,主要介绍编译器构造的一般原理和基本方法。要使编译器能够自动而且高效地完成任务, 必然会用到大量的算法。在传统教学中,由于课程本身理论性较强,算法抽象,难以理解,仅通过教师的阐述或者采用伪代码的形式,无法直观地展示算法的执 行;直接用高级语言实现,又往往涉及很多语法知识,容易分散对算法本身的关注;而且,无论是伪代码还是源程序都是文本化的形式,难以吸引并保持住学生的注意力。因此,如何使学生理解和应用这些算法,成了“编译原理”课程教学的一大挑战。
1.2 国内外的研究现状分析
2. 研究的基本内容与方案
2.1 研究内容:对国内外有关资料进行调查,对系统的可行性进行研究;对整个系统进行详细设计;根据分析和设计结果,对各个子程序进行程序代码编写和程序界面设计和测试。2.2技术方案:(1) 编程语言选择编程语言在开发速度、编译速度、运行速度这三者中最多只能选择两个,针对本次系统设计的需求特点,我们需要选择一个运行速度快、开发速度快的编程语言,同时还要满足跨平台,可视化界面美观的特点,因此我们选择 rust 语言作为主要编程语言。同时,为了兼顾系统的易用性及部分文法的token渲染,需要部分shell脚本。rust 的特点是1. rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,在编译期就能够消除各种各样的错误。2.拥有出色的文档、友好的编译器和清晰的错误提示信息,还集成了一流的工具 —— 包管理器和构建工具,智能地自动补全和类型检验的多编辑器支持,以及自动格式化代码等等。3. rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务(2) 可视化库选择
rust的可视化库选择用 开发redox 操作系统同一个库 orbtk,简单来说,它支持跨平台、高速、易用,且这些特点在 redox 上得到了充分的体现,orbtkorbtk目前内置的基础控件包括:textblock、textbox、button、togglebutton、check_box、switch、fonticonblock、imagewidget、watermarktextblock,所有控件都使用create()方法创建,通过链式调用的方法设置属性,通过包装template来实现,控件的成员变量不可访问,控件的所有操作(包括设置属性)都只能通过调用成员方法来实现。一个使用该可视化库的例子如下所示:
3. 研究计划与安排
2020/1/13-2020//31 | 联系指导老师,确定选题 |
2020/2/1-2020/2/28 | 查阅文献,外文翻译 撰写开题报告 |
2020/3/1-2020/3/14 | 学习 Rust 相关语法及可视化库 |
2020/3/15-2020/3/31 | 实现从文法或正规式到NFA再到DFA以及最小化的算法 |
2020/4/1--2020/4/14 | 将算法通过UI界面、像素渲染等方法可视化 |
2020/4/15-2020/4/30 | 优化系统,将系统代码打包,撰写系统的使用说明 |
2020/5/1--2020/5/25 | 撰写论文并完善 |
.2020/5/26--2020/6/5 | 准备答辩相关事宜 |
4. 参考文献(12篇以上)
1. 王福. 基于web的编译原理学习支撑系统的设计与实现[d]. 2015.2. 陈雪梅, 韩洁琼. c语言可视化编程环境的设计与实现[j]. 武汉理工大学学报(信息与管理工程版)(4):47-50.3. 张弦, 原庆能. gpj_pascal集成开发坏境——词法分析、语法分析、语义分析和中间代码生成[j]. 广西科技大学学报, 2005(s3):86-89.4. 张桂英. 基于dfa与特征量化的代码相似度可视化检测系统的研究[d].5. 叶佳杰. 基于c/c 语言的函数级程序理解可视化的研究与实现[d]. 浙江工业大学, 2012.6. 但静培, 渡边坦. 基于编译技术的程序可视化[j]. 计算机应用研究, 2002, 19(10):51-52.7. 丁志军, 周泽霞, 卫志华. 过程可视化类c编译器的教学辅助软件[j]. 计算机与现代化, 2017(6).8. 付哲, 李军. 高性能正则表达式匹配算法综述[j]. 计算机工程与应用, 2018, 54(20):6-18.9. 许智宏, 李显, 高静静. 高级语言编译过程可视化研究[j]. 教育教学论坛, 2012(10):30-31.10. 褚文杰, 童兰轩, 魏玮, et al. 支持自定义语言的可视化编译教学辅助工具设计[j]. 计算机应用, 2017(z1).11. 杨超, 郑志群, 何书前, et al. 构造直接编程的词法分析器[j]. 电脑与电信, 2018.12. 沈岚岚, 李凤英, 董荣胜. 基于raptor可视化开发环境的"编译原理"课程教学研究与探索[j]. 工业和信息化教育, 2018, 000(004):45-50,55.13. zhe fu, jun li. high speed regular expression matching engine with fast pre-processing[j]. china communications, 2019, 16(2):177-188.14. jiang, dongchen, li, wei. the verification of conversion algorithms between finite automata[j]. science china(information sciences), 61(2):028101.15. huo sheng, zhang dafang, li yanbiao. multi-stride indexing: improve nfa for fast and scalable dpi[j]. chinese journal of electronics, 27(1):86-92.
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。