原创 [kic]kic語言定義,kic是C語言的子集

前言 本來想看《自制編程語言,基於C語言》,但是沒有拿到手的電子書只有目錄和兩個章節,所以只能看《自己動手製作編譯器、鏈接器》。這本書聽說有些bug,其實無所謂了,一般的書上都找的出問題,就算是“大國重器”的教材書中也有打印錯誤。

原创 編譯原理複習,積累語言經驗 for kiana

默認的規則 VNV_NVN​是非終結符集合 VTV_TVT​是終結符集合 終結符和非終結符的集合是互斥的 一般字母的大寫是非終結符,小寫是終結符 V=VN⋃VTV = V_N \bigcup V_TV=VN​⋃VT​ GGG是文法

原创 [GL]超級寶典學習日記1

前言 就是簡單學學,之前也花過一週時間做了個OpenGL的項目,對其中的套路感覺無所謂,再複雜我也只是個使用者,只需要簡單使用而已——常常偷懶,不想去深究,可是寒假做了自制編程語言的項目後,對內部實現原理有了興趣。新的編程語言項目

原创 編譯原理複習,掌握自動機 for kiana

前言 自動機就是作用在詞法分析中的識別器,都是一個一個符號進行處理的,輸入的是符號串,輸出的是單詞串!之前做自制語言suatin時直接交給正則了,這次自制語言kiana要自己動手做詞法分析器了

原创 SQL數據庫注意事項,持續更新

1.沒選數據庫。。。 這個問題我遇到好幾次了,每次打開軟件都忘記選擇自己要操作的數據庫,導致半天愣在那裏,到處找指令怎麼用。。。 指令操作要對應選擇要操作的數據庫!!! 2.數據重複。。。 剛遇到一個題目,子查詢的時候有太多重複

原创 lang:自制編程語言15.5——C++如何在struct中使用union???

前言 lua底層中對數據結構的實現就是靠struct和union的嵌套實現的,我兩個月前開始自制語言時也想這樣,但是苦於union使用一直出錯,不得已用struct代替了union,這使得解釋器浪費了大量的無用內存…… stru

原创 lang:自制編程語言14——增加調試機制

前言 引入一個關鍵字,解釋到該關鍵字的時候就暫停終端,只有輸入了回車才能繼續,大概是這樣。 assert 除了卡出解釋完,還有從中間退出的,如果遇到斷言時輸入的是exit就直接退出解釋,如果輸入其他的,就往下繼續執行! //Cm

原创 lang:自制編程語言9——多條解釋

前言 寒假畫了很多時間,終於解釋完了一句話,接下來的任務是對多條語句進行解釋!然後是語義分析,做分支,做for循環,做while循環,做do-until循環,然後是function函數和array特殊數組……先休息一段時間,積累一

原创 lang:自制編程語言8——改善賦值式與表達式區分機制

前言 exprType表示的幾種表達式並不是並列的,但是因爲代碼太多不敢改太多東西,所以爲了區分表達式又引入了expr_compare_flag和expr_logic_flag…… 改善當條語句的解釋需要先把項目結構改清晰些,比如

原创 有點迷茫,對就是那種迷茫

最近一直在休息,休息的間隙上上課,做做項目。越來越難、越來越懶,晚上睡覺的慾望越來越少。我想着,我爲什麼要睡覺呢?可是不睡覺晚上能幹什麼呢?後半夜的大腦雖然還想到處“沾花惹草”,但是那是愚笨的,只想搜刮些能提神的信息,一旦我想去處

原创 lang:自制編程語言6——語法樹引入邏輯運算和關鍵字接口

前言 做了這麼幾個項目,一直都在操作語法樹,我也不知道怎樣才寫的好,之前的任務都完成了是因爲複雜的我都跳過了(汗)多虧了VS的調試很強大,懂得使用SHIFT+F9的才能熟練掌握C++內存管理(誤)。 之前的判斷運算我取了巧,讓判斷

原创 lang:自制編程語言4——語法樹引入賦值

前言 雖然現在做的很歡快!但是因爲除了語法樹外沒有涉及到編譯原理的知識——比如遞歸下降、LX分析等等,也就是說等到了某一步做不下去的時候,就又要花一番功夫看編譯原理了!!! EqExpr類 前一篇給表達式設置了兩種模式,五則運算

原创 【航天】宇宙飛船與火箭,着陸與回收

前言 雖然我現在在坎巴拉中連空間站都沒做出來,也從沒有從Mun上安全返回過,但是提前準備自己的航天器設計是沒錯的——昨晚做了一晚上,全都不喜歡,所以化了點時間把能想到的宇宙飛船和着陸器設計都列舉出來。再考慮該做哪個!!! 空間站

原创 lang:C++自定義異常類——用來處理自制編程語言的異常信息

前言 前篇lang:總結9種編程語言的語法來設計Suatin-lang裏設計了異常處理的信息,其實許多語言的異常信息格式都很相似。這篇用C++自定義異常類,用C++的異常處理來處理上層語言Suatin-lang的異常。 枚舉信息

原创 【反饋】緩存命中率控制系統

前言 需要多大的緩存才能維持特定的命中率? Cache Hit Rate 緩存命中率指的是某處內存被緩存數據後被訪問到(命中)的概率,即一段時間內命中數與訪問數的比例。 簡介PID 【反饋】這個專欄現在是把《企業級編程與控制