乙個C語言編寫的跨平台C語言編譯器 開源 UCC

2021-06-17 20:03:20 字數 658 閱讀 9791

乙個c語言編寫的跨平台c語言編譯器(開源)

很多科班出身的搞開發的同事大都應該學過《編譯原理》這門課程,或許也動手做過一些實踐。這次向大家推薦乙個由清華大學學生完成的c語言編譯器實現 -- ucc。

這個專案目前位於sf.net**,開放源**,**使用c語言編寫,對於理解和實踐編譯原理有很大的指導意義,其完備的**和中英文設計文件是亮點。

以下為其作者對專案的簡介:

「上了一學期的編譯原理,但是對於如何去實現乙個真正的編譯器仍然覺得困惑;

學習了一些好的優化演算法或者自己有些好的想法,想在gcc上實踐一下,但發現gcc

實在太大了,有點無從下手。

如果你曾經有過上面這些感受,也許可以嘗試一下ucc。

ucc是一款遵從ansi c89標準的編譯器,大約15,000行c**。目前支援x86平台上的

linux和windows系統,能正確編譯自身並成功執行。它有下面一些特點:

1. **結構清晰直觀,有比較詳細的中文文件講述它的實現

2. 使用三位址碼作為中間碼,構建了由基本塊組成的控制流圖,適合很多優化演算法

3. 編譯速度快。詞法分析,語法分析和目標**生成器都是手寫的(其中的**

生成器本想用burg這樣的工具自動生成,但這樣可能會給**的理解帶來難度,

最後手寫了乙個簡單的**生成器)

C語言 編寫乙個日曆

題目 列印乙個月份的日曆。分析 首先列印乙個月份的日曆,要設定乙個基準年,並且要知道這一年的一月一號是週幾 求得當年的一月一號是週幾 在求得當月的第一天是週幾。define crt secure no warnings 1 include include 某個月的日曆 int months 2 13...

C語言 編寫的乙個簡單的Server Client

伺服器 include include pragma comment lib,ws2 32.lib 函式名稱 server 輸入引數 函式功能 void main 建立socket socket server server socket af inet,sock stream,ipproto tcp...

乙個c語言程式

include include include void shuffle int wdeck 4 13 void deal int wdeck 4 13 char wface 13 char wsuit 4 int main char wface 13 int wdeck 4 13 printf 這...