AngelScript
| AngelScript | |
|---|---|
| Класс языка | сценарный, реализация языка программирования[вд], эталонная реализация и свободное и открытое программное обеспечение |
| Тип исполнения | Интерпретируемый скриптовый язык |
| Появился в | 2003 |
| Автор | Андреас Йонсон |
| Расширение файлов |
.as |
| Выпуск | 2.36.1 (21 мая 2023) |
| Система типов | Строгая, статическая |
| Основные реализации | AngelCode Scripting Library |
| Испытал влияние | Си, C++, D |
| Лицензия | лицензия zlib |
| Сайт | angelcode.com/angelscrip… |
| ОС | кроссплатформенное программное обеспечение |
AngelScript — интерпретируемый язык программирования, разработанный специально для использования в качестве скриптового языка в приложениях. Является свободно распространяемым, с открытыми исходными кодами. Портирован на различные платформы. Синтаксис языка основан на хорошо известных C++, Java, C# и D.
Описание
AngelScript представляет собой движок, в котором приложение может регистрировать функции, свойства и типы, которые могут использоваться в скриптах. Скрипты компилируются в модули. Количество используемых модулей варьируется в зависимости от нужд. Приложение может также использовать различные интерфейсы для каждого модуля с помощью групп конфигурации. Это особенно полезно, когда приложение работает с несколькими типами скриптов, например, GUI, AI и т. д.
Каждый модуль имеет своё собственное пространство скриптов, глобальных переменных и классов. Обычно они не разделяются между модулями, хотя и несколько модулей могут быть построены из одного и того же скрипта. Модули могут взаимодействовать друг с другом через обязательную связывающую функцию. Так как скрипты компилируются в байт-код, AngelScript предоставляет виртуальную машину для выполнения байт-кода, также известного как скрипт-контекст. Приложение может обрабатывать любое число скрипт-контекстов в одно и то же время, хотя большинству приложений хватает только одного. Контексты поддерживают приостановку/возобновление исполнения, так что в приложении можно легко реализовать такие функции, как одновременное выполнение сценариев и сопрограммы. Скрипт-контекст также предоставляет интерфейс для извлечения информации периода выполнения, полезную для отладки.
Основные особенности
- C-подобный синтаксис.
- Управление памятью.
- Строго типизированный язык.
- Лёгкость связывания с кодом на C/C++.
- Встроенная многопоточность.
Пример программы
Программа «Hello, world» в простейшем случае выглядит так:
void main()
{
print("Hello world\n");
}
Литература
- Paula Berinstein, Remi Arnaud, Alessandro Ardolino, Simon Franco, Adrien Herubel. Game Development Tool Essentials. — Apress, 2014. — 201 с. — ISBN 9781430267010.
- Michael Dickheiser. Game Programming Gems 6. — Charles River Media, 2006. — 748 с. — ISBN 9781584504504.
Ссылки
- Официальный сайт AngelScript (англ.)
- Лекции и статьи на gamedev.ru (рус.)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.