本技術(shù)涉及計算機(jī),特別是涉及一種基于偽代碼的源代碼生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著計算機(jī)技術(shù)的發(fā)展,程序開發(fā)過程中需要通過代碼編寫和編譯實現(xiàn)具體程序的生成。即需要通過代碼編寫進(jìn)行程序開發(fā)。目前在程序開發(fā)過程中,代碼編寫通常是通過按照程序語言的標(biāo)準(zhǔn)語法進(jìn)行代碼撰寫后編譯,得到相應(yīng)的程序。然而,基于標(biāo)準(zhǔn)語法進(jìn)行代碼撰寫并編譯,由于語法規(guī)則較為繁雜,需要多次對代碼進(jìn)行校驗,進(jìn)而導(dǎo)致源代碼生成的效率下降。
2、因此,目前的源代碼生成方法存在效率低的缺陷。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高生成效率的基于偽代碼的源代碼生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種基于偽代碼的源代碼生成方法,所述方法包括:
3、檢測到偽代碼編輯界面啟動時,獲取在所述偽代碼編輯界面中輸入的待匹配的字符;
4、獲取與所述字符匹配的各個候選預(yù)設(shè)偽代碼指令,檢測到針對各個所述候選預(yù)設(shè)偽代碼指令中各個目標(biāo)預(yù)設(shè)偽代碼指令的選擇指令時,在所述偽代碼編輯界面生成各個所述目標(biāo)預(yù)設(shè)偽代碼指令對應(yīng)的各個預(yù)設(shè)偽代碼語句;
5、獲取基于各個所述預(yù)設(shè)偽代碼語句的各個語法信息輸入的各個自然語言邏輯參數(shù);
6、獲取各個所述預(yù)設(shè)偽代碼語句對應(yīng)的各個預(yù)設(shè)方法模型,根據(jù)各個所述自然語言邏輯參數(shù)和各個所述預(yù)設(shè)方法模型,生成各個所述預(yù)設(shè)偽代碼語句對應(yīng)的源代碼。
7、在其中一個實施例中,所述獲取與所述字符匹配的各個候選預(yù)設(shè)偽代碼指令,包括:
8、將所述字符與各個預(yù)設(shè)偽代碼指令的指令名稱進(jìn)行匹配,得到指令名稱包含所述字符的各個候選預(yù)設(shè)偽代碼指令;
9、在所述偽代碼編輯界面中展示各個所述候選預(yù)設(shè)偽代碼指令。
10、在其中一個實施例中,所述目標(biāo)預(yù)設(shè)偽代碼指令為方法調(diào)用指令、服務(wù)調(diào)用指令、邏輯描述指令、條件指令和代碼塊指令中的一種;
11、所述獲取基于各個所述預(yù)設(shè)偽代碼語句的各個語法信息輸入的各個自然語言邏輯參數(shù),包括:
12、針對每個目標(biāo)預(yù)設(shè)偽代碼指令,若所述目標(biāo)預(yù)設(shè)偽代碼指令為方法調(diào)用指令或邏輯描述指令,則獲取基于所述預(yù)設(shè)偽代碼語句的語法信息輸入的方法名稱和賦值語句,作為所述自然語言邏輯參數(shù);
13、和/或,
14、若所述目標(biāo)預(yù)設(shè)偽代碼指令為服務(wù)調(diào)用指令,則獲取基于所述預(yù)設(shè)偽代碼語句的語法信息輸入的服務(wù)名稱和賦值語句,作為所述自然語言邏輯參數(shù);
15、和/或,
16、若所述目標(biāo)預(yù)設(shè)偽代碼指令為條件指令,則獲取基于所述預(yù)設(shè)偽代碼語句的語法信息輸入的判斷邏輯語句,作為所述自然語言邏輯參數(shù);
17、和/或,
18、若所述目標(biāo)預(yù)設(shè)偽代碼指令為代碼塊指令,則獲取基于所述預(yù)設(shè)偽代碼語句的語法信息輸入的代碼塊,作為所述自然語言邏輯參數(shù)。
19、在其中一個實施例中,所述根據(jù)各個所述自然語言邏輯參數(shù)和各個所述預(yù)設(shè)方法模型,生成各個所述預(yù)設(shè)偽代碼語句對應(yīng)的源代碼,包括:
20、根據(jù)各個所述預(yù)設(shè)偽代碼語句對應(yīng)的執(zhí)行順序,確定各個所述預(yù)設(shè)偽代碼語句對應(yīng)的各個圖元;
21、根據(jù)各個所述圖元生成對應(yīng)的流程視圖;
22、根據(jù)各個所述圖元對應(yīng)的圖元類型,確定各個所述圖元對應(yīng)的各個自然語言邏輯參數(shù)與各個所述預(yù)設(shè)方法模型的映射關(guān)系;
23、針對所述流程視圖中的每個圖元,根據(jù)所述映射關(guān)系,將所述圖元對應(yīng)的所述自然語言邏輯參數(shù)輸入對應(yīng)的所述預(yù)設(shè)方法模型,得到輸入后的所述預(yù)設(shè)方法模型;
24、根據(jù)各個所述圖元對應(yīng)的各個輸入后的所述預(yù)設(shè)方法模型,生成所述源代碼。
25、在其中一個實施例中,所述目標(biāo)預(yù)設(shè)偽代碼指令為方法調(diào)用指令、服務(wù)調(diào)用指令、邏輯描述指令、條件指令和代碼塊指令中的一種;
26、所述根據(jù)各個所述預(yù)設(shè)偽代碼語句對應(yīng)的執(zhí)行順序,確定各個所述預(yù)設(shè)偽代碼語句對應(yīng)的各個圖元,包括:
27、針對每個預(yù)設(shè)偽代碼語句,若所述預(yù)設(shè)偽代碼語句對應(yīng)的目標(biāo)預(yù)設(shè)偽代碼指令為所述方法調(diào)用指令、所述服務(wù)調(diào)用指令、所述邏輯描述指令或所述代碼塊指令,則確定所述預(yù)設(shè)偽代碼語句對應(yīng)的圖元為任務(wù)圖元;
28、若所述預(yù)設(shè)偽代碼語句對應(yīng)的目標(biāo)預(yù)設(shè)偽代碼指令為所述條件指令,則確定所述預(yù)設(shè)偽代碼語句對應(yīng)的圖元為控制圖元。
29、在其中一個實施例中,所述根據(jù)各個所述圖元對應(yīng)的圖元類型,確定各個所述圖元對應(yīng)的各個自然語言邏輯參數(shù)與各個所述預(yù)設(shè)方法模型的映射關(guān)系,包括:
30、針對每個所述圖元,若所述圖元對應(yīng)的圖元類型為任務(wù)圖元,則確定所述圖元對應(yīng)的自然語言邏輯參數(shù)與所述預(yù)設(shè)方法模型的映射關(guān)系為第一映射關(guān)系;
31、若所述圖元對應(yīng)的圖元類型為控制圖元,則確定所述圖元對應(yīng)的自然語言邏輯參數(shù)與所述預(yù)設(shè)方法模型的映射關(guān)系為第二映射關(guān)系。
32、在其中一個實施例中,所述根據(jù)各個所述自然語言邏輯參數(shù)和各個所述預(yù)設(shè)方法模型,生成各個所述預(yù)設(shè)偽代碼語句對應(yīng)的源代碼之后,還包括:
33、根據(jù)各個所述預(yù)設(shè)偽代碼語句、各個所述自然語言邏輯參數(shù)、所述源代碼和所述源代碼對應(yīng)的生成時間,生成代碼編輯記錄;
34、將所述代碼編輯記錄保存至數(shù)據(jù)庫。
35、第二方面,本技術(shù)提供了一種基于偽代碼的源代碼生成裝置,所述裝置包括:
36、第一獲取模塊,用于檢測到偽代碼編輯界面啟動時,獲取在所述偽代碼編輯界面中輸入的待匹配的字符;
37、選擇模塊,用于獲取與所述字符匹配的各個候選預(yù)設(shè)偽代碼指令,檢測到針對各個所述候選預(yù)設(shè)偽代碼指令中各個目標(biāo)預(yù)設(shè)偽代碼指令的選擇指令時,在所述偽代碼編輯界面生成各個所述目標(biāo)預(yù)設(shè)偽代碼指令對應(yīng)的各個預(yù)設(shè)偽代碼語句;
38、第二獲取模塊,用于獲取基于各個所述預(yù)設(shè)偽代碼語句的各個語法信息輸入的各個自然語言邏輯參數(shù);
39、生成模塊,用于獲取各個所述預(yù)設(shè)偽代碼語句對應(yīng)的各個預(yù)設(shè)方法模型,根據(jù)各個所述自然語言邏輯參數(shù)和各個所述預(yù)設(shè)方法模型,生成各個所述預(yù)設(shè)偽代碼語句對應(yīng)的源代碼。
40、第三方面,本技術(shù)提供了一種計算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)上述的方法的步驟。
41、第四方面,本技術(shù)提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述的方法的步驟。
42、第五方面,本技術(shù)提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述的方法的步驟。
43、上述基于偽代碼的源代碼生成方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品,通過獲取與輸入的字符匹配的各個候選預(yù)設(shè)偽代碼指令,在偽代碼編輯界面生成與選擇的各個目標(biāo)預(yù)設(shè)偽代碼指令對應(yīng)的各個預(yù)設(shè)偽代碼語句,獲取基于預(yù)設(shè)偽代碼語句的各個語法信息輸入的各個自然語言邏輯參數(shù),根據(jù)各個自然語言邏輯參數(shù)和各個預(yù)設(shè)偽代碼語句的各個預(yù)設(shè)方法模型,生成對應(yīng)的源代碼。相較于傳統(tǒng)的基于標(biāo)準(zhǔn)的程序語言語法進(jìn)行代碼編輯,本方案通過在偽代碼編輯界面,利用預(yù)先定義的符合自然語義的偽代碼指令,確定偽代碼語句,通過語句對應(yīng)的預(yù)設(shè)方法模型結(jié)合輸入的自然語言邏輯參數(shù)生成源代碼,提高了代碼生成的效率。