隐式嵌入和无隐式嵌入
隐式嵌入 : ==>
==>
执行的替换是嵌入。既右边表达式的起始位置对应左边表达式的起始位置,结束位置对应结束位置,从而把左边匹配的节点替换成右边的表达式。
上图是隐式嵌入执行三次
无隐式嵌入 : ==>>
==>>
执行的规则类似增加。这个规则没有隐式嵌入,所以右边的表达式中需要有左边表达式的原节点才能生效。比如:A ==>> A B
是无效的,a:A ==>> a B
是有效的。并且右边表达式中,匹配元素指示符左边的表达式都是不会在视图中显示的,只有右边元素的表达式会在视图中显示。
例如:a:A ==>> B a A
,在视图中和 a:A ==>> a A
的效果是一样的。但是执行的适合还是会创建 B
,但是视图中不会显示。
初始状态
==>>
执行 3 次后(实际上这个 noEmbedding 执行无数次看起来都不会有变化,但是 BigA 是有增加的。)