欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

設計編程語言需要用什么(無需提供步驟)?

錢多多2年前14瀏覽0評論

要自己設計一個編程語言,下面幾點必須要考慮。

確定目標受眾

首先要明確你所設計語言的目標受眾是什么。比如是如C/C++、Java、Python等這種通用的語言,還是如AWK、Make、CMake等領域特定語言(DSL)。

如果是通用語言,那么是C/C++這種系統型語言,還是Java、python等這種應用型的語言。

確定要支持的語言特性

根據目標受眾,確定你的編程所要支持的語言特性。比如是否支持面向對象編程,是否支持函數式編程,是否支持并行處理、是否支持泛型編程等。

此外,還要確定是強類型語言還是弱類型語言?是靜態類型語言還是動態類型語言等。

制定語言的文法規范和語義規范

根據語言要支持的特性,制定語言的文法規范。比如變量如何聲明、函數如何定義、支持哪些控制語句,各種表達式的運算規則等。

確定語言的實現方式

同一種語言可以有不同的實現方式。比如是如絕大多數C/C++的實現一樣,直接編譯成二進制機器碼?還是像Java這樣,編譯編譯成字節碼,然后用虛擬機來運行?還是直接解釋執行等等。

可利用的工具

對于編譯器前端來說,可以選擇手工編寫,也可以選擇使用工具。

手工編寫的話,比較簡單實用的方法是遞歸下降和算符優先等算法。

選擇工具的話,也有很多工具可用,比如Lex+YACC、Flex+Bison等

如果主要的目的是學習的話,建議還是手寫比較好。

對于后端來說,代碼優化是非常重要的一部分。毫不夸張的說,代碼優化是一個現代編譯器能否成功的決定性因素,也是整個編譯器設計中難度最大,最為復雜的部分,也是最容易出BUG的部分。

一般,還是建議選擇使用一些成熟的工具。比如LLVM,應該作為首選。大名鼎鼎的Clang的后端就是LLVM。LLVM現在已經相當成熟,近幾年很多新的編譯器都是采用LLVM作為后端。


覺得有用的話,點個贊唄!

對編譯器、OS內核、性能調優、虛擬化等技術感興趣的童鞋,!