之前有介紹關(guān)于瀏覽器的一些基礎(chǔ)知識,帶大家認(rèn)識了瀏覽器的種類以及大致的工作原理,今天,為廣大初進(jìn)入網(wǎng)站建設(shè)行業(yè)的朋友聊下瀏覽器是如何解析翻譯的.解析翻譯呈現(xiàn)引擎中非常重要的一個環(huán)節(jié),因此我們要更深入地講解。
解析樹或者語法樹
解析文檔是指將文檔轉(zhuǎn)化成為有意義的結(jié)構(gòu),也就是可讓代碼理解和使用的結(jié)構(gòu)。解析得到的結(jié)果通常就代表了文檔的節(jié)點樹,專業(yè)上稱作解析樹或者語法樹.解析是以文檔所遵循的語法規(guī)則為基礎(chǔ)的.所有可以解析的格式都必須對應(yīng)相應(yīng)的語法(通常是詞匯與語法規(guī)則構(gòu)成的.
詞法分析與語法分析
詞法分析是把輸入的內(nèi)容分割成大量標(biāo)記的過程。標(biāo)記是語言中的詞匯,即構(gòu)成內(nèi)容的單位。,它相當(dāng)于我們?nèi)祟愓Z言的單詞.語法分析是應(yīng)用語言的語法規(guī)則的過程.解析器往往會把解析工作交給下面的兩個組件來進(jìn)行處理:詞法分析器和解析器,語法分析器有時候也被叫做為標(biāo)記生成器,主要把輸入內(nèi)容分解成一個個有效標(biāo)記;而解析器主要負(fù)責(zé)根據(jù)語言的語法規(guī)則分析文檔的結(jié)構(gòu),從而構(gòu)建解析樹.詞法分析器知道如何將無關(guān)的字符(比如空格和換行符)分離出來.網(wǎng)站制作中使用的前端的一些語言往往就是按照瀏覽器語法規(guī)則的語言,通俗的說就是瀏覽器能夠看得懂的語言.
解析與翻譯的過程
解析的過程往往是一個迭代的過程。解析器會向詞法分析器請求一個新標(biāo)記,并會使其與某條語法規(guī)則進(jìn)行匹配.如果發(fā)現(xiàn)了能夠匹配,解析器會把一個對應(yīng)于該標(biāo)記的節(jié)點添加到解析樹中,然后繼續(xù)請求下一個標(biāo)記。如果不能夠匹配,解析器就會把標(biāo)記存起來,會繼續(xù)請求標(biāo)記,一直到能找到可與所有內(nèi)部存儲的標(biāo)記匹配的規(guī)則.萬一找不到任何能夠匹配的規(guī)則,那么解析器就會引發(fā)一個異常.這意味著文檔無效,包含語法錯誤.
解析樹還不最后的,解析往往是在翻譯的時候使用的,而翻譯是把將輸入文檔轉(zhuǎn)換成另一種格式。編譯就是這樣一個例子,編譯器可把源代碼編譯成機(jī)器代碼,具體過程是首先將源代碼解析成解析樹,然后將解析樹翻譯成機(jī)器代碼文檔.
以上大家有時間的話,可以了解下,對于我們很多上海網(wǎng)站制作技術(shù)人員來說,不要求很精通,懂得其大致的工作原理就足夠了.
本文由上海藝覺網(wǎng)絡(luò)科技有限公司(http://m.dcbbl.cn)原創(chuàng)編輯轉(zhuǎn)載請注明。