解释文本文件是日常编程中太平常的一件事情了,一般来说,土鳖点的做法可以直接手写 parser 用循环暴力地去 map 文本上的关键字从而提取相关信息,想省力一点则可以使用 tokenizer 或正则表达式之类的工具,无论怎样,总的来说,手写 parser 去解释文本基本是件苦力活:写出的代码比较难重用,可读性可维护性也差,要是设计的差点,哪天文本格式一变,以前辛苦写的代码马上推倒重来,未尝是新鲜事. 解救的方法是通过工具来生成 parser,这方面有好多比较出名的工具,比如 Lex, Yacc,…