System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于互联网医疗平台的多终端代码映射转译方法技术_技高网

一种用于互联网医疗平台的多终端代码映射转译方法技术

技术编号:43283701 阅读:15 留言:0更新日期:2024-11-12 16:06
本发明专利技术属于终端代码技术领域,本发明专利技术公开了一种用于互联网医疗平台的多终端代码映射转译方法;包括:获取医疗平台待转译的源代码文件,源代码文件包括n段代码片段,对源代码文件进行词法分析,并生成得到抽象语法树;遍历抽象语法树,提取关键代码片段,计算每个关键代码片段的信息熵值和上下文相关性权重;将每个关键代码片段按照对应的信息熵值和上下文相关性权重进行排序,得到有序代码片段序列;将有序代码片段序列进行映射转译,生成目标代码文件;将目标代码文件分发至不同的终端医疗设备,不同的终端医疗设备对运行目标代码文件进行反向映射并运行,极大地降低了人工干预和编码的工作量,提高了转译效率和准确性。

【技术实现步骤摘要】

本专利技术涉及终端代码,更具体地说,本专利技术涉及一种用于互联网医疗平台的多终端代码映射转译方法


技术介绍

1、申请公开号为cn104360850a的专利公开了一种业务代码处理方法及装置,包括:接收外部应用程序发送的获取代码描述的请求,请求包含所述代码描述的关联信息,关联信息包括代码类型和代码值;判断代码类型是否已经加载在预先生成的代码转译映射关系表中,若是,则从代码转译映射关系表中获取与代码值相对应的代码描述;向外部应用程序发送从代码转译映射关系表中获取的与代码值相对应的代码描述,可以减少应用程序内存的开销和冗余,实现业务代码高效、便捷的转译以及代码转译映射关系的同步共享。

2、但是对于互联网医疗领域,由于终端医疗设备的硬件架构和操作系统存在着巨大差异,传统的代码转译方法往往需要针对每一种平台系统进行大量的人工调优,效率低下,且容易引入错误;其控制代码在不同设备上运行效率参差不齐,那将严重影响精准度和安全性;另一方面,现有的代码转译方法往往难以准确评估代码的复杂度上下文相关性,导致转译结果可能存在效率低下或语义错误的问题;此外,传统的代码转译过程缺乏自动化和智能化,需要大量的人工干预和编码,不仅效率低下,而且容易出现人为失误。

3、鉴于此,本专利技术提出一种用于互联网医疗平台的多终端代码映射转译方法以解决上述问题。


技术实现思路

1、为了克服现有技术的上述缺陷,为实现上述目的,本专利技术提供如下技术方案:一种用于互联网医疗平台的多终端代码映射转译方法,包括:s1、获取医疗平台待转译的源代码文件,源代码文件包括n段代码片段,对源代码文件进行词法分析,并生成得到抽象语法树;

2、s2、遍历抽象语法树,提取关键代码片段,计算每个关键代码片段的信息熵值和上下文相关性权重;

3、s3、将每个关键代码片段按照对应的信息熵值和上下文相关性权重进行排序,得到有序代码片段序列;

4、s4、将有序代码片段序列进行映射转译,生成目标代码文件;

5、s5、将目标代码文件分发至不同的终端医疗设备,不同的终端医疗设备对运行目标代码文件进行反向映射并运行。

6、进一步地,所述生成得到抽象语法树的方式包括:

7、将源代码文件转换为字符流,从字符流中提取词法单元,并生成词法单元序列;对词法单元序列进行语法分析,构建语法树,将语法树进行预处理,并重新组织语法树中节点的层级结构,得到抽象语法树。

8、进一步地,所述生成词法单元序列的方式包括:

9、初始化一个空的序列壳,逐个读取字符流中的字符,并使用一个指针实时记录当前读取的位置;

10、定义词法单元类型,为每一种词法单元类型构建对应的前缀树;从当前读取的位置开始,依次尝试匹配每一种词法单元类型对应的前缀树;若前缀树与当前的字符匹配成功,则提取出对应的词法单元;

11、根据对应的前缀树确定词法单元的类型和值,并记录词法单元在源代码文件中的位置信息,基于词法单元的类型、值和位置信息,构造出词法单元实例,并加入到序列壳中,将指针移动到本次提取的词法单元的结束位置,重复直到字符流读取完毕;最终的序列壳即为词法单元序列。

12、进一步地,所述将源代码文件转换为字符流的方式包括:

13、初始定义一个初始的内存缓冲区,其大小为,使用文件i/o操作打开源代码文件,获取得到文件流对象,逐字节读取文件流对象,得到m个文件块,将m个文件块依次存储在内存缓冲区中,并动态调整内存缓冲区的大小至;

14、;其中,为m个文件块的总大小,为已读取的文件块的大小,为总内存大小,为当前已使用的内存,为预设的内存缓冲区大小的上限,和为调节因子,和为指数因子;为调节函数,为i/o吞吐量,为cpu利用率,为内存碎片化程度;

15、调节函数;其中,为吞吐量调节系数,为利用率调节系数,为内存碎片化调节系数;

16、将内存缓冲区内的文件块进行预处理,得到预处理后的文件块,将预处理后的文件块转换为字符流;即逐个读取预处理后的文件块中的字符,并组成一个字符序列,即字符流。

17、进一步地,所述将内存缓冲区内的文件块进行预处理的方式包括:

18、定义一个五元组,其中,为状态集合,为输入字母表,为状态转移函数,是初始状态,且;为一组终止状态,且;

19、状态转移函数,其中,为当前状态,为输入的字符,为新状态;

20、基于m个文件块,定义状态集合和输入字母表;

21、从内存缓冲区的文件块中逐个读取字符,根据当前状态和读取的字符,通过状态转移函数计算得到新状态;若新状态属于,则执行相应的预处理操作;将当前状态更新为,重复直至读取完内存缓冲区的文件块中的所有字符;即得到预处理后的文件块。

22、进一步地,所述对词法单元序列进行语法分析的方式包括:

23、定义语法规则,即分析编程语言的语法;基于定义的语法规则,初始化一棵语法树,创建一个根节点,从词法单元序列中提取词法单元,并与语法规则进行匹配,并创建一个新节点作为根节点的左子节点;匹配的第一个词法单元,将其作为新创建的左子节点的子节点,匹配运算符,并创建一个新节点作为根节点的右子节点,根据编写产生式,继续匹配,创建一个新节点作为根节点的右子节点的右子节点te,匹配第二个词法单元,将其作为新创建的te的右子节点,并匹配运算符,创建一个新节点作为右子节点te的左子节点tw,根据编写产生式,继续匹配第三个词法单元,创建一个新节点作为tw的右子节点,重复直至词法单元序列中的词法单元提取结束;即完成语法树的构建。

24、进一步地,所述重新组织语法树中节点的层级结构的方式包括:

25、定义树重构规则为一组模式匹配规则,每个模式匹配规则均由匹配模式和重构动作组成;

26、匹配模式有m2种,定义了需要重构的子树的结构;重构动作包括节点提升、节点合并和节点拆分;

27、为每个模式匹配规则指定一个优先级权重;对于任意两个模式匹配规则和,它们分别匹配语法树中的子树和;若它们匹配到的匹配模式存在嵌套关系,计算它们之间的嵌套值;

28、若,则先重构;若,则先重构;若,则比较和各自的权重,权重更高的先重构;

29、;

30、其中,、和是调节系数,为和的最近的公共祖先节点,为的根节点,为和的大小差异,为和的重叠程度;为语法树中的深度,为语法树中的深度;

31、重构的过程包括:

32、构建一个优先级队列q,初始时将所有模式匹配规则按照优先级降序放入优先级队列q,每遍历到一个节点n'时,从q中取出最高的优先级对应的模式匹配规则,匹配在以n'为根的子树的匹配模式,若匹配成功,则执行重构动作,得到重构后的子树,并根据重构动作对q中的其他模式匹配规则进行调整;

33、若匹配失败,则继续与下一个优先级对应的模式匹配规则进行匹配,直到遍历完所有模式匹配规则,将所本文档来自技高网...

【技术保护点】

1.一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,包括:S1、获取医疗平台待转译的源代码文件,源代码文件包括n段代码片段,对源代码文件进行词法分析,并生成得到抽象语法树;

2.根据权利要求1所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述生成得到抽象语法树的方式包括:

3.根据权利要求2所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述生成词法单元序列的方式包括:

4.根据权利要求3所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述将源代码文件转换为字符流的方式包括:

5.根据权利要求4所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述将内存缓冲区内的文件块进行预处理的方式包括:

6.根据权利要求5所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述对词法单元序列进行语法分析的方式包括:

7.根据权利要求6所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述重新组织语法树中节点的层级结构的方式包括:

8.根据权利要求7所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述每个关键代码片段的信息熵值和上下文相关性权重的计算方式包括:

9.根据权利要求8所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述结构相似度均值的计算方式包括:

10.一种用于互联网医疗平台的多终端代码映射转译系统,其用于实现权利要求1至9任一项所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,包括:源码获取与分析模块,用于获取医疗平台待转译的源代码文件,源代码文件包括n段代码片段,对源代码文件进行词法分析,并生成得到抽象语法树;

...

【技术特征摘要】

1.一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,包括:s1、获取医疗平台待转译的源代码文件,源代码文件包括n段代码片段,对源代码文件进行词法分析,并生成得到抽象语法树;

2.根据权利要求1所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述生成得到抽象语法树的方式包括:

3.根据权利要求2所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述生成词法单元序列的方式包括:

4.根据权利要求3所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述将源代码文件转换为字符流的方式包括:

5.根据权利要求4所述的一种用于互联网医疗平台的多终端代码映射转译方法,其特征在于,所述将内存缓冲区内的文件块进行预处理的方式包括:

6.根据权利要求5所述的一种用于互联网医疗平台的多终端代码映射...

【专利技术属性】
技术研发人员:曹兴兵高飞王超林涛毛夏薇
申请(专利权)人:浙江纳里数智健康科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1