將編譯或者程式語言作為畢業設計可以做些什麼?應該如何下手?

時間 2021-05-09 00:29:29

1樓:

只實現個簡單編譯器,只算是編譯原理課程作業級別,當畢設有點勉強了。

建議可以考慮在編譯器級別上,多實現一些優化,可能更靠譜一些。

同時,語言功能在實現要盡可能完善。如果能完整支援當前乙個主流語言的全部語法,就更贊了。

2樓:樸三世

畢設做的就是編譯原理。

主要內容是做乙個輔助教學的工具,可供編譯原理課程上演示詞法分析、語法分析、語義分析的各個過程。

說白了就是這些過程中不是有很多掃瞄,狀態機,表,樹,圖嗎,要做的就是在編譯的這幾個過程中動態顯示出所有這些內容。

編譯原理掛科了的路過。。。

3樓:RednaxelaFX

這得看是啥學位的畢設,還有具體學校/老師的要求吧。

我本科畢設做了個parser generator,基於C#的lambda表示式語法的internal DSL作為乙個parser generator的皮,效果類似這樣:

Rules

(exprRule

=>term+(

"+"+

term

).Star

(),termRule

=>factor+(

"*"+

factor

).Star

(),factorRule

=>DIGITS

|"("

+expr

+")"

);背後的parser generator借助.NET標準庫里的Expression Tree來機械式生成recursive descent parser。

整個實現並不是啥很創新的東西,最大的噱頭就是那個internal DSL而已。

但鑑於同年級很多同學的畢設都是酒店管理系統,這個東西也就順利過了…還有些同學畢設做了程式切片相關的東西,也挺好玩的。

如果是碩士或博士的畢設那題主多半也不會在知乎問了吧…

將 Python 作為主要程式語言的人們在工作中都用 Python 做些什麼?

每種語言都有自己的優勢,我平時需要快速的寫一些自動化指令碼,編譯指令碼,或者一些圖形小工具,那麼python開發效率還是很高的,而且可讀性好,物件導向,維護性高,別人也能看懂。所以從之前的perl,慢慢改用python了。 吳海波 numpy,scipy,讓我有在用matlab的感覺 PS 再加上p...

有哪些程式語言有靜態 編譯期的duck typing

羊牮 f inline 函式通過靜態解析就可以做到,這是編譯期完成的事情,而且不需要用到反射。具體語法見另乙個答案 各個程式語言都有哪些 亮點 知乎 Belleve Wiki 上面的例子有 OCaml OOP 的部分 和 Go Purescript 的 Row polymorphism 也可以看作是...

各個程式語言都有哪些令該語言的編譯器 直譯器開發者想掀桌的地方?

I老蔡 Python啊 游標卡尺,空格和TAB不能混用.不支援Switch,乙個多分枝選擇還要用到奇怪的技巧.高版本不相容低版本. malt 由於載入檔案本身需要時間 而且是執行期時間 所以絕大多數malt專案寫完後最好aot一遍 jit版本之前,jit目前還沒做出來 malt在doc中建議為了保持...