[发明专利]基于代码分析的计算模块输入输出数据自动解析方法有效
申请号: | 201110457068.9 | 申请日: | 2011-12-31 |
公开(公告)号: | CN102541614A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 胡迪;闾国年;温永宁;盛业华 | 申请(专利权)人: | 南京师范大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210046 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 代码 分析 计算 模块 输入输出 数据 自动 解析 方法 | ||
技术领域
本发明属于计算机和信息技术领域,特别涉及计算模块输入输出数据解析的方法。
背景技术
随着计算机和信息技术的发展,各种程序设计语言不断出现、发展和更新,各行业根据该领域的特点,选用不同的语言,开发了大量的计算机程序或软件。其中,一些程序中关于数据处理和计算的部分或模块在行业领域较为基础和实用。虽然DCOM、CORBA、Web服务等分布式技术为计算模块的共享和重用提供了有效的技术,XML作为网络上通用的数据交换格式,为计算模块间的数据交换提供有效的方法。但是,计算模块的有效共享和正确运行的关键在于其输入输出数据的说明。由于计算模块本身输入输出数据的结构和格式各异,大多由模块编写者或发布者手工编写输入输出数据的说明,有的计算模块甚至没有任何说明。一些集成开发环境和工具,如Visual Studio、Eclipse,能够根据代码生成部分注释或说明,其缺点在于生成的注释或说明主要是函数或方法名称、输入输出数据名称及类型。当输入输出数据是复杂类型或文件时,并不涉及数据具体的结构和格式。从而,造成了大量计算模块的闲置、无法或难以共享和重用,相同或相近功能计算模块的重复开发。
词法分析和语法分析是编译过程的两个阶段,可以实现程序设计语言单词结构和语法结构的识别与处理。词法分析是指将字符序列转换为标记序列的过程。进行词法分析的程序或者函数叫做词法分析器。语法分析是指根据某种给定的形式文法对标记序列进行分析并确定其语法结构的过程。进行语法分析的程序或者函数叫做语法分析器。语法分析器通常使用一个独立的词法分析器从输入字符中分离出一个个标记,并将标记流作为其输入。实际应用中,词法分析器和语法分析器可以手工编写,也可以使用工具自动生成。其中,Lex类和Yacc类工具分别是词法分析器和语法分析器自动生成工具中应用最为广泛的工具。目前,尚未见到将词法分析和语法分析方法、技术应用到计算模块输入输出数据的结构和格式解析方面。
发明内容
为了解决当前计算模块共享和重用过程中,计算模块编写者或发布者手工编写输入输出数据说明繁琐、采用注释生成工具生成的计算模块输入输出数据说明不够详细,仅包括输入输出数据及其类型,而不包括输入输出数据的具体结构和格式的问题,本发明的目的是提供一种计算模块输入输出数据自动解析方法,该方法不仅能够自动解析、生成计算模块源代码中输入输出数据的说明,而且生成的输入输出数据说明包括数据的名称、类型、结构和格式信息,能够满足计算模块共享和重用过程中对输入输出数据说明的要求。
本发明解决其技术问题所采用的技术方案是:
基于代码分析的计算模块输入输出数据自动解析方法,包括以下两个阶段:
第一阶段,针对不同的程序设计语言分别构造面向计算模块输入输出要素的词法分析器和语法分析器;其中,计算模块输入输出要素模型包括过程、变量、常量和格式四种实体,过程实体包括名称、类型、父过程和子过程集合属性;变量和常量实体均包括名称、类型、维度、值和所在过程属性;格式实体包括格式项、项格式描述和控制格式描述属性;格式项为常量或变量,或者是两者的组合;
(1)面向计算模块输入输出要素的词法分析器构造,包括下列步骤:
a) 标记分类:基于所述计算模块输入输出要素模型,将计算模块采用的程序设计语言所涉及的字符分为标识符、整型常数、实型常数、数据类型关键字、控制结构关键字、文件操作关键字、读写操作关键字、数据格式描述符、控制格式描述符、注释、空白字符和其它字符;
b) 定义词法标记:根据计算模块程序设计语言的词法规则,将所述标识符、整型常数、实型常数、数据格式描述符、控制格式描述符、注释和空白字符分别定义为一种标记;将所述数据类型关键字、控制结构关键字、文件操作关键字和读写操作关键字,每个关键字定义为一种标记;
c) 对标记添加词法动作:对于语法分析有用的标记,包括标识符、整型常数、实型常数、数据类型关键字、控制结构关键字、文件操作关键字、读写操作关键字、数据格式描述符和控制格式描述符标记,记录并将标记值传递给语法分析器,返回标记类型;对语法分析无用的标记,包括注释、空白字符标记和其它字符作丢弃处理;
d) 根据上述词法标记及其词法动作,通过编程或词法分析器自动化生成工具的方式实现面向计算模块输入输出要素的词法分析器;
(2)面向计算模块输入输出要素的语法分析器构造,包括下列步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110457068.9/2.html,转载请声明来源钻瓜专利网。