An embedded scripting language, specifically designed to extend applications. Features include a small footprint, inherent support for automatons or "state machines", quick execution of the P-code and a good interface to "native" functions. These features make Pawn a good scripting language for games, multimedia applications and embedded software (for which scripting is needed). Optimized P-code ("bytecode") interpreter in assembler (Windows & Linux); there is even a JIT for Windows and Linux. Full source code is included. Pawn was formerly called the "Small" language.