Flex与Bison入门指南
1. 词法分析与解析概述
在早期的编译器(20世纪50年代)中,分析源代码语法的技术是完全临时拼凑的。到了60年代,这个领域受到了大量学术关注,到70年代初,语法分析已成为一个被充分理解的领域。其中一个关键的见解是将这项工作分为两部分:词法分析(也称为词法扫描)和语法分析(或解析)。
词法扫描将输入划分为有意义的块,称为标记(tokens);而解析则确定这些标记之间的关系。例如,对于一段C代码 alpha = beta + gamma ; ,扫描器会将其划分为 alpha 、等号、 beta 、加号、 gamma 和分号这些标记,然后解析器会确定 beta + gamma 是一个表达式,并且该表达式被赋值给 alpha 。
2. 获取Flex和Bison
Flex和Bison是经典工具lex和yacc的现代替代品。大多数Linux和BSD系统将Flex和Bison作为基础系统的一部分提供。如果你的系统没有它们,或者版本过时,安装也很容易。
- Flex :是一个Sourceforge项目,网址为 http://flex.sourceforge.net/ 。截至2009年初,当前版本是2.5.35。版本之间的变化通常较小,如果你的版本接近.35,不一定需要更新,但有些系统仍然使用超过十年的2.5.4或2.5.4a版本。
- Bison :可从 http://www.gn
超级会员免费看
订阅专栏 解锁全文
792

被折叠的 条评论
为什么被折叠?



