Простой вопрос: в Rascal как можно получить доступ к аннотациям потомков узла? GetTraversalContextNodes() возвращает восходящие узлы - «myContext [-1]» не работает. getChildren() возвращает список дочерних элементов, но список представляет собой список значений. Синтаксис Name @ Annotation требует, чтобы «Name» был узлом. Какую магию вы делаете в «Name», чтобы получить ссылку на узел?Доступ к нижестоящим аннотациям узла в Rascal
0
A
ответ
0
Если вы просто хотите, чтобы дети, которые сами по себе узлы, вы можете использовать код вроде следующего:
list[node] nl = [ n | node n <- getChildren(currentNode)];
Это вернуть все дети, отфильтровывая любые, которые не относятся к типу node
.
Это делает трюк. Большое спасибо. – Steve