網(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é),因此我們要更深入地講解。


解析樹或者語法樹


解析文檔是指將文檔轉(zhuǎn)化成為有意義的結(jié)構(gòu),也就是可讓代碼理解和使用的結(jié)構(gòu)。解析得到的結(jié)果通常就代表了文檔的節(jié)點(diǎn)樹,專業(yè)上稱作解析樹或者語法樹.解析是以文檔所遵循的語法規(guī)則為基礎(chǔ)的.所有可以解析的格式都必須對(duì)應(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ī)則的過程.解析器往往會(huì)把解析工作交給下面的兩個(gè)組件來進(jìn)行處理:詞法分析器和解析器,語法分析器有時(shí)候也被叫做為標(biāo)記生成器,主要把輸入內(nèi)容分解成一個(gè)個(gè)有效標(biāo)記;而解析器主要負(fù)責(zé)根據(jù)語言的語法規(guī)則分析文檔的結(jié)構(gòu),從而構(gòu)建解析樹.詞法分析器知道如何將無關(guān)的字符(比如空格和換行符)分離出來.網(wǎng)站制作中使用的前端的一些語言往往就是按照瀏覽器語法規(guī)則的語言,通俗的說就是瀏覽器能夠看得懂的語言.


解析與翻譯的過程


解析的過程往往是一個(gè)迭代的過程。解析器會(huì)向詞法分析器請(qǐng)求一個(gè)新標(biāo)記,并會(huì)使其與某條語法規(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)記存起來,會(huì)繼續(xù)請(qǐng)求標(biāo)記,一直到能找到可與所有內(nèi)部存儲(chǔ)的標(biāo)記匹配的規(guī)則.萬一找不到任何能夠匹配的規(guī)則,那么解析器就會(huì)引發(fā)一個(gè)異常.這意味著文檔無效,包含語法錯(cuò)誤.


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


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


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

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

網(wǎng)站題目:網(wǎng)站建設(shè)者們要學(xué)習(xí)的瀏覽器知識(shí):關(guān)于解析與翻譯
文章鏈接:http://www.muchs.cn/news/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í)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)