看板 C_and_CPP 關於我們 聯絡資訊
謝謝 yoco315 很熱心的建議,原文恕刪 我想問一下 implementation 的方式 : → yoco315:我用 recur-dec parse,然後有 keep token,不然好難 @@ 03/02 14:48 看了你的推文,我也想試著用 recursive descent 方式來實現 可是做 lexer,用 recursive descent 是不是太 powerful 了 如果有一個 string 長 10000 個字元,recursive descent 會有 10000 層 call 不曉得這有沒有關係? 現在電腦記憶體夠多,或許不用太擔心這個 還是說我誤會你的意思了:) 補充: 多想了一下,應該是可以稍微簡化,不必每讀一個字元都 call 一層 也許 yoco 版友已經這麼做了 : → yoco315:那個 heade-name 很麻煩... raw-string revert 超難 XD 03/02 14:49 : 推 limife:我還真的只有略讀過一遍耶!再來仔細看一遍 =) 03/02 23:54 : → yoco315:高手略讀一遍就夠了.. 我這種嫩咖才要多看幾次.. 03/03 00:55 : 推 limife:您謙虛了~ 03/03 18:32 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.236.86 ※ 編輯: bs10 來自: 61.59.236.86 (03/03 22:41)
tinlans:lexer 手刻的話一般是定義一組 macro,再去用這組 macro 03/04 12:20
tinlans:去自動展開成對應的 enum 及 array 等結構。然後臨時手刻 03/04 12:21
tinlans:一個產生器去大量使用那組 macro,就能把 FSM 做完了。 03/04 12:22
tinlans:那種一次性的東西,你 offline 偷用第三方工具去生 code 03/04 12:25
tinlans:其實它管不到你,只要你生出來沒需要 link lib 就好 XD 03/04 12:25
tinlans:沒備好 C++ regex 其實也是主辦方的責任,這不是土砲大賽 03/04 12:28