首先我们回顾一下上篇的内容,上篇讲述了四种类型的文法,0型1型2型3型,他们要求的规则越来越严格。
开始教程:
本篇着重讲解上下文无关文法及其语法树,因为对于计算机程序来讲,上下文无关文法表达能力足够强,来表达大多数程序语言的语法。
描述一种上下文无关的推导工具:句型的推导和语法树(推导树)
给定文法G(VN,VT,P ,S),对于G的任何句型都能构造与之关联的语法树。这棵树满足下面四个条件:
① 每个结点都有一个标记,此标记是V的 一个符号。(说的是节点一定是终结符或非终结符)
② 根的标记是S。(说的是树根的标记是开始符号S)
③ 若一结点标记A,至少有一个从它出发的分枝,则A肯定在VN中(说的是如果一个节点有分支的话,这个节点一定是非终结符)

本文详细介绍了上下文无关文法及其在程序语言语法中的应用。通过实例展示了如何进行最左推导和最右推导,以及如何构造语法树。同时,讨论了二义文法的概念,强调了在编程语言中避免二义性的重要性。
最低0.47元/天 解锁文章
894

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



