AngelScript

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
AngelScript
Тип исполнения:

Интерпретируемый скриптовый язык

Автор(ы):

Андреас Йонсон

Расширение файлов:

.as

Выпуск:

2.28.2 (18 марта 2014)

Система типов:

Строгая, статическая

Основные реализации:

AngelCode Scripting Library

Испытал влияние:

Си, C++, D

Сайт:

angelcode.com/angelscript/

AngelScript — интерпретируемый язык программирования, разработанный специально для использования в качестве скриптового языка в приложениях. Является свободно распространяемым, с открытыми исходными кодами. Портирован на различные платформы. Синтаксис языка основан на хорошо известных C++, Java, C# и D.

Описание[править | править вики-текст]

AngelScript представляет собой движок, в котором приложение может регистрировать функции, свойства и типы, которые могут использоваться в скриптах. Скрипты компилируются в модули. Количество используемых модулей варьрируется в зависимости от нужд. Приложение может также использовать различные интерфейсы для каждого модуля с помощью групп конфигурации. Это особенно полезно, когда приложение работает с несколькими типами скриптов, например, GUI, AI и т. д.

Каждый модуль имеет своё собственное пространство скриптов, глобальных переменных и классов. Обычно они не разделяются между модулями, хотя и несколько модулей могут быть построены из одного и того же скрипта. Модули могут взаимодействовать друг с другом через обязательную связывающую функцию. Так как скрипты компилируются в байт-код, AngelScript предоставляет виртуальную машину для выполнения байт-кода, также известного как скрипт-контекст. Приложение может обрабатывать любое число скрипт-контекстов в одно и то же время, хотя большинству приложений хватает только одного. Контексты поддерживают приостановку/возобновление исполнения, так что в приложении можно легко реализовать такие функции, как одновременное выполнение сценариев и сопрограммы. Скрипт-контекст также предоставляет интерфейс для извлечения информации периода выполнения, полезную для отладки.

Основные особенности[править | править вики-текст]

  • C-подобный синтаксис.
  • Управление памятью.
  • Строго типизированный язык.
  • Лёгкость связывания с кодом на C/C++.
  • Встроенная многопоточность.

Пример программы[править | править вики-текст]

Программа «Hello, world» в простейшем случае выглядит так:

void main()
{
  print("Hello world\n");
}

Использование[править | править вики-текст]

AngelScript часто используется в разработке видеоигр. В частности, AngleScript был использован следующими играми:

  • King Arthur's Gold
  • Amnesia
  • Amy
  • Dustforce
  • Gekkeiju Online
  • Legend of the Guardians: The Owls of Ga'Hoole
  • Penumbra: Overture
  • Penumbra: Requiem
  • Puddle
  • Rigs of Rods
  • Sine Mora
  • Star Ruler
  • Warhammer: Mark of Chaos
  • Warsow

Ссылки[править | править вики-текст]