编译原理:短语,简单短语,句柄,语法树

在文法和语言概念这里,比较难理解的是短语、简单短语,所以好好梳理一下。


先给出短语、简单短语的概念:

编译原理:短语,简单短语,句柄,语法树_第1张图片

(备注:Vn代表非终结符号集,V+代表字汇表的正闭包,V*代表字汇表的闭包)

所以,短语、简单短语都是针对某一句型的,是相对于某个非终结符号的,并且任何句型本身一定是相对于识别符号Z的短语。

句柄:任一句型的最左简单短语称为该句型的句柄,一个句型只有一个句柄。
所以,短语,简单短语,句柄关系如下:

编译原理:短语,简单短语,句柄,语法树_第2张图片

实例1:

编译原理:短语,简单短语,句柄,语法树_第3张图片

这是利用推导过程得到短语、简单短语,接下来介绍利用语法书获得短语、简单短语、句柄。


语法树:语法树是推导序列的几何表示,从识别符号开始,末端结点是不再向下引出分支的结点,从左到右读末端结点,即该树表示的推导出的符号串。

子树:由该树的某个结点(称为子树的根),连同它向下生长出的部分组成。

子树与短语的联系:若句型中某些符号按照从左到右顺序组成某棵子树的末端结点,那么由这些末端结点所组成的符号串,既是相对于子树根的短语。

实例2:

仍以实例1为基础,画出示例1的语法树

编译原理:短语,简单短语,句柄,语法树_第4张图片

所以,句型“<数字串>1”的短语是:<数字串>1,1;简单短语是:1;句柄是:1。


参考:《编译技术》,张莉,史晓华等著


————————————<我是丑丑的分割线>———————————————

希望通过两个示例可以帮助大家对短语、简单短语、句柄理解的更为清晰。


你可能感兴趣的:(编译原理)