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çõesPawn Implementer's Guide.pdf (em inglês), documentação sobre a implementação da linguagem Pawn., normalmente usada para definir eventos, chamados CallbacksCallbacks (em inglês), registro de eventos propriamente definidos pela máquina virtual., 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çãoGetting started (em inglês), compilando e executando seu primeiro código Pawn., 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.Pawn Language Guide.pdf (em inglês), documentação da sintaxe da linguagem Pawn. É case-sensitive, diferenciando letras maiúsculas de minúsculas.
Declarações As declarações em Pawn são typeless.O operador "new" (em inglês), declarando variáveis typeless. 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; //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.
Categoria:Software livre Categoria:Linguagens de script Categoria:Compiladores e interpretadores livres