Pawn

Pawn
Pawn
Pawn logo.png
Тип исполнения:

компилируемый

Появился в:

1998

Автор(ы):

ITB CompuPhase

Расширение файлов:

.pwn, .p, .amx

Релиз:

4.0.4733 (22 июня 2012[1])

Испытал влияние:

Small-C[2]

Лицензия

лицензия zlib

Сайт:

compuphase.com/pawn/pawn.htm

Pawn (прежнее название — Small)[1] — простой, не типизированный 32-битный скриптовый язык программирования с синтаксиcом, подобным языку Си. Компилятор генерирует P-код (или байт-код), запускаемый на абстрактной машине. Файлы исходного кода Pawn имеют расширение .pwn. Скомпилированные и готовые к исполнению файлы получают расширение .amx

Содержание

История языка

Введение в язык Pawn и в понятие абстрактной машины было описано как перспектива программистов, и опубликовано в журнале доктора Добба[3] в октябре 1999 года. Язык был разработан для начинающих программистов, которые допускали множество ошибок, связанных с освобождением памяти компьютера.[4]

Основой для Pawn был взят язык Си. Целью разработчиков было упростить и изменить язык Си таким образом, чтобы синтаксис языка позволял избегать или обходить те ошибки, которые допускают неопытные программисты. Выбор языка Си определило то, что этот язык в тот момент достиг максимума своего развития и был довольно популярен.[4]

Особенности языка

Pawn очень похож на другие языки, однако он от них фундаментально отличается

  • Pawn, как язык, не имеет встроенных ресурсов памяти.
  • Pawn не объектно-ориентированный язык. Pawn является процедурным и полагается на подпрограммы и Callback'и. Так же у него нет Си-подобных структур.
  • Pawn однопоточный язык программирования.

Применение языка

Grand Theft Auto: San Andreas Multiplayer

Язык Pawn активно используется для написания игровых режимов/сценариев, использующие API, для собственных серверов популярного неофициального мультиплеера San Andreas Multiplayer игры Grand Theft Auto: San Andreas.

Counter Strike: AmxModX и SourceMod

Язык Pawn используется в написании плагинов для модулей AmxModX и SourceMod, которые позволяют выполнять сценарии на серверах мультиплеера игры Counter Strike.

Типы данных

В языке Pawn существует 4 типа данных:

Примеры кода

"Hello World" выглядит так же как и в Си:

#include <core>
main() 
{
    print("Hello World!");
    return 1; // Возвращает 1
}

Пример создания и использования массива для целочисленных значений

#include <core>
main() 
{
    new array[4]; // Инициализация массива с 4 элементами
    array[0] = 43; // Изменение значения элемента с индексом 0
    array[1] = 10; // Изменение значения элемента с индексом 1
    array[2] = 799; // Изменение значения элемента с индексом 2
    array[3] = 1212; // Изменение значения элемента с индексом 3
    return 1; // Возвращает 1
}

Пример цикла и оператора if-else

#include <core>
main() 
{
    for(new i = 0; i < 10; i++)
    {
        if(i != 9) printf("%d,", i);
        else print("девять");
    }
    return 1; // Возвращает 1
}

Примечания

  1. 1 2 The Pawn Language  (англ.). Архивировано из первоисточника 14 августа 2012. Проверено 19 июля 2011.
  2. The Pawn Booklet: 1. Language Guide (4 марта 2008). Архивировано из первоисточника 14 августа 2012.
  3. Dr. Dobb’s Journal  (англ.). Архивировано из первоисточника 14 августа 2012.
  4. 1 2 The Pawn language - language and toolkit features  (англ.). Архивировано из первоисточника 14 августа 2012. Проверено 19 июля 2011.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Pawn" в других словарях:

  • pawn — 1 / pȯn/ n 1 a: a pledge and transfer of possession of movable or personal property to a creditor which gives the creditor the privilege of satisfying the debt from the property (as by selling it) if the debt is not repaid within a specified… …   Law dictionary

  • Pawn — Pawn, n. [OF. pan pledge, assurance, skirt, piece, F. pan skirt, lappet, piece, from L. pannus. See {Pane}.] 1. Anything delivered or deposited as security, as for the payment of money borrowed, or of a debt; a pledge. See {Pledge}, n., 1. [1913… …   The Collaborative International Dictionary of English

  • Pawn — ist ein englischsprachiger Webcomic des schwedischen Zeichners Fredrik K.T. Andersson. Der Comic ist ein erotisch angehauchter Fantasycomic. Die Hauptcharaktere sind ein Mädchen namens Ayanah und die Dämonin Baalah. In einer versteckten Sektion… …   Deutsch Wikipedia

  • pawn — pawn1 [pôn] n. [LME paun < MFr pan, piece of cloth < L pannus, cloth (? used as medium of exchange): see PANE] 1. anything given as security, as for a debt, performance of an action, etc.; pledge; guaranty 2. a hostage 3. the state of being …   English World dictionary

  • Pawn — Pawn, v. t. [imp. & p. p. {Pawned}; p. pr. & vb. n. {Pawning}.] 1. To give or deposit in pledge, or as security for the payment of money borrowed; to put in pawn; to pledge; as, to pawn one s watch. [1913 Webster] And pawned the last remaining… …   The Collaborative International Dictionary of English

  • pawn — [n1] security for a loan assurance, bond, collateral, earnest, forfeit, gage, gambit, guarantee, guaranty, pledge, security, token, warrant; concept 332 pawn [n2] person who is a fool creature, dupe*, instrument, mark*, patsy*, pigeon*, puppet,… …   New thesaurus

  • pawn — Ⅰ. pawn [1] ► NOUN 1) a chess piece of the smallest size and value. 2) a person used by others for their own purposes. ORIGIN Old French poun, from Latin pedo foot soldier . Ⅱ. pawn [2] …   English terms dictionary

  • Pawn — Pawn, n. See {Pan}, the masticatory. [1913 Webster] …   The Collaborative International Dictionary of English

  • Pawn — Pawn, n. [OE. paune, poun, OF. peon, poon, F. pion, LL. pedo a foot soldier, fr. L. pes, pedis, foot. See {Foot}, and cf. {Pioneer}, {Peon}.] (Chess) A man or piece of the lowest rank. [1913 Webster] …   The Collaborative International Dictionary of English

  • pawn|ee — «p NEE», noun. the person with whom something is deposited as a pawn or security. Paw|nee «p NEE», noun, plural nee or nees, adjective. –n. 1. a member of an American Indian tribe that lived near the forks of the Platte River in Nebraska and… …   Useful english dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»