1嵌入式浏览器的结构
根据嵌入式浏览器的特点,分析嵌入式浏览器的各个部分功能。下面介绍嵌入式浏览器的主要功能:
(1)词法分析,主要是对HTML语言进行词法分析,并且要求HTML词法分析可以兼容XML等其他标签语言,达到只需更换语言的元素名称就可以进行词法分析的效果;(2)语法分析与布局,在非嵌入式浏览器中语法分析是独立的一个模块,但是在嵌入式浏览器中不作为一个独立模块,简化系统结构,即实现语法分析与布局同步化,节省了语法分析数据存储的内存空间;(3)嵌入式浏览器的用户界面,设计高效快捷的用户界面是应用软件的重要部分;(4)嵌入式浏览器JavaScript支持,JavaScript在浏览器里主要是用于操纵界面元素并与浏览器内部命令进行结合;(5)I/O端,主要是通过HTTP协议和文本系统来读取页面信息;(6)控制机制,负责命令响应和消息处理。嵌入式浏览器功能结构如图1所示。
图1嵌入式浏览器功能结构图
2HTML词法分析
2.1组成及功能
HTML词法分析是嵌入式浏览器开发的基础,是整个嵌入式浏览器整体设计的最前端部分,HTML词法分析的数据结构是语法分析与布局的重要依据。HTML词法分析的效率、准确率以及容错率的高低在一定程度上决定了整个嵌入式浏览器的工作效率。下面对HTML词法分析的组成和功能进行解析。
HTML词法分析的功能主要是负责接收从I/O端读取到的HTML代码并进行词法分析,提取网页中HTML代码中的各元素信息,按照定义的数据结构保存元素的属性和名称等,实现数据的结构化。
根据HTML词法分析的功能可以解析为几个组成部分:(1)初始化。完成对数据结构的初始化,主要是分配内存,变量赋初值;(2)主体的数据流分析,逐字符地进行判断,确定数据的归属类型;(3)元素的分析,提取元素的名称、属性和值域;(4)释放,主要是对数据内存空间的释放。
2.2算法
根据HTML词法分析的功能以及组成部分,可以很清晰地得到一个简单的算法。其算法过程具体如下:
(1)从I/O端读取的字符串流中,顺序读取一个字符;(2)如果遇到&l