%TOC% ---++ Introduction TigerContract is an experimental package which implements a [[Tiger.TigerCompiler][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. ---++ Resources * [[Tiger.WebHome][tiger]] : Tiger in Stratego * [[StrategoRegular][stratego-regular]] : Optional Stratego library providing Regular Hedge/Tree Grammar support * [[Stratego.XTC][XTC]] : Transformation Tool Composition ---++ Download and installation The current source of TigerContract can be checked out using:
  svn checkout %SVNROOT%/StrategoXT/trunk/experimental/tiger-contract
There will never be a distribution, since contract support will eventually be implemented in a new version of the [[Stratego.XTC][XTC]] library as part of my thesis work. Thus, making this package obsolete. ---+++ Configuration 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 ---++ TODO * Contract support * %GRAY%Extend the existing [[Tiger.TigerCompiler][TigerCompiler]] (tiger/xtc/tigerc.str) to support the notion of contracts%ENDCOLOR% - done * Refactor to library for contract support * %GRAY%Create helper library for contract support%ENDCOLOR% - done * Incorporate this library into thesis project * Use the new XTC library (with contract support) to add contracts to other packages like [[Stratego.XWeb][XWeb]] -- Main.NielsJanssen - 11 Dec 2003