زبان پردازش داده‌ها
نگاهی به IPL

یک کامپیوتر IPL دارای:
مجموعه‌ای از نمادها است . همه نمادها آدرس‌ها و نام سلول‌ها هستند. برخلاف نمادها در زبان‌های بعدی نمادها شامل کاراکترهایی از اعداد می‌باشند و نوشته می‌شوند: H1, A29, 9-7, 9-100
سلول‌های اسمی که با یک حرف شروع می‌شوند منطقه‌ای و آدرس مطلق هستند.
سلول‌های اسمی که با -۹ شروع می‌شوند محلی هستند و در داخل زمینهٔ لیست مستقل معنی دار می‌باشند، یک لیست ۱–۹ به یک لیست ۱–۹ دیگر وابسته نیست.
نمادهای دیگر (به‌طور مثال تعداد خالصpure numbers) داخلی هستند.
مجموعه‌ای از سلول‌ها است. لیست‌ها از چندیدن سلول با منابع متقابل ساخته شده‌اند. سلول‌ها دارای چندین فیلد اند:
،a 3 بیت فیلد زمانی برای ساخت کد استفاده می‌شوند که سلول‌ها به عنوان دستورالعمل استفاده شده‌اند و استفاده نمی‌شوند زمانی که سلول‌ها داده‌ها هستند.
Q,a 3 بیت با ارزش فیلد زمانی برای منبع غیرمستقیم استفاده می‌شوند که سلول‌ها به عنوان دستورالعمل استفاده شده‌اند و استفاده نمی‌شوند زمانی که سلول‌ها داده‌ها هستند.
SYMBیک نماد است که در سلول به عنوان ارزش استفاده می‌شود.
مجموعه‌ای از پردازش‌های اولیه می‌باشند که در زبان‌های جدید توابع اولیه نامیده می‌شوند.
ساختار داده‌ای IPL لیست است، اما این لیست‌ها بسیار پیچیده‌تر از لیست‌ها در بسیاری از زبان‌های دیگر هستند. یک لیست یک سری نمادهای متصل پیوسته را شامل می‌شود، همان‌طور که انتظار داریم یکسری تعاریف لیست که متصل شده‌اند به لیست‌ها به صورت تک تابع همچون ویژگی‌های متناوبی مثل اسم و ارزش.IPL اصولی را فراهم می‌کند برای دسترسی و تغییر ویژگی‌های اسم و ارزش. به لیست‌های توصیفی نام‌های محلی داده می‌شود (از ۱ تا ۹). بنابراین یک لیست L1 که دارای نمادهای S4 و S5 است نامیده می‌شود و با توجه به ارزش V1 نسبت به صفت A1 شرح داده می‌شود و V2 نسبت به A1 و به صورت زیر ذخیره می‌شود. ۰ نشان دهنده پایان یک لیست، سلول‌هایی که ۱۰۰ و ۱۰۱ و … نامیده می‌شوند به صورت خودکار تولید علامت داخلی هستند که مقادیر بی ربط هستند. این سلول‌ها می‌توانند در سراسر حافظه پراکنده باشند؛ فقط L1 است که با استفاده از یک نام منطقه‌ای که باید در سطح جهانی شناخته شده نیاز به اقامت در یک محل خاص دارد.
| نام  |  SYMB  |  لینک  |
| --- | --- | --- |
| L1  |  9-1  |  100  |
| 100  |  S4  |  101  |
| 101  |  S5  |  0  |
| 9-1  |  0  |  200  |
| 200  |  A1  |  201  |
| 201  |  V1  |  202  |
| 202  |  A2  |  203  |
| 203  |  V2  |  0 |
IPL یک زبان اسمبلی برای دستکاری لیست است. آن چند تا سلول دارد که به عنوان ثبت خاص مورد استفاده قرار می‌گیرد، فرضاً H1 شمارنده برنامه است فیلد SYMB از H1 نام دستورالعمل فعلی است. اگرچه، H1 به عنوان یک لیست تفسیر است. لینک H1 در شرایط مدرن، یک اشاره گر به پشته تماس است برای مثال زیرروال می‌خواهد تا SYMB از H1 را در این پشته قرار دهد.
H2 یک ایست خالی است. روش‌هایی که نیاز به تخصیص حافظه برای خالی کردن H2 دارد. روش که با حافظه به پایان می‌رسند با قرار دادن در H2. در ورود به یک تابع، لیستی از پارامترهای به H0 داده می‌شود. در خروج نتایج باید در H0 بازگردادنده می‌شود. بسیاری از روش‌ها بازمی‌گرداند یک نتیجه بولی که موفقیت یا شکست را نشان می‌دهد؛ که در H5 قرار می‌گیرد. ده سلول W0 تاW1 برای ذخیره‌سازی‌های کاری دولتی محفوظ هستند. روش‌ها «از نظر اخلاقی موظف» (به قول مقاله CACM) به ذخیره و بازیابی ارزش‌های این سلول‌ها هستند
هشت دستورالعمل وجود دارد، بر اساس ارزش‌های P، پاسخ زیرروال، گذاشتن /برداشتن S به H0، گذاشتن /برداشتن نماد در S به لیست متصل به S، کچی کردن مقادیر در S، انشعاب شرطی. در این دستورالعمل‌ها، S هدف است. S هم ارزش فیلد SYMB است اگر Q = ۰ باشد. یمبل‌های سلول نامیده می‌شوند به وسیلهٔ SYMB اگر Q=۱ باشد، یا سمبل‌های درون سلول نامیده می‌شوند توسط سمبل‌های درون سلول به‌وسیلهٔٔ SYMB اگر Q=۲ باشد. در تمام موارد، اما انشعاب شرطی، فیلدLINK از سلول می‌گوید که کدام آموزش برای عمل بعدی باید اجرا شود.
IPL دارای یک کتابخانه از ۱۵۰ عملیات پایه است. این خدمات عبارتند از عملیات ماننده:
علامت متن برای برابری
پیدا کردن، تنظیم، یا پاک کردن یک ویژگی از یک لیست
قرار دادن نماد بعدی در یک لیست. درج نماد در یک لیست. پاک کردن یا کپی یک لیست کامل.
عملیات‌های ریاضی (بر روی نام نماد).
دستکاری نمادها؛ به عنوان مثال، تست اگر نماد نشان دهنده یک عدد صحیح، یا یک نماد است.
I / O عملیات
«ژنراتور»، که به تکرارکننده و فیلتر در برنامه‌نویسی تابعی مطابقت دارد. به عنوان مثال، یک ژنراتور ممکن است یک لیست از اعداد را قبول و یک لیست را از روی مربع‌هایش تولید کند. ژنراتور می‌تواند توابع مناسب طراحی شده را قبول کند - به شدت، آدرس کد از توابع مناسب طراحی می‌شوند - به عنوان آرگومان.