商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
flex与bison(中文版)(Jobn Levine著) | ![]() |
|
![]() |
flex与bison(中文版)(Jobn Levine著) | ![]() |
版权页:
插图:
文字字符记号与第一章的版本相比,规则部分有两个重大改变。一个是规则现在使用文字字符(1iteral character)记号来表示操作符。我们并不需要为每个记号定义一个名字,相反,单引号引起的字符也可以作为记号,记号的ASCII值将成为记号的编号。按照惯例,文字字符记号用来代表具有相同字符的输入记号,例如,记号“+”代表了输入记号+,所以它们只是用在标点和操作符上面。除非你需要声明文字字符记号的类型,否则你不用显式地声明它们。另外一个改变是它为每个表达式创建了一个抽象语法分析器,而没有立即计算。在这一版的计算器中,我们为每个表达式创建抽象语法树,然后计算这个抽象语法树,打印结果,最后释放抽象语法树。我们调用newast来创建抽象语法树中的每个节点。每个节点都有一个操作类型,它们通常和记号名字一致。注意单目负号操作符创建了一个类型为H的节点,以便于区分它和双目减法操作符。
相关阅读:
更多图书资讯可访问读书人图书频道:http://www.reAder8.cn/book/