2017年12月31日 星期日

在網頁上測試 C++11 Regex -- 初試 emscripten

最近在摸熟 C++11 導入的 Regex 函式庫中使用的 regular expression 語法。C++11 Regex 預設是採用 ECMAScript (也就是 JavaScript) 中定義的 regular expression 規格 (詳見 spec),而該語法並不完全相容於我比較熟悉的 awk/egrep 中所使用的 regular expression 語法。

最快摸熟的方式當然是實際去試試看。最先是很快地寫一個簡單的 C++ 命令列程式,反覆餵它一些資料然後觀察運作結果。幾次後發現這樣的土法煉鋼法,最好還是配合 GUI 程式比較
便於操作。正準備要動工時,腦袋中突然閃過前陣子在 SlideShare 上看到的一個簡介 emscripten 的投影片。透過 emscripten 的協助,我大可直接把原本那個 C++ 命令列程式轉譯成 asm.js 嵌入網頁中,再小改一下輸入輸出的部分,最終得到一個網頁 GUI 的版本。