[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Преамбула: обновление
Обновление версии
 
(не показано 6 промежуточных версий 5 участников)
Строка 1:
{{Карточка языка программирования
| name = AngelScript
| logo =
| semantics =
| paradigm =
| class = [[Интерпретатор|Интерпретируемый]] [[скриптовый язык]]
| year = 2003
| designer = Андреас Йонсон
| extension = .as
| latest_release_version = 2.3136.1
| latest_release_date = [[26 июня21 мая]] [[20162023]]
| latest_preview_version =
| latest_preview_date =
| typing = Строгая, статическая
| implementations = AngelCode Scripting Library
| dialects =
| influenced_by = [[Си (язык программирования)|Си]], [[C++]], [[D (язык программирования)|D]]
| influenced =
| website = http://www.angelcode.com/angelscript/
| operating system = кроссплатформенное программное обеспечение
}}
 
'''AngelScript''' — [[Интерпретатор|интерпретируемый]] [[язык программирования]], разработанный специально для использования в качестве скриптового языка в приложениях. Является [[свободное программное обеспечение|свободно распространяемым]], с открытыми исходными кодами. Портирован на различные платформы. Синтаксис языка основан на хорошо известных [[C++]], [[Java]], [[C Sharp|C#]] и [[D (язык программирования)|D]].
 
== Описание ==
AngelScript представляет собой движок, в котором приложение может регистрировать функции, свойства и типы, которые могут использоваться в скриптах. Скрипты компилируются в модули. Количество используемых модулей варьрируетсяварьируется в зависимости от нужд. Приложение может также использовать различные интерфейсы для каждого модуля с помощью групп конфигурации. Это особенно полезно, когда приложение работает с несколькими типами скриптов, например, [[GUI]], [[Искусственный интеллект|AI]] и т. д.
 
Каждый модуль имеет своё собственное пространство скриптов, глобальных [[Переменная (программирование)|переменных]] и классов. Обычно они не разделяются между модулями, хотя и несколько модулей могут быть построены из одного и того же скрипта. Модули могут взаимодействовать друг с другом через обязательную связывающую функцию. Так как скрипты компилируются в [[байт-код]], AngelScript предоставляет [[Виртуальная машина|виртуальную машину]] для выполнения [[байт-код]]а, также известного как скрипт-контекст. Приложение может обрабатывать любое число скрипт-контекстов в одно и то же время, хотя большинству приложений хватает только одного. Контексты поддерживают приостановку/возобновление исполнения, так что в приложении можно легко реализовать такие функции, как одновременное выполнение сценариев и [[сопрограмма|сопрограммы]]. Скрипт-контекст также предоставляет интерфейс для извлечения информации периода выполнения, полезную для [[Отладка программы|отладки]].