Wiki

Clone wiki

MindStream / Articles in English / Take your mind off objects emulation and let’s get to the meta-model and code generation

Original in Russian

We will get back to object emulation, but in the meantime look here:

https://bitbucket.org/lulinalex/mindstream/src/17ba01a6c2d9a19121d942f72b57a64fc877a65f/Examples/Scripts/CodeGeneration/?at=B284
https://bitbucket.org/lulinalex/mindstream/src/17ba01a6c2d9a19121d942f72b57a64fc877a65f/Examples/Scripts/CodeGeneration/CodeGen1.ms.script?at=B284

Let’s begin with a draft:

#!delphi 
Test CodeGen
 // %SUMMARY is meta information that allows linking the documentation to the code elements.
//   Consequently, the documentation is available from the script engine.
 %SUMMARY '
 'That is where we test meta-model building, model building and then code generation.'
 ;

// ---------------------------------------------------------------------------

 'That is where we determine axiomatic of meta model and then extract it in a separate dictionary later.

StereotypeStereotypeProducer meta
 %SUMMARY '
 Base element of meta-model determined
 This is the element that allows us to pull the rest “by hair out of the swamp”
 Other primitives are derived from this one'
 ; // %SUMMARY 
; // meta

// ---------------------------------------------------------------------------

USES
 CodeDump.ms.dict
;

@SELF DumpElement
// - the CodeGen element and its contents are dumped in a standard output device.
//   We only do it to debug what weve written.

; // CodeGen

CodeGen

The next series is here – Description of the meta-meta-model.

Updated