這一節真是讀得絕望,好多生單詞。今天把Introduction搞完
簡介編寫編譯器的基礎東西
介紹了幾種最基本的(fundamental)方法(model)?
context-free grammar(上下文無關文法)treefinite-state machines(有限狀態機)regular exPRessions(正則)講了優化的幾個標準:
優化必須是對的,不改變程序的原意優化必須對大多數程序成立編譯時間在合理范圍內編寫花費在可控范圍內總體講寫編譯器的方法還能用到別的上面。
講了高級編程語言的實現?(這節不是很清楚)
所有的高效率系統都用好了兩種技巧:并行(parallelism),存儲器等級(memory hierarchy)
然后介紹了一波parallelism和memory hierarchy
parallelism就是編譯器把程序中可以同時進行的操作放到一起讓cpu去同時操作。(in instruction level)processor level上就是程序的可在多種cpu上跑memory hierarchy大致就講計算機都有這個層次,memory不可能又快又大instruction level processor level
介紹了編譯器技術對電腦結構設計的促進
RISC
一種優化的指令集(Reduced Instruction-Set Computer)x86用的是CISC,然后RISC不知道比x86高到哪里Specialized Architecture
并不知道在說些什么將編譯器這種把source code轉成target code的思想可以用在別的上面
比如不同架構的cpu的二進制代碼轉換(binary translation),程序轉硬件結構(hardware synthesis),database query interpreter(不知道在說什么),編譯過的模擬器比別的跑得快?(compiled simulation)介紹了幾種編譯器可以提供的用于編程的工具 類型檢查(type checking) 越界檢查(bounds checking) 內存管理工具(memory management tool),比如java的垃圾回收(garbage collection)
新聞熱點
疑難解答