We demonstrate JITty, a simple rewrite implementation with strategy annotations, along the lines of the Just-In-Time rewrite strategy, explained and justified in [4]. Our tool has the following distinguishing features: 1. It provides the flexibility of user defined strategy annotations, which specify the order of normalizing arguments and applying rewrite rules. 2. Strategy annotations are checked for correctness, and it is guaranteed that all produced results are normal forms w.r.t. the underlying TRS. 3. The tool is "light-weight" with compact but fast code. 4. A TRS is interpreted, rather than compiled, so the tool has a short start-up time and is portable to many platforms. We shortly review strategy annotations in Section 2. JITty is available via http://www.cwi.nl/~vdpol/jitty/ together with a small demonstrator (Section 3) that can be used to experiment with strategy annotations. The rewrite engine has also been integrated in the μCRL tool set. Although performing a rewrite step takes more time in JITty than in the standard compiling rewriter of the μCRL toolset, the former is often preferred, owing to avoidance of compilation time, and better normalization properties of the just-in-time strategy. In Section 4 we emphasize certain requirements on the rewriter imposed by the μCRL toolset. This leads to an unconventional application programmer's interface, which is described in Section 5.
展开▼