论文部分内容阅读
在传统的软件集成开发环境中,大多数仅实现了编程界面的可视化,对于程序执行过程及调试过程中的信息缺乏动态和直观的显示。另外,传统的软件集成开发环境在平台无关性等方面存在不足。本文结合虚拟机的透明性、隔离性、封装性和平台无关性等特点,提出了基于虚拟机的程序执行与调试的可视化作为研究课题。本文通过构建一个基于虚拟机的集成开发环境AnyviewB,对程序的执行与调试过程可视化进行探讨。AnyviewB是一个EBASIC(Extension BASIC)语言可视化集成开发环境。EBASIC语言是以QBASIC语言为基础,参考了其它BASIC语言修改和扩充而成。本文以EBNF范式的形式给出了EBASIC语言的文法定义。AnyviewB的编译器包括词法分析器、语法分析器、语义分析器和代码生成器。由此代码生成器产生的目标代码是一种具备平台无关性的代码,可供EBASIC可视化虚拟机执行。另外,该编译器建立了错误处理机制,能够发现并报告词法分析阶段、语法分析阶段、语义分析阶段及代码生成阶段中产生的错误。EBASIC虚拟机结合了可视化技术,在执行与调试目标代码的过程中,同时提供了程序执行与调试状态的动态视图,包括堆和操作数栈等内存区域的变化情况的实时直观显示。对于EBASIC程序中的数组,能够使用二维坐标的形式进行可视化显示。另外,AnyviewB提供了基本的可视化Debug功能,能够单步、断点和连续执行EBASIC程序,使用户能够动态观察和分析程序的执行过程。将程序的编译和运行环境可视化,可以使程序和数据的表达更加直观,用户能够静态或者动态地直接观察程序的执行过程和数据及其之间关系的变化,从而增强了程序执行和调试过程的透明性。AnyviewB除了能够在出输出窗口中报告程序存在的各种语法错误的类型,并指出错误所在的源代码行号,而且能够识别程序中使用到的各种变量,监控程序的执行过程,并以动态视图的形式显示程序的执行与调试状态。