两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種復雜多分支結(jié)構(gòu)代碼自動生成的方法

文檔序號:6648954閱讀:1147來源:國知局
一種復雜多分支結(jié)構(gòu)代碼自動生成的方法
【專利摘要】本發(fā)明提供一種復雜多分支結(jié)構(gòu)代碼自動生成的方法,包括:用戶使用類開關(guān)語句編寫源程序;用戶填寫目標語言模板;編譯器通過總控程序讀入所述源程序,并根據(jù)狀態(tài)堆棧中的棧頂狀態(tài)確定對應的語義子程序,從而將源程序中的類開關(guān)語句依照目標語言模板轉(zhuǎn)換生成相應的目標語言程序。本發(fā)明的優(yōu)點在于,用戶只需按語法要求書寫類開關(guān)語句和目標語言模板,編譯器即可生成復雜條件下的多分支目標語言程序,且用戶修改目標語言模板中的內(nèi)容,就能改變生成的目標語言程序。本發(fā)明解決了多分支程序難于設計、執(zhí)行效率低、可讀性差等問題,改善了代碼的可維護性和魯棒性,實現(xiàn)了復雜條件下多分支結(jié)構(gòu)代碼的自動生成。
【專利說明】一種復雜多分支結(jié)構(gòu)代碼自動生成的方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機軟件編譯系統(tǒng)領(lǐng)域,更具體地說,涉及一種復雜多分支結(jié)構(gòu)代 碼自動生成的方法。

【背景技術(shù)】
[0002] 目前,在C++、C#或Java編程中,對于多分支的業(yè)務需求,只能用開關(guān)語句 (switch-case)或條件判斷語句(if-then-else)來解決。開關(guān)語句的選擇因子只能是常 量,因此對復雜的條件判斷無能為力。用條件判斷語句能解決復雜條件的多分支結(jié)構(gòu),但 是,只能運用多重嵌套形式完成。
[0003] 以C++為例,復雜條件的多分支程序設計:判斷讀入的字符類型,其典型范例是:

【權(quán)利要求】
1. 一種復雜多分支結(jié)構(gòu)代碼自動生成的方法,其特征在于:所述方法包括如下步驟: 步驟11、用戶使用類開關(guān)語句編寫源程序,所述類開關(guān)語句的結(jié)構(gòu)包括:類開關(guān)語句 頭部、類開關(guān)語句分支部和類開關(guān)語句尾部,其中,類開關(guān)語句分支部包括分支條件表達 式、分支處理語句及分支結(jié)束語句,類開關(guān)語句尾部包括缺省處理語句和循環(huán)結(jié)束語句; 步驟12、用戶填寫目標語言模板,所述目標語言模板由語言說明、永真循環(huán)說明、條件 說明、跳出循環(huán)說明和終止循環(huán)說明構(gòu)成; 步驟13、編譯器通過總控程序讀入所述源程序,并根據(jù)狀態(tài)堆棧中的棧頂狀態(tài)確定對 應的語義子程序,從而將源程序中的類開關(guān)語句依照所述目標語言模板轉(zhuǎn)換生成相應的目 標語言程序;所述編譯器包括目標語言模板、總控程序、狀態(tài)堆棧和語義子程序集,其中,所 述語義子程序集由復數(shù)個用于轉(zhuǎn)換類開關(guān)語句的語義子程序組成。
2. 根據(jù)權(quán)利要求1所述的一種復雜多分支結(jié)構(gòu)代碼自動生成的方法,其特征在于:所 述編譯器執(zhí)行的編譯過程具體為: 步驟21、讀入目標語言模板; 步驟22、初始狀態(tài)進棧; 步驟23、讀入源程序,開始編譯; 步驟24、判斷源程序是否終止:若是,則退出編譯;若否,則跳轉(zhuǎn)步驟25 ; 步驟25、讀狀態(tài)堆棧當前的棧頂狀態(tài); 步驟26、根據(jù)當前的棧頂狀態(tài)確定對應的語義子程序,進行類開關(guān)語句的轉(zhuǎn)換,生成相 應的目標語言程序并修改棧頂狀態(tài); 步驟27、返回步驟23。
3. 根據(jù)權(quán)利要求1或2所述的一種復雜多分支結(jié)構(gòu)代碼自動生成的方法,其特征在于: 所述用戶修改目標語言模板中的內(nèi)容,所述編譯器將對應更換生成的目標語言程序。
【文檔編號】G06F9/45GK104484192SQ201510006578
【公開日】2015年4月1日 申請日期:2015年1月7日 優(yōu)先權(quán)日:2015年1月7日
【發(fā)明者】侯濟恭 申請人:南威軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临安市| 丹棱县| 会昌县| 林西县| 淄博市| 河北区| 肥西县| 望城县| 肃南| 石台县| 噶尔县| 灌南县| 渝北区| 天长市| 东明县| 张家港市| 泸水县| 谢通门县| 鹤壁市| 来凤县| 荣昌县| 武定县| 济宁市| 错那县| 永吉县| 伊春市| 涿鹿县| 桃园市| 博客| 木里| 晋州市| 徐水县| 申扎县| 新竹市| 淅川县| 桐柏县| 永德县| 岳阳县| 彰化市| 辉南县| 九龙坡区|