Отвлечёмся на время от эмуляции объектов. Займёмся мета-моделью и кодогенерацией.
К эмуляции объектов мы потом вернёмся, а пока:
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
Для начала - заготовочка:
Следующая серия - Описываем мета-мета-модель.
К эмуляции объектов мы потом вернёмся, а пока:
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
Следующая серия - Описываем мета-мета-модель.
Комментариев нет:
Отправить комментарий