codegen_proxy_error.png
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Только пока не работает:
Может какие-либо зависимости нужно доустанавливать на комп? |
|||
карма: 6 |
| ||
Голосовали: | CriDos |
Ответов: 1841
Рейтинг: 369
|
|||
Nic писал(а): Только пока не работает:У меня там абсолютный путь был к каталогу HiAsm, который задавался в параметрах проекта... Исправленная версия: см. первый пост. Теперь оригинальный кодоген будет грузиться из каталога в котором расположен модуль прокси-кодогенератора. |
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Теперь работает. Очень полезный инструмент для разработчика. Спасибо!
Одна небольшая «хотелка»: перенаправить листинг на стандартное устройство вывода (console, stdOut, terminal). |
|||
карма: 6 |
| ||
файлы: 1 | codegen_proxy_error.png [50.3KB] [1413] |
Ответов: 1841
Рейтинг: 369
|
|||
Nic писал(а): Одна небольшая «хотелка»: перенаправить листинг на стандартное устройство вывода (console, stdOut, terminal).Вроде должно выводить также и в stdout... Проверил только что, всё отлично выводится Проверял в питоне: http://pastebin.com/xYXajqZ4 example Обновил прокси-кодогенератор до версии 4: https://yadi.sk/d/RlB8SOkPmEKje Были переработаны прокси-функции (причесал код и добавил поддержку нескольких структур и enum). Добавлена обработка вызовов функций, которые отсутствуют в оригинальном кодогенераторе (FTCG, RTCG). Починил поддержку кириллицы. |
|||
карма: 1 |
| ||
Голосовали: | LastLeader |
Ответов: 316
Рейтинг: 21
|
|||
[flood]Можешь ответит? я тебе письмо написал на мыло[/flood]
|
|||
карма: 1 |
|
Ответов: 1841
Рейтинг: 369
|
|||
На сегодняшний день, реализовано 95% функционала CGT.
При проведении тестов, удалось собрать несколько простых схем пакета Delphi и CNET через свою модель данных. Ещё много чего придётся доработать или переработать, но главное уже есть результаты Однако, возникла серьёзная проблема при работе с Delphi кодогенератором... Проблема заключается в том, что во многих местах при генерации кода, используется структура:
Так что, мне пришлось принять решение приостановить работу над совместимостью модели с Delphi кодогенератором, пока в нём используется структура TCGrec... В дальнейшем, проект HiAsm_Interface будет совместим только с RTCG и FTCG. В качестве тестового пакета, теперь будет использоваться CNET. ------------ Дoбавленo в 11.19: Ну вот. Модель данных соответствует HiAsm4 на ~99%. Тестовый кодогенератор со своей моделью данных и эмулятором CGT полностью проходит все тесты (которые и на оригинальном работают :wink из директорий CNET\Example: Arrays, Controls, graphics, MultiThread, tests. Пока все тесты проводились вручную с привлечением автоматических средств сравнения лога сборки, но в дальнейшем это можно будет полностью автоматизировать. Дальнейшие действия: 1) Оптимизация и рефакториг. 2) Переписать описание всех функций CGT с учётом точной информации об оных. 3) Реализация сериализатора модели, для возможности выгрузки/загрузки данных. 4) Подключить модель к среде HiAsm Open. |
|||
карма: 1 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Первые результаты реализации консольного сборщика схем CNET пакета, без использования среды HiAsm:
scr ------------ Дoбавленo в 16.16: CriDos писал(а): В дальнейшем, проект HiAsm_Interface будет совместим только с RTCG и FTCG.После того, как частично был реализован консольный сборщик схем CNET пакета и появилась более подробная информация о взаимодействии HiAsm с кодогенератором и make_* библиотеками, понял, что можно подключит и Delphi кодогенератор без вмешательства в код, и вообще не заботясь о структуре TCGrec. Так что, поддержка Delphi кодогенератора будет в полном объёме возвращена и в качестве тестового пакета теперь вновь будет являться Windows пакет. ------------ Дoбавленo в 21.18: Ну что-же, вот и первые результаты сборки схемы пакета Windows, консольным сборщиком: demo |
|||
карма: 1 |
| ||
Голосовали: | LastLeader |
Ответов: 316
Рейтинг: 21
|
|||
[flood]Не могу с тобой связаться, есть важный разговор, когда появишься срочно свяжись[/flood]
|
|||
карма: 1 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Открыл проект https://github.com/CriDos/CgtClr - управляемая обёртка над CodeGen.
Обёртка написана на C++/CLI и позволяет подключить CodeGen к .NET проекту. На данный момент, реализован абстрактный класс BaseCgt, с объявлением всех функций Cgt, которые вызываются из промежуточных функций Emulate (в дальнейшем будет переработан в статический класс), в которых производится вызов виртуальных функций BaseCgt и преобразование данных из управляемого кода в неуправляемый, и наоборот. У каждой виртуальной функции будет описание:
Сейчас враппер уже умеет работать со стандартным кодогенератором Delphi и прокси-кодогенератором. Тестирование враппера производится из управляемого кода C#. В дальнейшем, враппер будет использоваться в движке CGT который будет написан полностью на C#. Все наработки из Qt будут перенесены в новый проект. В ближайшее время к проекту присоединится сторонний разработчик C#, и чуть позже, возможно, смогу подтянуть ещё несколько человек. Разработка ведётся с оглядкой на Mono. Редактировалось 1 раз(а), последний 2016-09-09 10:56:45 |
|||
карма: 1 |
| ||
Голосовали: | Dseren |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Wrapper из C# для стандартного кодогенератора и RTCG уже существует и работает в проекте Hiasm.NET. Конечно, не весь функционал реализован, но это вопрос кодинга, а не принципиальных причин.
|
|||
карма: 6 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Nic, можно ссылку для почитать?
Исходники открыты? --- Добавлено в 2016-09-09 11:44:51 У меня в принципе реализован практически весь необходимый функционал движка CGT в нескольких разбитых проектах, и оно уже даже проверено в бою на пакете Delphi. Так что модель данных соответствует HiAsm. Единственное что отсутствует, это функционал управления моделью в процессе работы с ней (необходимо при работе со сценой) и загрузка данных на основе sha файла (в процессе и почти готово). Также недавно значительно оптимизировал общую архитектуру HiAsm_Interface и на основе этой архитектуры, думалось реализовать C# версию с некоторыми изменениями. Редактировалось 1 раз(а), последний 2016-09-09 11:44:51 |
|||
карма: 1 |
| ||
Голосовали: | Nic |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
http://nic.tele7.ru/hiasm.net/default.html - демо версия проекта. Исходники не открыты. Твой проект помог найти проблемный участок кода для подключения стандартного кодогенератора - спасибо тебе за это. Вопрос передачи исходников wrapper может быть обсуждён приватно.
Редактировалось 1 раз(а), последний 2017-08-12 23:25:57 |
|||
карма: 6 |
|
Ответов: 1841
Рейтинг: 369
|
|||
К-во кода впечатляет, думал там поменьше будет.
Однако, использован устаревший шаблон проектирования - смешан код логики и интерфейса, что не есть хорошо в плане поддержки и расширяемости... В остальном, много чего интересного увидел, будет чего посмотреть. --- Добавлено в 2016-09-09 15:12:11 Чёт непонятное творится с сообщениями. Редактировалось 3 раз(а), последний 2016-09-09 15:12:11 |
|||
карма: 1 |
|
253