Вверх ↑
Этот топик читают: Гость
Ответов: 120
Рейтинг: 9
#1: 2025-07-31 19:20:59 ЛС | профиль | цитата
RTCG_ToolKit - это пакет для создания пакетов, использующих кодогенератор RTCG.

Данный пакет находится в стадии разработки, поэтому возможны настолько концептуальные изменения, что написанные на нём пакеты перестанут собираться или получаемый код будет отличаться от первоначального замысла.

Много элементов уже созданы, но первоначальная цель создать схемы самого пакета, то есть пакет созданный самим собой. Часть таких схем уже собрана (в папке Example пакета), и при сборке выявляются ошибки в концепции некоторых элементов, что приводит к массовому исправлению схем.

Кодогенератор RTCG в пакете

Кодогенератор (файл CodeGen.dll в папке пакета), является не официальной версией, но сделан на его исходниках. Предоставляемый кодогенератор находится в стабильном состоянии и его исходный код расположен в моём репозитории github.

Официальный исходный код кодогенератора расположен на ресурсе github, но давно уже не обновляется, к сожалению, а в нём присутствуют как и ошибки, так и отсутствие реализации части функционала, по сравнению с описанным в справке.
По мере возможности, насколько мне позволяют мои знания в c++, я исправляю ошибки и добавляю функционал.

Отсутствующий функционал кодогенератора:

1. Element
- setcodename
- getcodename
- get_sdk_name
- event - Параметры вызова (index, data), а в разделе "Работа с элементом" (name, data) - видимо надо удалить из справки
- child
- get_sdk_count
- parent_element - Функционал присутствует, но нет описания в справке

2. SDK
- Parent

3. CGT
- get_class_name
- get_code_name
- get_element_id
- get_element
- get_func_name
- get_parent_sdk

4. Строки
- rpos
- strcat - Добавлена
- unescape
- escape
- regex_search

5. Файлы
- fopen - Добавлена
- fgets - Добавлена
- fputs - Добавлена
- fclose - Добавлена
- fseek - Упоминается в функции fopen
- rewind - Упоминается в функции fopen
- fcopy
- fexists

6. Дополнительные
- get_params
- set_params
- define
- ifdef
- packet_dir
- code_dir
- string - Нет описания в справке
- number - Нет описания в справке
- compiler
- warning
- exec
- hi_version - Добавлена
- typeof - Нет описания в справке
- expof - Нет описания в справке
- linked - Нет описания в справке
- sub - Нет описания в справке
Добавлено, по мере написания пакета:

- eid – Уникальный идентификатор элемента в проекте (this.id)
- \t – Добавлена поддержка специального символа табуляции
- indentcount – Значение отступа в блоке, создаваемый функцией inc(). ( blk.indentcount () )

P.S.
Я так и не понял, как необходимо конфигурировать элементы MultiElement и MultiElementEx с оригинальным кодогенератором, когда писал для себя пакет Arduino, то мой вопрос на форуме не получил ответа. Я добавил в код кодогенератора некоторые функционал, который позволяет реализовать данные элементы, но, скорее всего, это не правильные костыли, поэтому использовать их не желательно.

Редактировалось 3 раз(а), последний 2025-07-31 19:32:13
карма: 0

0
файлы: 1RTCG_ToolKit.zip [934.6KB] [62]
Ответов: 948
Рейтинг: 201
#2: 2025-08-07 17:59:35 ЛС | профиль | цитата
AZot писал(а):
RTCG_ToolKit - это пакет для создания пакетов, использующих кодогенератор RTCG

Немного побольше бы информации. Как устанавливать? Как пользоваться? и т.д
Типа «Инструкции для чайников»

Редактировалось 1 раз(а), последний 2025-08-07 18:00:55
карма: 19

0
Ответов: 1137
Рейтинг: 83
#3: 2025-08-07 19:15:33 ЛС | профиль | цитата
Установка штатная, такая же как для всех остальных пакетов.
содержимое скопировать в папку пакетов - Hiasm\Elements\RTCG_ToolKit
если требуется сборка dll, выполнить make*.bat и make\make*.bat (не требуется)
для создания elements.db(палитры элементов) выполнить sql_to_db.bat
перетянуть на рабочее поле *.his
примеры использования в Example

Gunta писал(а):
Типа «Инструкции для чайников»

Пожалуй не соглашусь.
Пакет для создания пакетов. Это и есть ключевая фраза. (Кстате на форуме имеется подобный пакет для FTCG)
Если пользователь не знаком с процессом создания пакета на базе FTCG/RTCG, инструкция ему как козе баян не поможет. А кто в курсе дела и имеет опыт - в инструкции не нуждается.
Пакет позволяет ускорить процесс создания элементов RTCG, но является бесполезным без знания и понимания самого RTCG.
карма: 2

1
Голосовали:AZot
Ответов: 120
Рейтинг: 9
#4: 2025-08-10 07:36:37 ЛС | профиль | цитата
Gunta, В первую очередь пакет предназначен для тех, кто уже знаком как делаются пакеты, поэтому инструкция для них не нужна, но впоследствии непременно будет описание.

Пакет, как и написал в шапке, в стадии разработки, поэтому он ещё не оформлен полностью.
Я его выложил для тех, кто имеет достаточно знаний в разработке пакетов, чтобы услышать их мнение по поводу применимости данной реализации - может я где-то свернул не в ту сторону и, поэтому, надо всё переделать.

tom-it писал(а):
(Кстате на форуме имеется подобный пакет для FTCG)

Я вот тоже встречал упоминание на форуме об этом, но так и не смог его найти, чтобы подсмотреть его реализацию.
Если есть ссылка или архив, то поделитесь, пожалуйста.
карма: 0

0
Ответов: 948
Рейтинг: 201
#5: 2025-08-10 08:49:07 ЛС | профиль | цитата
AZot писал(а):
В первую очередь пакет предназначен для тех, кто уже знаком как делаются пакеты, поэтому инструкция для них не нужна, но впоследствии непременно будет описание.

Это всё понятно. А что нам «чайникам» делать? Как учиться? На каких примерах?

AZot писал(а):
вот тоже встречал упоминание на форуме об этом, но так и не смог его найти, чтобы подсмотреть его реализацию.
Если есть ссылка или архив, то поделитесь, пожалуйста.

Выложил на Яндекс из-за размера
https://disk.yandex.ru/d/vyNsPp5_FFAMKA

Мне лично не хочется, чтобы тема ушла в небытиё. Ведь вещь нужная. Сам давно думаю пакет под powershell сделать, знаний пока не хватает.

Редактировалось 1 раз(а), последний 2025-08-10 08:50:02
карма: 19

1
Голосовали:AZot
Ответов: 1137
Рейтинг: 83
#6: 2025-08-10 11:25:55 ЛС | профиль | цитата
AZot писал(а):
Я вот тоже встречал упоминание на форуме об этом, но так и не смог его найти, чтобы подсмотреть его реализацию.

тема пакета https://forum.hiasm.com/topic/55402/0
там же можно скачать https://forum.hiasm.com/getfile/20972

Gunta писал(а):
что нам «чайникам» делать? Как учиться? На каких примерах?

Это можно сравнить с инструкцией по генной модификации клетки организма. При этом абсолютно нет знаний и понимания как устроена клетка, какие физико-химические процессы происходят внутри.
Чтобы использовать пакет *TCG, вы заранее должны знать что вы хотите получить на выхлопе. Какой функционал необходимо использовать для достижения желаемого результата.

FTCG/RTCG, по факту, это движок для самопального скриптового языка. В процессе навигации по схеме(перебор элементов, линков и т.д.) выполняются скрипты и их методы. В скриптах вы самостоятельно пишите логику поведения в зависимости от выбранного языка программирования и придуманной вами концепции.
Netspirit ранее выкладывал небольшую инструкцию по созданию пакета на FTCG. Это неплохой старт для базового понимания.
https://forum.hiasm.com/topic/54530
карма: 2

1
Голосовали:AZot
Ответов: 120
Рейтинг: 9
#7: 2025-08-10 12:08:53 ЛС | профиль | цитата
Gunta,
Gunta писал(а):
А что нам «чайникам» делать? Как учиться? На каких примерах?

В принципе установка данного пакета сводится к следующему:
1. Распаковать архив в папку Elements, чтобы среди папок уже установленных пакетов появилась папка RTCG_ToolKit, а внутри этой папки содержались папки и файлы пакета, такие как: code, conf, Example и так далее.
2. Открыть HiAsm и перетащить на окно программы файл RTCG_ToolKit_Install.his, расположенного в корне пакета.
3. Никаких сообщений не будет, но надо закрыть HiAsm, и открыть его заново, после чего в списке пакетов появится новый (в самом низу).
4. Компилировать и запускать больше ничего не надо.

В папке Example расположены проекты элементов самого пакета, но без знаний общей структуры пакетов и без представления как строить пакет на базе RTCG сложно будет создать свой пакет. Всю это информацию можно найти и в разделе Wiki и в файле справки HiAsm.

Gunta писал(а):
Мне лично не хочется, чтобы тема ушла в небытиё.

Если будет интерес к пакету, обратная связь, да и помощь в сборе схем, то не пропадёт.
Сейчас я упёрся в то, что появилось много неуверенности в концепции ряда элементов, и даже, пока, не могу сформулировать в чём неуверенность, поэтому разработка на паузе.

Редактировалось 1 раз(а), последний 2025-08-10 12:25:48
карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)