Анализатор кода QSP
Re: Анализатор кода QSP
Было-бы круто обновить анализатор до QSP 5.8, да, с учётом того, что сейчас есть расширение для VScode, это уже не так актуально, т.к. большинство проблем, и так подсвечиваются в процессе, тем не менее - расширение для VScode не имеет некоторых функций, которые имеет анализатор, и это куда надежней проверять цельный файл полностью, нежели отдельные .qsps куски.
И ещё, если будет возможность - неплохо-бы сделать CLI версию анализатора, без графической оболочки, чтоб была возможность интегрировать его в последовательность команд, т.е. компиляция цельного txt2gam из отдельных .qsps, сразу после прогоняем через анализатор, далее если нет ошибок - прогоняем через txt2gam и создаём .qsp файл.
Re: Анализатор кода QSP
l0stetrnity,
ты можешь сделать это сам.
Я себе добавил в планы поработать над анализатором, но я только-только начал изучать сишарп, поэтому никаких сроков указать не могу. Некс уже давно обозначил, что у него нет времени работать над анализатором или Quest Navigator'ом. Собственно, времени ни у кого нет, поэтому, если очень надо, лучше брать дело в свои руки.
Re: Анализатор кода QSP
Aleks Versus,
Да я подумывал над этим, потом вспомнил что вроде как он и так был. Решил проверить, но поскольку он не обновлён до 5.8 - он сейчас бесполезен, т.к. тот-же qSpider работает на 5.8, да и в целом, субъективно - 5.8 лучше, чем 5.7
По поводу C# - ну, его нужно изучать если планируешь апдйтить этот, существующий анализатор.
Если-же писать его с нуля, то можно писать его на чём угодно, Python для этого прекрасно подойдёт, да даже JS.
Да, объективно, C# шустрее чем Python или JS, тем не менее, если не прогонять 10мб+++ qsp файлы через анализатор, то разница в скорости вряд ли будет ощутимой.
В общем посмотрим, попробую поковырять эту тему, но ничего не обещаю.
Re: Анализатор кода QSP
Ok, забыл пароль от старого аккаунта, но не суть.
В общем, сделал для себя "headless" версию анализатора, т.е. фактически для CLI использования.
На коде 5.8+ не проверял, ничего не обновлял, просто перекомпилировал на .net 8, с некоторыми доработками, в частности: Теперь программа умеет работать как с одним txt2gam файлом, так и папкой с .qsps файлами.
Программу нужно запускать через консоль/терминал (пример на скриншоте).
Т.е.
Код:
./имяпрограммы ./путь/к/файлу/или/папке
Также добавил проверку на присвоение строки к числовой переменной, т.к. лично у меня - это частая ошибка (переодически забываю ставить $) в результате чего - ловлю краши.
В любом случае, вот скомпилированный .exe файл - MEGA
Либо, если нет доверия к левым .EXEшниками из интернета, или есть желание обновить до 5.8+ вот SRC MEGA
Для компиляции потребуется .NET 8 SDK, лучше ставить всё паком вместе с Visual Studio.
Re: Анализатор кода QSP
Byte,
Я ни на что не претендую т.к. это не мой код.
Более того, я сейчас занимаюсь основательной переработкой анализатора, чтоб помимо "анализа" он собирал "Граф" QSP файла, т.к. по сути, он и так обрабатывает QSP таким образом.
Т.е. на входе имеем txt2gam .txt файл, на выходе - .HTML граф, в котором записаны все локации, переменные на них, все GT и GS итд.
И чтоб всё это можно было легко искать/отслеживать.
Кое-какой прогресс есть, но иногда появляюются сложности.
*Надеюсь* - удасться сделать что-то адекватное.
Кстати, если я не ошибаюсь, то txt2gam - это твоя программа? Я для себя сделал штуку на её основе, которая вгружает txt2gam файл, кэширует и хэширует его, пребилдит .QSP файл, запускает TCP сервер, и после этого, мы можем посылать запросы TCP серверу на добавление/удаление/обновление/переиминование локаций и моментально воссоздавать .QSP (без полного ребилда).
Но, естественно, нам нужна штука, которая будет посылать эти запросы и принимать QSP файл, т.к. в этом исполнеиии txt2gam работает как сервер. (Например JS скрипт через NodeJS)
Т.е. это полезно для разработки вне qGen.
Но, признаюсь, поскольку мои познания в C - минимальны, код создавался и правился с помощью LLMов.
Тем не менее, если интересно, то вот сорсы - txt2gam_src.rar
Re: Анализатор кода QSP
Byte,
Ну мне это было нужно, т.к. я использую VScode (с расширением) для QSP, и "сборка" .qsps файлов (фрагментированного txt2gam) - является(лось) слабым местом этого процесса.
Суть в том, что - во первых, при таком раскладе - тебе нужно собрать цельный txt2gam файл из кусков, потом из него скомпилировать .qsp файл, через txt2gam.
И хоть на современных машинах, сборка и компиляция даже проектов с 1000-2000 локаций занимает пару секунд (3-5 в среднем) - это всё ровно напрасная трата времени и ресурсов.
Поэтому я и решил переделать txt2gam Под свои нужды.
Т.е. мы его запускаем и вгружаем в него наш базовый .txt файл (в формате txt2gam, очевидно), и после этого, мы ему можем по TCP отправлять ТОЛЬКО изменённые локации, например с помощью любого watcher'а на NodeJS (Типа Chockidar, или своего, кастомного), который при "сохранении" локации - пакует её "название" и "контент" в b64, отправляет по TCP модифицированному txt2gam, и txt2gam обновляет/добавляет/удаляет/переименовывает прибилдженный .qsp файл, и в случае небходимости - моментально его нам возвращает.
В любом случае, мб пригодится.
Информация
- Статистика форума:
- Всего тем:
- 1054
- Всего опросов:
- 14
- Всего сообщений:
- 16791194
- Сообщений на этой неделе:
- 4
- Пользователи форума:
- Всего пользователей:
- 2831
- Последним зарегистрировался:
- sergo993