发明名称 一种面向粒的编程集成开发系统
摘要 本发明公开了一种面向粒的编程集成开发平台,该平台分为编辑器、编译器、虚拟机、调试器和类-粒层次结构构造器;所述编辑器、编译器和调试器分别与类-粒层次结构构造器相互通信,所述调试器还分别与编辑器和虚拟机连接。该平台提供了对面向粒的编程(Granule-Oriented Programming)语言的编码、编译、调试功能;将程序的信息由独立的类-粒层次结构构造器进行管理,依靠面向粒的编程集成开发平台我们可以很容易定义粒,并将类代码与粒代码透明的融合,同时类-粒之间的自动定位功能和丰富的信息显示功能也使得代码编辑、故障确定和新粒的编写更为方便。
申请公布号 CN101826017B 申请公布日期 2012.11.28
申请号 CN201010172797.5 申请日期 2010.05.14
申请人 西安交通大学 发明人 赵银亮;朱常鹏;曾庆花;郑双明;王妮;李聪;张长军;王一群
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 汪人和
主权项 一种面向粒的编程集成开发系统,其特征在于:所述面向粒的编程集成开发系统包括编辑器、编译器、虚拟机、调试器和类‑粒层次结构构造器;所述编辑器、编译器和调试器分别与类‑粒层次结构构造器相互通信,所述调试器还分别与编辑器和虚拟机连接;(1)编辑器所述的编辑器由类编辑模块、粒编辑模块、类信息模块、粒信息模块、关系信息模块和窗口切换模块组成;类编辑模块包括一个类编辑窗口,粒编辑模块包括一个粒编辑窗口,类信息模块包括一个类信息窗口,粒信息模块包括一个粒信息窗口;所述类编辑模块用于修改编辑对象类代码;所述粒编辑模块用于修改编辑对象粒代码;类信息模块显示类信息,所述类信息包括类名和类所在的文件;粒信息模块显示粒信息,所述粒信息包括粒名和粒所在的文件;所述关系信息模块包括树型显示模块、代码显示模块和图形显示模块;树型显示模块包括一个关系信息树型显示窗口;代码显示模块包括一个关系信息代码显示窗口;图形显示模块包括一个关系信息图形显示窗口;树型显示模块显示类粒关系信息和层次结构构成的树型结构图;代码显示模块显示所有类和粒的具体的代码;图形显示模块用图形直观显示粒和它所依附的类之间的关系;所述窗口切换模块分别与类编辑模块、粒编辑模块、类信息模块、粒信息模块、关系信息模块连接,实现类编辑窗口、粒编辑窗口、类信息窗口、粒信息窗口、关系信息树型显示窗口、关系信息代码显示窗口和关系信息图形显示窗口的切换;所述编辑器的类编辑模块和粒编辑模块分别与类‑粒层次结构构造器的类信息处理模块、粒信息处理模块和关系信息处理模块连接,类‑粒层次结构构造器从类编辑模块和粒编辑模块获取GOP源代码,所述类信息 处理模块抽取GOP源代码中所有类信息及其层次结构;所述粒信息处理模块抽取GOP源代码中所有粒信息及其层次结构;所述关系信息处理模块抽取GOP源代码中类和粒之间的关系信息;所述的编辑器的类信息模块与类‑粒层次结构构造器的类信息处理模块连接,编辑器的类信息模块从类‑粒层次结构构造器的类信息处理模块获取所有类信息及其层次结构;所述的编辑器的粒信息模块与类‑粒层次结构构造器的粒信息处理模块连接,编辑器的粒信息模块从类‑粒层次结构构造器的粒信息处理模块获取所有粒信息及其层次结构;所述的编辑器的关系信息模块与类‑粒层次结构构造器的关系信息处理模块连接,编辑器的关系信息模块从类‑粒层次结构构造器的关系信息处理模块获取类和粒之间的关系信息;所述的编辑器的窗口切换模块与类‑粒层次结构构造器的类信息处理模块、粒信息处理模块和关系信息处理模块连接,实现窗口切换时被切换前后窗口内容的信息同步;所述类是OOP标准类;所述粒是GOP领域的基本模块,粒由粒名、类名、粒体和影子类构成,其中类名用来表明该粒所依附的类,将该类称为粒的根类,粒体用来指定粒的期望环境,粒体可以定义自身的成员并且粒体中必须包含一个适合性判断方法,适合性判断方法返回真或假;所述影子类是对种子程序中与该影子类相同名字的类的改进,是在不同上下文下类行为的不同体现,并且只是在相应粒体适合性判断方法为真后才有效;(2)编译器GOP的编译器分为前端模块和后端模块,前端模块又包括词法分析器、语法分析器和静态语义分析器,静态语义分析器又具体包括名字分析模块、类型检查模块、访问控制模块、确定赋值模块;词法分析器根据GOP的构词规则识别程序中的单词;语法分析器对满足GOP语法规则的程序构造一棵抽象语法树AST;静态语义分析器对抽象语法树上的节点以面向对象层次结构建模,在建模的结果之上,通过属性文法的计算过程按照GOP的语义规则完成语义的分析过程;后端模块生成程序的类字节码文件、粒体字节码文件、影子类字节码文件、种子程序‑个体程序配置文件以及该个体程序对应的粒树;(3)虚拟机GOP的虚拟机系统包括装载子系统、运行数据区和执行引擎;装载子系统包含类装载器、粒装载器、影子类装载器和种子程序‑个体程序配置文件装载器;运行数据区包括方法区、堆、栈、PC寄存器、本地方法栈、上下文变量存储区和种子程序‑个体程序存储区;执行引擎分为粒跨度判断模块、适合性监测模块、粒替换模块、上下文管理模块和粒库管理模块;(4)调试器所述调试器包括跟踪模块、粒指示模块、调试器窗口显示模块和个体程序演化模块;跟踪模块用于跟踪虚拟机运行的源代码;粒指示模块用于显示跟踪模块所跟踪的方法所属的粒;调试器窗口显示模块显示虚拟机当前运行的数据域和方法信息;个体程序演化模块可以显示运行出错前的个体程序和这个个体程序的上下文信息;同时可以显示相似粒替换前后的个体程序和这个个体程序的上下文信息;所述的调试器的跟踪模块、粒指示模块和调试器窗口显示模块分别与 类‑粒层次结构构造器的类信息处理模块、粒信息处理模块连接;从类‑粒层次结构构造器的类信息处理模块获取所有类信息及其层次结构,从类‑粒层次结构构造器的粒信息处理模块获取所有粒信息及其层次结构,为调试工作提供指示信息;所述的调试器的跟踪模块、粒指示模块、调试器窗口显示模块和个体程序演化模块分别与编辑器和虚拟机连接;调试器启动编辑器实现对代码的修改,调试器从虚拟机获取当前运行的状态信息;(5)类‑粒层次结构构造器所述的类‑粒层次结构构造器包括类信息处理模块、粒信息处理模块和关系信息处理模块;所述类信息处理模块抽取GOP源代码中所有类信息及其层次结构,并将类信息及其层次结构提供给其他模块;所述粒信息处理模块抽取GOP源代码中所有粒信息及其层次结构,并将粒信息及其层次结构提供给其他模块;所述关系信息处理模块抽取GOP源代码中类和粒之间的关系信息,并将类和粒之间的关系信息提供给其他模块。
地址 710049 陕西省西安市咸宁路28号
您可能感兴趣的专利