Вчера ночью залили архив с исходным кодом s4g 0.9.2 на сервер и завершили разработку текущей версии языка. Это было крайне не просто …
Небольшая предыстория и ссылки
Язык начал разрабатываться в июле 2016 года, и только спустя меньше чем 1,5 года, наконец-то мы смогли собрать первую публичную версию и готовы выложить ее в open source. Почему так долго? Не было качества и стабильности кода, да и мы были не готовы. Ну а теперь, после первого выпуска SkyXEngine в open source и получения приятных отзывов, мы решили доделать и все-таки выпустить наш язык программирования s4g 0.9.2 (хотя изначально именно язык хотели выпустить первым, но в связи с тем что качество и стабильность сильно подводили, решили отложить проект).
Ссылка на статью про язык буквально перед выпуском. Там можно найти необходимую базовую информацию о языке.
Ссылка на сайт языка. Там можно найти пользовательскую документацию (также есть и документация для программистов), статью для быстрого старта. Так как это open source проект, то есть ссылка и на репозиторий.
Где можно обсудить язык и послушать мнения других: ссылка на gcup.ru и gamedev.ru
Разбор архива
Теперь мельком разберем архив s4g 0.9.2. Качаем отсюда. Распаковываем.
Все что .git это файлы для git репозитория, шибко они не интересуют нас))
Файл LICENSE содержит текст лицензии, а README краткое описание проекта.
Директория build содержит текстовые примеры на языке s4g, а также сюда попадают все бинарники при компиляции.
Директория docs содержит документацию:
- docs/html/index.html локальная документация программиста, сгенерирована при помощи Doxygen, аналог doc.s4g.su
- docs/samples содержит примеры использования языка
- docs/settings_doxygen содержит настройки для генератора документации Doxygen
- docs/guide.htm пользовательская документация
- docs/Начало • Script for Game.html сохраненная страница с сайта, некий быстрый старт
Директория proj содержит одну единственную директорию vs2013 которая содержит файлы проекты для Visual Studio 2013, открывать Script4Game.sln.
И самое интересное это директория с исходниками src, она содержит несколько директорий:
- src/common это общие для наших проектов исходники, в движке SkyXEngine тоже их используем
- src/s4g — директория с исходниками языка
- s4g/s4g_runtest исходники для массового запуска тестов
Архив содержит еще и другие файлы и директории, но в текущий момент разработки они не имеют существенного значения для пользователя.
Теперь рассмотрим сам Solution в Visual Studio 2013:
А теперь подробнее о проектах:
- s4g — это проект библиотеки, на выходе dll и lib (и сопутствующие)
- s4g_launcher — exe, через параметры запуска принимает файл, можно даже перенести файл на exe и он его исполнит
- s4g_runtest — exe, запускает и прогоняет тесты через s4g_launcher
- Script4Game — проект на котором мы тестируем и в котором разрабатываем язык, здесь можно увидеть загрузку скриптов, экспорт и прочее
Script4Game специально сделан нами для разработки (и для разработчиков), поэтому код исходника Script4Game.cpp может содержать не совсем красивый код, мусор, и много чего не нужного))
Конечно описать все проекты и все возможности не смогли, ни физически ни морально, но в следующих версиях потихоньку будем документировать.