編譯原理是計(jì)算機(jī)專業(yè)的一門(mén)重要專業(yè)課,旨在介紹編譯程序構(gòu)造的一般原理和基本方法。內(nèi)容包括語(yǔ)言和文法、詞法分析、語(yǔ)法分析、語(yǔ)法制導(dǎo)翻譯、中間代碼生成、存儲(chǔ)管理、代碼優(yōu)化和目標(biāo)代碼生成。 雖然只有少數(shù)人從事編譯方面的工作,但是這門(mén)課在理論、技術(shù)、方法上都對(duì)學(xué)生提供了系統(tǒng)而有效的訓(xùn)練,有利于提高軟件人員的素質(zhì)和能力。
編譯器是將匯編或高級(jí)計(jì)算機(jī)語(yǔ)言翻譯為二進(jìn)制機(jī)器語(yǔ)言代碼的計(jì)算機(jī)程序。編譯器將源程序(source language) 編寫(xiě)的程序作為輸入,翻譯產(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ī)器代碼程序