編譯器是將匯編或高級(jí)計(jì)算機(jī)語(yǔ)言翻譯為二進(jìn)制機(jī)器語(yǔ)言代碼的計(jì)算機(jī)程序。編譯器將源程序(source language) 編寫的程序作為輸入,翻譯產(chǎn)生目標(biāo)語(yǔ)言(target language )機(jī)器代碼的等價(jià)程序。通常地,源程序?yàn)楦呒?jí)語(yǔ)言(high-level language ),像C或C + +、漢語(yǔ)語(yǔ)言程序等,而目標(biāo)則是機(jī)器語(yǔ)言的目標(biāo)代碼 (object code,有時(shí)也稱作機(jī)器代碼(machine code )),也就是可以在計(jì)算機(jī)硬件中運(yùn)行的機(jī)器代碼軟件程序。這一過(guò)程可以表示為:
源程序→編譯器 →目標(biāo)機(jī)器代碼程序
編譯原理和技術(shù)介紹了計(jì)算機(jī)高級(jí)語(yǔ)言編譯程序的基本原理和技術(shù),主要內(nèi)容包括詞法分析、語(yǔ)法分析、語(yǔ)法制導(dǎo)翻譯的語(yǔ)義分析與中間代碼生成、符號(hào)表與運(yùn)行時(shí)存儲(chǔ)空間的組織、代碼優(yōu)化以及目標(biāo)代碼的生成。