Difference between revisions of "Adding a language construct"
m (Added some details on run-time support) |
|||
Line 14: | Line 14: | ||
** conformance | ** conformance | ||
** catcall detection | ** catcall detection | ||
− | ** storable facilities | + | ** storable facilities (serialization) |
+ | * Serialization again: any problem with retrieving existing "storables" | ||
* Editor support | * Editor support | ||
* Automatic completion (also in editor) | * Automatic completion (also in editor) |
Revision as of 07:09, 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 (serialization)
- Serialization again: any problem with retrieving existing "storables"
- 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