TermProject patterns simplify projection of sub-terms. A strategy application inside a match pattern selects the corresponding sub-term and applies s to it. For example, instead of writing
A : Typed(Var(x),_) -> x
it is now possible to write
A = ?Typed(Var(<id>),_)
This feature can also be used to perform tests on subterm in a match pattern, e.g., the pattern
?[x | <not([])>]
binds the head of a list to x, checks that the tail is not empty and produces the tail as result.

Revision: r1.4 - 28 Apr 2005 - 22:24 - Main.wiki
Stratego > TermWrap > TermProject
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback