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