Loading AI tools
מוויקיפדיה, האנציקלופדיה החופשית
Pawn (בעבר Small C) היא שפת תכנות המפותחת כקוד פתוח ומיועדת לשימוש כשפת תסריט להתאמה אישית של תוכניות. זו שפה חסרת טיפוסים שפותחה על בסיס שפת Small-C, ולה תחביר דומה לשל שפת C.
![]() | |
פרדיגמות | תכנות פרוצדורלי |
---|---|
תאריך השקה |
1999 ![]() |
מפתח | חברת CompuPhase |
גרסה אחרונה |
4.0.5749 (18 октября 2017) ![]() |
טיפוסיות | חסרת טיפוסים |
הושפעה על ידי | Small-C, C |
רישיון |
רישיון zlib ![]() |
סיומת |
pwn, inc, p, amx ![]() |
www.compuphase.com | |
![]() ![]() |
קוד בשפה מהודר ל P-Code, בדומה לשפת Java, ומורץ על ידי מכונה וירטואלית. ניתן להשתמש גם במפרש לצורך כך.
שפה זו היא השפה העיקרית, יחד עם C++ בשרתי Grand Theft Auto: San Andreas, ומשמשת בשרתי משחקים רבי-משתתפים נוספים כגון Counter-Strike.
השפה פותחה על בסיס שפת Small C, שבפני עצמה הייתה דומה מאוד לשפת C. עם זאת, השינויים שבוצעו בשפה, ובהם הסרת הטיפוסים והפיכת המצביעים להתייחסויות (references), היו מהותיים כל כך שלא היה טעם להשאיר את האות C בשם השפה, ולכן החליטו לקרוא לה פשוט Small. שכיחותה של המילה Small באינטרנט הפריעה לחפש מידע אודותיה, ולכן הוחלט לשנות את שמה, ולקרוא לה Pawn.
השפה תוכננה במטרה להקל על התאמה אישית של תוכניות (על ידי סקריפטים), ולא במטרה לכתוב תוכנות. בפרט, תמיכה במבני נתונים היא אחד מצדדיה החלשים של השפה. זאת כיוון שתוכניות בשפה אמורות לבצע מניפולציות על עצמים דרך התוכנה המארחת, ונמנעת מהן (במכוון) גישה ישירה למידע כלשהו. הדרך היחידה בה יכולות תוכניות בשפה לפעול על עצמים היא דרך קריאה לשגרות "ילידות", כלומר שגרות אותן מספקת התוכנה המארחת.
עיקר התכנון בשפה כיוון להעניק לה גמישות בתחום הקריאה לשגרות ופונקציות. השפה מאפשרת הגדרת ערך ברירת מחדל לכל ארגומנט, העברת משתני ערך ומשתני התייחסות, והעברת ארגומנטים על פי שמם או על פי מיקומם. השפה איננה תומכת בבדיקת טיפוסים, כי היא נטולת טיפוסים, אך יש לה מאפיין חלופי - "תיוג", המאפשר להגדיר רשימת תיוגים קבילים עבור ארגומנט.
השפה מאפשרת מספר תחבירים שונים, וכל מתכנת המשתמש בשפה יכול לבחור ביניהם תחביר לפי טעמו.
השפה משמשת גם כשפת תכנות עבור תוספת למשחק קאונטר סטרייק וכן לתוספת עבור משחקי סורס.
הקוד המשתמש להדפיס "Hello World" בשפת הPAWN ובשפת C דומה מאוד:
#include <a_samp> main() { print("Hello World"); }
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.