选项 D 不正确。
在属性文法中,继承属性是从父节点传递到子节点的属性,而综合属性是从子节点传递到父节点的属性。因此,继承属性的定义是基于父节点和兄弟节点的属性值,而不是只能通过兄弟节点的属性值来定义。
在属性文法中,一个结点的继承属性可以由它的父节点和兄弟节点的属性值来定义。例如,对于下面的语法树:
A/ | \B C D
假设结点 A 有一个继承属性 x,B 有一个综合属性 y,C 有一个综合属性 z,D 没有属性。那么 x 属性可以由 A 的父节点传递下来,也可以由 B 和 C 的属性值传递上来,即:
因此,选项 D 不正确。