自己寫編譯器怎麼寫,我想為中國程式設計師做個編譯C語言的編譯器。

時間 2025-05-28 19:30:12

1樓:業竹花嬋

1、第乙個c語言編譯器應該是用匯編寫的,但是第乙個成熟的旦好行c語言編譯器應該是由彙編和c語言共同寫的。

2、編譯原理講到了「自舉編譯器」。大意就是先用底層語言(模譁應該是彙編)寫乙個能執行,但效率極低的c語言編譯器(底層語言不好優化),有了c語言的編譯器以後,就可以用c語言好好寫乙個編譯器了,用之前那個執行沒問題,但效率低得編譯器編譯一襪雹下,就得到了可以使用的編譯器了。

現在學習c語言都是用什麼編譯器

2樓:匿名使用者

windows下 經典的 vc++,為什麼不推薦vs 2013等系列呢?因為vs系列執行起來對機器要求比較高 相對功能算全了 對學習c語言來講 ,而且相對vs系列佔用資源少!

linux下 gcc 經典的 啊 還有clang 關於clang 你多瞭解點 會喜歡上他的 他的錯誤 警告做的比gcc好得多。

3樓:網友

初學者建議在windows下學習,這樣可以專注於語言本身,而不是開發工具的使用。編譯器可以使用。

4樓:超級爺們

用的是 linux下的gcc 你要是windows的話 可以用mingw

編譯器做什麼工作

5樓:為你鍾情

1. 詞法分析。

詞法分析器根據詞法規則識別出源程式中的各個記號(token),每個記號代表一類單詞(lexeme)。源程式中常見的記號可以歸為幾大類:關鍵字、識別符號、字面量和特殊符號。

詞法分析器的輸入是源程式,輸出是識別的記號流。詞法分析器的任務是把原始檔的字元流轉換成記號流。本質上它檢視連續的字元然後把它們識別為「單詞」。

2. 語法分析。

語法分析器根據語法規則識別出記號流中的結構(短語、句子),並構造一棵能夠正確反映該結構的語法樹。

3. 語義分析。

語義分析器根據語義規則對語法樹中的語法單元進行靜態語義檢查,如果型別檢查和轉換等,其目的在於保證語法正確的結構在語義上也是合法的。

4. 中間**生成。

5. 中間**優化。

優化是編譯器的乙個重要組成部分,由於編譯器將源程式翻譯成中間**的工作是機械的、按固定模式進行的,因此,生成的中間**往往在時間和空間上有很大浪費。當需要生成高效目標**時,就必須進行優化。

6. 目標**生成。

目標**生成是編譯器的最後乙個階段。在生成目標**時要考慮以下幾個問題:計算機的系統結構、指令系統、暫存器的分配以及記憶體的組織等。

編譯器生成的目標程式**可以有多種形式:組合語言、可重定位二進位**、記憶體形式。

7 符號表管理。

符號表的作用是記錄源程式中符號的必要資訊,並加以合理組織,從而在編譯器的各個階段能對它們進行快速、準確的查詢和操作。符號表中的某些內容甚至要保留到程式的執行階段。

8 出錯處理使用者編寫的源程式中往往會有一些錯誤,可分為靜態錯誤和動態錯誤兩類。所謂動態錯誤,是指源程式中的邏輯錯誤,它們發生在程式執行的時候,也被稱作動態語義錯誤,如變數取值為零時作為除數,陣列元素引用時下標出界等。靜態錯誤又可分為語法錯誤和靜態語義錯誤。

語法錯誤是指有關語言結構上的錯誤,如單詞拼寫錯、表示式中缺少運算元、begin和end不匹配等。靜態語義錯誤是指分析源程式時可以發現的語言意義上的錯誤,如加法的兩個運算元中乙個是整型變數名,而另乙個是陣列名等。

什麼是編譯程式?

6樓:恩子

用組合語言或高階語言編寫的程式,必須先送入計算機,經過飢如轉換成用機器語言表攜肢扮示的目標程式(這個過程即編譯),才能由計算機執行。執行轉換過程的程式叫編譯程式。彙編程式是指沒有編譯過的組合語言原始檔。

編譯程式轉換過的叫目標程式,也就是機器語言。

編譯程式的工作情況有三種:彙編型、解釋型和編譯型。彙編型編譯程式用來將組合語言編寫的程式,按照一一對應的關係,轉換成用機器語言表示的程式。

解釋辯灶型編譯程式將高階語言程式的乙個語句,先解釋成為一組機器語言的指令,然後立即執行,執行完了,取下一組語句解釋和執行,如此繼續到完成乙個程式為止。用解釋型編譯程式,執行速度很慢,但可以進行人和計算機的對話,隨時可以修改高階語言的程式。basic語言就是解釋型高階語言。

編譯型編譯程式將高階語言編寫的程式,一次就會部翻譯成機器語言表示的程式,而且過程進行很快,在過程中,不能進行人機對話修改。fortran語言就是編譯型高階語言。

編譯程式的介紹

7樓:湧飛冬

編譯程式(compiler,compiling program)也稱為編譯器,是指把用高階程式設高巧空計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。編譯程式屬於採用生成性實現途徑實現的翻譯程式。它以高階程式設計寬老語言書寫的源程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。

編譯出的目標程戚瞎序通常還要經歷執行階段,以便在執行程式的支援下執行,加工初始資料,算出所需的計算結果。

我想寫html網頁,用編譯器什麼寫

html程式設計器,介面剪刀易懂,左滑直接測試,還能分享給小夥伴 戀紅 如果有編譯器,把編譯器當成編輯器就行了.沒用就係統自帶的記事本就行.格式 頁面內容 有需要hi我.我想用html寫網頁,用什麼工具好一點 sublime text 2 使用中提示要購買點取消即可。 投影人生 im配置自己新增 a...

作文《我的中國夢》怎麼寫要自己寫的

祖國啊!巍巍崑崙是你高昂的頭顱 青藏高原是你挺起的胸膛 萬里長城是你不屈的脊樑 黃河流水是你沸騰的血液 你有五千年的輝煌歷史,飲譽四海的燦爛文明 聲震四宇的四大發明 你還有一群黃 黑眼睛的華夏兒女 中國人。是他們,用勤勞的雙手創造了傑出的智慧和燦爛的東方文明。自從我第一眼看到你那秀麗的河山,便是我感...

《我不想為題的作文,,怎麼寫啊,《我不想 》為題的作文,600字,怎麼寫啊?

晴君平 我不想寫作文 寫你的煩惱吧 以 無常 為題的作文怎麼寫? vhrhjg哦 無常 的一般同反覆無常聯絡起來,因此這篇作文課要考慮從詮釋反覆無常的概念來引入。可以寫天氣的反覆無常,也可以寫某人脾氣的反覆無常。反覆無常 f n f w ch ng 出處 南朝 樑 費昶 行路難 詩 當年翻覆無常定。...