道編譯器軟體設計1

2021-05-04 21:29:39 字數 1107 閱讀 5312

道程式語言是一種非常簡單的計算機語言,沒有變數、資料型別、表示式、控制結構、資料結構等,使用現有的自動化編譯工具顯得有的大才小用,用手工程式設計剛好也可以再次鍛鍊一下程式設計能力。我統計一下,共用了5個函式,500多行c#原始碼,不是天文數字般的編譯程式,各個函式如下:

1、compile(string sourcefile);

接受源**輸入,分析出每個函式的名稱,輸入引數、輸出引數,並呼叫repanalyze分析每條道指令。

2、repanalyze(system.guid functguid,string rep);

分析單條道指令,對條件部分呼叫ifcondition函式,對輸出部分outputanalyze函式。

3、ifcondition(system.guid outputguid, string ifconditionexpress);

分析出每個"[.....]"和「<.....>」,再呼叫ifconditionanalyze函式。

4、ifconditionanalyze(system.guid outputguid, system.guid inputpairid,string ifeventexpress);

分析出"[.....]"和「<.....>」內的所有等式,並寫入資料庫。

5、outputanalyze(system.guid functguid, system.guid outputguid, string outputexpress);

分析結果等式,並寫入資料庫。

因為開發時間有限,編譯完後的程式,沒有再建立檔案格式來儲存,僅簡單用資料庫來代替,可節省了大量的時間,並且對程式中的呼叫,僅在資料庫中查詢相應的函式就可以了,否則必須查詢函式所在的檔案,然後再呼叫進行靜態鏈結或動態鏈結。

採用檔案方式的程式庫方式,如微軟的登錄檔、檔案路徑等方法,帶來非常大的不便,是否把現有的程式編譯成資料庫的方式,、聲音也分塊儲存在資料庫中,執行時,再由程式裝載入記憶體中,這樣整個系統就是乙個資料庫,這個資料庫可以分布儲存,駐留本地的就只有乙個裝載程式。

目前的雲計算技術太依賴主機,本地計算機資源都浪費了,而採用程式資料庫方式將充分利用本地計算資源。資料庫方式可以充分無限擴充套件,程式中的資料、函式的都可以擴充套件成網路位址方式,裝載程式事先呼叫,這樣就解決了雲計算諸多api介面問題。

軟體設計作業 1

酒店管理系統能夠極大的方便酒店的工資人員在關於酒店的管理的操作,如客人入住 退房,資訊錄入 查詢等,極大的提高了酒店整體管理活動的工作效率。使用scrum使得程式設計更加的方便,在團隊合作的時候提高團隊的協作能力scrum的開發好處是跟傳統的開發方式作比較的,很明顯,在一次次迭代中我們可以的持續的發...

編譯器設計目錄

編譯原理的乙個小 這是目錄,求大神們支支招,給點思路!2 編譯程式結構和各步驟的作用 2.2詞法分析 2.2.1詞法分析的研究工具 2.2.2 你的編譯程式的文法 2.2.2.1 變數定義語句 2.2.2.2 賦值語句 2.2.2.3 if條件判斷語句 2.2.2.4 while條件迴圈語句 2.3...

1 軟體設計模式概述

設計模式 這個術語最初並不是出現在軟體設計中,而是被用於建築領域的設計中。1977 年,美國著名建築大師 加利福尼亞大學伯克利分校環境結構中心主任克里斯托夫 亞歷山卓 christopher alexander 在他的著作 建築模式語言 城鎮 建築 構造 a pattern language tow...