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。