الگول ۶۸ سی کیست؟ توضیح بده.
این زبان ابتدا Z۷۰ نامیده شد سپس الگول ۶۸ تبدیل شد. الگول۶۸c در ابتدا برای توسعه و برنامه‌نویسی سامانهٔ جری کمبریج که camal نام داشت ساخته شده بود. اولین کامپایلر نوشته شده برای آن در PSYCO و توسط متیومن در کمبریج ساخته شد. این زبان برنامه‌نویسی وکامپایلر آن توسط استیفان بروس و مایکل گای و به عنوان الگول ۶۸ توسعه یافت.الگول۶۸ سپس در سال ۱۹۷۱ و در سیستم عامل choas برای کامپیوترهای سازگار با cap در دانشگاه کمبریج استفاده شد. مشارکت کنندهٔ ابتدایی دیگر آن اندرو بیلر و یان واکر است. کارهای متقاعب زیادی با کامپایلر وقتی بورن در سال ۱۹۷۵ دانشگاه کمبریج را ترک کرد انجام شده‌است. ویژگی جمع‌آوری زباله به این زبان اضافی شده‌است و کد پایه هنوز روی شبیه‌ساز OS/MVT و با استفاده از هرکولس اجرا می‌شود. کامپایلر الگول ۶۸ یک خروجی zcode تولید می‌کند که حتی می‌تواند با استفاده از مترجم Zcode روی دستگاه‌های محلی کامپایل و ترجمه شود.zcode یک زبان بر پایهٔ رجیستر و بلافصل است. این ویژگی برای تفسیر یا کامپایل zcode پورت کردن الگول ۶۸C را برای شماره‌های مختلف پلتفرم‌های کامپیوتر را ترغیب می‌کند. گذشته از کامپیوترهای سازگار با cap کامپایلر برای سیستم‌های شامل CMS, TOPS-۱۰ و Z۸۰پورت شده‌استفرهنگ مشهور.یک رویهٔ ابتدایی برای این کامپایلر توسط گای و بورن برای نوشتن اولین برنامهٔ بازی زندگی روی pdp-۷ با یک دسامبر ۳۴۰ استفاده شداین برنامه‌ای که توسط گای و بورن تولید شده‌است بدون کمک آن تولید بعضی از این اکتشافات بسیار سخت است.کامپایلر برای اجرا کردن برنامه نیاز به ۱۲۸ کیلو بیت حافظه دارد. به‌طور میانگین ۶۴ کیلو بیت حافظه Z۸۰ برای اجرای کامپایلر بسیار کوچک است؛ بنابراین برنامه‌های الگول ۶۸C برای Z۸۰ باید برای کامپیوترهای سازگار با CAP و IBM System/۳۷۰ در فریم اصلی اجرا شود.الگول ۶۸c و یونیکس.استفان بروس دستورهای if ~ then ~ else ~ fi, case ~ in ~ out ~ esac and for ~ while ~ do ~ od الگول را در پوستهٔ یونیکس بورن به صورت مجدد مورد استفاده قرار داد.اما نحو دستور in تغییر یافت دستور out حذف گردید و دستور od به منظور جلوگیری از اشتباه شدن با دستور od در تابع سودمندی (به انگلیسی utility) با دستور done جابجا شد.پس از کمبریج، بورن نه سال را در آزمایشگاه بل با تیم ویرایش هفتم یونیکس سپری کرد. او همین‌طور که پوستهٔ بورن را توسعه می‌داد الگول ۶۸C را به یونیکس و روی یک DEC PDP-۱۱–۴۵پورت کرد و ویژگی‌های خاصی مانند adb را به دیباگر یونیکس برای گرفتن ردیابی برنامه‌های نوشته شده با الگول ۶۸c اضافی کردکد زیر از صفحه دستی ویرایش هفتم ADB استخراج شده adb - debugger SYNOPSIS adb [-w] [ objfil [ corfil ]] COMMANDS $modifier Miscellaneous commands. The available modifiers are: a ALGOL 68 stack backtrace. If address is given then it is taken to be the address of the current frame (instead of r4). If count is given then only the first count frames are printed.توسعهٔ الگول ۶۸c به الگول ۶۸.موارد زیر نمونه‌ای از موارد مهم اضافی شده هستند:"عبارت‌های using و environ"تلفیق عبارت‌های using و environ در الگول ۶۸c جداسازی شده‌است. environ در محلی که استفاده می‌شود کل محیط را ذخیره می‌کند. یک ماژول جداگانه که از using استفاده می‌کند به‌طور مؤثر به ماژول اولیه و در محلی که environ ظاهر می‌شود درج می‌شود.using و environ در برنامه‌نویسی بالا به پایین (به انگلیسی top_down) برخلاف برنامه‌نویسی پایین به بالا (به انگلیسی bottom_up) به‌طور ضمنی توسط مکانیزم کتابخانه‌های سنتی پر کاربرد هستند.این عبارت‌ها نوعی معکوس ساختار include# در زبان برنامه‌نویسی سی یا ساختار import در زبان پیتون است. هدف مکانیسم environ این است که به کد برنامه اجازه می‌دهد تا به قسمت‌های با اندازهٔ قابل کنترل شکسته شود.توجه شود که تنها باید یک بار فایل منبع به اشتراک گذاشته شده را تجزیه کرد برخلاف ساختار include# در زبان برنامه‌نویسی سی که هر فایل منبعی که شامل فایل منبع بود باید تجزیه شود.مثالی برای environ.فایلی که mylib.a۶۸ نام دارد:BEGIN INT dim = ۳; # a constant # INT a number:= ۱۲۰; # a variable # ENVIRON EXAMPLE1; MODE MATRIX = [dim, dim]REAL; # a type definition # MATRIX m۱; a number:= ENVIRON EXAMPLE2; print((a number))ENDمثالی برای using.فایلی که "usemylib.a۶۸" نام دارد:USING EXAMPLE2 FROM "mylib"BEGIN MATRIX m۲; # example only # print((a number)); # declared in mylib.a۶۸ # print((2 UPB m۱)); # also declared in mylib.a۶۸ # ENVIRON EXAMPLE۳; # ENVIRONs can be nested # ۶۶۶ENDمنابع.ویکی‌پدیای انگلیسی