CN100392659C - 基于移动终端wap浏览器词法分析器的实现方法 - Google Patents

基于移动终端wap浏览器词法分析器的实现方法 Download PDF

Info

Publication number
CN100392659C
CN100392659C CNB2006100502751A CN200610050275A CN100392659C CN 100392659 C CN100392659 C CN 100392659C CN B2006100502751 A CNB2006100502751 A CN B2006100502751A CN 200610050275 A CN200610050275 A CN 200610050275A CN 100392659 C CN100392659 C CN 100392659C
Authority
CN
China
Prior art keywords
data
processing
page
tree
mobile terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100502751A
Other languages
English (en)
Other versions
CN1828603A (zh
Inventor
陈天洲
胡威
赵懿
沙峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CNB2006100502751A priority Critical patent/CN100392659C/zh
Publication of CN1828603A publication Critical patent/CN1828603A/zh
Application granted granted Critical
Publication of CN100392659C publication Critical patent/CN100392659C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及WAP浏览器技术领域,旨在提供一种基于移动终端WAP浏览器词法分析器的实现方法。该方法包括基于移动终端WAP浏览器词法分析器解析从协议抽象层获得的数据流,对其分析,判断,容错,构造等处理,最后形成一个结构明晰,语法完整的词法树。本发明为WAP浏览器上层的输出、布局提供支持,词法分析的效率与准确性、容错性好,提高了整个浏览器设计实现的质量。

Description

基于移动终端WAP浏览器词法分析器的实现方法
技术领域
本发明涉及WAP浏览器技术领域,尤其是涉及一种基于移动终端WAP浏览器词法分析器的实现方法。
背景技术
WAP2.0协议是2001年8月推出的。这几年,在国外已经出现了一些支持WAP2.0的嵌入式浏览器。比如2003年3月17日,美国ACCESS公司宣布,使用美国高通(QUALCOMM)手机应用平台--BREW的用户已经可以使用该公司的支持WAP2.0的嵌入式浏览器“NetFront v3.0”。NetFront还支持万维网(WorldWide Web)技术标准制定团体World Wide Web Consortium(W3C,万维联盟)、移动通信的业界团体Open Mobile Alliance(OMA、开放移动联盟)的最新推荐标准,目前已广泛应用于手机、掌上电脑、汽车通讯服务等领域,大约有200机型、约8000万台终端安装这种浏览器。通过‘NetFront’,BREW用户的内容选择空间更加广阔,除普通用途外,还可以在商务用途等领域浏览互联网内容。
随着移动运营商2.5G甚至是3G网络的建成并投入商用,大量的内容和业务提供商(CP/SP)迅速崛起以及彩色移动终端的普及率不断提高,使用WAP方式进行移动浏览的用户数量也在急剧增长。据著名的StrateD Analy6cs预测,到2006使用WAP移动浏览器的用户将占到总移动用户数的65%。对于移动浏览而言怎样才能为用户提供决捷、方便和有趣的内容体验是最为重要也是最为关键的。使用WAP2.0能够实现多种形式的内容体验:内容检索、多媒体消息、下载甚至是在线流媒体。由此也就产生了大量受用户欢迎尤其是年轻用户欢迎的和旋铃音下载、屏保/壁纸下载、JAVA应用和在线音视频欣赏等。
同时WAP2.0特有的直接HTTP通信、移动友好技术、标记语言XHTMLMP以及对WML1.0的完全向后兼容等技术也使得WAP2.0能有更好的图形展现及控制能力;更容易针对不同的终端做出相应的内容优化;能够无线传送流媒体,使用缓存,业务处理速度更快;对大型文件的下载也更加迅速。
当前,国内中国移动和中国联通两大运营商都将WAP2.0作为移动增值的核心业务。他们在2004年下半年先后推出了WAP2.0业务。而阿尔卡特等设备制造商,也迅速推出了WAP2.0的商用平台。众多SP(增值业务服务提供商)的眼球更是被WAP2.0紧紧吸引,全力投入以WAP2.0为核心的无线增值新模式竞争。WAP2.0已经成为众多SP竞相抢占的无线增值业务新阵地。
随着运营商中高速移动数据网的建成,含WAP浏览器的彩色移动终端普及率直线上升,用户已经初步感受到有趣、方便、实用和快捷的用户体验。与此同时设备制造商和内容、业务提供商热情高涨,新应用、新业务层出不穷。国际电联和WAP论坛正在进一步研究WAP2.0的推广应用。
词法分析器是以编程方式实现的一种功能模块,主要负责对用户输入的表达式进行分词处理,把每一个合法符号(包括数)存入一个特定的存储结构中,能够供之后的文法分析模块和计算模块使用,如果发现非法符号马上停止处理并报错。
目前,已经存在一些基于WAP的浏览器,但是在现有公开文献和资料中均未见有关词法分析器的实现方法的介绍。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于移动终端WAP浏览器词法分析器的实现方法。
为了解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供了一种基于移动终端WAP浏览器词法分析器的实现方法,包括:
(1)获得网络层传入的数据流:
在移动终端连接上无线网络的情况下,移动终端利用基于WAP的网络层接收数据,移动终端中的词法分析器从网络层获得上述传入的数据流;
(2)对数据类型做简单的分类:
判断在步骤(1)中获得的数据是页面数据还是非页面数据,其中非页面数据定义为网络层反馈的错误信息、css外链文件、图像元素、脚本文件;
(3)对非页面数据的处理:
对于属于非页面数据的数据流,进行错误处理,并下载对应项错误处理调用,返回对应的错误页面的树tree;对于css外链文件、图像元素及脚本文件则下载对应文件到缓冲区中,并返回缓冲区的地址;
(4)对页面数据的处理:
页面数据的处理由数据处理模块进行处理,该模块分解数据流为四类:标签tag,属性attribute,事件event和错误error,其中要对错误error类型的数据进行容错处理;对于进行容错处理的数据,要将处理后的结果再次返回到数据处理模块,而其余正确的数据流由数据处理模块根据相应的算法动态的加入到分析树parser tree中。
作为本发明的一种改进,步骤(4)所述分析树parser tree在整个页面数据处理过程中是唯一的且动态生成的。
作为本发明的一种改进:
步骤(1)中还包括数据缓冲步骤:所有数据将首先到达缓冲区,数据处理模块边读数据缓冲区边处理数据,直到整个数据处理完毕。
与现有技术相比,本发明的有益效果是:
本发明具有的有益的效果是:
(1)高效性。本发明采用对数据类型做简单的分类的方法处理词法分析,对于不同类别的页面,进行不同类型的分析,使得页面的处理速度更快,具有更高的效率。
(2)准确性。本发明中通过对语法分析树的建立过程,使得该语法树的生成更容易得到控制,能够减少错误的产生。
(3)容错性。本发明中通过对语法树进行分析,动态生成,使得在分析过程中产生的一些问题能够得到更好的容错性。
附图说明
图1是本发明实施方法示意图;
图2是网络层反馈数据类型定义示意图;
图3是页内元素数据错误处理示意图;
图4是数据处理过程示意图;
图5是示例中生成的parser tree示意图。
具体实施方式
参考附图,下面将结合一个实施例对本发明进行详细描述。
基于移动终端WAP浏览器词法分析器的实现方法,包括以下步骤:
(1)获得网络层传入的数据流
在连接上无线网络的情况下,移动终端利用通信协议的网络层接收数据,词法分析器从网络层获得上述传入的数据流;
(2)对数据类型做简单的分类
对数据类型做简单的分类,判断在(1)中获得的数据流中的一段是页面还是非页面数据,其中非页面定义为网络层反馈的错误信息、css外链文件、图像元素、脚本文件,直至所有数据处理完毕;
(3)非页面处理
对于属于非页面的数据流,进行错误处理和下载对应项错误处理调用返回对应的错误页面的树tree,css外链文件、图像元素、脚本文件则下载对应文件到缓冲区中,并返回缓冲区的地址;
(4)页面处理
页面处理由数据处理模块进行处理,数据处理模块是以编程方式实现的一种功能模块,主要负责对进入到词法分析器的数据进行处理。该模块分解数据流为四类:标签tag,属性attribute,事件event,错误error类型,其中要对error类型的数据进行容错处理。可以容错处理的数据,要将处理后的结果再次返回到数据处理模块,而其余正确的数据流由数据处理模块根据相应的算法动态的加入到一棵分析树parser tree中,这棵parse tree在整个页面处理过程中是唯一的,动态生成的。
在图2中,是网络层反馈数据类型为e(错误)的定义;图3中,是页内元素数据错误处理定义。
数据缓冲步骤存在于本发明的所有步骤当中,所有数据将首先到达缓冲区,处理模块边读数据缓冲区边处理数据,直到整个数据处理完毕。
具体的页面词法分析示例如下:
基本数据结构定义:
①、parsertree
说明:最后生成的parsertree
定义:structure parsertree{
element *topelement;    //首个元素
char *errormessage;    //错误信息,Null时无错
}
②、element
说明:parsertree树上的节点,在xhtml中为tag等
定义:structrue element{
char *tagname;    //tag名字
body *elementbody;  //body
attributelist *elementattribute;//属性链
}
③、body
说明:element中body定义
定义:structure body{
int contenttype;//tag标识内所夹内容,0为最终字符串,1为嵌套
element *elementdata;//contenttype=1时,elementdata指向body内容
char *charactedata;//contenttype=0时,charactedata指向body内容
element *nextelement;//兄弟元素
}
④、attributelist
说明:element中attributelist定义
定义:structure attributelist{
char *attributename;//属性名称
char *value;//属性值,注意属性的值完全转换为字符串
enum attrvaluetype oriattrvaluetype;//原数据类型,便于数据还原
attributeelist nextattribute;//下一属性指针
}
⑤、attrivaluetype
说明:attrivalue数据类型
定义:emum attrivaluetype{
ignored,//此属性忽略
cdata,//此属性杂类
booleans,//此属性bool型
gomethod,//此属性是动作
length,//此属性设置长宽高占比例
imgalign,//此属性垂直位置(居中左右上下)
inputtype,//此属性输入框
number,//此属性是具体数
wrapmode,//此属性是否自动换行
palign  //此属性水平位置
};
图4是具体的数据处理过程,如下:
①文档最初的数据以<tag>开头,否则,文档定义有错,做容错处理
②判断元素的全法性,合法则生成元素节点,并且把元素标识压入栈,主要是用于匹配元素的结束符
③读取属性,判断属性的合法性,判断关键属性是否存在,不存在应自动生成
④读入下一语句,如果是</tag>则要与栈顶元素做判断,看是否匹配,如果不匹配则要做容错处理
⑤如果不是</tag>,则下面的语句属于元素的body部分,生成元素结点的body链。
⑥如果是</tag>,后面再无语句,并且栈不为空,此时也要做容错处理。
⑦如果是</tag>,但后面还有语句,则生成兄弟链。
如下一段whtml代码
<html>
<title>嵌入式实验室</title>
<body>
<img src=“logo.gif”width=200 height=100>
<a HREF=″http://www.embeded.zju.edu.cn″>浙江大学嵌入式实验室</a>
</body>
</html>
最后生成的Parser Tree如图5所示。
最后,还需要注意的是,以上列举的仅是本发明的具体实施例子。显然,本发明不限于以上实施例子,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (3)

1.一种基于移动终端WAP浏览器词法分析器的实现方法,包括:
(1)获得网络层传入的数据流:
在移动终端连接上无线网络的情况下,移动终端利用基于WAP的网络层接收数据,移动终端中的词法分析器从网络层获得上述传入的数据流;
(2)对数据类型做简单的分类:
判断在步骤(1)中获得的数据是页面数据还是非页面数据,其中非页面数据定义为网络层反馈的错误信息、css外链文件、图像元素、脚本文件;
(3)对非页面数据的处理:
对于属于非页面数据的数据流,进行错误处理,并下载对应项错误处理调用,返回对应的错误页面的树tree;对于css外链文件、图像元素及脚本文件则下载对应文件到缓冲区中,并返回缓冲区的地址;
(4)对页面数据的处理:
页面数据的处理由数据处理模块进行处理,该模块分解数据流为四类:标签tag,属性attribute,事件event和错误error,其中要对错误error类型的数据进行容错处理;对于进行容错处理的数据,要将处理后的结果再次返回到数据处理模块,而其余正确的数据流由数据处理模块根据相应的算法动态的加入到分析树parser tree中。
2.根据权利要求1所述的基于移动终端WAP浏览器词法分析器的实现方法,其特征在于,步骤(4)所述分析树parser tree在整个页面数据处理过程中是唯一的且动态生成的。
3.根据权利要求1所述的一种基于移动终端WAP浏览器词法分析器的实现方法,其特征在于:
步骤(1)中还包括数据缓冲步骤:所有数据将首先到达缓冲区,数据处理模块边读数据缓冲区边处理数据,直到整个数据处理完毕。
CNB2006100502751A 2006-04-10 2006-04-10 基于移动终端wap浏览器词法分析器的实现方法 Expired - Fee Related CN100392659C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100502751A CN100392659C (zh) 2006-04-10 2006-04-10 基于移动终端wap浏览器词法分析器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100502751A CN100392659C (zh) 2006-04-10 2006-04-10 基于移动终端wap浏览器词法分析器的实现方法

Publications (2)

Publication Number Publication Date
CN1828603A CN1828603A (zh) 2006-09-06
CN100392659C true CN100392659C (zh) 2008-06-04

Family

ID=36946995

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100502751A Expired - Fee Related CN100392659C (zh) 2006-04-10 2006-04-10 基于移动终端wap浏览器词法分析器的实现方法

Country Status (1)

Country Link
CN (1) CN100392659C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2191362B1 (en) * 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
CN101770502A (zh) * 2009-12-30 2010-07-07 深圳市同洲电子股份有限公司 一种脚本处理的方法、装置和嵌入式浏览器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539384B1 (en) * 2000-06-02 2003-03-25 Bellsouth Intellectual Property Corporation Browser on test equipment
US6671715B1 (en) * 2000-01-21 2003-12-30 Microstrategy, Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device
CN1613105A (zh) * 2002-09-05 2005-05-04 奥帕拉软件公司 在小屏幕终端显示屏上显示超文本标记语言内容

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671715B1 (en) * 2000-01-21 2003-12-30 Microstrategy, Inc. System and method for automatic, real-time delivery of personalized informational and transactional data to users via high throughput content delivery device
US6539384B1 (en) * 2000-06-02 2003-03-25 Bellsouth Intellectual Property Corporation Browser on test equipment
CN1613105A (zh) * 2002-09-05 2005-05-04 奥帕拉软件公司 在小屏幕终端显示屏上显示超文本标记语言内容

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Web文档清洗系统中HTML解析器的开发. 王强,王继成,武港山,张福炎.计算机应用研究,第2期. 2002
Web文档清洗系统中HTML解析器的开发. 王强,王继成,武港山,张福炎.计算机应用研究,第2期. 2002 *
嵌入式WAP解析器的设计与实现. 王会进,邱炜斌.计算机工程与设计,第26卷第4期. 2005
嵌入式WAP解析器的设计与实现. 王会进,邱炜斌.计算机工程与设计,第26卷第4期. 2005 *

Also Published As

Publication number Publication date
CN1828603A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
CN102057654B (zh) 移动装置的应用程序框架
CN101521899B (zh) 用于移动应用程序的机上测试系统和方法
CN102487402B (zh) 由服务器端实现网页渲染的方法、设备和系统
CN102254550B (zh) 网页文字朗读方法和系统
CN102033944B (zh) 基于移动终端的网页显示系统及方法
CN102065106B (zh) Web流量梳理器和终端访问Web网页的方法及系统
CN102045388B (zh) 在线阅读装置及在线阅读方法
CN103440264B (zh) 电力现场作业表单的实现方法及系统
CN101296255A (zh) 网页浏览方法、系统、代理服务器和手机浏览器
CN101369272A (zh) 一种自动填充系统及自动填充注册或登录信息的方法
CN100489862C (zh) 标记性语言文档的解析方法、解析模块和用户终端
CN101621862A (zh) 手机浏览器快速定位有效信息的方法与装置
CN100392659C (zh) 基于移动终端wap浏览器词法分析器的实现方法
CN110234080A (zh) 一种信息显示方法、装置和系统
CN101369271A (zh) 一种自动填充标记模块及其浏览器组合件
CN101354706A (zh) 一种收集网页信息的方法及装置
CN101620621A (zh) 一种网页切分方法及系统
CN104735549B (zh) 一种网页中文本字幕信息的显示方法和装置
CN103377192A (zh) 插入广告的方法及系统
CN101702745A (zh) 移动终端多媒体来电主被叫并行显示方法及系统
CN103294881A (zh) 获取游戏页面的方法、装置和移动终端
CN103067253A (zh) 一种mms信令的深度解析和内容展示的方法及系统
CN101415026B (zh) 动态内容分发客户端xml格式数据的解析方法
CN101163232A (zh) 交互式流媒体业务实现方法及系统
CN102209086A (zh) 访问互联网的方法、设备和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080604

Termination date: 20110410