Version 10 (modified by 13 years ago) ( diff ) | ,
---|
Macro Support for Squeak
This project is a framework which provides compile-time macros for Squeak. It is primarily focused on macros that need to generate additional methods or check constraints. It is integrated with OmniBrowser and Squeak's Debugger.
How to Install
Environment | |
4.1, 4.2 | |
Any | |
Any | |
Sources | |
ConfigurationOfMacros | |
Macros | |
CTM
| |
OmniBrowser optional | |
Misc | |
Macros@SqueakSource |
Use the Metacello configuration or just load the CTM
package. If you also want OmniBrowser support, load the XXX
package, too.
You can find the following categories in the packages:
CTM-Core
- core implemenation including the event listener
CTM-Operations
- supported operations, currently those for methods
CTM-Tests
- some basic tests, all should pass
CTM-Examples
- basic macros, see the class documentation of each for details
How to Use
To create a macro you have to extend the CTMMacro
class. The following methods are called by the system:
matchMethodPragma:
aPragma- This should return true if the macro wants to process a method annotated with aPragma or false otherwise. Additionally the method can be used to store additional information that are found in the pragma, e.g. pragma parameters.
matchClassPragma:
aPragma- Same as matchMethodPragma: but for classes and their pragmas.
How to Extend
Internal documentation. Show models, explain the architecture. Do anything that may help a new developer to extend this project.
Acknowledgments
To date, the following people contributed to this project:
- Michael Grünewald
- Stefan Richter