天天看點

詞法分析器的工作過程分析

        Webkit中,有個詞法分析器--HTMLTokenizer,她是怎麼工作的呢,網頁位元組流是她的輸入,她的輸出是一個個的詞語Token,比如div,input,img,script等等HTML檔案中的标準元素(Element)。

        前一篇文章關于DOM的建立裡說過,HTML元字元解析器(HTMLMetaChractorParser)和HTML詞法分析器(HTMLTokenizer)協同工作,一起分析、解析出詞語(HTMLMetaChractorParser取出所有的頁面中的字元,并調用HTMLTokenizer的nextToken函數處理它):

詞法分析器的工作過程分析
詞法分析器的工作過程分析

         下面這張圖,就是Tokenizer具體的工作過程,我們看的出來,她是個狀态機,先取<,再取>,就表示一個詞語(token)結束了,之後進入下一個狀态,周而複始。

詞法分析器的工作過程分析

繼續閱讀