موضوع مقاله: سی‌ام‌اس-۲ (زبان برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سی‌ام‌اس-۲ (زبان برنامه‌نویسی) | مقدمه: CMS-2 یک زبان برنامه‌نویسی سیستم‌های جاسازی شده‌است که به وسیلهٔ نیروی دریایی ایالات متحده استفاده شده‌است. | ## بخش 1: سی‌ام‌اس-۲ (زبان برنامه‌نویسی) | آن اوایل تلاش به منظور توسعه یک زبان برنامه‌نویسی کامپیوتری سطح بالای استاندارد شده برای بهبود کد قابل حمل و استفاده مجدد انجام می‌شد. CMS-2 درجه اول برای سیستم‌های داده‌های تاکتیکیروی نی دریایی ایالات متحده توسعه یافت. Navy CMS-2 توسط شرکت رند در اوایل دهه ۱۹۷۰ توسعه داده شد و مخفف "سیستم نظارت کامپایلر" است. عملگرها شکل‌های اولیهٔ زبان هستند که به وسیلهٔ کامپایلر برای یک عمل خاص یا تعریفی خاص در یک برنامه اختصاص داده شده‌اند. شناسه‌ها نام‌های منحصر به فردی هستند که توسط برنامه‌نویس برای داده‌های بخش‌ها، عناصر برنامه و برچسب‌های بخش تخصیص می‌یابند. بخش‌های اعلانی اطلاعات کنترلی اساسی را برای کامپایلر محیا می‌کند و ساختار داده‌های مرتبط با یک برنامهٔ خاص را تعریف می‌کند. بخش‌های پویا باعث می‌شوند که کامپایلر دستورالعمل‌های اجرایی دستگاه را تولید کند. بخش‌های اعلانی که داده‌ها را برای یک برنامه تعریف می‌کنند در واحدهایی دسته‌بندی می‌شوند که طراحی‌های داده‌ها نامیده می‌شوند. طراحی‌های داده‌ها متشکل از تعریف‌های دقیق برای مناطق ذخیره‌سازی داده‌های موقتی و دائم، ورودی‌ها، خروجی‌ها و واحدهای خاص داده‌ها است. | ## بخش 2: سی‌ام‌اس-۲ (زبان برنامه‌نویسی) | بخش‌های پویا که بر روی داده‌ها عمل می‌کنند ویا محاسبات را انجام می‌دهند به صورت متدها دسته‌بندی می‌شوند. طراحی‌های داده و متدها بار دیگر به صورت عناصر سیستم یک برنامهٔ CMS-2 دسته‌بندی می‌شوند. Navy بخش‌های اعلانی داده‌ها بخش‌های اعلانی داده‌ها اطلاعات مربوط به تعریف عناصر داده‌ها را در اختیار کامپایلر قرار می‌دهد. Navy سوئیچ‌ها سوئیچ‌ها برای انتقال کنترل برنامه به یک مکان خاص در سیستم زمان کامپایل مورد استفاده قرار می‌گیرند. آن‌ها شامل یک مجموعه از شناسه‌ها یا نقاط سوئیچ کردن هستند که انتقالات برنامه و شاخه‌ها را تسهیل می‌کنند. نوع داده‌های مجاز در فیلدها عبارتند از اینتیجر، اعداد ثابت، اعداد ممیز شناور، رشته‌های حروف Hollerith، وضعیت یا بولی. بخش‌های پویا بخش‌های پویا عملیات پردازشی را مشخص می‌کنند و در نتیجه کد اجرایی را به وسیله کامپایلر تولید می‌کننند. یک بخش پویا شامل یک عملگر است که به وسیلهٔ یک لیست از عملوندها و عملگرهای اضافی ای تعیب می‌شود. یک عملوند ممکن است یک نام تنها، یک ثابت، یک ارجاع به عناصر داده یا یک عبارت باشد.U.S. | ## بخش 3: سی‌ام‌اس-۲ (زبان برنامه‌نویسی) | عملگرنقش SETمحاسبات را انجام می‌دهد یا برای تخصیص مقدار استفاده می‌شود SWAPمحتوای دو واحد داده را جابه‌جا می‌کند GOTOجریان اجرایی یک برنامه را تعییر می‌دهد یا یک بخش سوئیچ را صدا می‌زند IFیک مقایسه یا عبارت بولی را برای اجرای شرطی بیان می‌کند VARYیک چرخهٔ برنامه را ایجاد می‌کند FINDیک جدول را برای داده‌ای جستجو می‌کند عملگرهای ویژه عملگرهای ویژه ارجاع به ساختارهای داده و عملیات بر روی آن‌ها را تسهیل می‌کند.U.S. Navy اپراتور تابعBIT به یک رشته از بیت‌ها در یک عنصر داده ارجاع می‌دهدCHAR به یک رشته کاراکتر ارجاع می‌دهد CORAD به یک آدرس هسته ارجاع می‌دهد ABS مقدار مطلق یک عبارت را به دست می‌آورد COMP مکمل یک عبارت بولی برنامه ساختار اعلان‌ها بخش‌های پویا توصیف کنندهٔ عملیات پردازش یک برنامه دسته‌بندی شده را به بلوک‌های بخش‌هایی به نام متدها هستند.U.S. نرم‌افزار سیستم شامل مانیتور، کامپایلر، بارکنندهٔ کتابخانهٔ CP-642 و نوار ابزار و فلوچارت بود.U.S. ورودی و خروجی، نرم‌افزار امکانات کتابخانه و ابزارهای اشکال‌زدایی را فراهم می‌کند. در طول دهه ۱۹۷۰ نسخه‌های مختلف کامپایلر CMS-2 وجود داشت که بسته به کامپیوتر مورد استفاده، برای کامپایل مورد استفاده قرار می‌گرفت. قسمتی از کد منبع باید بازنویسی می‌شد تا برای اجرای بعضی توابع به کار آیند؛ و نسخه‌های مختلف CMS-2 مشکلاتی با ابزار اشکال زدایی داشتند. کتابخانهٔ CMS-2 یک سیستم مدیریتی است که ذخیره‌سازی و دسترسی به منبع و کد هدف را فراهم می‌کند. بار کنندهٔ کد هدف CP-642 دو بارکنندهٔ کد هدف برای بارگذاری کد هدف مطلق یا جابه‌جا پذیر. | ## جمع‌بندی | فلوچارت ساز CMS-2 نرم‌افزار فلوچارت ساز بخش‌های فلوچارت ساز را در کد منبع CMS-2 پردازش می‌کند و خروجی آن یک فلوچارت است که به یک چاپگر سرعت بالا فرستاده می‌شود.