在 Rascal 中访问节点的下游注解
Accessing downstream annotations of a node in Rascal
简单的问题:在 Rascal 中,如何访问节点后代的注释? GetTraversalContextNodes() returns 上游节点 -- "myContext[-1]" 不起作用。 getChildren() returns 子项列表,但该列表是值列表。 Name@Annotation 语法要求 "Name" 是一个节点。你对 "Name" 施了什么魔法让它引用一个节点?
如果您只想要 children 本身就是节点,您可以使用如下代码:
list[node] nl = [ n | node n <- getChildren(currentNode)];
这将取回所有 children,过滤掉所有非 node
.
类型的内容
简单的问题:在 Rascal 中,如何访问节点后代的注释? GetTraversalContextNodes() returns 上游节点 -- "myContext[-1]" 不起作用。 getChildren() returns 子项列表,但该列表是值列表。 Name@Annotation 语法要求 "Name" 是一个节点。你对 "Name" 施了什么魔法让它引用一个节点?
如果您只想要 children 本身就是节点,您可以使用如下代码:
list[node] nl = [ n | node n <- getChildren(currentNode)];
这将取回所有 children,过滤掉所有非 node
.