История изменений
Исправление rebforce, (текущая версия) :
А файлы, сделанные в лабвьюшном прототипе Метапрога, я перегоню в «настоящий» метапроговский формат специальными функциями-трансляторами.
Описание этого формата будет доступно где-нибудь ещё, в виде документа? Чтобы любому желающему с ним ознакомиться не приходилось ставить лабвью/винду/чёрта лысого.
Ну ты ж не сможешь подключить «любую дичь к любой», неподходящие типы не подключатся. А что надо кроме типа при соединении проверять? Ошибки в логике? Разве IDE может автоматически проверить и понять чего хотел кодер?
Посмотри на спецификацию DTD или лучше XSD, самый распространённый вариант XML-схем. В ней можно указать, какие теги, атрибуты, значения и т.д. являются валидными для конкретного документа и что во что можно вкладывать и что к чему присваивать. Думаю, в твоём случае это было бы даже полезнее, поскольку валидация чисто по сишным типам — это хорошо, но мало: ситуацию с передачей указателя на окно в функцию, ожидающую указатель на дверь, она не отследит.
Ну так тебе никто не помешает сделать на Метапроге свой валидатор Метапрог-диаграмм. И даже не на Метапроге, только вместо текстового описания надо будет смотреть код диаграммы эталонной реализации.
Вот в этом и проблема, что желающим ознакомиться с форматом придётся реверсить реализацию (в которой тоже могут быть ошибки) вместо использования строгого и понятного описания.
Тогда же устаканится и формат хранения.
Хорошо. Ждём-с.
Можно будет взять из кода прототипа Метапрога эталонные реализации нужных фич и лепить из них нужные инструменты.
См. два абзаца выше. А код прототипа вообще на практике неюзабелен, поскольку требует лабвью и вообще GUI. Но да ладно, на то он и прототип.
Думаю, если надо, можно вырезать из транслятора кодогенерацию и оставить только проверки на ошибки в диаграмме.
Надо. И желательно это бы оформить отдельной утилитой, а ещё желательнее — чтобы сгенерированный код на Си у оной был хотя бы откомментирован.
Исходная версия rebforce, :
А файлы, сделанные в лабвьюшном прототипе Метапрога, я перегоню в «настоящий» метапроговский формат специальными функциями-трансляторами.
Описание этого формата будет доступно где-нибудь ещё, в виде документа? Чтобы любому желающему с ним ознакомиться не приходилось ставить лабвью/винду/чёрта лысого.
Ну ты ж не сможешь подключить «любую дичь к любой», неподходящие типы не подключатся. А что надо кроме типа при соединении проверять? Ошибки в логике? Разве IDE может автоматически проверить и понять чего хотел кодер?
Посмотри на спецификацию DTD, самый распространённый вариант XML-схем. В ней можно указать, какие теги, атрибуты, значения и т.д. являются валидными для конкретного документа и что во что можно вкладывать и что к чему присваивать. Думаю, в твоём случае это было бы даже полезнее, поскольку валидация чисто по сишным типам — это хорошо, но мало: ситуацию с передачей указателя на окно в функцию, ожидающую указатель на дверь, она не отследит.
Ну так тебе никто не помешает сделать на Метапроге свой валидатор Метапрог-диаграмм. И даже не на Метапроге, только вместо текстового описания надо будет смотреть код диаграммы эталонной реализации.
Вот в этом и проблема, что желающим ознакомиться с форматом придётся реверсить реализацию (в которой тоже могут быть ошибки) вместо использования строгого и понятного описания.
Тогда же устаканится и формат хранения.
Хорошо. Ждём-с.
Можно будет взять из кода прототипа Метапрога эталонные реализации нужных фич и лепить из них нужные инструменты.
См. два абзаца выше. А код прототипа вообще на практике неюзабелен, поскольку требует лабвью и вообще GUI. Но да ладно, на то он и прототип.
Думаю, если надо, можно вырезать из транслятора кодогенерацию и оставить только проверки на ошибки в диаграмме.
Надо. И желательно это бы оформить отдельной утилитой, а ещё желательнее — чтобы сгенерированный код на Си у оной был хотя бы откомментирован.