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 | )
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]
Sobre
[editar | editar código-fonte]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.
Exemplos
[editar | editar código-fonte]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);
Links
[editar | editar código-fonte]Referências
- ↑ https://www.angelcode.com/angelscript/sdk/docs/manual/doc_compile_lib.html
- ↑ https://www.angelcode.com/angelscript/sdk/docs/manual/doc_license.html#doc_lic_1
- ↑ a b «AngelScript: Introduction». www.angelcode.com. Consultado em 17 de dezembro de 2019
- ↑ 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
- ↑ «AngelScript: Overview». www.angelcode.com. Consultado em 17 de dezembro de 2019
- ↑ a b c «AngelScript - AngelCode.com». angelcode.com. Consultado em 17 de dezembro de 2019
- ↑ 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
- ↑ «AngelScript: Expressions». www.angelcode.com. Consultado em 17 de dezembro de 2019