[發明專利]代碼轉換有效
| 申請號: | 200910205846.8 | 申請日: | 2006-06-27 |
| 公開(公告)號: | CN101770363A | 公開(公告)日: | 2010-07-07 |
| 發明(設計)人: | 阿爾伯特·唐納德·通金;魯思·埃瑪·通金 | 申請(專利權)人: | 奎樸茲有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 羅正云;王琦 |
| 地址: | 澳大利亞新*** | 國省代碼: | 澳大利亞;AU |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 轉換 | ||
1.一種將可執行代碼轉換為不同編程語言的方法,該方法包括:
接收(30)所述可執行代碼,所述可執行代碼的大小使得人工迭代轉換 受到代價的限制;
通過為所述可執行代碼的每一可執行段分配一節點,基于所述可執行代 碼創建(34)標準樹,其中每一節點屬于一組預定節點類型之一,每一預定 節點類型定義編程語言的一項唯一的通用可執行操作,并且每一節點的結構 和內容由節點類型定義的通用可執行操作來確定;
將涉及多個重建進程的識別數據存儲(70)于數據存儲器中,所述多個 重建進程待在所述標準樹上運行以重建該標準樹,從而協助所述可執行代碼 到不同編程語言的轉換;
在所述標準樹上自動運行在所述數據存儲器中識別出的多個重建進程, 以得到重建的樹;
在該重建的樹上自動運行(86)配置進程,以將所述可執行代碼轉換為 所述不同編程語言從而得到轉換后的代碼;
針對質量評估轉換后的代碼,并基于該評估,識別出另外的待在所述標 準樹上運行以協助所述可執行代碼到不同編程語言的轉換的重建進程,以改 進轉換后的代碼的質量;
將所述另外的重建進程的識別數據存儲到所述數據存儲器中;以及
重復所述運行多個重建進程的步驟和所述運行配置進程的步驟。
2.如權利要求1所述的方法,其中所述方法進一步包括接收數據詞典、 元數據或與所接收的可執行代碼有關的任何其它文件。
3.如權利要求1所述的方法,其中所述方法進一步包括:將所述標準 樹存儲在所述數據存儲器中的步驟。
4.如權利要求3所述的方法,其中所述創建標準樹的步驟進一步包括: 從所述標準樹上提取聲明元素,并將之存儲到數據存儲器中。
5.如權利要求4所述的方法,其中所述聲明元素是利用多個挖掘進程 從所述標準樹上提取的,所述多個挖掘進程對所述標準樹進行挖掘以識別該 標準樹中的聲明元素。
6.如權利要求4所述的方法,其中每一聲明元素的屬性存儲在所述數 據存儲器中。
7.如權利要求3所述的方法,其中所述方法進一步包括:將分析數據 存儲于所述數據存儲器中,所述分析數據涉及如何使用以及在何處使用所述 可執行代碼的聲明元素。
8.如權利要求3所述的方法,其中所述方法包括:將與所述可執行代 碼相關的元數據存儲到所述數據存儲器中的步驟。
9.如權利要求8所述的方法,其中所述元數據包括以下一種或更多種:
關于所述可執行代碼的原始語言和/或所述不同編程語言的信息;
所述可執行代碼的原始語言和/或所述不同編程語言的內建組元;以及
涉及重建的信息,所述涉及重建的信息包括所需可維護性、經轉換的代 碼的運行時復雜性和效率。
10.如權利要求8所述的方法,其中使用多個挖掘進程,從所述標準樹 上提取所述元數據的一個或更多個部分。
11.如權利要求1所述的方法,其中所述重建進程包括以下一個或更多 個:
對循環加以識別并重建為期望循環結構的進程;
對所述標準樹中的GOTO語句加以識別,并重建標準樹以移除這些語 句的進程;
對該標準樹中的成組節點的復本加以識別,并重建以便將該組節點的復 本創建為函數或過程的進程;
對一個或更多個變量的作用域加以識別的進程;
對所述標準樹中的定義結構的特定節點組加以識別,并重排這些節點的 結構的進程;
使用函數調用對所述標準樹中的特定節點組加以識別,并替換特定節點 組的進程;
將數據結構改變為第三標準形式的進程;
遍歷該標準樹以識別界面的進程;以及
遍歷該標準樹并分析變量的用途,以改進其變量類型的進程。
12.如權利要求1所述的方法,其中所述方法進一步包括:編寫待在標 準樹上運行的多個重建進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奎樸茲有限公司,未經奎樸茲有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910205846.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:熒光發光燈管
- 下一篇:基于亞像素的下采樣的方法和裝置





