这两个东西一般是用来辅助设计程序语言的。其中 Flex 是用来分析词法,以 C 语言为例,譬如它看到 if 就知道这个是个关 键字,看到 int 也知道是关键字,看到数字 16 知道这是个数字。
Bison 是用来分析语法的,所谓语法,学过汉语和英语的人应该能够知道,譬如主 谓宾这样的结构。还是以 C 语言为例,可以通过 Bison 定义结构去解析譬如 int i = 10; 这样的结构。
你如果想了解更多的关于这方面的知识,你可以参考下列资料: [1] http://docs.huihoo.com/vm/tut_script/tut_script0.htm 实现一个脚本引擎[2] http://www.ibm.com/developerworks/cn/linux/sdk/lex/index.html Yacc 与 Lex 快速入门
[3] 《UNIX编程环境》 [4] http://dragonbook.stanford.edu/ dragonbook