《flex与bison》一书涵盖了linux和unix程序开发中相同的重要核心功能,以及一些重要的新主题。你会找到适用于新手的修订教程和适用于高级用户的参考资料,以及对每个程序的基本用法的解释,并且运用它们创建简单、独立的应用程序。
文摘
版权页:
插图:
文字字符记号与第一章的版本相比,规则部分有两个重大改变。一个是规则现在使用文字字符(1iteral character)记号来表示操作符。我们并不需要为每个记号定义一个名字,相反,单引号引起的字符也可以作为记号,记号的ascii值将成为记号的编号。按照惯例,文字字符记号用来代表具有相同字符的输入记号,例如,记号“+”代表了输入记号+,所以它们只是用在标点和操作符上面。除非你需要声明文字字符记号的类型,否则你不用显式地声明它们。另外一个改变是它为每个表达式创建了一个抽象语法分析器,而没有立即计算。在这一版的计算器中,我们为每个表达式创建抽象语法树,然后计算这个抽象语法树,打印结果,最后释放抽象语法树。我们调用newast来创建抽象语法树中的每个节点。每个节点都有一个操作类型,它们通常和记号名字一致。注意单目负号操作符创建了一个类型为h的节点,以便于区分它和双目减法操作符。
相关阅读:
更多图书资讯可访问读书人图书频道:http://www.reader8.net/book/
