【浏览器渲染原理】解析和DOM树构建之解析
2014-02-13 11:38
831 查看
解析一个文档:将其转换成具有一定意义的结构,编码可以理解和使用的东西。
解析的结果通常是表达文档结构的节点树,称为解析树或语法树。
例如,解析2+3-1表达式,会返回解析树:
解析是以文档所遵循的规则为基础的。规则包括词汇表和语法规则。解析的过程可以分成:词法分析(Lexical Analysis)和语法分析(Syntax Analysis)。
词法分析(LexicalAnalysis)是将输入内容分割成大量标记的过程。常用的HTML标记有,<html>、<body>、<div>等。
语法分析(SyntaxAnalysis)是应用语言的语法规则的过程。常见的HTML语法规则有,图片、表格、链接。这些语法规则用来表示比“文本”更丰富的意义。浏览器知道HTML的语法,可以用来查看HTML文档。
解析工作通常由词法分析器和解析器来完成。词法分析器(也叫标记生成器),负责将输入内容分解成一个一个有效标记。解析器负责根据语法规则分析文档的结构,构建解析树。解析的过程如下图:
解析是一个迭代的过程。解析器会向词法分析器请求一个新标记,并尝试将其与某条语法规则进行匹配。如果发现了匹配规则,解析器会将一个对应于该标记的节点添加到解析树中,然后继续请求下一个标记。
如果没有规则可以匹配,解析器就会将标记存储到内部,并继续请求标记,直至找到可与所有内部存储的标记匹配的规则。如果找不到任何匹配规则,解析器就会引发一个异常。
解析器的基本类型:自上而下解析器和自下而上解析器。自上而下的解析器从语法规则出发,尝试从中找到匹配的结构。自下而上的解析器从结构出发,将输入内容逐步转化为语法规则,直至完全匹配。
【参考资料】
http://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/#The_browsers_we_will_talk_about
http://taligarsiel.com/Projects/howbrowserswork1.htm
http://www.cssforest.org/blog/index.php?id=195
解析的结果通常是表达文档结构的节点树,称为解析树或语法树。
例如,解析2+3-1表达式,会返回解析树:
解析是以文档所遵循的规则为基础的。规则包括词汇表和语法规则。解析的过程可以分成:词法分析(Lexical Analysis)和语法分析(Syntax Analysis)。
词法分析(LexicalAnalysis)是将输入内容分割成大量标记的过程。常用的HTML标记有,<html>、<body>、<div>等。
语法分析(SyntaxAnalysis)是应用语言的语法规则的过程。常见的HTML语法规则有,图片、表格、链接。这些语法规则用来表示比“文本”更丰富的意义。浏览器知道HTML的语法,可以用来查看HTML文档。
解析工作通常由词法分析器和解析器来完成。词法分析器(也叫标记生成器),负责将输入内容分解成一个一个有效标记。解析器负责根据语法规则分析文档的结构,构建解析树。解析的过程如下图:
解析是一个迭代的过程。解析器会向词法分析器请求一个新标记,并尝试将其与某条语法规则进行匹配。如果发现了匹配规则,解析器会将一个对应于该标记的节点添加到解析树中,然后继续请求下一个标记。
如果没有规则可以匹配,解析器就会将标记存储到内部,并继续请求标记,直至找到可与所有内部存储的标记匹配的规则。如果找不到任何匹配规则,解析器就会引发一个异常。
解析器的基本类型:自上而下解析器和自下而上解析器。自上而下的解析器从语法规则出发,尝试从中找到匹配的结构。自下而上的解析器从结构出发,将输入内容逐步转化为语法规则,直至完全匹配。
【参考资料】
http://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/#The_browsers_we_will_talk_about
http://taligarsiel.com/Projects/howbrowserswork1.htm
http://www.cssforest.org/blog/index.php?id=195
相关文章推荐
- 【浏览器渲染原理】解析和DOM树构建之处理脚本和样式表的顺序
- 【浏览器渲染原理】解析和DOM树构建之HTML解析器
- 【浏览器渲染原理】解析和DOM树构建之CSS解析
- 浏览器工作原理(六):渲染树构建
- 【浏览器渲染原理】渲染树构建之样式计算
- 浏览器原理(三)——渲染过程之解析
- 【浏览器渲染原理】渲染树构建之渐进式处理
- 浏览器的解析渲染原理以及js ,css 阻塞问题的分析
- 深入解析浏览器的幕后工作原理(四) DOM树
- 【浏览器渲染原理】渲染树构建之渲染树和DOM树的关系
- 【浏览器渲染原理】渲染树构建之构建渲染树的流程
- 浏览器渲染原理|绘制|展现|解析|如何工作
- 浏览器渲染原理解析
- 浏览器工作原理4-渲染树构建
- 浏览器工作原理3-解析与DOM树构建
- [学习笔记]浏览器渲染原理
- 深入解析浏览器的幕后工作原理(二) 呈现引擎
- HTML在浏览器里的渲染原理
- 浏览器的渲染原理简介
- 浏览器渲染页面的原理