System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及复杂系统建模仿真和编译,具体涉及一种基于国产建模语言x语言的中间表示生成方法及装置。
技术介绍
1、x语言是面向复杂系统支持mbse的新一代一体化建模仿真语言。作为一门全新设计的建模语言,已经完成的是理论基础和方法学,需要配套的工具集才能从理论迈入实践,其中编译器就是其中最核心的部件。编译器的主要功能是将使用x语言开发的模型代码编译成可以运行的程序,编译过程中,前半部分即为针对x语言代码的词法解析、语法解析、语义分析,通过重新组织和关联生成中间表示ir,目前针对x语言的工程级编译技术属于空白模块。
技术实现思路
1、本专利技术所要解决的技术问题在于,提供一种基于国产建模语言x语言的中间表示生成方法及装置,能够将国产建模语言x语言,快速、高效转变为可被程序解释的中间表示,是将x语言模型转换为可执行程序的重要步骤,是x语言迈向工程化的重要环节。
2、为了解决上述技术问题,本专利技术实施例第一方面公开了一种基于国产建模语言x语言的中间表示生成方法,所述方法包括:
3、s1,获取x语言代码信息;
4、s2,对所述x语言代码信息进行预处理,得到x语言信息;所述x语言信息包括n行代码信息;所述n为正整数;
5、s3,对所述x语言信息进行处理,得到x语言中间表示信息。
6、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对所述x语言代码信息进行预处理,得到x语言信息,包括:
7、s21,对所述x语言代
8、s22,对所述第一代码信息进行删除注释处理,得到第二代码信息;
9、s23,对所述第二代码信息进行处理,得到第三代码信息;
10、s24,对所述第三代码信息进行格式处理,得到x语言信息。
11、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对所述第二代码信息进行处理,得到第三代码信息,包括:
12、s231,对所述第二代码信息进行无效代码剔除处理,得到第四代码信息;
13、s232,对所述第四代码信息进行内联展开处理,得到第五代码信息;
14、s233,对所述第五代码信息进行路径优化处理,得到第三代码信息。
15、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对所述x语言信息进行处理,得到x语言中间表示信息,包括:
16、s31,对所述x语言信息进行词法解析处理,得到x语言词法信息;所述x语言词法信息包括若干个x语言词汇单元信息;
17、s32,对所述x语言词法信息进行语法解析处理,得到x语言语法树信息;
18、s33,对所述x语言语法树信息进行包含关系解析处理,得到更新后的x语言语法树信息,并确定所述更新后的x语言语法树信息为所述x语言语法树信息;
19、s34,对所述x语言语法树信息进行语义分析处理,得到x语言语义信息;
20、s35,对所述x语言词法信息、所述x语言语法树信息和所述x语言语义信息进行整合处理,得到x语言中间表示信息。
21、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对所述x语言信息进行词法解析处理,得到x语言词法信息,包括:
22、s311,预设s=1;
23、s312,对所述x语言信息中第s行所述代码信息进行分词处理,得到待处理词汇信息;所述待处理词汇信息包括若干个待处理词汇;
24、s313,对所述待处理词汇信息中任一所述待处理词汇进行处理,得到该待处理词汇对应的词汇匹配结果信息;
25、当所述词汇匹配结果信息为是时,对该待处理词汇进行处理,得到该待处理词汇对应的x语言词汇单元信息;
26、当所述词汇匹配结果信息为否时,执行s314;
27、s314,对该待处理词汇进行分析处理,得到该待处理词汇对应的所述x语言词汇单元信息;
28、s315,判断所述s是否等于所述n,得到第一判断结果;
29、当所述第一判断结果为否时,使所述s增加1,执行s312;
30、当所述第一判断结果为是时,执行s32。
31、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对该待处理词汇进行分析处理,得到该待处理词汇对应的所述x语言词汇单元信息,包括:
32、s3141,获取x语言关键字信息;所述x语言关键字信息包括若干个x语言关键字;
33、s3142,对该待处理词汇和所述x语言关键字信息分别进行向量化处理,得到该待处理词汇对应的待处理词汇向量和x语言关键字向量信息集;所述x语言关键字向量信息集包括若干个x语言关键字向量信息;
34、s3143,对该待处理词汇对应的所述待处理词汇向量和所述x语言关键字向量信息集进行分析处理,得到该待处理词汇对应的所述x语言词汇单元信息。
35、作为一种可选的实施方式,在本专利技术实施例第一方面中,所述对该待处理词汇对应的所述待处理词汇向量和所述x语言关键字向量信息集进行分析处理,得到该待处理词汇对应的所述x语言词汇单元信息,包括:
36、s31431,利用词汇匹配计算模型,对该待处理词汇对应的所述待处理词汇向量和所述x语言关键字向量信息集进行计算处理,得到词汇匹配值信息;所述词汇匹配值信息包括若干个词汇匹配值;
37、其中,所述词汇匹配计算模型为:
38、
39、式中,xsd为所述词汇匹配值信息,xsdi为所述词汇匹配值信息中第i个所述词汇匹配值,ch1为所述待处理词汇向量,ch2i为所述x语言关键字向量信息集中第i个所述x语言关键字向量信息,·表示点积,×表示乘积,‖·‖表示向量的模,δ1表示敏感调节系数,δ2表示模长权重系数,m表示所述x语言关键字向量信息集中所述x语言关键字向量信息的数量;
40、s31432,基于所述词汇匹配值信息,确定出目标匹配值;所述目标匹配值为所述词汇匹配值信息中值最大的所述词汇匹配值;
41、s31433,判断所述目标匹配值是否大于等于预设的匹配阈值,得到第二判断结果;
42、当所述第二判断结果为是时,确定所述目标匹配值对应的所述x语言关键字为该待处理词汇,执行s31434;
43、当所述第二判断结果为否时,执行s31435;
44、s31434,对该待处理词汇进行分析处理,得到该待处理词汇对应的所述x语言词汇单元信息;
45、s31435,对该待处理词汇进行更新处理,得到更新后的待处理词汇,并确定所述更新后的待处理词汇为该待处理词汇,执行s312。
46、本专利技术实施例第二方面公开了一种基于国产建模语言x语言的中间表示生成装置,所述装置包括:
47、获取模块,用于获取x语言代码信息;
48、预处理模块,用于对所述x语言代本文档来自技高网...
【技术保护点】
1.一种基于国产建模语言X语言的中间表示生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对所述X语言代码信息进行预处理,得到X语言信息,包括:
3.根据权利要求2所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对所述第二代码信息进行处理,得到第三代码信息,包括:
4.根据权利要求1所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对所述X语言信息进行处理,得到X语言中间表示信息,包括:
5.根据权利要求4所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对所述X语言信息进行词法解析处理,得到X语言词法信息,包括:
6.根据权利要求5所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对该待处理词汇进行分析处理,得到该待处理词汇对应的所述X语言词汇单元信息,包括:
7.根据权利要求6所述的基于国产建模语言X语言的中间表示生成方法,其特征在于,所述对该待处理词汇对应的所述待处理词汇向量和
8.一种基于国产建模语言X语言的中间表示生成装置,其特征在于,所述装置包括:
9.一种存储数据结构,其特征在于,所述存储数据结构应用于对权利要求1-7任一项所述的基于国产建模语言X语言的中间表示生成方法中X语言中间表示信息进行临时存储和数据描述。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的基于国产建模语言X语言的中间表示生成方法。
...【技术特征摘要】
1.一种基于国产建模语言x语言的中间表示生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于国产建模语言x语言的中间表示生成方法,其特征在于,所述对所述x语言代码信息进行预处理,得到x语言信息,包括:
3.根据权利要求2所述的基于国产建模语言x语言的中间表示生成方法,其特征在于,所述对所述第二代码信息进行处理,得到第三代码信息,包括:
4.根据权利要求1所述的基于国产建模语言x语言的中间表示生成方法,其特征在于,所述对所述x语言信息进行处理,得到x语言中间表示信息,包括:
5.根据权利要求4所述的基于国产建模语言x语言的中间表示生成方法,其特征在于,所述对所述x语言信息进行词法解析处理,得到x语言词法信息,包括:
6.根据权利要求5所述的基于国产建模语言x语言的中间表示生成方法,其特征在于,所述...
【专利技术属性】
技术研发人员:宋元杰,闫飞,陈敏杰,黄燕,
申请(专利权)人:北京鼎成智造科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。