前言
自制語(yǔ)言拯欧,說到底就是編譯和解釋拱烁,這里就會(huì)涉及到編譯器和解釋器霜定。
- 編譯器:將某種語(yǔ)言寫成的程序轉(zhuǎn)換為另一種語(yǔ)言的程序。通常它會(huì)將原程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序思喊。編譯器轉(zhuǎn)換程序的行為稱為編譯壁酬,轉(zhuǎn)換前的程序稱為源代碼或源程序。如果編譯器沒有把源代碼直接轉(zhuǎn)換為機(jī)器語(yǔ)言,一般稱為源代碼轉(zhuǎn)換器或源碼轉(zhuǎn)換器(source code translator)舆乔。
- 解釋器:根據(jù)程序中的算法執(zhí)行運(yùn)算岳服。簡(jiǎn)單來講,它是一種用于執(zhí)行程序的軟件希俩。如果執(zhí)行的程序由虛擬機(jī)器語(yǔ)言或類似于機(jī)器語(yǔ)言的程序設(shè)計(jì)語(yǔ)言寫成吊宋,這種軟件也能稱為虛擬機(jī)。
以PHP語(yǔ)言為例颜武,同時(shí)提供了編譯器和解釋器璃搜,因?yàn)镻HP只會(huì)將源碼編譯成C語(yǔ)言代碼,而C語(yǔ)言代碼執(zhí)行必須使用解釋器鳞上,但是以C語(yǔ)言為例这吻,C語(yǔ)言可以不用解釋器,因?yàn)镃語(yǔ)言編譯器可以直接將源碼編譯成二進(jìn)制的機(jī)器碼篙议,這樣直接可以被操作系統(tǒng)識(shí)別運(yùn)行唾糯。
所以C語(yǔ)言的解釋器就是硬件機(jī)器語(yǔ)言0101。
正文
有本書很有名涡上,叫做《兩周自制腳本語(yǔ)言》這個(gè)是一個(gè)日本人寫的趾断,很值得讀一讀。
在設(shè)計(jì)腳本語(yǔ)言時(shí)吩愧,需要定義語(yǔ)言格式和類型芋酌,如C語(yǔ)言以;作為分割,;就是句子的結(jié)尾詞雁佳。在PHP中也是一樣的脐帝,應(yīng)該時(shí)套用的C語(yǔ)言語(yǔ)法。
結(jié)束語(yǔ)
希望在接下來的日子里探究一下高級(jí)語(yǔ)言是怎么設(shè)計(jì)糖权,編譯和解釋的堵腹,在以PHP,Ruby等解釋型語(yǔ)言中,只要運(yùn)行都會(huì)涉及到編譯和解釋星澳,語(yǔ)言內(nèi)核是怎么組織函數(shù)疚顷,類,變量和常量等等的禁偎。我將以我的知識(shí)基礎(chǔ)和視角來探究和實(shí)現(xiàn)程序設(shè)計(jì)的高深階段-設(shè)計(jì)語(yǔ)言腿堤,在這里希望我能堅(jiān)持完成這一個(gè)科目,先感謝網(wǎng)絡(luò)上各種大牛們的技術(shù)分享和輸出如暖,這些都讓我有了更深層次的理解和提高笆檀。