关键词:
编译原理
词法分析
语法分析
可视化
语法树
动态加载
数字签名
摘要:
式已经得到了越来越广泛地应用。编译原理是计算机专业的一门必修的基础课程,然而,由于编译原理理论性强、抽象概念多而复杂,往往使学习者感觉乏味难理解。枯燥的理论知识加上传统的学习模式很容易使学生失去学习这门课的信心和兴趣。为了弥补这一弊端,我们研究并设计了一个基于Web的编译原理学习支撑系统。本课题的研究包含三个层次:将枯燥的理论和复杂的算法以可视化的方式展现出来;提供一个编程环境VLabP,将词法分析过程和语法分析过程可视化;为学生提供自定义算法接口,加强学生的动手实践能力。
论文在分析和总结了编译原理课程的特点及当前该课程教学方式不足的前提下,结合Swing技术及事件响应处理AWT技术重点对编译过程的中间数据可视化进行了研究。可视化过程中,由于需要用到庞大的语法生成树,本文讨论了语法树的美观准则及m-叉树的绘制算法,该准则和算法为语法树及决策分析树的绘制提供了很好的理论指导。利用组件技术和序列化技术为用户提供了自定义状态转换图的功能,词法分析器将依照用户设计进行工作。通过动态加载编译技术,为用户提供了二次开发接口,系统允许用户动态编译加载自行设计的控制算法。通过讨论数字签名技术,解决了Applet应用程序不能操作客户端本地资源的问题,如本地文件访问。最后,本文对系统的设计和开发工作做了总结,并对该学习平台需要进一步扩充和完善之处做了展望。
实验结果表明,本系统运行稳定,能为学习编译原理的学生提供很大帮助,尤其是VLabP学习模块,不仅能提高学生的动手能力、问题分析能力,还使他们学以致用,增强对编译原理兴趣。图59副,表5个,参考文献46篇。