Анализатор кода QSP
Некоторое время назад я написал анализатор кода QSP-игр.
Изначально он был сделан “на скорую руку” при помощи регулярных выражений, и из-за этого был примитивным, поэтому я распространял его только лично, с подробной инструкцией по использованию и перечислением имеющихся недостатков.
Этим летом я переработал код, написав полноценный анализатор синтаксиса QSP без регулярных выражений.
Анализатор выполняет проверку на двух уровнях:
1. Проверка синтаксиса. Все ошибки, которые можно однозначно определить по соответствию синтаксическим правилам языка QSP.
Пример: незакрытые многострочные операторы, незакрытые скобки, неверное количество аргументов функции и т.д.
2. Предупреждения. Предположения об ошибках, основанные на анализе структуры игры - переменные, локации, предметы, действия.
Пример: локации, на которые нет перехода, использование неинициализированных переменных, попытка удалить предмет, который нигде не добавляется, и т.д.
Ссылка на проект, для тех, кому интересно: http://code.google.com/p/qsp-analyser/
Главная ценность проекта - исходный код, который полностью открыт. Его я буду обновлять регулярно, по мере работы над проектом.
Внимание: анализатор работает только с файлом текстового формата (TXT2GAM). Поэтому для проверки вам придётся экспортировать игру в кугене. Игра -> Экспорт -> Текстовый файл формата TXT2GAM.
Замечания, предложения - приветствуются.
Хотел перевести код с 5.7 на 5.9. Все делаю как сказано в аннотации и ничего… Анализатор вообще ничего не анализирует. От слова - совсем. Винда 10. Помогите разобраться, что не так?
Можно еще попробовать расширение для VSCode - там тоже показываются типовые ошибки. https://qsp.org/forum/1414-rassirenie-vscode-s-lsp-serverom
Byte:
Можно еще попробовать расширение для VSCode - там тоже показываются типовые ошибки. https://qsp.org/forum/1414-rassirenie-vscode-s-lsp-serverom
Пасиба! А почему не работает Анализатор?
У меня были тоже проблемы с анализатором. Писал 0 ошибок, 0 локаций. Я пробовал следующее:
- запускать от имени администратора
- конвертировать игру с помощью Quest Generator
- установить/обновить Net Framework, VC Redist.
- пересохранить файл с кодировкой win-1251
И ещё что-то. Не помню, на чём именно заработало.
Ещё можешь попробовать разные анализаторы: https://mega.nz/folder/GHIjRDZC#t1ZJBPcvSVMnX62O0UYXRA