網(wǎng)站建設(shè)者們要學(xué)習(xí)的瀏覽器知識(shí):關(guān)于解析與翻譯

2021-07-14    分類: 網(wǎng)站建設(shè)

之前有介紹關(guān)于瀏覽器的一些基礎(chǔ)知識(shí),帶大家認(rèn)識(shí)了瀏覽器的種類以及大致的工作原理,今天,為廣大初進(jìn)入網(wǎng)站建設(shè)行業(yè)的朋友聊下瀏覽器是如何解析翻譯的.解析翻譯呈現(xiàn)引擎中非常重要的一個(gè)環(huán)節(jié),因此我們要更深入地講解。


解析樹或者語(yǔ)法樹


解析文檔是指將文檔轉(zhuǎn)化成為有意義的結(jié)構(gòu),也就是可讓代碼理解和使用的結(jié)構(gòu)。解析得到的結(jié)果通常就代表了文檔的節(jié)點(diǎn)樹,專業(yè)上稱作解析樹或者語(yǔ)法樹.解析是以文檔所遵循的語(yǔ)法規(guī)則為基礎(chǔ)的.所有可以解析的格式都必須對(duì)應(yīng)相應(yīng)的語(yǔ)法(通常是詞匯與語(yǔ)法規(guī)則構(gòu)成的.


詞法分析與語(yǔ)法分析


詞法分析是把輸入的內(nèi)容分割成大量標(biāo)記的過(guò)程。標(biāo)記是語(yǔ)言中的詞匯,即構(gòu)成內(nèi)容的單位。,它相當(dāng)于我們?nèi)祟愓Z(yǔ)言的單詞.語(yǔ)法分析是應(yīng)用語(yǔ)言的語(yǔ)法規(guī)則的過(guò)程.解析器往往會(huì)把解析工作交給下面的兩個(gè)組件來(lái)進(jìn)行處理:詞法分析器和解析器,語(yǔ)法分析器有時(shí)候也被叫做為標(biāo)記生成器,主要把輸入內(nèi)容分解成一個(gè)個(gè)有效標(biāo)記;而解析器主要負(fù)責(zé)根據(jù)語(yǔ)言的語(yǔ)法規(guī)則分析文檔的結(jié)構(gòu),從而構(gòu)建解析樹.詞法分析器知道如何將無(wú)關(guān)的字符(比如空格和換行符)分離出來(lái).網(wǎng)站制作中使用的前端的一些語(yǔ)言往往就是按照瀏覽器語(yǔ)法規(guī)則的語(yǔ)言,通俗的說(shuō)就是瀏覽器能夠看得懂的語(yǔ)言.


解析與翻譯的過(guò)程


解析的過(guò)程往往是一個(gè)迭代的過(guò)程。解析器會(huì)向詞法分析器請(qǐng)求一個(gè)新標(biāo)記,并會(huì)使其與某條語(yǔ)法規(guī)則進(jìn)行匹配.如果發(fā)現(xiàn)了能夠匹配,解析器會(huì)把一個(gè)對(duì)應(yīng)于該標(biāo)記的節(jié)點(diǎn)添加到解析樹中,然后繼續(xù)請(qǐng)求下一個(gè)標(biāo)記。如果不能夠匹配,解析器就會(huì)把標(biāo)記存起來(lái),會(huì)繼續(xù)請(qǐng)求標(biāo)記,一直到能找到可與所有內(nèi)部存儲(chǔ)的標(biāo)記匹配的規(guī)則.萬(wàn)一找不到任何能夠匹配的規(guī)則,那么解析器就會(huì)引發(fā)一個(gè)異常.這意味著文檔無(wú)效,包含語(yǔ)法錯(cuò)誤.


解析樹還不最后的,解析往往是在翻譯的時(shí)候使用的,而翻譯是把將輸入文檔轉(zhuǎn)換成另一種格式。編譯就是這樣一個(gè)例子,編譯器可把源代碼編譯成機(jī)器代碼,具體過(guò)程是首先將源代碼解析成解析樹,然后將解析樹翻譯成機(jī)器代碼文檔.


以上大家有時(shí)間的話,可以了解下,對(duì)于我們很多上海網(wǎng)站制作技術(shù)人員來(lái)說(shuō),不要求很精通,懂得其大致的工作原理就足夠了.


本文由成都創(chuàng)新互聯(lián)科技有限公司(

www.bm7419.com)原創(chuàng)編輯轉(zhuǎn)載請(qǐng)注明。

標(biāo)題名稱:網(wǎng)站建設(shè)者們要學(xué)習(xí)的瀏覽器知識(shí):關(guān)于解析與翻譯
轉(zhuǎn)載注明:http://www.bm7419.com/news41/119491.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司