欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

代碼生成方法及裝置的制造方法

文檔序號(hào):8339387閱讀:298來(lái)源:國(guó)知局
代碼生成方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種代碼生成方法及裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,出現(xiàn)了越來(lái)越多諸如即時(shí)通訊、游戲等互聯(lián)網(wǎng)業(yè)務(wù),進(jìn)而也衍生出了越來(lái)越多用于處理這些業(yè)務(wù)的業(yè)務(wù)系統(tǒng)。每個(gè)業(yè)務(wù)系統(tǒng)可能會(huì)包括多個(gè)不同的功能模塊,每個(gè)功能模塊可以將所需的數(shù)據(jù)存儲(chǔ)在多張數(shù)據(jù)表中,因此,開(kāi)發(fā)人員在開(kāi)發(fā)該業(yè)務(wù)系統(tǒng)時(shí),需要針對(duì)每個(gè)功能模塊的多張數(shù)據(jù)表分別編寫(xiě)用于描述和定位每張數(shù)據(jù)表的代碼,以便業(yè)務(wù)系統(tǒng)在運(yùn)行中能夠通過(guò)每張數(shù)據(jù)表的代碼,從每張數(shù)據(jù)表中讀數(shù)據(jù)、寫(xiě)數(shù)據(jù)或者刪除數(shù)據(jù)。
[0003]而對(duì)于不同的數(shù)據(jù)表,從數(shù)據(jù)表中讀數(shù)據(jù)、寫(xiě)數(shù)據(jù)或者刪除數(shù)據(jù)的過(guò)程基本相同,因此,為了提高業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)效率,開(kāi)發(fā)人員可以通過(guò)代碼生成器,為每張數(shù)據(jù)表分別生成代碼。之后,開(kāi)發(fā)人員可以根據(jù)該業(yè)務(wù)系統(tǒng)的實(shí)際需求,對(duì)生成的代碼進(jìn)行修改,完成該業(yè)務(wù)系統(tǒng)的開(kāi)發(fā)。
[0004]隨著該業(yè)務(wù)系統(tǒng)的運(yùn)行,當(dāng)確定該業(yè)務(wù)系統(tǒng)中數(shù)據(jù)表的結(jié)構(gòu)不能滿足需求時(shí),開(kāi)發(fā)人員可以對(duì)該數(shù)據(jù)表的結(jié)構(gòu)進(jìn)行修改,之后,再通過(guò)代碼生成器為該數(shù)據(jù)表生成新代碼,而生成的新代碼中覆蓋了開(kāi)發(fā)人員之前基于該業(yè)務(wù)系統(tǒng)的實(shí)際需求進(jìn)行修改的代碼,此時(shí),為了滿足該業(yè)務(wù)系統(tǒng)的實(shí)際需求,開(kāi)發(fā)人員需要再次對(duì)生成的新代碼進(jìn)行修改,操作比較復(fù)雜,降低了代碼生成效率。

【發(fā)明內(nèi)容】

[0005]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種代碼生成方法及裝置。所述技術(shù)方案如下:
[0006]一方面,提供了一種代碼生成方法,所述方法包括:
[0007]當(dāng)接收到代碼生成指令時(shí),根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件;
[0008]如果已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,則將所述歷史代碼文件轉(zhuǎn)換成第一抽象語(yǔ)法樹(shù);
[0009]根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹(shù);
[0010]根據(jù)所述第一抽象語(yǔ)法樹(shù)與所述第二抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0011]可選地,所述根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件,包括:
[0012]根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),獲取數(shù)據(jù)表的代碼文件存儲(chǔ)路徑;
[0013]如果所述代碼文件存儲(chǔ)路徑中存儲(chǔ)有代碼文件,則確定已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,否則,確定沒(méi)有存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件。
[0014]可選地,所述根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹(shù),包括:
[0015]根據(jù)所述數(shù)據(jù)表標(biāo)識(shí),獲取對(duì)應(yīng)的數(shù)據(jù)表屬性信息;
[0016]根據(jù)所述數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼;
[0017]將所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼轉(zhuǎn)換成第二抽象語(yǔ)法樹(shù)。
[0018]可選地,所述根據(jù)所述第一抽象語(yǔ)法樹(shù)與所述第二抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼,包括:
[0019]從所述第一抽象語(yǔ)法樹(shù)包括的方法中,獲取與所述第二抽象語(yǔ)法樹(shù)包括的方法不同的方法;
[0020]從所述第一抽象語(yǔ)法樹(shù)包括的成員變量中,獲取與所述第二抽象語(yǔ)法樹(shù)包括的成員變量不同的成員變量;
[0021 ] 將獲取到的方法和獲取到的成員變量添加到所述第二抽象語(yǔ)法樹(shù)中,得到新抽象語(yǔ)法樹(shù);
[0022]根據(jù)所述新抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0023]可選地,所述根據(jù)所述第一抽象語(yǔ)法樹(shù)與所述第二抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼,包括:
[0024]從所述第二抽象語(yǔ)法樹(shù)包括的方法中,獲取與所述第一抽象語(yǔ)法樹(shù)包括的方法不同的方法;
[0025]從所述第二抽象語(yǔ)法樹(shù)包括的成員變量中,獲取與所述第一抽象語(yǔ)法樹(shù)包括的成員變量不同的成員變量;
[0026]將獲取到的方法和獲取到的成員變量添加到所述第一抽象語(yǔ)法樹(shù)中,得到新抽象語(yǔ)法樹(shù);
[0027]根據(jù)所述新抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0028]另一方面,提供了一種代碼生成裝置,所述裝置包括:
[0029]判斷模塊,用于當(dāng)接收到代碼生成指令時(shí),根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件;
[0030]轉(zhuǎn)換模塊,用于如果已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,則將所述歷史代碼文件轉(zhuǎn)換成第一抽象語(yǔ)法樹(shù);
[0031]第一生成模塊,用于根據(jù)所述數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹(shù);
[0032]第二生成模塊,用于根據(jù)所述第一抽象語(yǔ)法樹(shù)與所述第二抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0033]可選地,所述判斷模塊包括:
[0034]第一獲取單元,用于根據(jù)所述代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),獲取數(shù)據(jù)表的代碼文件存儲(chǔ)路徑;
[0035]確定單元,用于如果所述代碼文件存儲(chǔ)路徑中存儲(chǔ)有代碼文件,則確定已存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件,否則,確定沒(méi)有存儲(chǔ)所述數(shù)據(jù)表的歷史代碼文件。
[0036]可選地,所述第一生成模塊包括:
[0037]第二獲取單元,用于根據(jù)所述數(shù)據(jù)表標(biāo)識(shí),獲取對(duì)應(yīng)的數(shù)據(jù)表屬性信息;
[0038]第一生成單元,用于根據(jù)所述數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼;
[0039]轉(zhuǎn)換單元,用于將所述數(shù)據(jù)表的標(biāo)準(zhǔn)代碼轉(zhuǎn)換成第二抽象語(yǔ)法樹(shù)。
[0040]可選地,所述第二生成模塊包括:
[0041]第三獲取單元,用于從所述第一抽象語(yǔ)法樹(shù)包括的方法中,獲取與所述第二抽象語(yǔ)法樹(shù)包括的方法不同的方法;
[0042]第四獲取單元,用于從所述第一抽象語(yǔ)法樹(shù)包括的成員變量中,獲取與所述第二抽象語(yǔ)法樹(shù)包括的成員變量不同的成員變量;
[0043]第一添加單元,用于將獲取到的方法和獲取到的成員變量添加到所述第二抽象語(yǔ)法樹(shù)中,得到新抽象語(yǔ)法樹(shù);
[0044]第二生成單元,用于根據(jù)所述新抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0045]可選地,所述第二生成模塊包括:
[0046]第五獲取單元,用于從所述第二抽象語(yǔ)法樹(shù)包括的方法中,獲取與所述第一抽象語(yǔ)法樹(shù)包括的方法不同的方法;
[0047]第六獲取單元,用于從所述第二抽象語(yǔ)法樹(shù)包括的成員變量中,獲取與所述第一抽象語(yǔ)法樹(shù)包括的成員變量不同的成員變量;
[0048]第二添加單元,用于將獲取到的方法和獲取到的成員變量添加到所述第一抽象語(yǔ)法樹(shù)中,得到新抽象語(yǔ)法樹(shù);
[0049]第三生成單元,用于根據(jù)所述新抽象語(yǔ)法樹(shù),生成所述數(shù)據(jù)表的代碼。
[0050]在本發(fā)明實(shí)施例中,當(dāng)接收到代碼生成指令時(shí),根據(jù)該代碼生成指令攜帶的數(shù)據(jù)表標(biāo)識(shí),判斷是否已存儲(chǔ)數(shù)據(jù)表的歷史代碼文件,如果已存儲(chǔ)該數(shù)據(jù)表的歷史代碼文件,則確定之前已為該數(shù)據(jù)表生成的代碼,且開(kāi)發(fā)人員對(duì)該數(shù)據(jù)表的結(jié)構(gòu)重新進(jìn)行了修改。此時(shí),將該數(shù)據(jù)表的歷史代碼文件轉(zhuǎn)換成第一抽象語(yǔ)法樹(shù),并根據(jù)數(shù)據(jù)表標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)表屬性信息和存儲(chǔ)的數(shù)據(jù)表模板代碼,生成第二抽象語(yǔ)法樹(shù),根據(jù)第一抽象語(yǔ)法樹(shù)與第二抽象語(yǔ)法樹(shù),生成該數(shù)據(jù)表的代碼,使生成的代碼中包括歷史代碼文件中開(kāi)發(fā)人員進(jìn)行修改的代碼,無(wú)需開(kāi)發(fā)人員再次對(duì)生成的代碼進(jìn)行修改,操作比較簡(jiǎn)單,節(jié)省了代碼生成時(shí)間,進(jìn)而提高了代碼生成效率。
【附圖說(shuō)明】
[0051]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0052]圖1是本發(fā)明實(shí)施例提供的一種代碼生成方法流程圖;
[0053]圖2是本發(fā)明實(shí)施例提供的一種代碼生成方法流程圖;
[0054]圖3是本發(fā)明實(shí)施例提供的一種代碼生成裝置結(jié)構(gòu)示意圖;
[0055]圖4是本發(fā)明實(shí)施例提供的另一種代碼生成裝置結(jié)構(gòu)示意圖;
[0056]圖5是本發(fā)明實(shí)施例提供的又一種代碼生成裝置結(jié)構(gòu)示意圖;
[0057]圖6是本發(fā)明實(shí)施例提供的一種第二生成模塊結(jié)構(gòu)示意圖;
[0058]圖7是本發(fā)明實(shí)施例提供的另一種第二生成模塊結(jié)構(gòu)示意圖。
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
清丰县| 金溪县| 遂平县| 枣阳市| 皮山县| 永胜县| 磐安县| 祁东县| 铁力市| 阜新市| 河西区| 宁夏| 新乐市| 噶尔县| 通州市| 镇巴县| 襄樊市| 瑞丽市| 萝北县| 宜黄县| 上杭县| 江西省| 得荣县| 宣化县| 章丘市| 嘉祥县| 浦城县| 辽中县| 灯塔市| 两当县| 涟源市| 宜都市| 丹阳市| 五莲县| 大英县| 盐山县| 韩城市| 北海市| 民县| 龙岩市| 射洪县|