tinyos系統學習 HPL是什么意思?
HPL是什么意思?英雄職業聯賽(H設計編程語言需要用什么(無需提供步驟)?自己設計一門編程語言,必須考慮以下幾點。要確定目標受眾,首先要明確你設計的語言的目標受眾是什么。比如是C/C、Java、Pyt
HPL是什么意思?
英雄職業聯賽(H
設計編程語言需要用什么(無需提供步驟)?
自己設計一門編程語言,必須考慮以下幾點。
要確定目標受眾,首先要明確你設計的語言的目標受眾是什么。比如是C/C、Java、Python等通用語言,或者是AWK、Make、CMake (DSL)等領域專用語言。
如果是通用語言,就是C/C等系統語言,或者Java、python等應用語言。
根據目標受眾確定要支持的語言功能,在您的編程中確定要支持的語言功能。比如是否支持面向對象編程、函數式編程、并行處理、泛型編程等。
另外,要不要確定是強類型語言還是弱類型語言?無論是靜態類型語言還是動態類型語言等等。
制定語言的語法規范和語義規范根據語言要支持的特征,制定語言的語法規范。比如變量怎么聲明,函數怎么定義,支持哪些控制語句,各種表達式的運算規則。
確定語言的實現。同一種語言可以有不同的實現。比如像大部分C/C實現一樣,直接編譯成二進制機器碼?還是像Java一樣,編譯成字節碼然后用虛擬機運行?或者直接說明執行等等。
編譯器前端可用的工具,可以選擇手寫或者使用工具。
如果手寫,比較簡單實用的方法是遞歸下降和算子優先。
如果你選擇一個工具,有許多工具可用,如萊克斯YACC和Flex Bison。
如果主要目的是學習,還是手寫比較好。
對于后端來說,代碼優化是非常重要的一部分。毫不夸張地說,代碼優化是一個現代編譯器成功的決定性因素,也是整個編譯器設計中最困難、最復雜的部分,也是最容易出現bug的部分。
一般來說,建議選擇一些成熟的工具。比如LLVM應該是首選。著名的Clang的后端是LLVM。LLVM現在已經相當成熟了。近年來,許多新的編譯器使用LLVM作為后端。
如果你認為它 有用,點個贊!
兒童 對編譯器、OS內核、性能調優、虛擬化等技術感興趣的s鞋歡迎關注!