本發(fā)明屬于計算機技術領域,尤其涉及積木式編程轉(zhuǎn)換成程序代碼的方法及裝置。
背景技術:
積木式編程是一類編程形式,用戶可以不用記憶和書寫程序代碼,只需要從系統(tǒng)提供好的一系列語句“積木塊”中選擇并組合就可以編寫自己的程序,例如scratch和blockly?,F(xiàn)有技術通常是根據(jù)積木塊的開發(fā)者預先設定好的內(nèi)置規(guī)則將積木式編程轉(zhuǎn)換成程序代碼,不能對其進行修改,無法將積木式編程應用于不同的電子模塊。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供了積木式編程轉(zhuǎn)換成程序代碼的方法及裝置,以解決現(xiàn)有技術無法將積木式編程應用于不同的電子模塊的問題。
本發(fā)明實施例的第一方面提供了一種積木式編程轉(zhuǎn)換成程序代碼的方法,所述方法包括:
設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元;
設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼;
根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
本發(fā)明實施例的第二方面提供了一種積木式編程轉(zhuǎn)換成程序代碼的裝置,所述裝置包括:
積木塊設置模塊,用于設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元;
文件設置模塊,用于設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼;
代碼轉(zhuǎn)換模塊,用于根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
本發(fā)明實施例的第三方面提供了一種積木式編程轉(zhuǎn)換成程序代碼的裝置,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述第一方面所述方法的步驟。
本發(fā)明實施例的第四方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面所述方法的步驟。
本發(fā)明實施例與現(xiàn)有技術相比存在的有益效果是:本發(fā)明實施例先設置包含輸入?yún)?shù)的積木塊,然后設置將該積木塊轉(zhuǎn)換成程序代碼的配置文件,再根據(jù)該配置文件中的多個代碼區(qū)域中分別設置的子程序代碼和上述輸入?yún)?shù),將積木塊轉(zhuǎn)換成相應的程序代碼。本發(fā)明實施例通過設置的將積木塊轉(zhuǎn)換成程序代碼的配置文件,并根據(jù)該配置文件和上述積木塊的輸入?yún)?shù),可以將上述積木塊轉(zhuǎn)換成相應的程序代碼,從而根據(jù)該程序代碼控制電子模塊。即通過設置不同的配置文件和/或積木塊的輸入?yún)?shù),可以使積木塊轉(zhuǎn)換成不同的程序代碼,從而根據(jù)該不同的程序代碼控制不同的電子模塊,實現(xiàn)了將積木式編程應用于不同的電子模塊,有效解決了現(xiàn)有技術無法將積木式編程應用于不同的電子模塊的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的積木式編程轉(zhuǎn)換成程序代碼的方法的實現(xiàn)流程示意圖;
圖2是輸入?yún)?shù)為“1”的積木塊的示例圖;
圖3是積木式編程轉(zhuǎn)換成程序代碼的方法的實際應用場景的示例圖;
圖4是本發(fā)明實施例提供的積木式編程轉(zhuǎn)換成程序代碼的方法的實現(xiàn)流程示意圖;
圖5是本發(fā)明實施例提供的積木式編程轉(zhuǎn)換成程序代碼的裝置的示意圖;
圖6是本發(fā)明實施例提供的積木式編程轉(zhuǎn)換成程序代碼的裝置的示意圖。
具體實施方式
以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結構、技術之類的具體細節(jié),以便透徹理解本發(fā)明實施例。然而,本領域的技術人員應當清楚,在沒有這些具體細節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的系統(tǒng)、裝置、電路以及方法的詳細說明,以免不必要的細節(jié)妨礙本發(fā)明的描述。
為了說明本發(fā)明所述的技術方案,下面通過具體實施例來進行說明。
參見圖1,是本發(fā)明實施例一提供的積木式編程轉(zhuǎn)換成程序代碼的方法的實現(xiàn)示意圖,如圖所示該方法可以包括以下步驟:
步驟s101,設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元。
在本發(fā)明實施例中,所述輸入?yún)?shù)可以是指通過所述積木塊控制相應的電子模塊實現(xiàn)不同功能的參數(shù)。如圖2所示是輸入?yún)?shù)為“1”的積木塊,該積木塊可以控制電機(即電子模塊)在電機的1端口每分鐘旋轉(zhuǎn)1000圈。其中,所述電子模塊包含傳感器和執(zhí)行器,用于和微處理器配合快速搭建原型或創(chuàng)意作品,典型的電子模塊包括按鈕、液晶屏和電機等。
步驟s102,設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼。
在本發(fā)明實施例中,所述配置文件用于規(guī)定擴展中包含的積木塊和積木塊如何轉(zhuǎn)換為程序代碼,即所述配置文件包括但不限于多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼。其中,所述擴展可以為積木式編程增加額外的編程“積木塊”(即同一個積木塊可以通過擴展實現(xiàn)不同的功能),以使用更多的電子模塊。
可選的,所述多個代碼區(qū)域包括inc區(qū)域、def區(qū)域、setup區(qū)域、loop區(qū)域以及work區(qū)域;所述在所述多個代碼區(qū)域中分別設置的子程序代碼包括:
在所述inc區(qū)域中設置引入代碼階段的子程序代碼;
在所述def區(qū)域中設置定義階段的子程序代碼;
在所述setup區(qū)域中設置初始化階段的子程序代碼;
在所述loop區(qū)域中設置循環(huán)階段的子程序代碼;
在所述work區(qū)域中設置所述積木塊被調(diào)用時所要執(zhí)行的子程序代碼。
在本發(fā)明實施例中,可以在“inc”區(qū)域設置“引入”代碼階段的代碼,包括但不限于需要額外引用的頭文件;在“def”區(qū)域設置“定義”階段的代碼,包括但不限于需要額外定義的變量和函數(shù);在“setup”區(qū)域設置“初始化”階段的代碼,包括但不限于在嵌入式程序首次執(zhí)行的初始化代碼。在“l(fā)oop”區(qū)域設置“循環(huán)”階段的代碼,包括但不限于嵌入式程序主循環(huán)中每次都要運行的代碼;在“work”區(qū)域設置積木塊被調(diào)用的時候執(zhí)行的代碼,積木塊每次執(zhí)行都要調(diào)用該代碼。需要說明的是,本發(fā)明實施例可以通過設置不同的代碼區(qū)域和/或者在代碼區(qū)域中設置不同的子程序代碼等,從而實現(xiàn)通過積木塊實現(xiàn)不同的功能、控制不同的電子模塊和/或?qū)⒎e木式編程轉(zhuǎn)換成不同的語言類型的程序代碼等。
其中,代碼階段是指用于微控制器的特定代碼在源程序中的位置,例如“#include<arduino.h>”在引入(include)階段,“pinmode(13,output)”在初始化(setup)階段等。所述程序代碼是指基于某種編程語言(例如c++,java等)的源代碼。
步驟s103,根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
可選的,所述根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼包括:
根據(jù)所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述多個代碼區(qū)域中分別設置的子程序代碼進行組合,并將組合后的程序代碼作為所述積木塊轉(zhuǎn)換的程序代碼,將所述輸入?yún)?shù)帶入所述積木塊轉(zhuǎn)換的程序代碼中。
示例性的,積木塊轉(zhuǎn)換成程序代碼的配置文件可以設置如下:
根據(jù)配置文件中的多個代碼區(qū)域中分別設置的子程序代碼和輸入?yún)?shù)“1”,上述示例中的積木塊轉(zhuǎn)換成的程序代碼如下:
其中,積木塊在轉(zhuǎn)換成相應的程序代碼時,積木塊中帶有的參數(shù)會根據(jù)配置文件中的類型定義轉(zhuǎn)換為具有相應數(shù)據(jù)類型的參數(shù)(如d代表整數(shù)類型,s代表字符串類型),通過占位符替換轉(zhuǎn)換成代碼的指定部分,例如,在圖2中的“積木塊”中的“電機端口”填寫“1”,從上述示例中的類型定義(“encode”:“{d0}{d1}”)中可以確定第一個參數(shù)的類型為整數(shù)(d),轉(zhuǎn)換成的代碼(即encoder_1.loop())將配置文件定義(即“encoder_{0}.loop();\n”)中的encoder_{0}轉(zhuǎn)化為encoder_1,因為用戶在積木塊中填寫的端口為“1”。
可選的,在將所述積木塊轉(zhuǎn)換成相應的程序代碼之后,還包括:
執(zhí)行所述積木塊轉(zhuǎn)換的程序代碼,以控制相應的電子模塊。
如圖3所示,在積木式編程轉(zhuǎn)換成程序代碼的方法的實際應用場景中,啟動擴展管理器,通過擴展管理器中的“安裝”和“從zip文件安裝”選項引入擴展,從而使用由于添加擴展增加的積木塊。即實現(xiàn)根據(jù)配置文件和輸入?yún)?shù)將積木塊轉(zhuǎn)換成相應的程序代碼并控制對應的電子模塊。其中,“安裝”選項通過積木式編程軟件的在線服務器下載擴展并添加到相應的計算機設備中。所述zip文件即為壓縮文件。
本發(fā)明實施例通過設置不同的配置文件和/或積木塊的輸入?yún)?shù),可以使積木塊轉(zhuǎn)換成不同的程序代碼,從而根據(jù)該不同的程序代碼控制不同的電子模塊,實現(xiàn)了將積木式編程應用于不同的電子模塊,有效解決了現(xiàn)有技術無法將積木式編程應用于不同的電子模塊的問題。
參見圖4,是本發(fā)明實施例二提供的積木式編程轉(zhuǎn)換成程序代碼的方法的實現(xiàn)示意圖,如圖所示該方法可以包括以下步驟:
步驟s401,設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元。
該步驟與步驟s101相同,具體可參見步驟s101的相關描述,在此不再贅述。
步驟s402,設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼。
該步驟與步驟s102相同,具體可參見步驟s102的相關描述,在此不再贅述。
步驟s403,根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
該步驟與步驟s103相同,具體可參見步驟s103的相關描述,在此不再贅述。
步驟s404,將多個積木塊進行組合,以根據(jù)所述多個積木塊的組合進行積木式編程。
在本發(fā)明實施例中,可以將多個積木塊進行組合,以控制多個電子模塊(一個積木塊控制一個電子模塊),實現(xiàn)不同的功能,例如在控制小貓時,積木塊1“移動10步”和積木塊2“向右旋轉(zhuǎn)15度”,可以將積木塊1和積木塊2進行組合,以控制小貓移動10步并向右旋轉(zhuǎn)15度。
步驟s405,按照所述多個積木塊進行積木式編程時的組合順序,將所述多個積木塊中每個積木塊轉(zhuǎn)換的程序代碼進行組合,并將組合后的程序代碼作為所述積木式編程轉(zhuǎn)換的程序代碼。
例如,在將積木塊1“移動10步”和積木塊2“向右旋轉(zhuǎn)15度”進行組合時,若將積木塊1設置在積木塊2的前面,則在將根據(jù)步驟s401-s403所獲得的積木塊1轉(zhuǎn)換的程序代碼和積木塊2轉(zhuǎn)換的程序代碼進行組合時,積木塊1轉(zhuǎn)換的程序代碼也是設置在積木塊2轉(zhuǎn)換的程序代碼的前面,并按照此順序(即積木塊1轉(zhuǎn)換的程序代碼設置在積木塊2轉(zhuǎn)換的程序代碼之前)進行組合,將組合后的程序代碼作為積木塊1和積木塊2組合的積木式編程轉(zhuǎn)換的程序代碼,以控制小貓先移動10步,然后再向右旋轉(zhuǎn)15度。
步驟s406,若所述積木式編程轉(zhuǎn)換的程序代碼中存在相同的代碼區(qū)域且所述相同的代碼區(qū)域中的子程序代碼也相同,則從所述積木式編程轉(zhuǎn)換的程序代碼中篩除重復的代碼區(qū)域以及該代碼區(qū)域中的子程序代碼。
在本發(fā)明實施例中,由于每個積木塊所轉(zhuǎn)換的程序代碼中通常至少包括inc區(qū)域、def區(qū)域、setup區(qū)域、loop區(qū)域以及work區(qū)域等多個代碼區(qū)域,如果多個積木塊在積木式編程時轉(zhuǎn)換的程序代碼中存在相同的代碼區(qū)域且該相同的代碼區(qū)域中的子程序代碼也相同,則從所述積木式編程轉(zhuǎn)換的程序代碼中篩除重復的代碼區(qū)域以及該代碼區(qū)域中的子程序代碼。例如,對于inc區(qū)域,篩除重復的頭文件;對于def區(qū)域,篩除重復的定義;對于setup區(qū)域,篩除重復的初始化代碼;對于loop區(qū)域,篩除重復的運行代碼。
示例性的,積木塊1轉(zhuǎn)換的程序代碼中包含#include<auriga.h>,積木塊2轉(zhuǎn)換的程序代碼中也包含#include<auriga.h>,則在將積木塊1與積木塊2進行積木式編程時,該積木式編程轉(zhuǎn)換的程序代碼中可以篩除積木塊2轉(zhuǎn)換的程序代碼中的#include<auriga.h>,只保留積木塊1轉(zhuǎn)換的程序代碼中的#include<auriga.h>作為上述積木式編程轉(zhuǎn)換的程序代碼的頭文件。
本發(fā)明實施例在實施例一的基礎上增加了在根據(jù)多個積木塊的組合進行積木式編程時,篩除該積木式編程轉(zhuǎn)換的程序代碼中重復的代碼區(qū)域中的子程序代碼,從而可有效避免重復執(zhí)行相同的子程序代碼。
應理解,上述實施例中各步驟的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內(nèi)在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。
參見圖5,是本發(fā)明實施例三提供的積木式編程轉(zhuǎn)換成程序代碼的裝置的示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。
所述積木式編程轉(zhuǎn)換成程序代碼的裝置包括:
積木塊設置模塊51,用于設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元;
文件設置模塊52,用于設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼;
代碼轉(zhuǎn)換模塊53,用于根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
可選的,所述多個代碼區(qū)域包括inc區(qū)域、def區(qū)域、setup區(qū)域、loop區(qū)域以及work區(qū)域;所述文件設置模塊52包括:
第一設置單元521,用于在所述inc區(qū)域中設置引入代碼階段的子程序代碼;
第二設置單元522,用于在所述def區(qū)域中設置定義階段的子程序代碼;
第三設置單元523,用于在所述setup區(qū)域中設置初始化階段的子程序代碼;
第四設置單元524,用于在所述loop區(qū)域中設置循環(huán)階段的子程序代碼;
第五設置單元525,用于在所述work區(qū)域中設置所述積木塊被調(diào)用時所要執(zhí)行的子程序代碼。
所述裝置還包括:
執(zhí)行模塊54,用于在將所述積木塊轉(zhuǎn)換成相應的程序代碼之后,執(zhí)行所述積木塊轉(zhuǎn)換的程序代碼,以控制相應的電子模塊;
所述代碼轉(zhuǎn)換模塊53,具體用于根據(jù)所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述多個代碼區(qū)域中分別設置的子程序代碼進行組合,并將組合后的程序代碼作為所述積木塊轉(zhuǎn)換的程序代碼,將所述輸入?yún)?shù)帶入所述積木塊轉(zhuǎn)換的程序代碼中;
所述裝置還包括:
積木塊組合模塊55,用于將多個積木塊進行組合,以根據(jù)所述多個積木塊的組合進行積木式編程;
代碼組合模塊56,用于按照所述多個積木塊進行積木式編程時的組合順序,將所述多個積木塊中每個積木塊轉(zhuǎn)換的程序代碼進行組合,并將組合后的程序代碼作為所述積木式編程轉(zhuǎn)換的程序代碼;
篩除模塊57,用于若所述積木式編程轉(zhuǎn)換的程序代碼中存在相同的代碼區(qū)域且所述相同的代碼區(qū)域中的子程序代碼也相同,則從所述積木式編程轉(zhuǎn)換的程序代碼中篩除重復的代碼區(qū)域以及該代碼區(qū)域中的子程序代碼。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結構劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元、模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
參見圖6,是本發(fā)明實施例四提供的積木式編程轉(zhuǎn)換成程序代碼的裝置的示意圖。如圖6所示,該實施例的積木式編程轉(zhuǎn)換成程序代碼的裝置6包括:處理器60、存儲器61以及存儲在所述存儲器61中并可在所述處理器60上運行的計算機程序62。所述處理器60執(zhí)行所述計算機程序62時實現(xiàn)上述各個積木式編程轉(zhuǎn)換成程序代碼的方法實施例中的步驟,例如圖1所示的步驟s101至s104,圖4所示的步驟s401至s406?;蛘?,所述處理器60執(zhí)行所述計算機程序62時實現(xiàn)上述各裝置實施例中各模塊/單元的功能,例如圖5所示模塊51至57的功能。
示例性的,所述計算機程序62可以被分割成一個或多個模塊/單元,所述一個或者多個模塊/單元被存儲在所述存儲器61中,并由所述處理器60執(zhí)行,以完成本發(fā)明。所述一個或多個模塊/單元可以是能夠完成特定功能的一系列計算機程序指令段,該指令段用于描述所述計算機程序62在所述積木式編程轉(zhuǎn)換成程序代碼的裝置中的執(zhí)行過程。例如,所述計算機程序62可以被分割成積木塊設置模塊、文件設置模塊、代碼轉(zhuǎn)換模塊、執(zhí)行模塊、積木塊組合模塊、代碼組合模塊以及篩除模塊,各模塊具體功能如下:
積木塊設置模塊,用于設置包含輸入?yún)?shù)的積木塊,其中,所述積木塊是指積木式編程中的語句單元;
文件設置模塊,用于設置將所述積木塊轉(zhuǎn)換成程序代碼的配置文件,其中,所述配置文件包括多個代碼區(qū)域和在所述多個代碼區(qū)域中分別設置的子程序代碼;
代碼轉(zhuǎn)換模塊,用于根據(jù)在所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述積木塊轉(zhuǎn)換成相應的程序代碼。
所述多個代碼區(qū)域包括inc區(qū)域、def區(qū)域、setup區(qū)域、loop區(qū)域以及work區(qū)域;所述文件設置模塊包括:
第一設置單元,用于在所述inc區(qū)域中設置引入代碼階段的子程序代碼;
第二設置單元,用于在所述def區(qū)域中設置定義階段的子程序代碼;
第三設置單元,用于在所述setup區(qū)域中設置初始化階段的子程序代碼;
第四設置單元,用于在所述loop區(qū)域中設置循環(huán)階段的子程序代碼;
第五設置單元,用于在所述work區(qū)域中設置所述積木塊被調(diào)用時所要執(zhí)行的子程序代碼。
執(zhí)行模塊,用于在將所述積木塊轉(zhuǎn)換成相應的程序代碼之后,執(zhí)行所述積木塊轉(zhuǎn)換的程序代碼,以控制相應的電子模塊;
所述代碼轉(zhuǎn)換模塊,具體用于根據(jù)所述多個代碼區(qū)域中分別設置的子程序代碼和所述輸入?yún)?shù),將所述多個代碼區(qū)域中分別設置的子程序代碼進行組合,并將組合后的程序代碼作為所述積木塊轉(zhuǎn)換的程序代碼,將所述輸入?yún)?shù)帶入所述積木塊轉(zhuǎn)換的程序代碼中;
積木塊組合模塊,用于將多個積木塊進行組合,以根據(jù)所述多個積木塊的組合進行積木式編程;
代碼組合模塊,用于按照所述多個積木塊進行積木式編程時的組合順序,將所述多個積木塊中每個積木塊轉(zhuǎn)換的程序代碼進行組合,將組合后的程序代碼作為所述積木式編程轉(zhuǎn)換的程序代碼;
篩除模塊,用于若所述積木式編程轉(zhuǎn)換的程序代碼中存在相同的代碼區(qū)域且所述相同的代碼區(qū)域中的子程序代碼也相同,則從所述積木式編程轉(zhuǎn)換的程序代碼中篩除重復的代碼區(qū)域以及該代碼區(qū)域中的子程序代碼。
所述積木式編程轉(zhuǎn)換成程序代碼的裝置6可以是桌上型計算機、筆記本、掌上電腦及云端服務器等計算設備。所述積木式編程轉(zhuǎn)換成程序代碼的裝置可包括,但不僅限于,處理器60、存儲器61。本領域技術人員可以理解,圖6僅僅是積木式編程轉(zhuǎn)換成程序代碼的裝置6的示例,并不構成對積木式編程轉(zhuǎn)換成程序代碼的裝置的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述積木式編程轉(zhuǎn)換成程序代碼的裝置還可以包括輸入輸出設備、網(wǎng)絡接入設備、總線等。
所稱處理器60可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述存儲器61可以是所述積木式編程轉(zhuǎn)換成程序代碼的裝置積木式編程轉(zhuǎn)換成程序代碼的6的內(nèi)部存儲單元,例如所述積木式編程轉(zhuǎn)換成程序代碼的裝置6的硬盤或內(nèi)存。所述存儲器61也可以是所述積木式編程轉(zhuǎn)換成程序代碼的裝置6的外部存儲設備,例如所述積木式編程轉(zhuǎn)換成程序代碼的裝置6上配備的插接式硬盤,智能存儲卡(smartmediacard,smc),安全數(shù)字(securedigital,sd)卡,閃存卡(flashcard)等。進一步地,所述存儲器61還可以既包括所述積木式編程轉(zhuǎn)換成程序代碼的裝置6的內(nèi)部存儲單元也包括外部存儲設備。所述存儲器61用于存儲所述計算機程序以及所述積木式編程轉(zhuǎn)換成程序代碼的裝置所需的其他程序和數(shù)據(jù)。所述存儲器61還可以用于暫時地存儲已經(jīng)輸出或者將要輸出的數(shù)據(jù)。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,僅以上述各功能單元、模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能單元、模塊完成,即將所述裝置的內(nèi)部結構劃分成不同的功能單元或模塊,以完成以上描述的全部或者部分功能。實施例中的各功能單元、模塊可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中,上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。另外,各功能單元、模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本申請的保護范圍。上述系統(tǒng)中單元、模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述或記載的部分,可以參見其它實施例的相關描述。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
在本發(fā)明所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置/終端設備實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些接口,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的模塊/單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實現(xiàn)上述實施例方法中的全部或部分流程,也可以通過計算機程序來指令相關的硬件來完成,所述的計算機程序可存儲于一計算機可讀存儲介質(zhì)中,該計算機程序在被處理器執(zhí)行時,可實現(xiàn)上述各個方法實施例的步驟。。其中,所述計算機程序包括計算機程序代碼,所述計算機程序代碼可以為源代碼形式、對象代碼形式、可執(zhí)行文件或某些中間形式等。所述計算機可讀介質(zhì)可以包括:能夠攜帶所述計算機程序代碼的任何實體或裝置、記錄介質(zhì)、u盤、移動硬盤、磁碟、光盤、計算機存儲器、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、電載波信號、電信信號以及軟件分發(fā)介質(zhì)等。需要說明的是,所述計算機可讀介質(zhì)包含的內(nèi)容可以根據(jù)司法管轄區(qū)內(nèi)立法和專利實踐的要求進行適當?shù)脑鰷p,例如在某些司法管轄區(qū),根據(jù)立法和專利實踐,計算機可讀介質(zhì)不包括是電載波信號和電信信號。
以上所述實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍,均應包含在本發(fā)明的保護范圍之內(nèi)。