磨刀也费时
俗话说,磨刀不误砍柴功。对于这句话,我一直都自认为是辩证地看待的,在某些工作前,先做些准备工作可以极大地提高之后的效率,好比Kunth老爹的TeX。不过很多时候,磨刀也是件很费时费力的事情,好比Kunth老爹的TeX。
这几天一直在考虑实现ZenHTML,这是一种极大提高hard coding效率的code snippet方法。其中有一种可以认为是一种“小语言”,呃,这是《UNIX程序设计艺术》中的说法,用GoF的《设计模式》中的说法应该算是interpreter模式。不管怎么说,反正就是有一项任务是要解释字符串,根据字符串的不同表达式来作出不同的响应。
刚开始的时候我是觉得这个解析工作似乎非常简单,没有必要把它提高到“语言”这种层面对待,只要识别出两三个操作符就可以了。不过后来马上发现,实现起来并不轻松。我意识到,用Lua实现的话,用LPeg将是最合适的解决方案。今天又翻出LPeg的manual来看,还是看得有点糊里糊涂。明天继续。
所以说,磨刀也费时啊!