最近閑的蛋疼,遂把編輯器里面的詞法分析整整,發(fā)現(xiàn)這真是個累活啊,完全是重復(fù)性的勞動,
而且一不小心就出錯,一旦添加狀態(tài)的話,也得好好修改。遂萌生自動化之的想法。
花了小半天重拾LEX的語法,用法,狀態(tài)標(biāo)記等等,寫了個小sample,確實不錯,擴(kuò)展性也強,
幾分鐘就可以構(gòu)造出一個新的詞法分析出來,雖說效率比手寫的慢,不過一般的應(yīng)用足以
對付了,歡喜之。
正當(dāng)我打算做個wrapper的時候,這才發(fā)現(xiàn)LEX竟然不支持獲取當(dāng)前匹配的位置信息(匹配到的串在原串中所處的位置),
歐,賣疙瘩,不會吧。于是乎在yyinput里面設(shè)置個變量標(biāo)記一下,也不行,因為LEX會預(yù)讀。
額的神啊,不會吧。
LEX如此神通廣大居然無法獲取匹配位置, 各位看官,誰有好的Solution嗎?
posted on 2010-01-11 12:22
megax 閱讀(1776)
評論(14) 編輯 收藏 引用