A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
| Pawn | |
| | |
| Druh | Štruktúrovaný |
|---|---|
| Dátum vzniku | 1998 |
| Použitie | Multiplatformové |
| Typová kontrola | Áno, ale neštandardná |
| Tvorca | ITB CompuPhase |
| Implementácie | Windows, Linux, 8-bit, Playstation 2, XBox, ... |
| Dialekty | SA-MP, AMXMODX |
| Používané prípony | .amx, .pwn, .p |
Pawn (pôvodne vyvýjaný pod názvom Small) (chybne nazývaný Pawno) je skriptovací jazyk, ktorý nachádza využitie najmä v programovaní (skriptovaní) serverov do hry Grand Theft Auto: San Andreas či do hry Counter strike.
Pawn je dynamický jazyk, so syntaxou vychádzajúcou z jazyka C, no voľnejšou. Pôvodne bol vyvýjaný s cieľom vytvoriť jednoduchý, rýchly, moderný a prenosný jazyk. Na jeho použitie je potrebné "prostredie" - AMX, v ktorom je daný program spustený. Prostredie AMX je dostupné na viaceré operačné systémy, aj na 8-bitové prístroje.[1]
História
Pôvodný názov Small-C bol čoskoro zmenený na Small, pretože autori považovali jazyk za niečo viac než len kópiu jazyka C. Došlo k fundamentálnym zmenám oproti jazyku C, napríklad odstránenie typov premenných, či nahradenie a prerobenie systému ukazovateľov (pointerov). Neskôr, keď jazyk nadobudol vyššiu komplexnosť, bol premenovaný ešte raz, na Pawn. Tento názov nesie už niekoľko rokov.[2]
Technológia a AMX
Ako skriptovací jazyk potrebuje virtuálne prostredie - virtuálny stroj, na fungovanie. Toto prostredie autori nazvali AMX, zo skratky Abstract Machine eXecutor. AMX vo veľkej miere udáva vlastnosti jazyka.[3]
Jazyk je beztypový, všetky údaje sa ukladajú do rovnako veľkých premenných, zväčša o veľkosti 4 Bajtov. Počas programovania je možné používať tzv. Tagy, ktoré umožňujú typovú kontrolu. Táto kontrola však neexistuje v reálnom čase, iba počas kompilácie je možné vytvárať vlastné typy, bežne dostupné sú Boolean či Float. U znakov a textových reťazcov sa tagy nepoužívajú.[4]
AMX používa technológiu "stack-based", čiže vo virtuálnom stroji sú všetky údaje uložené v zásobníku (Stack).[5] Toto vo veľkej miere negatívne ovplyvňuje rýchlosť jazyka Pawn. Kompilácia má tak ako v podobných jazykoch dva kroky - prvotná kompilácia, ktorá pozostáva z prekladu zdrojového kódu do byte-kódu. Byte-kód ešte nie je spustiteľný na danom stroji. Musí teda prejsť cez AMX, kde je v reálnom čase prekladaný na binárny kód spustiteľný na danom stroji.[6]
Ukážka kódu
#include <float>
#include <core>
const new text = "Addition";
main() {
new cislo = 5;
new Float:realneCislo = 7.43;
printf("%s: %i + %f = %f", text, cislo, realneCislo, realneCislo + cislo);
printf("Faktorial: %i! = %i", cislo, faktorial(cislo));
printf("Faktorial2: %i! = %i", cislo, faktorial2(cislo));
}
stock faktorial(n) {
return n > 0 ? (n*faktorial(n-1)) : 1;
}
stock faktorial2(n) {
new ret = 1;
while(n > 1) {
ret *= n--;
}
return ret;
}
Referencie
- ↑ http://www.compuphase.com/pawn/Pawn_Implementer_Guide.pdf, 1. strana
- ↑ http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf, 1. strana
- ↑ http://www.compuphase.com/pawn/Pawn_Implementer_Guide.pdf
- ↑ http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf, 6. strana
- ↑ http://www.compuphase.com/pawn/Pawn_Implementer_Guide.pdf, 92. strana
- ↑ http://www.compuphase.com/pawn/Pawn_Implementer_Guide.pdf, 2. strana
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk
