Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#241: 2015-12-14 11:47:29 ЛС | профиль | цитата
Только пока не работает:
codegen_proxy_error.png
Может какие-либо зависимости нужно доустанавливать на комп?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:CriDos
Ответов: 1841
Рейтинг: 369
#242: 2015-12-14 12:41:48 ЛС | профиль | цитата
Nic писал(а):
Только пока не работает:

У меня там абсолютный путь был к каталогу HiAsm, который задавался в параметрах проекта...
Исправленная версия: см. первый пост.
Теперь оригинальный кодоген будет грузиться из каталога в котором расположен модуль прокси-кодогенератора.
карма: 1
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#243: 2015-12-14 14:43:03 ЛС | профиль | цитата
Теперь работает. Очень полезный инструмент для разработчика. Спасибо!
Одна небольшая «хотелка»: перенаправить листинг на стандартное устройство вывода (console, stdOut, terminal).
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1codegen_proxy_error.png [50.3KB] [1413]
Ответов: 1841
Рейтинг: 369
#244: 2015-12-15 06:14:44 ЛС | профиль | цитата
Nic писал(а):
Одна небольшая «хотелка»: перенаправить листинг на стандартное устройство вывода (console, stdOut, terminal).

Вроде должно выводить также и в stdout...
Проверил только что, всё отлично выводится
Проверял в питоне: http://pastebin.com/xYXajqZ4
example
------------ Дoбавленo в 05.39:
Обновил прокси-кодогенератор до версии 4: https://yadi.sk/d/RlB8SOkPmEKje
Были переработаны прокси-функции (причесал код и добавил поддержку нескольких структур и enum).
Добавлена обработка вызовов функций, которые отсутствуют в оригинальном кодогенераторе (FTCG, RTCG).
Починил поддержку кириллицы.
карма: 1
1
Голосовали:LastLeader
Ответов: 316
Рейтинг: 21
#245: 2015-12-15 17:12:17 ЛС | профиль | цитата
[flood]Можешь ответит? я тебе письмо написал на мыло[/flood]
карма: 1

0
Ответов: 1841
Рейтинг: 369
#246: 2015-12-19 11:55:09 ЛС | профиль | цитата
На сегодняшний день, реализовано 95% функционала CGT.
При проведении тестов, удалось собрать несколько простых схем пакета Delphi и CNET через свою модель данных.
Ещё много чего придётся доработать или переработать, но главное уже есть результаты
Однако, возникла серьёзная проблема при работе с Delphi кодогенератором...
Проблема заключается в том, что во многих местах при генерации кода, используется структура:
TCGrec = object
MainForm:string;
Vars,Units,IBody,Dead,RUnit:PStrList;
PrInt,PrImp:PStrList;
procedure Clear;
end;
После длительных и сложных экспериментов, мне так и не удалось воспроизвести класс TStrList (KOL), который кроме того, ещё и наследуется от TObj.
Так что, мне пришлось принять решение приостановить работу над совместимостью модели с 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
0
Ответов: 1841
Рейтинг: 369
#247: 2015-12-23 21:53:56 ЛС | профиль | цитата
Первые результаты реализации консольного сборщика схем CNET пакета, без использования среды HiAsm:
scr


Схемы пока загружаются только из файла json формата, предназначенного для загрузки данных модели, но скоро начну работы по поддержке *.sha формата.
------------ Дoбавленo в 16.16:
CriDos писал(а):
В дальнейшем, проект HiAsm_Interface будет совместим только с RTCG и FTCG.

После того, как частично был реализован консольный сборщик схем CNET пакета и появилась более подробная информация о взаимодействии HiAsm с кодогенератором и make_* библиотеками, понял, что можно подключит и Delphi кодогенератор без вмешательства в код, и вообще не заботясь о структуре TCGrec.
Так что, поддержка Delphi кодогенератора будет в полном объёме возвращена и в качестве тестового пакета теперь вновь будет являться Windows пакет.
------------ Дoбавленo в 21.18:
Ну что-же, вот и первые результаты сборки схемы пакета Windows, консольным сборщиком:
demo
Так что, всё же все кодогенераторы будут работоспособны в будущей среде.
карма: 1
1
Голосовали:LastLeader
Ответов: 316
Рейтинг: 21
#248: 2016-01-13 15:09:18 ЛС | профиль | цитата
[flood]Не могу с тобой связаться, есть важный разговор, когда появишься срочно свяжись[/flood]
карма: 1

0
Ответов: 1841
Рейтинг: 369
#249: 2016-09-09 10:52:23 ЛС | профиль | цитата
Открыл проект https://github.com/CriDos/CgtClr - управляемая обёртка над CodeGen.
Обёртка написана на C++/CLI и позволяет подключить CodeGen к .NET проекту.
На данный момент, реализован абстрактный класс BaseCgt, с объявлением всех функций Cgt, которые вызываются из промежуточных функций Emulate (в дальнейшем будет переработан в статический класс), в которых производится вызов виртуальных функций BaseCgt и преобразование данных из управляемого кода в неуправляемый, и наоборот.
У каждой виртуальной функции будет описание:
/// <summary>
/// Получаем идентификатор точки по её индексу
/// </summary>
/// <param name="id_element">Идентификатор элемента</param>
/// <param name="index">Индекс точки</param>
/// <returns>Идентификатор точки</returns>
virtual int elGetPt(int id_element, int index) abstract;
что позволит IntelliSense выводить более полную информацию о функциях CGT.
Сейчас враппер уже умеет работать со стандартным кодогенератором Delphi и прокси-кодогенератором.
Тестирование враппера производится из управляемого кода C#.
В дальнейшем, враппер будет использоваться в движке CGT который будет написан полностью на C#.
Все наработки из Qt будут перенесены в новый проект.
В ближайшее время к проекту присоединится сторонний разработчик C#, и чуть позже, возможно, смогу подтянуть ещё несколько человек.
Разработка ведётся с оглядкой на Mono.

Редактировалось 1 раз(а), последний 2016-09-09 10:56:45
карма: 1
1
Голосовали:Dseren
Главный модератор
Ответов: 2999
Рейтинг: 396
#250: 2016-09-09 11:23:22 ЛС | профиль | цитата
Wrapper из C# для стандартного кодогенератора и RTCG уже существует и работает в проекте Hiasm.NET. Конечно, не весь функционал реализован, но это вопрос кодинга, а не принципиальных причин.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1841
Рейтинг: 369
#251: 2016-09-09 11:31:51 ЛС | профиль | цитата
Nic, можно ссылку для почитать?
Исходники открыты?

--- Добавлено в 2016-09-09 11:44:51

У меня в принципе реализован практически весь необходимый функционал движка CGT в нескольких разбитых проектах, и оно уже даже проверено в бою на пакете Delphi.
Так что модель данных соответствует HiAsm.
Единственное что отсутствует, это функционал управления моделью в процессе работы с ней (необходимо при работе со сценой) и загрузка данных на основе sha файла (в процессе и почти готово).
Также недавно значительно оптимизировал общую архитектуру HiAsm_Interface и на основе этой архитектуры, думалось реализовать C# версию с некоторыми изменениями.

Редактировалось 1 раз(а), последний 2016-09-09 11:44:51
карма: 1
1
Голосовали:Nic
Главный модератор
Ответов: 2999
Рейтинг: 396
#252: 2016-09-09 12:19:21 ЛС | профиль | цитата
http://nic.tele7.ru/hiasm.net/default.html - демо версия проекта. Исходники не открыты. Твой проект помог найти проблемный участок кода для подключения стандартного кодогенератора - спасибо тебе за это. Вопрос передачи исходников wrapper может быть обсуждён приватно.

Редактировалось 1 раз(а), последний 2017-08-12 23:25:57
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1841
Рейтинг: 369
#253: 2016-09-09 14:38:18 ЛС | профиль | цитата
К-во кода впечатляет, думал там поменьше будет.
Однако, использован устаревший шаблон проектирования - смешан код логики и интерфейса, что не есть хорошо в плане поддержки и расширяемости...
В остальном, много чего интересного увидел, будет чего посмотреть.

--- Добавлено в 2016-09-09 15:12:11

Чёт непонятное творится с сообщениями.

Редактировалось 3 раз(а), последний 2016-09-09 15:12:11
карма: 1
0
253
Сообщение
...
Прикрепленные файлы
(файлы не залиты)