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語言的中間表示生成方法,其特征在于,所述...
【專利技術屬性】
技術研發人員:宋元杰,閆飛,陳敏杰,黃燕,
申請(專利權)人:北京鼎成智造科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。