TigerContract is an experimental package which implements a TigerCompiler with contract support. The main purpose is to understand what contracts are and how to implements the checking and enforcing of these contracts in Stratego.

First target is to implement support structural contracts for rewriting (compiler) components. A next step may be to implement semantic contracts; but this support will be limited, probably by implementing your own checker component.


  • tiger : Tiger in Stratego
  • stratego-regular : Optional Stratego library providing Regular Hedge/Tree Grammar support
  • XTC : Transformation Tool Composition

Download and installation

The current source of TigerContract can be checked out using:

  svn checkout

There will never be a distribution, since contract support will eventually be implemented in a new version of the XTC library as part of my thesis work. Thus, making this package obsolete.


Configure the package:

  • --with-xt or if the packages are installed at different locations:
    • --with-aterm
    • --with-sdf
    • --with-strategoxt
  • --with-tiger

Known Bugs

List of Bugs will hopefully never appear here


  • Contract support
    • Extend the existing TigerCompiler (tiger/xtc/tigerc.str) to support the notion of contracts - done
  • Refactor to library for contract support
    • Create helper library for contract support - done
    • Incorporate this library into thesis project
  • Use the new XTC library (with contract support) to add contracts to other packages like XWeb

-- NielsJanssen - 11 Dec 2003

Revision: r1.3 - 12 May 2004 - 16:40 - MartinBravenboer
Stratego > NielsJanssen > TigerContract
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