среда, 19 августа 2015 г.

Отвлечёмся на время от эмуляции объектов. Займёмся мета-моделью и кодогенерацией

Отвлечёмся на время от эмуляции объектов. Займёмся мета-моделью и кодогенерацией.

К эмуляции объектов мы потом вернёмся, а пока:

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

Для начала - заготовочка:

Test CodeGen
 // %SUMMARY это мета-информация, которая позволяет привязывать документацию
 // к элементам кода. Эта документация доступна потом из скриптовой машины.
 %SUMMARY '
 Тут будем тестировать построение сначала мета-модели, потом модели, а потом и
 кодогенерации'
 ;

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

// Тут будем определять аксиоматику мета-модели, а потом вынесем её 
// в отдельный словарь.

StereotypeStereotypeProducer meta
 %SUMMARY '
 Определяем базовый элемент мета-модели
 Тот самый который позволяет тащить всё остальное "за волосы из болота"
 Через этот примитив выводятся все остальные'
 ; // %SUMMARY 
; // meta

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

USES
 CodeDump.ms.dict
;

@SELF DumpElement
// - тут дампим элемент CodeGen и его содержимое
//   в стандартное устройство вывода.
//   Чисто для отладки того, что мы сейчас написали.

; // CodeGen

CodeGen

Следующая серия - Описываем мета-мета-модель.

Комментариев нет:

Отправить комментарий