Pawn
Pawn (прежнее название — Small)[1] — простой, типизированный 32-битный скриптовый язык программирования с синтаксисом, подобным языку Си. Компилятор генерирует P-код (или байт-код), запускаемый на абстрактной машине. Файлы исходного кода Pawn имеют расширение .pwn; скомпилированные и готовые к исполнению — .amx. Популярный язык программирования для игровых серверов Grand Theft Auto San Andreas Multiplayer (GTA SA-MP) и Counter-Strike 1.6. Имеет необычный компилятор, а также редактор кода — Pawno. История языкаВведение в язык Pawn и в понятие абстрактной машины было описано как перспектива программистов, и опубликовано в журнале доктора Добба[3] в октябре 1999 года. Язык был разработан для начинающих программистов, которые допускали множество ошибок, связанных с освобождением памяти компьютера[4]. Основой для Pawn был взят язык Си. Целью разработчиков было упростить и изменить язык Си таким образом, чтобы синтаксис языка позволял избегать или обходить те ошибки, которые допускают неопытные программисты. Выбор языка Си определило то, что этот язык в тот момент достиг максимума своего развития и был довольно популярен[4]. Особенности языка
Типы данныхВ языке Pawn существует 4 типа данных:
Примеры кода«Hello World» выглядит почти так же, как и в Си: main()
{
print("Hello World!");
}
Пример создания и использования массива для целочисленных значений: #include <core>
main()
{
new array[4]; // Инициализация массива с 4 элементами
array[0] = 43; // Изменение значения элемента с индексом 0
array[1] = 10; // Изменение значения элемента с индексом 1
array[2] = 799; // Изменение значения элемента с индексом 2
array[3] = 121332; // Изменение значения элемента с индексом 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
}
Пример использования переменных: #include <core>
main()
{
new a = 3;
new b = 1;
printf("А равно = %d, а Б = %d", a, b); // При старте будет писать: А равно = 3, а Б = 1.
return 1; // Возвращает 1
}
Пример использования операторов выражения: #include <core>
main()
{
new a = 1;
new b = 2;
new c = 3;
if(a < b)
print("A меньше B"); // При старте будет писать: A меньше B
if(c != a)
print("C не равняется A"); // При старте будет писать: C не равняется A
if(a == 1 && a != b)
print("A равняется 1 и не равняется B"); // При старте будет писать: A равняется 1 и не равняется B
if(b == 2 || c == 3)
print("B равняется 2 или C равняется 3"); // При старте будет писать: B равняется 2 или C равняется 3
return 1; // Возвращает 1
}
Применение языкаНекоторые примеры использования языка Pawn:
Примечания
Ссылки
|