论文部分内容阅读
高级程序设计语言可以通过编译和解释两种方式转换成可以在目标机上执行的低级语言。由于解释程序的工作方式效率较低,在实际应用中通常的做法是编译执行,因此,多数高校开设了《编译原理》课程。然而,由于编译过程较复杂,知识点多,概念抽象,算法难于理解,该课程一直被学生认为难学的专业课程之一。基于此,研究与开发用于辅助教学的编译过程可视化系统具有重要的意义。 本文对编译过程可视化进行了分析研究,使用UML面向对象建模技术进行了完整的系统建模。设计了便于维护和扩展的C/S三层结构,进行了类结构的详细设计。完成了系统可视化展示形式的设计。 选择MicrosoftVisualStudio2008作为开发环境,以C#为编程语言,实现了类C语言的文法编辑与检查、词法分析、语法分析、语义处理、中间代码生成的可视化过程展示及程序运行结果展示。并采用黑盒测试方法对系统进行了界面和功能测试。 系统整体界面布局一致,操作方便并提供了在线帮助信息,可操作性好。在过程可视化方法上,通过提供分析过程与结果完整显示和单步执行过程展示等方法提高编译过程可视化效果。在文法、信息矩阵、图表存储上提供文件存储与数据库存储两种模式,便于学生学习和比较两种信息存储方法的异同。对《编译原理》课程中的编译过程、各阶段主要算法、相关数据结构等都起到了辅助教学的作用。同时注意与数据结构、数据库技术、软件工程等课程内容相结合,启发使用者专业知识的综合运用,在一定程度上实现了启发式教学。