一种编程方法.pdf

上传人:a2 文档编号:1036758 上传时间:2018-03-27 格式:PDF 页数:9 大小:330.74KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110338428.3

申请日:

2011.10.31

公开号:

CN102323891A

公开日:

2012.01.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/45申请日:20111031|||公开

IPC分类号:

G06F9/45

主分类号:

G06F9/45

申请人:

易立; 曾京

发明人:

胡月军; 沈志斌; 曾京; 易立

地址:

100098 北京市海淀区太阳园3号楼2201

优先权:

专利代理机构:

北京三聚阳光知识产权代理有限公司 11250

代理人:

张建纲

PDF下载: PDF下载
内容摘要

本发明公开了一种编程方法,包括以下步骤:a.在系统初始化前,先通过CPU指令体系的指令预先合成接口函数的接口函数目标代码信息,再定义系统基本模;b.把所述系统基本模装入词典并对系统进行初始化;c.词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模装入所述词典,然后在所述词典中建立起针对该扩展模的信息索引,并生成扩展模索引信息;d.翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译;e.装配器遍历所述词典,并进行数据装配;f.数据装配后,按函数目标代码的实际位置,修改机器调用指令访问地址。

权利要求书

1: 一种编程方法, 其特征包括以下步骤 : a. 在系统初始化前, 先通过 CPU 指令体系的指令预先合成接口函数的接口函数目标代 码信息, 再定义系统基本模 ; b. 建立词典, 把所述系统基本模装入所述词典, 并对系统进行初始化 ; c. 词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模 装入所述词典, 然后在所述词典中建立起针对该扩展模的信息索引, 并生成扩展模索引信 息; d. 翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译 ; e. 装配器遍历所述词典, 并进行数据装配 ; f. 数据装配后, 按函数目标代码的实际位置, 修改机器调用指令访问地址。
2: 根据权利要求 1 所述的编程方法, 其特征在于 : 所述接口函数目标代码信息包括接口函数索引信息, 和与所述接口函数索引信息成映 射关系的接口函数机器代码信息, 所述系统基本模的数据结构为包括系统基本模名称、 系 统基本模属性和系统基本模输入参数 ; 所述接口函数索引信息的数据结构为包括接口函数名、 用于表示所述接口函数目标码 信息空间位置的接口函数目标代码入口地址、 接口函数属性、 接口函数输入参数和接口函 数状态标识 ; 所述系统基本模具有系统基本模成员函数, 所述系统基本模成员函数具有系统基本模 成员函数索引信息, 该索引信息的数据结构为包括与所述接口函数名、 所述程序函数目标 代码入口地址、 所述接口函数属性、 所述接口函数输入参数和所述接口函数状态标识分别 成映射关系的系统基本模成员函数名、 系统基本模成员函数目标代码入口地址、 系统基本 模成员函数属性和系统基本模成员函数输入参数和系统基本模成员函数状态标识。
3: 根据权利要求 1 或 2 所述的编程方法, 其特征在于 : 所述步骤 b 中对系统进行初始化的步骤具体为在词典中建立所述系统基本模的成员 函数的信息索引, 并生成与步骤 a 中所述的接口函数索引信息相对应的系统基本模成员函 数索引信息, 再将所述程序函数目标代码入口地址存储在信息索引的相应位置中。
4: 根据权利要求 3 所述的编程方法, 其特征在于 : 所述扩展模包括扩展模成员对象和扩展模成员函数, 所述扩展模成员函数的数据结构 为包括与系统基本模成员函数名、 系统基本模成员函数目标代码入口地址、 系统基本模成 员函数属性、 系统基本模成员函数输入参数和系统基本模成员函数状态标识分别相对应的 扩展模成员函数名、 扩展模成员函数目标代码入口地址、 扩展模成员函数属性、 扩展模成员 函数输入参数和扩展模成员函数状态标识 ; 所述扩展模成员函数包括运算符和 / 或普通函 数; 所述扩展模成员对象的数据结构为包括扩展模成员对象名、 用于存储扩展模成员对象 的扩展模成员对象数据入口地址、 扩展模成员对象属性和扩展模成员对象状态标识。
5: 根据权利要求 4 所述的编程方法, 其特征在于 : 翻译器的翻译步骤具体为 : 翻译器根据所述词典中扩展模成员函数实体文本位置地址 信息, 从程序源代码文本中调取实体文本, 所述实体文本为已装入所述词典中的所述词的 组合 ; 并将所述实体文本翻译成扩展模成员函数目标机器代码信息, 同时在计算机中开辟 的临时存储空间, 并将所述扩展模成员函数目标机器代码信息以程序文件为基本单位存入 2 所述临时存储空间 ; 所述临时存储空间具有临时存储空间入口地址信息, 使所述临时存储 空间入口地址信息与所述扩展模成员函数目标代码入口地址信息成映射关系 ; 其中, 翻译器在翻译过程中扫描检测所述实体文本 : 当扫描检测到运算符字符串信息或普通函数字符串信息时, 到词典中查找具有函数名 与其同名的基本模成员函数索引信息, 或扩展模成员函数索引信息 : i. 所述翻译器根据查找到的索引信息将词典中相应的所述系统基本模成员函数或所 述扩展模成员函数的状态标识设置为待使用状态 ; ii 所述翻译器在所述临时存储空间中加入相应的调用指令, 和指向所述基本模成员函 数索引信息或所述扩展模成员函数索引信息的跳转位置入口 ; 当扫描检测到扩展模成员对象字符串信息时, 所述翻译器将扩展模成员对象状态标识 设置为待使用状态标识。
6: 根据权利要求 5 所述的编程方法, 其特征在于 : 所述数据装配具体为 : 当被检测到的所述基本模成员函数索引信息或所述扩展模成员 函数索引信息的所述成员函数态标识为待使用状态标识时, 所述装配器将所述基本模成员 函数目标代码信息复制到所述装配器的目标代码区中, 或者所述装配器将扩展模成员函数 目标机器代码信息从步骤 d 的所述临时存储空间复制到装配器的目标代码区中。
7: 根据权利要求 6 所述的编程方法, 其特征在于 : 修改机器调用指令访问地址根据检测到的索引信息将词典中相应的所述系统基本模 成员函数或所述扩展模成员函数的函数信息索引入口地址修改为装配器的目标代码区的 函数目标代码信息所处入口位置。
8: 根据权利要求 6 或 7 所述的编程方法, 其特征在于 : 所述接口函数索引信息的数据结构还包括接口函数目标代码信息大小属性 ; 所述扩展 模的成员函数的数据结构还包括所述扩展模成员函数目标机器代码信息大小属性 ; 上述步骤 a 还包括在预先合成接口函数的接口函数目标代码信息后对接口函数目标 代码信息的大小记录在所述接口函数目标代码信息大小属性中 ; 且在翻译过程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所述扩 展模成员函数目标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信息大 小属性中 ; 并根据所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码信息 的大小将所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息连续存 储在所述装配器的所述目标代码区中。

说明书


一种编程方法

    【技术领域】
     本发明涉及计算机领域中的一种编程方法。背景技术
     现有技术中有很多种编程语言和采用该语言的编程方法, 如 C 语言, C++ 等, 均具 有其自身的特点 ; 然而公开号为 CN1100543 的中国专利申请中公开了一种汉语编程单片机 的计算机系统, 其中单片机汉语编程系统具有一个汉语词典单元, 该汉语词典单元完成系 统的解释, 编译和运行 ; 词典单元中含有操作系统应有的设备的驱动, 设备管理、 文件管理、 命令管理、 解释、 编译、 编辑、 跟踪调试等 ; 该汉语词典单元依据用户输入的文本合法输入 流, 能繁衍出汉语新词的词典标识单元, 该词典标识单元也可以在读写存储体中繁衍出包 括此功能的新的复合词 ; 该系统采用软 - 硬, 一体化设计将一只可读存储体和一可读写存 储体的部件地址在硬件上连接重叠, 两个存储体的数据的读出与否通过总线仲裁器决定, 该总线仲裁器利用系统的 “固词 - >” 单元指针上的地址判定选择两个存储体中的一个 ; 应用系统中可将可读写存储体中的词典部分转移到只可读存储体中, 同时总线仲裁器和 “固 词 - >” 可根据新的方式选择读写两个存储体之一。上述的计算机系统的所公开的编程方 法无法实现在具有不同 CPU 的设备中使用, 因此无法实现跨硬件平台, 造成该编程方法的 应用不够广泛。另外, 采用 C 和 CC++ 的编程方法是首先进行编译, 最后翻译成机器代码, 由 于不同 CPU 有不同的翻译标准, 无法进行统一, 因此采用 C 和 C++ 语言无法实现在具有不同 CPU 的设备中进行编程。 发明内容
     为此, 本发明要解决的技术问题在于提出一种能在具有不同 CPU 的设备中使用, 能够实现跨硬件平台的编程方法。
     一种编程方法, 包括以下步骤 :
     a. 在系统初始化前, 先通过 CPU 指令体系的指令预先合成接口函数的接口函数目 标代码信息, 再定义系统基本模 ;
     b. 建立词典, 把所述系统基本模装入词典, 并对系统进行初始化 ;
     c. 词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩 展模装入所述词典, 然后在所述词典中建立起针对该扩展模的信息索引, 并生成扩展模索 引信息 ;
     d. 翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译 ;
     e. 装配器遍历所述词典, 并进行数据装配 ;
     f. 数据装配后, 按函数目标代码的实际位置, 修改机器调用指令访问地址。
     上述的编程方法, 所述接口函数目标代码信息包括接口函数索引信息, 和与所述 接口函数索引信息成映射关系的接口函数机器代码信息, 所述系统基本模的数据结构为包 括系统基本模名称、 系统基本模属性和系统基本模输入参数 ; 所述接口函数索引信息的数据结构为包括接口函数名、 用于表示所述接口函数目标码信息空间位置的接口函数目标代 码入口地址、 接口函数属性、 接口函数输入参数和接口函数状态标识 ; 所述系统基本模具有 系统基本模成员函数, 所述系统基本模成员函数具有系统基本模成员函数索引信息, 该索 引信息的数据结构为包括与所述接口函数名、 所述程序函数目标代码入口地址、 所述接口 函数属性、 所述接口函数输入参数和所述接口函数状态标识分别成映射关系的系统基本模 成员函数名、 系统基本模成员函数目标代码入口地址、 系统基本模成员函数属性和系统基 本模成员函数输入参数和系统基本模成员函数状态标识。
     上述的编程方法, 所述步骤 b 中对系统进行初始化的步骤具体为在词典中建立所 述系统基本模的成员函数的信息索引, 并生成与步骤 a 中所述的接口函数索引信息相对应 的系统基本模成员函数索引信息, 再将所述程序函数目标代码入口地址存储在信息索引的 相应位置中。
     上述的编程方法, 所述扩展模包括扩展模成员对象和扩展模成员函数, 所述扩展 模的成员函数的数据结构为包括与系统基本模成员函数名、 系统基本模成员函数目标代码 入口地址、 系统基本模成员函数属性、 系统基本模成员函数输入参数和系统基本模成员函 数状态标识分别相对应的扩展模成员函数名、 扩展模成员函数目标代码入口地址、 扩展模 成员函数属性、 扩展模成员函数输入参数和扩展模成员函数状态标识 ; 所述扩展模成员函 数包括运算符和 / 或普通函数 ; 所述扩展模成员对象的数据结构为包括扩展模成员对象 名、 用于存储扩展模成员对象的扩展模成员对象数据入口地址、 扩展模成员对象属性和扩 展模成员对象状态标识。
     上述的编程方法, 翻译器的翻译步骤具体为 : 翻译器根据所述词典中扩展模成员 函数实体文本位置地址信息, 从程序源代码文本中调取实体文本, 所述实体文本为已装入 所述词典中的所述词的组合 ; 并将所述实体文本翻译成扩展模成员函数目标机器代码信 息, 同时在计算机中开辟的临时存储空间, 并将所述扩展模成员函数目标机器代码信息以 程序文件为基本单位存入所述临时存储空间 ; 所述临时存储空间具有临时存储空间入口地 址信息, 使所述临时存储空间入口地址信息与所述扩展模成员函数目标代码入口地址信息 成映射关系 ;
     其中, 翻译器在翻译过程中扫描检测所述实体文本 :
     当扫描检测到运算符字符串信息或普通函数字符串信息时, 到词典中查找具有函 数名与其同名的基本模成员函数索引信息, 或扩展模成员函数索引信息 :
     i. 所述翻译器根据查找到的索引信息将词典中相应的所述系统基本模成员函数 或所述扩展模成员函数的状态标识设置为待使用状态 ;
     ii 所述翻译器在所述临时存储空间中加入相应的调用指令, 和指向基本模成员函 数索引信息或扩展模成员函数索引信息的跳转位置入口 ;
     当扫描检测到扩展模成员对象字符串信息时, 所述翻译器将扩展模成员对象状态 标识设置为待使用状态标识。
     上述的编程方法, 所述数据装配具体为 : 当被检测到的所述基本模成员函数索引 信息或所述扩展模成员函数索引信息的所述成员函数态标识为待使用状态标识时, 所述装 配器将所述基本模成员函数目标代码信息复制到所述装配器的目标代码区中, 或者所述装 配器将扩展模成员函数目标机器代码信息从步骤 d 的所述临时存储空间复制到装配器的目标代码区中。
     上述的编程方法, 上述步骤 f 的修改机器调用指令访问地址根据检测到的索引信 息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的函数信息索引入口 地址修改为装配器的目标代码区的函数目标代码信息所处入口位置。
     上述的编程方法, 其中所述接口函数索引信息的数据结构还包括接口函数目标代 码信息大小属性 ; 所述扩展模的成员函数的数据结构还包括所述扩展模成员函数目标机器 代码信息大小属性 ; 上述步骤 a 还包括在预先合成接口函数的接口函数目标代码信息后对 接口函数目标代码信息的大小记录在所述接口函数目标代码信息大小属性中 ; 且在翻译过 程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所述扩展模成员函数目 标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信息大小属性中 ; 并根据 所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码信息的大小将所 述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息连续存储在所述装 配器的所述目标代码区中。
     本发明的优点在于 :
     1. 本编程方法在系统初始化前, 先通过 CPU 指令体系的指令预先合成接口函数的 接口函数目标代码信息, 以接口函数形式与不同 CPU 机器指令对接, 既可以在不同 CPU 下实 现编程, 又缩短了不同 CPU 下语言环境开发周期, 降低环境的开发难度, 实现跨硬件平台, 方便了编程方法在具有不同 CPU 的设备的推广使用。 2. 从词典的建立, 到函数的翻译, 到目标代码的装配, 完全以词典为主的索引, 相 对 C 语言, C++, JAVA 来说其编译过程更加简洁更加结构化。
     3. 所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息在所 述装配器的所述目标代码区中的为连续存储, 可以保证目标代码无缝隙结合, 应用程序不 易被破坏, 提高了可执行代码的安全性。
     附图说明 为了使本发明的内容更容易被清楚的理解, 下面根据本发明的具体实施例并结合 附图, 对本发明作进一步详细的说明。
     图 1 编程方法的流程图 ;
     具体实施方式
     实施例 1
     如图 1 所示的编程方法, 包括以下步骤 :
     a. 在系统初始化前, 先通过 CPU 指令体系的指令预先合成接口函数的接口函数目 标代码信息, 再定义系统基本模 ;
     b. 建立词典, 把所述系统基本模装入所述词典, 并对系统进行初始化 ;
     c. 词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩 展模装入所述词典, 然后在所述词典中建立起针对该扩展模的信息索引, 并生成扩展模索 引信息 ;
     d. 翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译 ;e. 装配器遍历所述词典, 并进行数据装配 ;
     f. 数据装配后, 按函数目标代码的实际位置, 修改机器调用指令访问地址。
     其中, 所述接口函数目标代码信息优选为包括接口函数索引信息, 和与所述接口 函数索引信息成映射关系的接口函数机器代码信息, 所述系统基本模的数据结构为包括系 统基本模名称、 系统基本模属性和系统基本模输入参数 ; 所述接口函数索引信息的数据结 构为包括接口函数名、 用于表示所述接口函数目标码信息空间位置的接口函数目标代码入 口地址、 接口函数属性、 接口函数输入参数和接口函数状态标识 ; 所述系统基本模具有系统 基本模成员函数, 所述系统基本模成员函数具有系统基本模成员函数索引信息, 该索引信 息的数据结构为包括与所述接口函数名、 所述程序函数目标代码入口地址、 所述接口函数 属性、 所述接口函数输入参数和所述接口函数状态标识分别成映射关系的系统基本模成员 函数名、 系统基本模成员函数目标代码入口地址、 系统基本模成员函数属性和系统基本模 成员函数输入参数和系统基本模成员函数状态标识 ;
     所述步骤 b 中对系统进行初始化的步骤具体优选为在词典中建立所述系统基本 模的成员函数的信息索引, 并生成与步骤 a 中所述的接口函数索引信息相对应的系统基 本模成员函数索引信息, 再将所述程序函数目标代码入口地址存储在信息索引的相应位置 中。 所述扩展模优选为包括扩展模成员对象和扩展模成员函数, 所述扩展模的成员函 数的数据结构为包括与系统基本模成员函数名、 系统基本模成员函数目标代码入口地址、 系统基本模成员函数属性、 系统基本模成员函数输入参数和系统基本模成员函数状态标识 分别相对应的扩展模成员函数名、 扩展模成员函数目标代码入口地址、 扩展模成员函数属 性、 扩展模成员函数输入参数和扩展模成员函数状态标识 ; 所述扩展模成员函数包括运算 符和 / 或普通函数 ; 所述扩展模成员对象的数据结构为包括扩展模成员对象名、 用于存储 扩展模成员对象的扩展模成员对象数据入口地址、 扩展模成员对象属性和扩展模成员对象 状态标识。
     翻译器的翻译步骤具体优选为 : 翻译器根据所述词典中扩展模成员函数实体文本 位置地址信息, 从程序源代码文本中调取实体文本, 所述实体文本为已装入所述词典中的 所述词的组合 ; 并将所述实体文本翻译成扩展模成员函数目标机器代码信息, 同时在计算 机中开辟的临时存储空间, 并将所述扩展模成员函数目标机器代码信息以程序文件为基本 单位存入所述临时存储空间 ; 所述临时存储空间具有临时存储空间入口地址信息, 使所述 临时存储空间入口地址信息与所述扩展模成员函数目标代码入口地址信息成映射关系 ;
     其中, 翻译器在翻译过程中扫描检测所述实体文本 :
     当扫描检测到运算符字符串信息或普通函数字符串信息时, 到词典中查找具有函 数名与其同名的基本模成员函数索引信息, 或扩展模成员函数索引信息 :
     i. 所述翻译器根据查找到的索引信息将词典中相应的所述系统基本模成员函数 或所述扩展模成员函数的状态标识设置为待使用状态 ;
     ii 所述翻译器在所述临时存储空间中加入相应的调用指令, 和指向基本模成员函 数索引信息或扩展模成员函数索引信息的跳转位置入口 ;
     当扫描检测到扩展模成员对象字符串信息时, 所述翻译器将扩展模成员对象状态 标识设置为待使用状态标识。
     所述数据装配过程具体优选为 : 当被检测到的所述基本模成员函数索引信息或所 述扩展模成员函数索引信息的所述成员函数态标识为待使用状态标识时, 所述装配器将所 述基本模成员函数目标代码信息复制到所述装配器的目标代码区中, 或者所述装配器将扩 展模成员函数目标机器代码信息从步骤 d 的所述临时存储空间复制到装配器的目标代码 区中。所述基本模成员函数目标代码信息和 / 或扩展模成员函数目标机器代码信息在所述 装配器的所述目标代码区中的优选为连续存储。
     上述修改机器调用指令访问地址优选为根据检测到的索引信息将词典中相应的 所述系统基本模成员函数或所述扩展模成员函数的函数信息索引入口地址修改为装配器 的目标代码区的函数目标代码信息所处入口位置。
     本发明的编程方法可进一步地优化为 :
     所述接口函数索引信息的数据结构还包括接口函数目标代码信息大小属性 ; 所述 扩展模的成员函数的数据结构还包括所述扩展模成员函数目标机器代码信息大小属性 ;
     上述步骤 a 还包括在预先合成接口函数的接口函数目标代码信息后对接口函数 目标代码信息的大小记录在所述接口函数目标代码信息大小属性中 ;
     且在翻译过程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所 述扩展模成员函数目标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信 息大小属性中 ; 并根据所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码 信息的大小将所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息连 续存储在所述装配器的所述目标代码区中。
     显然, 上述实施例仅仅是为清楚地说明所作的举例, 而并非对实施方式的限定。 对 于所属领域的普通技术人员来说, 在上述说明的基础上还可以根据设备的大小不同做出其 它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出 的显而易见的变化或变动仍处于本发明创造的保护范围之中。
    

一种编程方法.pdf_第1页
第1页 / 共9页
一种编程方法.pdf_第2页
第2页 / 共9页
一种编程方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种编程方法.pdf》由会员分享,可在线阅读,更多相关《一种编程方法.pdf(9页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102323891A43申请公布日20120118CN102323891ACN102323891A21申请号201110338428322申请日20111031G06F9/4520060171申请人易立地址100098北京市海淀区太阳园3号楼2201申请人曾京72发明人胡月军沈志斌曾京易立74专利代理机构北京三聚阳光知识产权代理有限公司11250代理人张建纲54发明名称一种编程方法57摘要本发明公开了一种编程方法,包括以下步骤A在系统初始化前,先通过CPU指令体系的指令预先合成接口函数的接口函数目标代码信息,再定义系统基本模;B把所述系统基本模装入词典并对系统进行初始化;C词。

2、典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模装入所述词典,然后在所述词典中建立起针对该扩展模的信息索引,并生成扩展模索引信息;D翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译;E装配器遍历所述词典,并进行数据装配;F数据装配后,按函数目标代码的实际位置,修改机器调用指令访问地址。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书5页附图1页CN102323901A1/2页21一种编程方法,其特征包括以下步骤A在系统初始化前,先通过CPU指令体系的指令预先合成接口函数的接口函数目标代码信息,再定义系统基本模;B建立词典,把所述系统基。

3、本模装入所述词典,并对系统进行初始化;C词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模装入所述词典,然后在所述词典中建立起针对该扩展模的信息索引,并生成扩展模索引信息;D翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译;E装配器遍历所述词典,并进行数据装配;F数据装配后,按函数目标代码的实际位置,修改机器调用指令访问地址。2根据权利要求1所述的编程方法,其特征在于所述接口函数目标代码信息包括接口函数索引信息,和与所述接口函数索引信息成映射关系的接口函数机器代码信息,所述系统基本模的数据结构为包括系统基本模名称、系统基本模属性和系统基本模输入参数;所述接口函数索引信。

4、息的数据结构为包括接口函数名、用于表示所述接口函数目标码信息空间位置的接口函数目标代码入口地址、接口函数属性、接口函数输入参数和接口函数状态标识;所述系统基本模具有系统基本模成员函数,所述系统基本模成员函数具有系统基本模成员函数索引信息,该索引信息的数据结构为包括与所述接口函数名、所述程序函数目标代码入口地址、所述接口函数属性、所述接口函数输入参数和所述接口函数状态标识分别成映射关系的系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性和系统基本模成员函数输入参数和系统基本模成员函数状态标识。3根据权利要求1或2所述的编程方法,其特征在于所述步骤B中对系统进行初始化。

5、的步骤具体为在词典中建立所述系统基本模的成员函数的信息索引,并生成与步骤A中所述的接口函数索引信息相对应的系统基本模成员函数索引信息,再将所述程序函数目标代码入口地址存储在信息索引的相应位置中。4根据权利要求3所述的编程方法,其特征在于所述扩展模包括扩展模成员对象和扩展模成员函数,所述扩展模成员函数的数据结构为包括与系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性、系统基本模成员函数输入参数和系统基本模成员函数状态标识分别相对应的扩展模成员函数名、扩展模成员函数目标代码入口地址、扩展模成员函数属性、扩展模成员函数输入参数和扩展模成员函数状态标识;所述扩展模成员函。

6、数包括运算符和/或普通函数;所述扩展模成员对象的数据结构为包括扩展模成员对象名、用于存储扩展模成员对象的扩展模成员对象数据入口地址、扩展模成员对象属性和扩展模成员对象状态标识。5根据权利要求4所述的编程方法,其特征在于翻译器的翻译步骤具体为翻译器根据所述词典中扩展模成员函数实体文本位置地址信息,从程序源代码文本中调取实体文本,所述实体文本为已装入所述词典中的所述词的组合;并将所述实体文本翻译成扩展模成员函数目标机器代码信息,同时在计算机中开辟的临时存储空间,并将所述扩展模成员函数目标机器代码信息以程序文件为基本单位存入权利要求书CN102323891ACN102323901A2/2页3所述临时。

7、存储空间;所述临时存储空间具有临时存储空间入口地址信息,使所述临时存储空间入口地址信息与所述扩展模成员函数目标代码入口地址信息成映射关系;其中,翻译器在翻译过程中扫描检测所述实体文本当扫描检测到运算符字符串信息或普通函数字符串信息时,到词典中查找具有函数名与其同名的基本模成员函数索引信息,或扩展模成员函数索引信息I所述翻译器根据查找到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的状态标识设置为待使用状态;II所述翻译器在所述临时存储空间中加入相应的调用指令,和指向所述基本模成员函数索引信息或所述扩展模成员函数索引信息的跳转位置入口;当扫描检测到扩展模成员对象字符串信息时,。

8、所述翻译器将扩展模成员对象状态标识设置为待使用状态标识。6根据权利要求5所述的编程方法,其特征在于所述数据装配具体为当被检测到的所述基本模成员函数索引信息或所述扩展模成员函数索引信息的所述成员函数态标识为待使用状态标识时,所述装配器将所述基本模成员函数目标代码信息复制到所述装配器的目标代码区中,或者所述装配器将扩展模成员函数目标机器代码信息从步骤D的所述临时存储空间复制到装配器的目标代码区中。7根据权利要求6所述的编程方法,其特征在于修改机器调用指令访问地址根据检测到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的函数信息索引入口地址修改为装配器的目标代码区的函数目标代码信。

9、息所处入口位置。8根据权利要求6或7所述的编程方法,其特征在于所述接口函数索引信息的数据结构还包括接口函数目标代码信息大小属性;所述扩展模的成员函数的数据结构还包括所述扩展模成员函数目标机器代码信息大小属性;上述步骤A还包括在预先合成接口函数的接口函数目标代码信息后对接口函数目标代码信息的大小记录在所述接口函数目标代码信息大小属性中;且在翻译过程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所述扩展模成员函数目标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信息大小属性中;并根据所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码信息的大小将所述基本模成员函数目标代码。

10、信息和扩展模成员函数目标机器代码信息连续存储在所述装配器的所述目标代码区中。权利要求书CN102323891ACN102323901A1/5页4一种编程方法技术领域0001本发明涉及计算机领域中的一种编程方法。背景技术0002现有技术中有很多种编程语言和采用该语言的编程方法,如C语言,C等,均具有其自身的特点;然而公开号为CN1100543的中国专利申请中公开了一种汉语编程单片机的计算机系统,其中单片机汉语编程系统具有一个汉语词典单元,该汉语词典单元完成系统的解释,编译和运行;词典单元中含有操作系统应有的设备的驱动,设备管理、文件管理、命令管理、解释、编译、编辑、跟踪调试等;该汉语词典单元依据。

11、用户输入的文本合法输入流,能繁衍出汉语新词的词典标识单元,该词典标识单元也可以在读写存储体中繁衍出包括此功能的新的复合词;该系统采用软硬,一体化设计将一只可读存储体和一可读写存储体的部件地址在硬件上连接重叠,两个存储体的数据的读出与否通过总线仲裁器决定,该总线仲裁器利用系统的“固词”单元指针上的地址判定选择两个存储体中的一个;应用系统中可将可读写存储体中的词典部分转移到只可读存储体中,同时总线仲裁器和“固词”可根据新的方式选择读写两个存储体之一。上述的计算机系统的所公开的编程方法无法实现在具有不同CPU的设备中使用,因此无法实现跨硬件平台,造成该编程方法的应用不够广泛。另外,采用C和CC的编程。

12、方法是首先进行编译,最后翻译成机器代码,由于不同CPU有不同的翻译标准,无法进行统一,因此采用C和C语言无法实现在具有不同CPU的设备中进行编程。发明内容0003为此,本发明要解决的技术问题在于提出一种能在具有不同CPU的设备中使用,能够实现跨硬件平台的编程方法。0004一种编程方法,包括以下步骤0005A在系统初始化前,先通过CPU指令体系的指令预先合成接口函数的接口函数目标代码信息,再定义系统基本模;0006B建立词典,把所述系统基本模装入词典,并对系统进行初始化;0007C词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模装入所述词典,然后在所述词典中建立起针对该扩展。

13、模的信息索引,并生成扩展模索引信息;0008D翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译;0009E装配器遍历所述词典,并进行数据装配;0010F数据装配后,按函数目标代码的实际位置,修改机器调用指令访问地址。0011上述的编程方法,所述接口函数目标代码信息包括接口函数索引信息,和与所述接口函数索引信息成映射关系的接口函数机器代码信息,所述系统基本模的数据结构为包括系统基本模名称、系统基本模属性和系统基本模输入参数;所述接口函数索引信息的数说明书CN102323891ACN102323901A2/5页5据结构为包括接口函数名、用于表示所述接口函数目标码信息空间位置的接口函数目标代码。

14、入口地址、接口函数属性、接口函数输入参数和接口函数状态标识;所述系统基本模具有系统基本模成员函数,所述系统基本模成员函数具有系统基本模成员函数索引信息,该索引信息的数据结构为包括与所述接口函数名、所述程序函数目标代码入口地址、所述接口函数属性、所述接口函数输入参数和所述接口函数状态标识分别成映射关系的系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性和系统基本模成员函数输入参数和系统基本模成员函数状态标识。0012上述的编程方法,所述步骤B中对系统进行初始化的步骤具体为在词典中建立所述系统基本模的成员函数的信息索引,并生成与步骤A中所述的接口函数索引信息相对应的系。

15、统基本模成员函数索引信息,再将所述程序函数目标代码入口地址存储在信息索引的相应位置中。0013上述的编程方法,所述扩展模包括扩展模成员对象和扩展模成员函数,所述扩展模的成员函数的数据结构为包括与系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性、系统基本模成员函数输入参数和系统基本模成员函数状态标识分别相对应的扩展模成员函数名、扩展模成员函数目标代码入口地址、扩展模成员函数属性、扩展模成员函数输入参数和扩展模成员函数状态标识;所述扩展模成员函数包括运算符和/或普通函数;所述扩展模成员对象的数据结构为包括扩展模成员对象名、用于存储扩展模成员对象的扩展模成员对象数据入。

16、口地址、扩展模成员对象属性和扩展模成员对象状态标识。0014上述的编程方法,翻译器的翻译步骤具体为翻译器根据所述词典中扩展模成员函数实体文本位置地址信息,从程序源代码文本中调取实体文本,所述实体文本为已装入所述词典中的所述词的组合;并将所述实体文本翻译成扩展模成员函数目标机器代码信息,同时在计算机中开辟的临时存储空间,并将所述扩展模成员函数目标机器代码信息以程序文件为基本单位存入所述临时存储空间;所述临时存储空间具有临时存储空间入口地址信息,使所述临时存储空间入口地址信息与所述扩展模成员函数目标代码入口地址信息成映射关系;0015其中,翻译器在翻译过程中扫描检测所述实体文本0016当扫描检测到。

17、运算符字符串信息或普通函数字符串信息时,到词典中查找具有函数名与其同名的基本模成员函数索引信息,或扩展模成员函数索引信息0017I所述翻译器根据查找到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的状态标识设置为待使用状态;0018II所述翻译器在所述临时存储空间中加入相应的调用指令,和指向基本模成员函数索引信息或扩展模成员函数索引信息的跳转位置入口;0019当扫描检测到扩展模成员对象字符串信息时,所述翻译器将扩展模成员对象状态标识设置为待使用状态标识。0020上述的编程方法,所述数据装配具体为当被检测到的所述基本模成员函数索引信息或所述扩展模成员函数索引信息的所述成员函数。

18、态标识为待使用状态标识时,所述装配器将所述基本模成员函数目标代码信息复制到所述装配器的目标代码区中,或者所述装配器将扩展模成员函数目标机器代码信息从步骤D的所述临时存储空间复制到装配器的说明书CN102323891ACN102323901A3/5页6目标代码区中。0021上述的编程方法,上述步骤F的修改机器调用指令访问地址根据检测到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的函数信息索引入口地址修改为装配器的目标代码区的函数目标代码信息所处入口位置。0022上述的编程方法,其中所述接口函数索引信息的数据结构还包括接口函数目标代码信息大小属性;所述扩展模的成员函数的数据结。

19、构还包括所述扩展模成员函数目标机器代码信息大小属性;上述步骤A还包括在预先合成接口函数的接口函数目标代码信息后对接口函数目标代码信息的大小记录在所述接口函数目标代码信息大小属性中;且在翻译过程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所述扩展模成员函数目标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信息大小属性中;并根据所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码信息的大小将所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息连续存储在所述装配器的所述目标代码区中。0023本发明的优点在于00241本编程方法在系统初始化前,先通过CPU指令体系。

20、的指令预先合成接口函数的接口函数目标代码信息,以接口函数形式与不同CPU机器指令对接,既可以在不同CPU下实现编程,又缩短了不同CPU下语言环境开发周期,降低环境的开发难度,实现跨硬件平台,方便了编程方法在具有不同CPU的设备的推广使用。00252从词典的建立,到函数的翻译,到目标代码的装配,完全以词典为主的索引,相对C语言,C,JAVA来说其编译过程更加简洁更加结构化。00263所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息在所述装配器的所述目标代码区中的为连续存储,可以保证目标代码无缝隙结合,应用程序不易被破坏,提高了可执行代码的安全性。附图说明0027为了使本发明的内容更。

21、容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。0028图1编程方法的流程图;具体实施方式0029实施例10030如图1所示的编程方法,包括以下步骤0031A在系统初始化前,先通过CPU指令体系的指令预先合成接口函数的接口函数目标代码信息,再定义系统基本模;0032B建立词典,把所述系统基本模装入所述词典,并对系统进行初始化;0033C词典发生器将程序源代码中具有与所述系统基本模相同数据结构的词作为扩展模装入所述词典,然后在所述词典中建立起针对该扩展模的信息索引,并生成扩展模索引信息;0034D翻译器根据装入所述词典的扩展模对程序源代码信息进行翻译;说明书C。

22、N102323891ACN102323901A4/5页70035E装配器遍历所述词典,并进行数据装配;0036F数据装配后,按函数目标代码的实际位置,修改机器调用指令访问地址。0037其中,所述接口函数目标代码信息优选为包括接口函数索引信息,和与所述接口函数索引信息成映射关系的接口函数机器代码信息,所述系统基本模的数据结构为包括系统基本模名称、系统基本模属性和系统基本模输入参数;所述接口函数索引信息的数据结构为包括接口函数名、用于表示所述接口函数目标码信息空间位置的接口函数目标代码入口地址、接口函数属性、接口函数输入参数和接口函数状态标识;所述系统基本模具有系统基本模成员函数,所述系统基本模成。

23、员函数具有系统基本模成员函数索引信息,该索引信息的数据结构为包括与所述接口函数名、所述程序函数目标代码入口地址、所述接口函数属性、所述接口函数输入参数和所述接口函数状态标识分别成映射关系的系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性和系统基本模成员函数输入参数和系统基本模成员函数状态标识;0038所述步骤B中对系统进行初始化的步骤具体优选为在词典中建立所述系统基本模的成员函数的信息索引,并生成与步骤A中所述的接口函数索引信息相对应的系统基本模成员函数索引信息,再将所述程序函数目标代码入口地址存储在信息索引的相应位置中。0039所述扩展模优选为包括扩展模成员对。

24、象和扩展模成员函数,所述扩展模的成员函数的数据结构为包括与系统基本模成员函数名、系统基本模成员函数目标代码入口地址、系统基本模成员函数属性、系统基本模成员函数输入参数和系统基本模成员函数状态标识分别相对应的扩展模成员函数名、扩展模成员函数目标代码入口地址、扩展模成员函数属性、扩展模成员函数输入参数和扩展模成员函数状态标识;所述扩展模成员函数包括运算符和/或普通函数;所述扩展模成员对象的数据结构为包括扩展模成员对象名、用于存储扩展模成员对象的扩展模成员对象数据入口地址、扩展模成员对象属性和扩展模成员对象状态标识。0040翻译器的翻译步骤具体优选为翻译器根据所述词典中扩展模成员函数实体文本位置地址。

25、信息,从程序源代码文本中调取实体文本,所述实体文本为已装入所述词典中的所述词的组合;并将所述实体文本翻译成扩展模成员函数目标机器代码信息,同时在计算机中开辟的临时存储空间,并将所述扩展模成员函数目标机器代码信息以程序文件为基本单位存入所述临时存储空间;所述临时存储空间具有临时存储空间入口地址信息,使所述临时存储空间入口地址信息与所述扩展模成员函数目标代码入口地址信息成映射关系;0041其中,翻译器在翻译过程中扫描检测所述实体文本0042当扫描检测到运算符字符串信息或普通函数字符串信息时,到词典中查找具有函数名与其同名的基本模成员函数索引信息,或扩展模成员函数索引信息0043I所述翻译器根据查找。

26、到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的状态标识设置为待使用状态;0044II所述翻译器在所述临时存储空间中加入相应的调用指令,和指向基本模成员函数索引信息或扩展模成员函数索引信息的跳转位置入口;0045当扫描检测到扩展模成员对象字符串信息时,所述翻译器将扩展模成员对象状态标识设置为待使用状态标识。说明书CN102323891ACN102323901A5/5页80046所述数据装配过程具体优选为当被检测到的所述基本模成员函数索引信息或所述扩展模成员函数索引信息的所述成员函数态标识为待使用状态标识时,所述装配器将所述基本模成员函数目标代码信息复制到所述装配器的目标代。

27、码区中,或者所述装配器将扩展模成员函数目标机器代码信息从步骤D的所述临时存储空间复制到装配器的目标代码区中。所述基本模成员函数目标代码信息和/或扩展模成员函数目标机器代码信息在所述装配器的所述目标代码区中的优选为连续存储。0047上述修改机器调用指令访问地址优选为根据检测到的索引信息将词典中相应的所述系统基本模成员函数或所述扩展模成员函数的函数信息索引入口地址修改为装配器的目标代码区的函数目标代码信息所处入口位置。0048本发明的编程方法可进一步地优化为0049所述接口函数索引信息的数据结构还包括接口函数目标代码信息大小属性;所述扩展模的成员函数的数据结构还包括所述扩展模成员函数目标机器代码信。

28、息大小属性;0050上述步骤A还包括在预先合成接口函数的接口函数目标代码信息后对接口函数目标代码信息的大小记录在所述接口函数目标代码信息大小属性中;0051且在翻译过程中所述翻译器在所述临时存储空间中加入相应的调用指令后将所述扩展模成员函数目标机器代码信息的大小记录在所述扩展模成员函数目标机器代码信息大小属性中;0052并根据所述接口函数目标代码信息的大小和所述扩展模成员函数目标机器代码信息的大小将所述基本模成员函数目标代码信息和扩展模成员函数目标机器代码信息连续存储在所述装配器的所述目标代码区中。0053显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以根据设备的大小不同做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。说明书CN102323891ACN102323901A1/1页9图1说明书附图CN102323891A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1