浏览器了解(三)CSS解析
CSS解析
CSS的解析涉及到两大部分
1. CSS词法分析(Lexer)
CSS的词法分析通过flex来实现,可以在Tokenizer.cpp中找到定义的token
2. CSS语法分析(Parser)
CSS语法分析通过bison来实现,可以在CSSGrammar.h中找到语法的具体实现
基于以上两点,可以生成可执行的CSS解释器的C代码。
下面看解析的结构
C×××ule由selector和Declaration组成。CSSStyleSheet是C×××ule的集合。在render时,CSSStyleSheet将和DOMTree一起Attachment,构成RenderTree。