關於編譯器實驗的設想

2021-06-13 01:28:24 字數 476 閱讀 6036

主要是希望能夠學習斯坦福的cool語言編譯器,也從斯坦福的**下了關於cool語言編譯器的手冊。

其實主要是希望能夠做一些物件導向語言的編譯器。關於這一想法有兩種設想路線。

1、全部按照cool語言的方式進行開發。

由於cool是為了簡化編譯器的設計而構造的一種小型物件導向語言,還要重新了解這一語言的語法等。

看到斯坦福的一些例子,可以看出其主要應用了物件導向的思想比較重。class裡面包含了一些函式以及成員。main函式的設定也與以往不同。

因此需要全面的按照斯坦福當時構造cool語言的設想走。

2、按照c語言的框架,先做好c--,然後加入物件導向的思想。

這相當於自己再造一種語言,這種語言既不能稱為c++也不能稱為c語言。

做的簡單一些,就是將struct替換為class。

但是class需要考慮的部分比較多,比如說函式的多型等,這樣呼叫函式的時候更加麻煩。

這個需要再細細考慮一下。

關於vim文字編譯器

原因 所有的unix like系統都會內建vi文字編輯器,其他的文字編譯器則不一定存在 vim具有程式編譯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計 因為程式簡單,編譯速度非常快 重點在上述的第2點,因為太多linux的命令預設使用vi作為資料編輯介面,否則很多命令無法使用。vim可...

關於mac編譯器的那點事兒

終端輸入 gcc v 會得到如下結果 可以看到使用的 方法二 include using namespace std int main 傳統編譯器的工作原理基本上都是三段式的,可以分為前端 frontend 優化器 optimizer 後端 backend 前端負責解析源 檢查語法錯誤,並將其翻譯為...

關於C標準和編譯器

編譯執行源 時出現錯誤error main must return int 將main函式返回型別由void改為int,編譯執行成功。通過蒐集資料知道,這是由於c標準變化產生的問題。在世界第乙個完整的c語言標準c89 c90中,main 是正確的。但在c99標準中,只有以下兩種定義方式是正確的 in...