在撰寫了《構造可配置詞法分析器》之后,我陸續收到了不少讀者的來信,不過大多數都是要求源代碼的。這篇文章原先是發布在自己的百度空間的,不過現在那個地方已經不打算寫技術相關的東西了。而且由于cppblog的一些用戶也轉載了那篇文章,因此不打算再在這里重復貼了。
由于大多數讀者都向我發郵件要求源代碼,因此我想到,上一篇文章雖然把所有的原理都說明白了,不過關于實現相關的數據結構的那些細節卻都沒說出來。對與那些真的想實現自己的正則表達式引擎的人來說,可能還不能從文章中得到所有問題的解決方法。不過鑒于本人一貫來不想把所有的細節問題都說得太過于繁瑣(留點問題給讀者想也是好的,不然文章就沒起到帶動學習的作用了),因此作出決定:接下來的幾天如果有空的話還要撰寫一篇新的文章。
新的文章將著眼于【如何實現正則表達式引擎】這個話題,續《構造可配置詞法分析器》的內容繼續討論。在這篇文章之中,我打算把使用DFA構造的正則表達式引擎的實現方法稍微描述一下(因為實際上難度不大),然后再花比較大的篇幅來講述實現正向預查、反向預查、匿名獲取、命名獲取和子表達式引用的方法。文章中還會描述這篇文章中所提及的優化正則表達式的方法(招太多口水了,看來不寫也會有很多人不高興的,這是文化問題)。
敬請等待。
posted on 2008-05-16 05:11
陳梓瀚(vczh) 閱讀(1908)
評論(6) 編輯 收藏 引用 所屬分類:
腳本技術