[發(fā)明專利]一種源代碼生成方法有效
| 申請?zhí)枺?/td> | 201210126647.X | 申請日: | 2012-04-26 |
| 公開(公告)號: | CN102707948A | 公開(公告)日: | 2012-10-03 |
| 發(fā)明(設計)人: | 董琦;李知偉;王巖峰;靳文輝;付晶 | 申請(專利權)人: | 華亞微電子(上海)有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 上海智信專利代理有限公司 31002 | 代理人: | 鄧琪 |
| 地址: | 201203 上海市浦東新區(qū)張江*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 源代碼 生成 方法 | ||
技術領域
本發(fā)明涉及一種以自然語言作為輸入的源代碼生成方法。
背景技術
目前,自然語言處理技術正逐步開始實用化(例如:基于自然語言的編程工具,語音控制系統等),但是仍然處于比較初級的階段。
現有的自然語言處理技術通常只是將一個自然語言字符串映射為一個函數。例如:將“發(fā)送短信”映射為手機內的某個函數。當然,將一個自然語言字符串映射為多個函數的序列也很容易,因為這種做法等價于將這些函數封裝為一個新函數。
上述這些實現方法的本質是:建立“字符串”和“代碼段”之間的映射表,當“字符串”被輸入時,執(zhí)行相應的“代碼段”。當然,這種映射可以是多對多的,例如:同一個“字符串”在不同應用環(huán)境下映射為不同“代碼段”;多個“字符串”映射為同一個“代碼段”。
然而,這些方法存在以下的缺陷是:“代碼段”是工程師預先寫好的,這意味著工程師要預先判定用戶會輸入哪些“字符串”,由于海量的用戶會有海量的差異化需求,因此,這些方法顯然不符合需求的差異化趨勢。
發(fā)明內容
為了解決上述現有技術存在的問題,本發(fā)明旨在提供一種源代碼生成方法,以使自然語言字符串自動生成代碼段,從而減少軟件開發(fā)工作量,滿足用戶的多種使用需求。
本發(fā)明所述的一種源代碼生成方法,包括以下步驟:
步驟S1,在數據庫中存儲字符串個例、與所述字符串個例對應的字符串通例以及與所述字符串通例對應的代碼段通例,其中,所述字符串個例為字符串通例的子集;
步驟S2,在所述數據庫中檢索與外圍輸入的字符串匹配的字符串個例,若檢索得到該字符串個例,則執(zhí)行步驟S3,否則返回執(zhí)行所述步驟S1;
步驟S3,在所述數據庫中檢索得到與所述步驟S2中獲得的字符串個例對應的字符串通例,并比較該字符串個例和字符串通例,生成該字符串個例和字符串通例的第一映射關系;
步驟S4,在所述數據庫中檢索得到與所述步驟S3中獲得的字符串通例對應的代碼段通例,并比較該字符串通例和代碼段通例,生成該字符串通例和代碼段通例的第二映射關系;
步驟S5,根據所述第一映射關系以及所述第二映射關系,將所述步驟S4中獲得的代碼段通例替換生成源代碼。
在上述的源代碼生成方法中,所述步驟S1還包括在所述數據庫中存儲由所述字符串通例分解而成的多個擴展字符串通例。
在上述的源代碼生成方法中,包括在所述步驟S4之后執(zhí)行:
步驟S6,在所述數據庫中檢索得到與所述步驟S4中獲得的字符串通例對應的多個擴展字符串通例,并生成該字符串通例與多個擴展字符串通例的第三映射關系;
步驟S7,將所述步驟S6中的每個擴展字符串通例作為一個字符串通例,并在所述數據庫中檢索與每個字符串通例對應的代碼段通例,若檢索得到代碼段通例,則執(zhí)行步驟S8,否則,根據所述第一映射關系,將所述擴展字符串通例替換為擴展字符串個例,并將該擴展字符串個例作為字符串通例,在所述數據庫中檢索與該字符串通例對應的代碼段通例,若檢索得到代碼段通例,則執(zhí)行步驟S8,否則返回執(zhí)行步驟S1;
步驟S8,比較所述步驟S7中的字符串通例和獲得的與其對應的代碼段通例,并生成該字符串通例和代碼段通例的第四映射關系;
步驟S9,根據所述第一映射關系、所述第三映射關系以及所述第四映射關系,將所述步驟S7中獲得的代碼段通例替換生成擴展源代碼;
步驟S10,根據所述第二映射關系以及所述第三映射關系,將多個所述步驟S9中獲得的擴展源代碼嵌套進所述步驟S4中獲得的代碼段通例中,生成源代碼。
在上述的源代碼生成方法中,所述步驟S6還包括在所述數據庫中存儲所述第三映射關系。
在上述的源代碼生成方法中,所述步驟S8還包括在所述數據庫中存儲所述第四映射關系。
在上述的源代碼生成方法中,所述步驟S3還包括在所述數據庫中存儲所述第一映射關系。
在上述的源代碼生成方法中,所述步驟S4還包括在所述數據庫中存儲所述第二的映射關系。
由于采用了上述的技術解決方案,本發(fā)明具有以下優(yōu)點:
1、提高軟件開發(fā)效率,降低軟件開發(fā)難度
可以將工程師設計與現有編程工具實現的協作模式下的大部分工作簡化到寫文檔的難度,同時大部分工作能忽略細節(jié)(例如,將有向圖壓縮為字符串,反復進行),從而提高開發(fā)效率。
例如,對智能手機和智能電視等產品而言,大多采用應用商店的模式。降低軟件開發(fā)難度,意味著更多的人能參與應用的開發(fā),從而獲得更多的應用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華亞微電子(上海)有限公司,未經華亞微電子(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210126647.X/2.html,轉載請聲明來源鉆瓜專利網。





