Saltar para o conteúdo

AngelScript

Origem: Wikipédia, a enciclopédia livre.
AngelScript
AngelScript
Logotipo do AngelScript
Paradigma Multiparadigma, Imperativa
Surgido em 28 de Março de 2003
Última versão 2.35.0 (5 de dezembro de 2020; há 3 anos)
Criado por Andreas Jonsson
Estilo de tipagem Estática e dinâmica, Forte
Principais implementações GNUC, Marmalade [1]
Influenciada por C++
Plataforma Multiplataforma
Licença AngelScript License (zlib)[2]
Extensão do arquivo .cpp
Página oficial https://www.angelcode.com/angelscript/

AngelScript é uma biblioteca de códigos para uso em C++, O seu objetivo é fornecer uma biblioteca fácil de usar e que seja poderosa, mas que não seja sobrecarregada por uma grande quantidade de recursos raramente usados.[3][4]

O desenvolvimento começou em fevereiro de 2003, com o primeiro lançamento público em 28 de março de 2003, com apenas as funcionalidades mais básicas.[3]

O AngelScript está estruturado em torno de um mecanismo no qual o aplicativo deve registrar as funções, propriedades e até tipos, que os scripts poderão usar. Os scripts são então compilados em módulos, nos quais o aplicativo pode ter um ou mais módulos, dependendo da necessidade do aplicativo. O aplicativo também pode expor uma interface diferente para cada módulo através do uso de perfis de acesso. Isso é especialmente útil quando o aplicativo trabalha com vários tipos de scripts, por exemplo GUI, controle de IA, etc.[5] Possui digitação estática, identificadores de objetos (semelhantes aos do C++), orientação a objetos, herança única, herança múltipla com interfaces. Permite que os operadores sejam registrados e sobrecarregados.

O AngelScript é muito utilizado em videos-games. Incluindo jogos como, Amnesia: The Dark Descent[6], Amnesia: A Machine for Pigs[6], Penumbra Overture[6] etc. A linguagem também é usada em robôs[7], por exemplo, para programar regras comportamentais.

Exemplo 1 (Uso de funções) [8]

[editar | editar código-fonte]
// This function returns a value in the output parameter
void func(int &out outputValue)
{
    outputValue = 42;
}
// Call the function with a valid lvalue expression to receive the output value
int value;
func(value);
// Call the function with 'void' argument to ignore the output value
func(void);

Referências

  1. https://www.angelcode.com/angelscript/sdk/docs/manual/doc_compile_lib.html
  2. https://www.angelcode.com/angelscript/sdk/docs/manual/doc_license.html#doc_lic_1
  3. a b «AngelScript: Introduction». www.angelcode.com. Consultado em 17 de dezembro de 2019 
  4. dbohdan (10 de dezembro de 2019), A list of embedded scripting languages. Contribute to dbohdan/embedded-scripting-languages development by creating an account on GitHub, consultado em 17 de dezembro de 2019 
  5. «AngelScript: Overview». www.angelcode.com. Consultado em 17 de dezembro de 2019 
  6. a b c «AngelScript - AngelCode.com». angelcode.com. Consultado em 17 de dezembro de 2019 
  7. Brandoff, J.; Sayama, H. (março de 2009). «Cultural transmission in robotic swarms through RFID cards». 2009 IEEE Symposium on Artificial Life: 171–178. doi:10.1109/ALIFE.2009.4937709 
  8. «AngelScript: Expressions». www.angelcode.com. Consultado em 17 de dezembro de 2019 
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.