Il PAWN è un linguaggio di programmazione open source sviluppato nel 1998history.txt distribuito insieme alla documentazione dall'azienda olandese CompuPhase. Il linguaggio era denominato Small fino alla release 3, pubblicata a marzo 2005.
PAWN è distribuito sotto Licenza Apache.
Concetti generali Il PAWN è un linguaggio con una sintassi simile al C e fortemente influenzato dallo Small-C
Il codice sorgente, solitamente contenuto in un file .pwn, viene processato dal compilatore. Si otterrà dunque un altro file eseguibile contenente il bytecode generato durante il processo di compilazione. Tale file ha estensione .amx e ha bisogno della virtual machine per essere eseguito.
Il pacchetto disponibile sul sito ufficiale comprende l'IDE Quincy che permette la compilazione dei file sorgente (.p o .pwn) e dispone di un debugger.
Utilizzi Il linguaggio PAWN è utilizzato da alcuni progetti online come principale mezzo di sviluppo. Ad esempio è utilizzato insieme al C++ come principale linguaggio per lo sviluppo della mod non ufficiale per Grand Theft Auto: San Andreas denominata "San Andreas Multiplayer". Mediante il PAWN, gli hoster dei server possono creare varie modalità di gioco ("gamemodes") che comunicando con il client dei singoli utenti permette interazioni non disponibili nella modalità singleplayer. È anche utilizzata per i server della mod non ufficiale per Grand Theft Auto: Vice City denominata "Vice City MultiPlayer". È inoltre utilizzata per la creazione di script per le mod di Half-Life AMX Mod X e SourceMod.
Esempi
Questo è il classico esempio 'Hello World':
#include <core> main() { print("Hello World!"); return 0; }
Questo codice scriverà sulla console 4 numeri casuali: #include <core> main() { new digit; // Introduce un vettore (array) di 4 elementi (0, 1, 2 e 3) for(new i=0; i<4; i++) // Inizierà un loop di 4 giri
digit[i] = random(500); // la variabile digit con indice i assumerà un valore da 0 499 printf("Digit %d's value is %d.", i, digit[i]); // Mostra il risultato nella console
return 0; }
Note
Altri progetti
Collegamenti esterni
Categoria:Linguaggi di scripting Categoria:Linguaggi di programmazione procedurali Categoria:Linguaggi di programmazione strutturati