Pawn (linguaggio)
Il PAWN è un linguaggio di programmazione open source sviluppato nel 1998[1] dall'azienda olandese CompuPhase.
Il linguaggio era denominato Small fino alla release 3, pubblicata a marzo 2005.
Pawn linguaggio di programmazione | |
---|---|
Autore | CompuPhase |
Data di origine | 1998 |
Ultima versione | 4.0.5749 (3 aprile 2020) |
Utilizzo | Generico |
Paradigmi | Procedurale, Strutturato |
Tipizzazione | Debole |
Estensioni comuni | .pwn |
Influenzato da | C, Small-C |
Implementazione di riferimento | |
Implementazione | Compilatore |
Sistema operativo | Multipiattaforma |
Licenza | Licenza Apache |
Sito web | www.compuphase.com/pawn/pawn.htm |
PAWN è distribuito sotto Licenza Apache.
Concetti generali
modificaIl PAWN è un linguaggio con una sintassi simile al C[2] e fortemente influenzato dallo Small-C[3]
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
modificaIl 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"[4]. 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"[5]. È inoltre utilizzata per la creazione di script per le mod di Half-Life AMX Mod X e SourceMod.
Esempi
modificaQuesto è 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[4]; // 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
modifica- ^ history.txt distribuito insieme alla documentazione
- ^ The Pawn language, su compuphase.com. URL consultato l'8 marzo 2008.
- ^ "The Pawn Booklet: 1. Language Guide" (PDF), su compuphase.com (archiviato dall'url originale il 14 agosto 2012).
- ^ SA-MP San Andreas Multiplayer mod for Grand Theft Auto (GTA SA), su sa-mp.com. URL consultato il 5 agosto 2015 (archiviato dall'url originale il 26 aprile 2015).
- ^ Vice City: Multiplayer, su vc-mp.org. URL consultato il 5 agosto 2015 (archiviato dall'url originale il 5 aprile 2006).
Altri progetti
modifica- Wikimedia Commons contiene immagini o altri file su Pawn
Collegamenti esterni
modifica- (EN) CompuPhase, su compuphase.com.
- (EN) AMX Mod X, su amxmodx.org.
- (EN) SourceMod, su sourcemod.net.