作者bs10 (b.s.1.0)
看板C_and_CPP
標題Re: [情報] C++大師認證
時間Sun Mar 3 22:26:44 2013
謝謝 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