Difference between revisions of "Adding a language construct"
(New page: Checklist for adding a language construct to EiffelStudio (order not particularly significant). * Announce the change so that others know what's happening! * Check ISO/ECMA standard, wor...) |
m (Added some details on run-time support) |
||
Line 10: | Line 10: | ||
* Changes to AST structure (Abstract Syntax Tree) | * Changes to AST structure (Abstract Syntax Tree) | ||
* Code generation | * Code generation | ||
− | * Runtime support | + | * Runtime support: |
+ | ** introspection and reflection | ||
+ | ** conformance | ||
+ | ** catcall detection | ||
+ | ** storable facilities | ||
* Editor support | * Editor support | ||
* Automatic completion (also in editor) | * Automatic completion (also in editor) |
Revision as of 04:07, 6 March 2009
Checklist for adding a language construct to EiffelStudio (order not particularly significant).
- Announce the change so that others know what's happening!
- Check ISO/ECMA standard, work of ECMA committee
- If this is an experimental change, make sure there is a clear rationale available for consultation.
- Lexical changes
- Syntax changes: parser
- New validity rules and their four-letter codes, or modifications (including additions) to existing validity rules
- Type checking
- Changes to AST structure (Abstract Syntax Tree)
- Code generation
- Runtime support:
- introspection and reflection
- conformance
- catcall detection
- storable facilities
- Editor support
- Automatic completion (also in editor)
- New icons (or modified existing icons) associated with the new construct
- Debugger
- Metrics tool
- Testing Framework
- EiffelStudio views: what survives of the new construct in the Contract View and others?
- Effect on external code; in particular, how will the new construct appear to the via external features, CECIL, .NET, external features?
- Documentation update, in particular
- Examples of use, covering both basic and advanced usage, and integrated into the regression test suite for the compiler (EiffelWeasel)
- Diagram tool (including: what are the BON and UML notations for the new construct)?
Original version from material by Alexander Kogtenkov and Bertrand Meyer