Pawn
| PAWN | |
|---|---|
| Paradigma | Procedural |
| Surgido em | 1998 |
| Última versão | 4.0.5691 (13 de junho de 2017) |
| Criado por | ITB CompuPhase |
| Estilo de tipagem | dinâmica |
| Principais implementações | PAWN Compiler |
| Influenciada por | Small-C, C |
| Licença | Licença Apache 2.0 |
| Página oficial | www.compuphase.com |
Pawn é uma linguagem de script de código aberto e de quarta geração, criada em 1998 pela empresa CompuPhase. De influência da linguagem de programação C, Pawn teve duas distribuições: Small, a primeira distribuição da linguagem; e a atualmente usada, denominada Pawn.
A linguagem em si, foi designada para ser implementada em projetos onde se tem a liberdade de criar suas funções[1], normalmente usada para definir eventos, chamados Callbacks[2], que são registrados pela máquina virtual do projeto.
Compilação
Pawn é uma linguagem compilável, ou seja, o seu código é transformado para linguagem de computador, que somente o intérprete da linguagem consegue entender. O intérprete da linguagem, é a máquina virtual, onde o código passa a ser chamado de AMX. AMX é interpretado como na linguagem de programação Assembly, assim, podendo ser interpretado com outras linguagens de programação de terceira geração, como por exemplo, C++.
A compilação é feita antes da execução[3], não como em certas linguagens de programação (como Squirrel e Lua, que a compilação é feita em run-time (em tempo de execução).
Sintaxe
Pawn possui uma sintaxe simples baseada na linguagem de programação C.[4] É case-sensitive, diferenciando letras maiúsculas de minúsculas.
Declarações
As declarações em Pawn são typeless.[5] Não precisamos diferenciar o tipo de variável ou função na declaração. Exceto com matrizes, que devemos declarar o número de células que a matriz pode usar (por a linguagem ter alocação estática, o valor de células é alocado na memória quando a máquina virtual é carregada). Não precisamos definir uma variável em sua declaração. Quando declarada sem definição, possui o valor 0.
- Uma variável possui 4 bytes de tamanho por padrão em uma máquina x86 por cada célula que a mesma possui.
- A stack, por padrão, armazerna um máximo de 5000 células para variáveis locais.
- As variáveis globais são previamente alocadas no arquivo compilado.
Exemplo
new inteiro; //um número inteiro de valor 0
new Float:flutuante; //caso a biblioteca de Fixed Numbers esteja carregada
new vetor[5]; //uma vetor de 5 células
new=variavel inteiro=nome da variavel
Olá Mundo!
//declara a função print (que será carregada de sua biblioteca)
native print(string[]);
//entry point (ponto de entrada) do código, primeira função a ser executada
main()
{
//imprime a string "Olá Mundo!"
print("Olá Mundo!");
}
Normalmente, a maioria dos projetos que possuem a linguagem de programação Pawn implementada, têm a função "print", para imprimir uma string ao console/log/IDE do projeto.
Referências
- ↑ Pawn Implementer's Guide.pdf Arquivado em 26 de dezembro de 2010, no Wayback Machine. (em inglês), documentação sobre a implementação da linguagem Pawn.
- ↑ Callbacks (em inglês), registro de eventos propriamente definidos pela máquina virtual.
- ↑ Getting started (em inglês), compilando e executando seu primeiro código Pawn.
- ↑ Pawn Language Guide.pdf Arquivado agosto 14, 2012 no WebCite (em inglês), documentação da sintaxe da linguagem Pawn.
- ↑ O operador "new" (em inglês), declarando variáveis typeless.
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.