Анализатор кода QSP

Re: Анализатор кода QSP

lom,
Я использую такие конструкции, все работает...

dmvikar
useravatar
Offline
209 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

интересно а обновка для анализатора будет?

Teemo228
useravatar
Offline
28 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

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

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

l0stetrnity
useravatar
Offline
17 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

l0stetrnity,
ты можешь сделать это сам. wink
Я себе добавил в планы поработать над анализатором, но я только-только начал изучать сишарп, поэтому никаких сроков указать не могу. Некс уже давно обозначил, что у него нет времени работать над анализатором или Quest Navigator'ом. Собственно, времени ни у кого нет, поэтому, если очень надо, лучше брать дело в свои руки.

Aleks Versus
воздвигатель башни
useravatar
Offline
1741 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

Aleks Versus,
Да я подумывал над этим, потом вспомнил что вроде как он и так был. Решил проверить, но поскольку он не обновлён до 5.8 - он сейчас бесполезен, т.к. тот-же qSpider работает на 5.8, да и в целом, субъективно - 5.8 лучше, чем 5.7

По поводу C# - ну, его нужно изучать если планируешь апдйтить этот, существующий анализатор.
Если-же писать его с нуля, то можно писать его на чём угодно, Python для этого прекрасно подойдёт, да даже JS.
Да, объективно, C# шустрее чем Python или JS, тем не менее, если не прогонять 10мб+++ qsp файлы через анализатор, то разница в скорости вряд ли будет ощутимой.

В общем посмотрим, попробую поковырять эту тему, но ничего не обещаю.

l0stetrnity
useravatar
Offline
17 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

Ok, забыл пароль от старого аккаунта, но не суть.
В общем, сделал для себя "headless" версию анализатора, т.е. фактически для CLI использования.
На коде 5.8+ не проверял, ничего не обновлял, просто перекомпилировал на .net 8, с некоторыми доработками, в частности: Теперь программа умеет работать как с одним txt2gam файлом, так и папкой с .qsps файлами.
Программу нужно запускать через консоль/терминал (пример на скриншоте).
https://ibb.co/vvQyBTP6

Т.е.

Код:

./имяпрограммы ./путь/к/файлу/или/папке

Также добавил проверку на присвоение строки к числовой переменной, т.к. лично у меня - это частая ошибка (переодически забываю ставить $) в результате чего - ловлю краши.

В любом случае, вот скомпилированный .exe файл - MEGA

Либо, если нет доверия к левым .EXEшниками из интернета, или есть желание обновить до 5.8+ вот SRC MEGA
Для компиляции потребуется .NET 8 SDK, лучше ставить всё паком вместе с Visual Studio.

Lost_Eternity
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

Lost_Eternity,
Спасибо за обновление! Может, лучше создать проект на GitHub, чтобы он точно не потерялся?

Byte
useravatar
Offline
698 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Lost_Eternity
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Анализатор кода QSP

Lost_Eternity,
Пока что не было в планах делать txt2gam-сервер, но спасибо за исходники!

Попозже выложу анализатор QSP кода (исходники с MEGA) на GitHub.

Byte
useravatar
Offline
698 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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 файл, и в случае небходимости - моментально его нам возвращает.

В любом случае, мб пригодится.

Lost_Eternity
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1054
Всего опросов:
14
Всего сообщений:
16791194
Сообщений на этой неделе:
4
Пользователи форума:
 
Всего пользователей:
2831
Последним зарегистрировался:
sergo993