语法分析树(先看例子再看定义)
先讲例子
书上讲问题,先讲定义,一顿学术操作,让人云里雾里,然后出例子。其实这样往往让人觉得看书的过程就是放弃的过程。
关于语法分析树,我先从上篇文章的例子讲起。
书接上回,9-5+2的产生式表达为
list -> list + digit | list - digit | digit
digit -> 0|1|2|3|4|5|6|7|8|9
对应于语法分析树,首先把表达式作为写在树的最下面
9 - 5 + 2
然后从底往上构建语法表达树,首先看9,9是digit,因此9可以表示为
digit
|
9
-是list->list-digit的中间部分,因此-的语法表达式部分为
list
/ | \
list - digit
然后是5,5是digit,且5是-后面的字符,对应于上面的语法树,直接放在digit下面
list
/ | \
/ | \
list | digit
| |
-

本文通过实例讲解了语法分析树的构造过程,包括如何从产生式构建树结构,以及非终结符和终结符号在树中的角色。同时介绍了语法分析树的定义、性质和相关术语,如根节点、子结点、叶结点等。最后,解释了如何对终结符号串进行语法分析。
最低0.47元/天 解锁文章
2622

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



