技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种用于混合语言的识别方法及系统与流程  >  正文

一种用于混合语言的识别方法及系统与流程

  • 国知局
  • 2024-08-30 14:27:49

本技术涉及语言编译,具体是一种用于混合语言的识别方法及系统。

背景技术:

1、在语言编译过程中,复杂的关键字和语法对语言编译的初学者而言十分晦涩,加大了语言编译的难度。

2、在不同业务功能实现的过程中,复杂的功能逻辑,会使得编写程序代码越来越复杂,导致程序难以理解,降低了用户的使用感。

3、中国专利号cn113687833a公开了一种混合编译方法、混合编译系统、编译器及存储介质,该发明通过对源代码进行标准修正,预处理代码满足标准规范,符合不同目标平台的代码执行需求,经过后端分析生成混合编译信息,根据混合编译信息生成目标机器码,无需目标平台辅助编译,实现适配多个目标平台的混合编译。

4、综上,现有技术缺少一个对语言编译的初学者而言简明的语言编译技术方案。

技术实现思路

1、本技术的目的在于提供一种用于混合语言的识别方法及系统,以解决上述背景技术中提出的技术问题。

2、为实现上述目的,本技术公开了以下技术方案:

3、第一方面,本技术公开了一种用于混合语言的识别方法,该方法包括:

4、s1:获取微语言,所述微语言为用户基于预设编程语言策略进行属于用户业务范围的关键字编写得到的程序语言;

5、s2:利用所述微语言进行语言转换,得到与所述微语言对应的领域特定语言;

6、s3:解析所述领域特定语言和所述微语言,并基于解析结果得到混合抽象语法树;

7、s4:利用所述混合抽象语法树进行机器码编译,得到与所述微语言对应的机器码。

8、借由上述,通过编写微语言简化了程序的编写,通过混合语法抽象树实现了微语言的准确编译。

9、作为优选,所述的用户基于预设编程语言策略,具体包括:

10、用户基于所述编程语言的关键字特性进行微语言编写。

11、借由上述,通过基于编程语言的关键字特性和业务范围的关键字进行微语言编写,简化了程序的编写,提升了程序的可读性。

12、作为优选,所述的解析所述领域特定语言和所述微语言,具体包括:

13、基于所述领域特定语言,得到领域特定语言的语法抽象树,将所述领域特定语言抽象树定义为第一语法抽象树;

14、基于所述微语言,得到微语言的语法抽象树,将所述微语言的语法抽象树定义为第二语法抽象树。

15、借由上述,第一语法抽象树和第二抽象语法树为微语言的机器码编译提供了逻辑支撑。

16、作为优选,所述的基于解析结果得到混合抽象语法树,具体包括:

17、将所述第一抽象语法树和所述第二语法抽象树进行比较,将所述第一抽象语法树和所述第二语法抽象树重合的节点保留至所述混合语言抽象树,将所述第二语法抽象树中与所述第一语法抽象树中不重合的节点保留至所述混合语言抽象树;

18、对所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点进行分析,分析的步骤包括:

19、获取所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点对应的历史数据,计算每个不重合的节点的编译正确率p,其中,pk为节点k对应的编译正确率,nk为节点k出现的次数,nk为利用该节点k编译正确的次数,判断所述编译正确率是否大于预设编译正确率阈值,是则将节点k保留至所述混合抽象语法树,否则丢弃该节点k。

20、借由上述,通过第一语法抽象树中与第二抽象语法树不重合的节点的分析,优化了混合语法抽象树的结构,保障了微语言的准确编译。

21、作为优选,所述的分析的步骤还包括:

22、在进行编译正确率计算之前,基于所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点对应的历史数据获取及各个节点对应的历史数据中的微语言,并将所述的各个节点对应的历史数据中的微语言定义为历史微语言;

23、利用nlp技术对节点k对应的历史微语言和本次编译中对应的微语言进行行业含义分析,判断行业含义分析的结果是否相同,是则保留节点k并进行编译正确率的计算,否则丢弃该节点k。

24、借由上述,通过将本次编译与历史数据进行比较,提高了混合语法抽象树的准确性,并通过历史数据的累积不断优化微语言的编写。

25、第二方面,本技术公开了一种用于混合语言的识别系统,该系统包括:

26、微语言获取模块,所述微语言获取模块配置为获取用户输入的微语言,所述微语言为用户基于预设编程语言策略进行属于用户业务范围的关键字编写得到的程序语言;

27、微语言转换模块,所述微语言转换模块配置为利用所述微语言进行语言转换,得到与所述微语言对应的领域特定语言;

28、混合语法抽象树生成模块,所述混合语法抽象树生成模块配置为解析所述领域特定语言和所述微语言,并基于解析结果得到混合抽象语法树;

29、编译模块,所述编译模块配置为利用所述混合抽象语法树进行机器码编译,得到与所述微语言对应的机器码。

30、作为优选,所述的用户基于预设编程语言策略,具体包括:

31、用户基于所述编程语言的关键字特性进行微语言编写。

32、作为优选,所述的解析所述领域特定语言和所述微语言,具体包括:

33、基于所述领域特定语言,得到领域特定语言的语法抽象树,将所述领域特定语言抽象树定义为第一语法抽象树;

34、基于所述微语言,得到微语言的语法抽象树,将所述微语言的语法抽象树定义为第二语法抽象树。

35、作为优选,所述的基于解析结果得到混合抽象语法树,具体包括:

36、将所述第一抽象语法树和所述第二语法抽象树进行比较,将所述第一抽象语法树和所述第二语法抽象树重合的节点保留至所述混合语言抽象树,将所述第二语法抽象树中与所述第一语法抽象树中不重合的节点保留至所述混合语言抽象树;

37、对所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点进行分析,分析的步骤包括:

38、获取所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点对应的历史数据,计算每个不重合的节点的编译正确率p,其中,pk为节点k对应的编译正确率,nk为节点k出现的次数,nk为利用该节点k编译正确的次数,判断所述编译正确率是否大于预设编译正确率阈值,是则将节点k保留至所述混合抽象语法树,否则丢弃该节点k。

39、作为优选,所述的分析的步骤还包括:

40、在进行编译正确率计算之前,基于所述第一语法抽象树中与所述第二语法抽象树不重合的各个节点对应的历史数据获取及各个节点对应的历史数据中的微语言,并将所述的各个节点对应的历史数据中的微语言定义为历史微语言;

41、利用nlp技术对节点k对应的历史微语言和本次编译中对应的微语言进行行业含义分析,判断行业含义分析的结果是否相同,是则保留节点k并进行编译正确率的计算,否则丢弃该节点k。

42、借由上述,用于混合语言的识别系统与用于混合语言的识别方法配套使用,实现了语言编译者可以基于业务范围内的关键词进行程序编写,降低了程序编写的难度,提高了程序的可读性,便于对程序进行维护。

43、有益效果:本技术的用于混合语言的识别方法及系统,通过微语言的编写降低了编程的难度,提高了程序的可读性,便于程序的维护;通过第一语法抽象树和第二语法抽象树的比较,并通过与历史数据进行比较,优化了混合语法抽象树的结构,实现了从微语言到机器码的准确编译,还实现了对微语言编写的优化。

本文地址:https://www.jishuxx.com/zhuanli/20240830/282167.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。