本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種代碼生成方法和裝置。
背景技術(shù):
隨著人們需求的不斷變化,在計(jì)算機(jī)技術(shù)領(lǐng)域,程序員的作用不可或缺。無論是在軟件的開發(fā)、維護(hù)和測試過程,多多少少都需要程序員,或者懂得編碼技術(shù)的人員來編寫復(fù)雜度不同的代碼。然而許多情況下,需要進(jìn)行編碼的技術(shù)人員由于自身編碼水平所限,不能編寫出所需的代碼,例如,在軟件測試領(lǐng)域,測試人員的編碼水平往往是有限的,而測試框架所要求的編碼水平又很高,如果采用編碼水平高的技術(shù)人員來進(jìn)行代碼的編寫,成本很高。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的代碼生成方法和裝置。
依據(jù)本發(fā)明的一個方面,提供了一種代碼生成方法,包括:提供用戶輸入接口:通過所述用戶輸入接口接收用戶的行為意圖信息;解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼;執(zhí)行所述可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
可選地,所述提供用戶輸入接口包括:在指定網(wǎng)頁上提供用戶輸入接口;當(dāng)用戶訪問所述指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
可選地,所述通過所述用戶輸入接口接收用戶的行為意圖信息包括:通過所述用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
可選地,所述通過所述用戶輸入接口接收用戶的行為意圖信息包括:通過所述用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
可選地,所述解析用戶的行為意圖信息包括:當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信息,在從文字信息中解析出關(guān)鍵字。
可選地,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
可選地,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
可選地,所述根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;所述執(zhí)行所述可執(zhí)行代碼包括:在內(nèi)存中執(zhí)行所述可執(zhí)行代碼。
可選地,該方法進(jìn)一步包括:當(dāng)執(zhí)行完畢后,清除內(nèi)存中的所述可執(zhí)行代碼。
依據(jù)本發(fā)明的另一方面,提供了一種代碼生成裝置,包括:接口提供單元,適于提供用戶輸入接口:接收單元,適于通過所述用戶輸入接口接收用戶的行為意圖信息;代碼生成單元,適于解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼;代碼執(zhí)行單元,適于執(zhí)行所述可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
可選地,所述接口提供單元,適于在指定網(wǎng)頁上提供用戶輸入接口;當(dāng)用戶訪問所述指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
可選地,所述接收單元,適于通過所述用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
可選地,所述接收單元,適于通過所述用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
可選地,所述代碼生成單元,適于當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信 息,在從文字信息中解析出關(guān)鍵字。
可選地,所述代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息;適于從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
可選地,所述代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
可選地,所述代碼生成單元,適于根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;所述代碼執(zhí)行單元,適于在內(nèi)存中執(zhí)行所述可執(zhí)行代碼。
可選地,所述代碼執(zhí)行單元,進(jìn)一步適于當(dāng)執(zhí)行完畢后,清除內(nèi)存中的所述可執(zhí)行代碼。
由上述可知,本發(fā)明的技術(shù)方案,為用戶提供了用戶輸入接口,并通過解析用戶在該用戶輸入接口輸入的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼,并可以進(jìn)一步執(zhí)行該可執(zhí)行代碼并向用戶反饋執(zhí)行結(jié)果。該技術(shù)方案將編碼的人工編寫方式改為自動生成,因此并不再受具體執(zhí)行人員的編碼水平所限,只需要執(zhí)行人員輸入行為意圖信息,如開始、結(jié)束、執(zhí)行輸入特定數(shù)值的操作等具體操作的需求,便可以簡捷地自動生成相應(yīng)的可執(zhí)行代碼,不僅提高了代碼生成效率,也降低了執(zhí)行人員的選用標(biāo)準(zhǔn),節(jié)約了人員成本。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本 領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種代碼生成方法的流程圖;
圖2示出了根據(jù)本發(fā)明一個實(shí)施例的一種代碼生成裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1示出了根據(jù)本發(fā)明一個實(shí)施例的一種代碼生成方法的流程圖,如圖1所示,該方法包括:
步驟S110,提供用戶輸入接口。
步驟S120,通過用戶輸入接口接收用戶的行為意圖信息。
步驟S130,解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼。
步驟S140,執(zhí)行可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
可見,圖1所示的方法,為用戶提供了用戶輸入接口,并通過解析用戶在該用戶輸入接口輸入的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼,并可以進(jìn)一步執(zhí)行該可執(zhí)行代碼并向用戶反饋執(zhí)行結(jié)果。該技術(shù)方案將編碼的人工編寫方式改為自動生成,因此并不再受具體執(zhí)行人員的編碼水平所限,只需要執(zhí)行人員輸入行為意圖信息,如開始、結(jié)束、執(zhí)行輸入特定數(shù)值的操作等具體操作的需求,便可以簡捷地自動生成相應(yīng)的可執(zhí)行代碼,不僅提高了代碼生成效率,也降低了執(zhí)行人員的選用標(biāo)準(zhǔn),節(jié)約了人員成本。
在本發(fā)明的一個實(shí)施例中,圖1所示的方法中,提供用戶輸入接口包括:在指定網(wǎng)頁上提供用戶輸入接口;當(dāng)用戶訪問指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
雖然在本實(shí)施例中給出了在指定網(wǎng)頁上提供輸入接口的示例,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,在具體實(shí)施中,該網(wǎng)頁既可以在瀏覽器中進(jìn)行展示,也可以在特定客戶端中進(jìn)行加載。因此,在其他實(shí)施例中,也可以以特定應(yīng)用軟件等方式提供用戶輸入接口,本實(shí)施例并不是對用戶輸入接口的提供方式加以限制而是提供了示例,并且在指定網(wǎng)頁上提供用戶輸入接口,便于用戶訪問,設(shè)計(jì)也更方便,但安全性可能有一定的限制,因此用戶可以根據(jù)實(shí)際需求進(jìn)行具體實(shí)施方式的選擇。
在本發(fā)明的一個實(shí)施例中,圖1所示的方法中,通過用戶輸入接口接收用戶的行為意圖信息包括:通過用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
例如,用戶的具體需求為在測試任務(wù)開始時(shí)啟動火狐瀏覽器,對一些接口進(jìn)行測試。因此用戶可以通過輸入“啟動火狐瀏覽器”這些字符信息或直接說出“啟動火狐瀏覽器”,就可以以很直白的方式表達(dá)出需求,通過本發(fā)明的技術(shù)方案將其轉(zhuǎn)化為可執(zhí)行代碼。具體的字符信息或語音信息也可以以特定文件的方式先進(jìn)行編寫,如將字符信息存入.txt的文本文件,語音信息錄制為.mp3格式的音樂文件等,再通過用戶輸入接口進(jìn)行輸入。
在本發(fā)明的一個實(shí)施例中,圖1所示的方法中,通過用戶輸入接口接收用戶的行為意圖信息包括:通過用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
為提高可執(zhí)行代碼的生成效率,可以通過預(yù)設(shè)格式,要求用戶輸入的行為意圖信息符合預(yù)設(shè)格式。例如,前述實(shí)施例中“啟動火狐瀏覽器”這一需求,用戶在實(shí)際表達(dá)時(shí)也可能進(jìn)行簡單的表達(dá),如“打開火狐”,這樣,對用戶輸入的行為意圖信息進(jìn)行分析就會變得復(fù)雜,因此,可以通過預(yù)設(shè)格式,如對特定軟件的啟動設(shè)置格式為“輸入‘啟動’”,這樣可以進(jìn)一步提升可執(zhí)行代碼的生成效率,也更為規(guī)范。
在本發(fā)明的一個實(shí)施例中,圖1所示的方法中,解析用戶的行為意圖信息包括:當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信息,在從文字信息中解析出關(guān)鍵字。
例如,“啟動火狐瀏覽器”這一用戶輸入的行為意圖信息中,就包含“啟動”和“火狐瀏覽器”這兩個關(guān)鍵字。對于用戶輸入的行為意圖信息為語音信息的情況,可以利用語音識別技術(shù)將其先轉(zhuǎn)換為文字信息,再從中轉(zhuǎn)化為關(guān)鍵字。
具體地,可以通過以下方案根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼:
方案一:根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
例如,用戶希望生成的可執(zhí)行代碼是一個測試用例,但執(zhí)行測試用例還需要一定的測試邏輯,因此可以根據(jù)用戶輸入的用戶意圖信息中解析出的關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼進(jìn)行測試。
方案二,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
例如,用戶僅希望執(zhí)行啟動火狐瀏覽器這一操作,并輸入了“啟動火狐瀏覽器”這一用戶意圖信息,根據(jù)其中的關(guān)鍵字“啟動”和“火狐瀏覽器”對應(yīng)的可執(zhí)行代碼,將其整合后生成最終的可執(zhí)行代碼在執(zhí)行后即可實(shí)現(xiàn)啟動火狐瀏覽器這一操作。
在本發(fā)明的一個實(shí)施例中,上述方法中,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;執(zhí)行可執(zhí)行代碼包括:在內(nèi)存中執(zhí)行可執(zhí)行代碼。
由于可執(zhí)行代碼可直接被機(jī)器識別,因此,可以根據(jù)用戶輸入的用戶意圖信息的解析結(jié)果直接在內(nèi)存中生成可執(zhí)行代碼,而非采用高級編程語言編寫的代碼,省去了現(xiàn)有技術(shù)中,采用高級編程語言編寫測試代碼等代碼后,還需要將其在機(jī)器中翻譯或解釋為機(jī)器語言的過程。
在本發(fā)明的一個實(shí)施例中,上述方法進(jìn)一步包括:當(dāng)執(zhí)行完畢后,清除內(nèi)存中的可執(zhí)行代碼。
在可執(zhí)行代碼執(zhí)行過后便失去用處,這時(shí)可以直接清除內(nèi)存中的可執(zhí)行 代碼。在現(xiàn)有技術(shù)中往往需要用戶手動對內(nèi)存中的冗余代碼進(jìn)行清除,耗時(shí)耗力,而該實(shí)施例提供的方法可以在可執(zhí)行代碼執(zhí)行完畢后就直接將其清除,不需復(fù)雜的判斷邏輯來區(qū)分內(nèi)存中哪些可執(zhí)行代碼是需要清除的,方便有效。
圖2示出了根據(jù)本發(fā)明一個實(shí)施例的一種代碼生成裝置的結(jié)構(gòu)圖,如圖2所示,代碼生成裝置200包括:
接口提供單元210,適于提供用戶輸入接口。
接收單元220,適于通過用戶輸入接口接收用戶的行為意圖信息。
代碼生成單元230,適于解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼。
代碼執(zhí)行單元。適于執(zhí)行可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
可見,圖2所示的裝置,為用戶提供了用戶輸入接口,并通過解析用戶在該用戶輸入接口輸入的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼,并可以進(jìn)一步執(zhí)行該可執(zhí)行代碼并向用戶反饋執(zhí)行結(jié)果。該技術(shù)方案將編碼的人工編寫方式改為自動生成,因此并不再受具體執(zhí)行人員的編碼水平所限,只需要執(zhí)行人員輸入行為意圖信息,如開始、結(jié)束、執(zhí)行輸入特定數(shù)值的操作等具體操作的需求,便可以簡捷地自動生成相應(yīng)的可執(zhí)行代碼,不僅提高了代碼生成效率,也降低了執(zhí)行人員的選用標(biāo)準(zhǔn),節(jié)約了人員成本。
在本發(fā)明的一個實(shí)施例中,圖2所示的裝置中,接口提供單元,適于在指定網(wǎng)頁上提供用戶輸入接口;當(dāng)用戶訪問指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
在本發(fā)明的一個實(shí)施例中,圖2所示的裝置中,接收單元,適于通過用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
在本發(fā)明的一個實(shí)施例中,圖2所示的裝置中,接收單元,適于通過用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
在本發(fā)明的一個實(shí)施例中,圖2所示的裝置中,代碼生成單元,適于當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信息,在從文字信息中解析出關(guān)鍵字。
在本發(fā)明的一個實(shí)施例中,上述裝置中,代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵 字對應(yīng)的執(zhí)行邏輯信息;適于從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
在本發(fā)明的一個實(shí)施例中,上述裝置中,代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
在本發(fā)明的一個實(shí)施例中,上述裝置中,代碼生成單元,適于根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;代碼執(zhí)行單元,適于在內(nèi)存中執(zhí)行可執(zhí)行代碼。
在本發(fā)明的一個實(shí)施例中,上述裝置中,代碼執(zhí)行單元,進(jìn)一步適于當(dāng)執(zhí)行完畢后,清除內(nèi)存中的可執(zhí)行代碼。
需要說明的是,上述各裝置實(shí)施例的具體實(shí)施方式與前述對應(yīng)方法實(shí)施例的具體實(shí)施方式相同,在此不再贅述。
綜上所述,圖2所示的裝置本發(fā)明的技術(shù)方案,為用戶提供了用戶輸入接口,并通過解析用戶在該用戶輸入接口輸入的行為意圖信息如字符信息和語音信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼,并可以進(jìn)一步執(zhí)行該可執(zhí)行代碼并向用戶反饋執(zhí)行結(jié)果。該技術(shù)方案將編碼的人工編寫方式改為自動生成,因此并不再受具體執(zhí)行人員的編碼水平所限,只需要執(zhí)行人員輸入行為意圖信息,如開始、結(jié)束、執(zhí)行輸入特定數(shù)值的操作等具體操作的需求,便可以簡捷地自動生成相應(yīng)的可執(zhí)行代碼,不僅提高了代碼生成效率,也降低了執(zhí)行人員的選用標(biāo)準(zhǔn),節(jié)約了人員成本。
需要說明的是:
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本 發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時(shí)被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的代碼生成裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備 或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了A1、一種代碼生成方法,其中,該方法包括:
提供用戶輸入接口:
通過所述用戶輸入接口接收用戶的行為意圖信息;
解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼;
執(zhí)行所述可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
A2、如A1所述的方法,其中,所述提供用戶輸入接口包括:
在指定網(wǎng)頁上提供用戶輸入接口;
當(dāng)用戶訪問所述指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
A3、如A1所述的方法,其中,所述通過所述用戶輸入接口接收用戶的行為意圖信息包括:
通過所述用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
A4、如A1所述的方法,其中,所述通過所述用戶輸入接口接收用戶的行為意圖信息包括:
通過所述用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
A5、如A1所述的方法,其中,所述解析用戶的行為意圖信息包括:
當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;
當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信息,在從文字信息中解析出關(guān)鍵字。
A6、如A5所述的方法,其中,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:
根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息;
從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
A7、如A5所述的方法,其中,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:
根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;
從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
A8、如A1-A7中任一項(xiàng)所述的方法,其中,
所述根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼包括:根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;
所述執(zhí)行所述可執(zhí)行代碼包括:在內(nèi)存中執(zhí)行所述可執(zhí)行代碼。
A9、如A8所述的方法,其中,該方法進(jìn)一步包括:
當(dāng)執(zhí)行完畢后,清除內(nèi)存中的所述可執(zhí)行代碼。
本發(fā)明還公開了B10、一種代碼生成裝置,其中,該裝置包括:
接口提供單元,適于提供用戶輸入接口:
接收單元,適于通過所述用戶輸入接口接收用戶的行為意圖信息;
代碼生成單元,適于解析用戶的行為意圖信息,根據(jù)解析結(jié)果生成相應(yīng)的可執(zhí)行代碼;
代碼執(zhí)行單元,適于執(zhí)行所述可執(zhí)行代碼,并向用戶反饋執(zhí)行結(jié)果。
B11、如B10所述的裝置,其中,
所述接口提供單元,適于在指定網(wǎng)頁上提供用戶輸入接口;當(dāng)用戶訪問 所述指定網(wǎng)頁時(shí),在該指定網(wǎng)頁上展示用戶輸入接口。
B12、如B10所述的裝置,其中,
所述接收單元,適于通過所述用戶輸入接口接收用戶輸入的字符信息,或者接收用戶輸入的語音信息。
B13、如B10所述的裝置,其中,
所述接收單元,適于通過所述用戶輸入接口接收用戶輸入符合預(yù)設(shè)格式的行為意圖信息。
B14、如B10所述的裝置,其中,
所述代碼生成單元,適于當(dāng)用戶的行為意圖信息為文字信息時(shí),從中解析出關(guān)鍵字;當(dāng)用戶的行為意圖信息為語音信息時(shí),先轉(zhuǎn)換成文字信息,在從文字信息中解析出關(guān)鍵字。
B15、如B14所述的裝置,其中,
所述代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息;適于從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的執(zhí)行邏輯信息,根據(jù)對應(yīng)的執(zhí)行邏輯信息生成相應(yīng)的可執(zhí)行代碼。
B16、如B14所述的裝置,其中,
所述代碼生成單元,適于根據(jù)解析出的關(guān)鍵字查詢預(yù)設(shè)的關(guān)鍵字?jǐn)?shù)據(jù)庫;所述關(guān)鍵字?jǐn)?shù)據(jù)庫中保存有關(guān)鍵字和關(guān)鍵字對應(yīng)的可執(zhí)行代碼;從關(guān)鍵字?jǐn)?shù)據(jù)庫中查詢出關(guān)鍵字對應(yīng)的可執(zhí)行代碼,當(dāng)有多個關(guān)鍵字時(shí)多對應(yīng)的多段可執(zhí)行代碼進(jìn)行整合生成最終的可執(zhí)行代碼。
B17、如B10-B16中任一項(xiàng)所述的裝置,其中,
所述代碼生成單元,適于根據(jù)解析結(jié)果在內(nèi)存中生成相應(yīng)的可執(zhí)行代碼;
所述代碼執(zhí)行單元,適于在內(nèi)存中執(zhí)行所述可執(zhí)行代碼。
B18、如B17所述的裝置,其中,
所述代碼執(zhí)行單元,進(jìn)一步適于當(dāng)執(zhí)行完畢后,清除內(nèi)存中的所述可執(zhí)行代碼。