两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于移動(dòng)終端wap瀏覽器詞法分析器的實(shí)現(xiàn)方法

文檔序號:6556506閱讀:148來源:國知局
專利名稱:基于移動(dòng)終端wap瀏覽器詞法分析器的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及WAP瀏覽器技術(shù)領(lǐng)域,尤其是涉及一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法。
背景技術(shù)
WAP2.0協(xié)議是2001年8月推出的。這幾年,在國外已經(jīng)出現(xiàn)了一些支持WAP2.0的嵌入式瀏覽器。比如2003年3月17日,美國ACCESS公司宣布,使用美國高通(QUALCOMM)手機(jī)應(yīng)用平臺(tái)--BREW的用戶已經(jīng)可以使用該公司的支持WAP2.0的嵌入式瀏覽器“NetFront v3.0”。NetFront還支持萬維網(wǎng)(WorldWide Web)技術(shù)標(biāo)準(zhǔn)制定團(tuán)體World Wide Web Consortium(W3C,萬維聯(lián)盟)、移動(dòng)通信的業(yè)界團(tuán)體Open Mobile Alliance(OMA、開放移動(dòng)聯(lián)盟)的最新推薦標(biāo)準(zhǔn),目前已廣泛應(yīng)用于手機(jī)、掌上電腦、汽車通訊服務(wù)等領(lǐng)域,大約有200機(jī)型、約8000萬臺(tái)終端安裝這種瀏覽器。通過‘NetFront’,BREW用戶的內(nèi)容選擇空間更加廣闊,除普通用途外,還可以在商務(wù)用途等領(lǐng)域?yàn)g覽互聯(lián)網(wǎng)內(nèi)容。
隨著移動(dòng)運(yùn)營商2.5G甚至是3G網(wǎng)絡(luò)的建成并投入商用,大量的內(nèi)容和業(yè)務(wù)提供商(CP/SP)迅速崛起以及彩色移動(dòng)終端的普及率不斷提高,使用WAP方式進(jìn)行移動(dòng)瀏覽的用戶數(shù)量也在急劇增長。據(jù)著名的StrateD Analy6cs預(yù)測,到2006使用WAP移動(dòng)瀏覽器的用戶將占到總移動(dòng)用戶數(shù)的65%。對于移動(dòng)瀏覽而言怎樣才能為用戶提供決捷、方便和有趣的內(nèi)容體驗(yàn)是最為重要也是最為關(guān)鍵的。使用WAP2.0能夠?qū)崿F(xiàn)多種形式的內(nèi)容體驗(yàn)內(nèi)容檢索、多媒體消息、下載甚至是在線流媒體。由此也就產(chǎn)生了大量受用戶歡迎尤其是年輕用戶歡迎的和旋鈴音下載、屏保/壁紙下載、JAVA應(yīng)用和在線音視頻欣賞等。
同時(shí)WAP2.0特有的直接HTTP通信、移動(dòng)友好技術(shù)、標(biāo)記語言XHTMLMP以及對WML1.0的完全向后兼容等技術(shù)也使得WAP2.0能有更好的圖形展現(xiàn)及控制能力;更容易針對不同的終端做出相應(yīng)的內(nèi)容優(yōu)化;能夠無線傳送流媒體,使用緩存,業(yè)務(wù)處理速度更快;對大型文件的下載也更加迅速。
當(dāng)前,國內(nèi)中國移動(dòng)和中國聯(lián)通兩大運(yùn)營商都將WAP2.0作為移動(dòng)增值的核心業(yè)務(wù)。他們在2004年下半年先后推出了WAP2.0業(yè)務(wù)。而阿爾卡特等設(shè)備制造商,也迅速推出了WAP2.0的商用平臺(tái)。眾多SP(增值業(yè)務(wù)服務(wù)提供商)的眼球更是被WAP2.0緊緊吸引,全力投入以WAP2.0為核心的無線增值新模式競爭。WAP2.0已經(jīng)成為眾多SP競相搶占的無線增值業(yè)務(wù)新陣地。
隨著運(yùn)營商中高速移動(dòng)數(shù)據(jù)網(wǎng)的建成,含WAP瀏覽器的彩色移動(dòng)終端普及率直線上升,用戶已經(jīng)初步感受到有趣、方便、實(shí)用和快捷的用戶體驗(yàn)。與此同時(shí)設(shè)備制造商和內(nèi)容、業(yè)務(wù)提供商熱情高漲,新應(yīng)用、新業(yè)務(wù)層出不窮。國際電聯(lián)和WAP論壇正在進(jìn)一步研究WAP2.0的推廣應(yīng)用。
詞法分析器是以編程方式實(shí)現(xiàn)的一種功能模塊,主要負(fù)責(zé)對用戶輸入的表達(dá)式進(jìn)行分詞處理,把每一個(gè)合法符號(包括數(shù))存入一個(gè)特定的存儲(chǔ)結(jié)構(gòu)中,能夠供之后的文法分析模塊和計(jì)算模塊使用,如果發(fā)現(xiàn)非法符號馬上停止處理并報(bào)錯(cuò)。
目前,已經(jīng)存在一些基于WAP的瀏覽器,但是在現(xiàn)有公開文獻(xiàn)和資料中均未見有關(guān)詞法分析器的實(shí)現(xiàn)方法的介紹。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法。
為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法,包括(1)獲得網(wǎng)絡(luò)層傳入的數(shù)據(jù)流在連接上無線網(wǎng)絡(luò)的情況下,移動(dòng)終端利用通信協(xié)議的網(wǎng)絡(luò)層接收數(shù)據(jù),詞法分析器從網(wǎng)絡(luò)層獲得上述傳入的數(shù)據(jù)流;(2)對數(shù)據(jù)類型做簡單的分類判斷在步驟(1)中獲得的數(shù)據(jù)是頁面數(shù)據(jù)還是非頁面數(shù)據(jù),其中非頁面數(shù)據(jù)定義為網(wǎng)絡(luò)層反饋的錯(cuò)誤信息、css外鏈文件、圖像元素、腳本文件;(3)非頁面處理
對于屬于非頁面的數(shù)據(jù)流,進(jìn)行錯(cuò)誤處理和下載對應(yīng)項(xiàng)錯(cuò)誤處理調(diào)用返回對應(yīng)的錯(cuò)誤頁面的樹tree,css外鏈文件、圖像元素、腳本文件則下載對應(yīng)文件到緩沖區(qū)中,并返回緩沖區(qū)的地址;(4)頁面處理頁面處理由數(shù)據(jù)處理模塊進(jìn)行處理,該模塊分解數(shù)據(jù)流為四類標(biāo)簽tag,屬性attribute,事件event和錯(cuò)誤error,其中要對錯(cuò)誤error類型的數(shù)據(jù)進(jìn)行容錯(cuò)處理;可以容錯(cuò)處理的數(shù)據(jù),要將處理后的結(jié)果再次返回到數(shù)據(jù)處理模塊,而其余正確的數(shù)據(jù)流由數(shù)據(jù)處理模塊根據(jù)相應(yīng)的算法動(dòng)態(tài)的加入到分析樹parser tree中。
作為本發(fā)明的一種改進(jìn),步驟(4)所述分析樹parser tree在整個(gè)頁面處理過程中是唯一的,動(dòng)態(tài)生成的。
作為本發(fā)明的一種改進(jìn)所述步驟(1)至(4)中包括數(shù)據(jù)緩沖步驟所有數(shù)據(jù)將首先到達(dá)緩沖區(qū),處理模塊邊讀數(shù)據(jù)緩沖區(qū)邊處理數(shù)據(jù),直到整個(gè)數(shù)據(jù)處理完畢。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是本發(fā)明具有的有益的效果是(1)高效性。本發(fā)明采用對數(shù)據(jù)類型做簡單的分類的方法處理詞法分析,對于不同類別的頁面,進(jìn)行不同類型的分析,使得頁面的處理速度更快,具有更高的效率。
(2)準(zhǔn)確性。本發(fā)明中通過對語法分析樹的建立過程,使得該語法樹的生成更容易得到控制,能夠減少錯(cuò)誤的產(chǎn)生。
(3)容錯(cuò)性。本發(fā)明中通過對語法樹進(jìn)行分析,動(dòng)態(tài)生成,使得在分析過程中產(chǎn)生的一些問題能夠得到更好的容錯(cuò)性。


圖1是本發(fā)明實(shí)施方法示意圖;圖2是網(wǎng)絡(luò)層反饋數(shù)據(jù)類型定義示意圖;圖3是頁內(nèi)元素?cái)?shù)據(jù)錯(cuò)誤處理示意圖;圖4是數(shù)據(jù)處理過程示意圖;圖5是示例中生成的parser tree示意圖。
具體實(shí)施例方式
參考附圖,下面將結(jié)合一個(gè)實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法,包括以下步驟(1)獲得網(wǎng)絡(luò)層傳入的數(shù)據(jù)流在連接上無線網(wǎng)絡(luò)的情況下,移動(dòng)終端利用通信協(xié)議的網(wǎng)絡(luò)層接收數(shù)據(jù),詞法分析器從網(wǎng)絡(luò)層獲得上述傳入的數(shù)據(jù)流;(2)對數(shù)據(jù)類型做簡單的分類對數(shù)據(jù)類型做簡單的分類,判斷在(1)中獲得的數(shù)據(jù)流中的一段是頁面還是非頁面數(shù)據(jù),其中非頁面定義為網(wǎng)絡(luò)層反饋的錯(cuò)誤信息、css外鏈文件、圖像元素、腳本文件,直至所有數(shù)據(jù)處理完畢;(3)非頁面處理對于屬于非頁面的數(shù)據(jù)流,進(jìn)行錯(cuò)誤處理和下載對應(yīng)項(xiàng)錯(cuò)誤處理調(diào)用返回對應(yīng)的錯(cuò)誤頁面的樹tree,css外鏈文件、圖像元素、腳本文件則下載對應(yīng)文件到緩沖區(qū)中,并返回緩沖區(qū)的地址;(4)頁面處理頁面處理由數(shù)據(jù)處理模塊進(jìn)行處理,數(shù)據(jù)處理模塊是以編程方式實(shí)現(xiàn)的一種功能模塊,主要負(fù)責(zé)對進(jìn)入到詞法分析器的數(shù)據(jù)進(jìn)行處理。該模塊分解數(shù)據(jù)流為四類標(biāo)簽tag,屬性attribute,事件event,錯(cuò)誤error類型,其中要對error類型的數(shù)據(jù)進(jìn)行容錯(cuò)處理。可以容錯(cuò)處理的數(shù)據(jù),要將處理后的結(jié)果再次返回到數(shù)據(jù)處理模塊,而其余正確的數(shù)據(jù)流由數(shù)據(jù)處理模塊根據(jù)相應(yīng)的算法動(dòng)態(tài)的加入到一棵分析樹parser tree中,這棵parse tree在整個(gè)頁面處理過程中是唯一的,動(dòng)態(tài)生成的。
在圖2中,是網(wǎng)絡(luò)層反饋數(shù)據(jù)類型為e(錯(cuò)誤)的定義;圖3中,是頁內(nèi)元素?cái)?shù)據(jù)錯(cuò)誤處理定義。
數(shù)據(jù)緩沖步驟存在于本發(fā)明的所有步驟當(dāng)中,所有數(shù)據(jù)將首先到達(dá)緩沖區(qū),處理模塊邊讀數(shù)據(jù)緩沖區(qū)邊處理數(shù)據(jù),直到整個(gè)數(shù)據(jù)處理完畢。
具體的頁面詞法分析示例如下基本數(shù)據(jù)結(jié)構(gòu)定義①、parsertree
說明最后生成的parsertree定義structure parsertree{element *topelement;//首個(gè)元素char*errormessage;//錯(cuò)誤信息,Null時(shí)無錯(cuò)}②、element說明parsertree樹上的節(jié)點(diǎn),在xhtml中為tag等定義structrue element{char*tagname;//tag名字body*elementbody;//bodyattributelist*elementattribute;//屬性鏈}③、body說明element中body定義定義structure body{int contenttype;//tag標(biāo)識內(nèi)所夾內(nèi)容,0為最終字符串,1為嵌套element*elementdata;//contenttype=1時(shí),elementdata指向body內(nèi)容char*charactedata;//contenttype=0時(shí),charactedata指向body內(nèi)容element*nextelement;//兄弟元素}④、attributelist說明element中attributelist定義定義structure attributelist{char*attributename;//屬性名稱char*value;//屬性值,注意屬性的值完全轉(zhuǎn)換為字符串enum attrvaluetype oriattrvaluetype;//原數(shù)據(jù)類型,便于數(shù)據(jù)還原attributeelist nextattribute;//下一屬性指針}⑤、attrivaluetype說明attrivalue數(shù)據(jù)類型定義emum attrivaluetype{ignored,//此屬性忽略cdata,//此屬性雜類booleans,//此屬性bool型gomethod,//此屬性是動(dòng)作length,//此屬性設(shè)置長寬高占比例imgalign,//此屬性垂直位置(居中左右上下)inputtype,//此屬性輸入框number,//此屬性是具體數(shù)wrapmode,//此屬性是否自動(dòng)換行palign //此屬性水平位置};圖4是具體的數(shù)據(jù)處理過程,如下①文檔最初的數(shù)據(jù)以<tag>開頭,否則,文檔定義有錯(cuò),做容錯(cuò)處理②判斷元素的全法性,合法則生成元素節(jié)點(diǎn),并且把元素標(biāo)識壓入棧,主要是用于匹配元素的結(jié)束符③讀取屬性,判斷屬性的合法性,判斷關(guān)鍵屬性是否存在,不存在應(yīng)自動(dòng)生成④讀入下一語句,如果是</tag>則要與棧頂元素做判斷,看是否匹配,如果不匹配則要做容錯(cuò)處理⑤如果不是</tag>,則下面的語句屬于元素的body部分,生成元素結(jié)點(diǎn)的body鏈。
⑥如果是</tag>,后面再無語句,并且棧不為空,此時(shí)也要做容錯(cuò)處理。
⑦如果是</tag>,但后面還有語句,則生成兄弟鏈。
如下一段whtml代碼<html>
<title>嵌入式實(shí)驗(yàn)室</title>
<body>
<img src=“l(fā)ogo.gif”width=200 height=100>
<a HREF=″http://www.embeded.zju.edu.cn″>浙江大學(xué)嵌入式實(shí)驗(yàn)室</a>
</body>
</html>
最后生成的Parser Tree如圖5所示。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的具體實(shí)施例子。顯然,本發(fā)明不限于以上實(shí)施例子,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法,包括(1)獲得網(wǎng)絡(luò)層傳入的數(shù)據(jù)流在連接上無線網(wǎng)絡(luò)的情況下,移動(dòng)終端利用通信協(xié)議的網(wǎng)絡(luò)層接收數(shù)據(jù),詞法分析器從網(wǎng)絡(luò)層獲得上述傳入的數(shù)據(jù)流;(2)對數(shù)據(jù)類型做簡單的分類判斷在步驟(1)中獲得的數(shù)據(jù)是頁面數(shù)據(jù)還是非頁面數(shù)據(jù),其中非頁面數(shù)據(jù)定義為網(wǎng)絡(luò)層反饋的錯(cuò)誤信息、css外鏈文件、圖像元素、腳本文件;(3)非頁面處理對于屬于非頁面的數(shù)據(jù)流,進(jìn)行錯(cuò)誤處理和下載對應(yīng)項(xiàng)錯(cuò)誤處理調(diào)用返回對應(yīng)的錯(cuò)誤頁面的樹tree,css外鏈文件、圖像元素、腳本文件則下載對應(yīng)文件到緩沖區(qū)中,并返回緩沖區(qū)的地址;(4)頁面處理頁面處理由數(shù)據(jù)處理模塊進(jìn)行處理,該模塊分解數(shù)據(jù)流為四類標(biāo)簽tag,屬性attribute,事件event和錯(cuò)誤error,其中要對錯(cuò)誤error類型的數(shù)據(jù)進(jìn)行容錯(cuò)處理;可以容錯(cuò)處理的數(shù)據(jù),要將處理后的結(jié)果再次返回到數(shù)據(jù)處理模塊,而其余正確的數(shù)據(jù)流由數(shù)據(jù)處理模塊根據(jù)相應(yīng)的算法動(dòng)態(tài)的加入到分析樹parsertree中。
2.根據(jù)權(quán)利要求1所述的基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法,其特征在于,步驟(4)所述分析樹parser tree在整個(gè)頁面處理過程中是唯一的,動(dòng)態(tài)生成的。
3.根據(jù)權(quán)利要求1所述的一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法,其特征在于所述步驟(1)至(4)中包括數(shù)據(jù)緩沖步驟所有數(shù)據(jù)將首先到達(dá)緩沖區(qū),數(shù)據(jù)處理模塊邊讀數(shù)據(jù)緩沖區(qū)邊處理數(shù)據(jù),直到整個(gè)數(shù)據(jù)處理完畢。
全文摘要
本發(fā)明涉及WAP瀏覽器技術(shù)領(lǐng)域,旨在提供一種基于移動(dòng)終端WAP瀏覽器詞法分析器的實(shí)現(xiàn)方法。該方法包括基于移動(dòng)終端WAP瀏覽器詞法分析器解析從協(xié)議抽象層獲得的數(shù)據(jù)流,對其分析,判斷,容錯(cuò),構(gòu)造等處理,最后形成一個(gè)結(jié)構(gòu)明晰,語法完整的詞法樹。本發(fā)明為WAP瀏覽器上層的輸出、布局提供支持,詞法分析的效率與準(zhǔn)確性、容錯(cuò)性好,提高了整個(gè)瀏覽器設(shè)計(jì)實(shí)現(xiàn)的質(zhì)量。
文檔編號G06F17/30GK1828603SQ20061005027
公開日2006年9月6日 申請日期2006年4月10日 優(yōu)先權(quán)日2006年4月10日
發(fā)明者陳天洲, 胡威, 趙懿, 沙峰 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
思南县| 东港市| 二连浩特市| 隆林| 田东县| 涡阳县| 沈阳市| 托克托县| 亚东县| 夏邑县| 栾城县| 塔城市| 长兴县| 桑植县| 三亚市| 高邑县| 龙南县| 马关县| 吴堡县| 滨州市| 嘉祥县| 监利县| 吉水县| 长丰县| 沧州市| 福贡县| 台江县| 湖北省| 阿拉善左旗| 成都市| 郑州市| 延边| 大英县| 泰兴市| 龙州县| 泰顺县| 云霄县| 含山县| 英吉沙县| 阿鲁科尔沁旗| 甘孜县|