موضوع مقاله: زبان برنامه‌نویسی فورث | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # زبان برنامه‌نویسی فورث | مقدمه: فورث یک زبان برنامه‌نویسی رایانه بر پایه برنامه‌نویسی ساخت یافته و ساختمان داده پشته است و در اصل توسط چاک مور طراحی شده‌است. | ## بخش 1: زبان برنامه‌نویسی فورث | از ویژگی‌های این زبان می توان به برنامه‌نویسی ساخت یافته، پژواک (توانایی بررسی و تغییر ساختار برنامه در حین اجرا)، برنامه‌نویسی متقابل (توابع این زبان با هم قرار گرفتن در کنار هم ترکیب شده‌اند) و قابلیت توسعه ماژولار (برنامه‌نویس می‌تواند دستور جدید ایجاد کند) اشاره کرد. اگرچه نام این زبان مخفف کلمه ای نیست، اما گاهی اوقات به دلیل استفاده زیاد در سال‌های اولیه نام آن با حروف بزرگ FORTH نوشته می‌شود. Forth که یک زبان برنامه‌نویسی رویه ای و بدون بررسی نوع داده‌است، این زبان امکان اجرای تعاملی دستورها (ساختن یک شل مناسب برای سیستم‌هایی که فاقد سیستم عامل رسمی هستند) و توانایی کامپایل دستورات برای اجرای بعدی را فراهم می‌کند. در گذشته زبان فورث، روش استاندارد کامپایل کردن کد ریسه‌ای بود، اما پیاده‌سازی‌های مدرنی وجود دارد که مانند کامپایلرهای زبان‌های برنامه‌نویسی دیگر کد ماشین بهینه‌سازی شده را تولید می‌کند. همچنین پرفروش‌ترین بازی رایانه ای سال 1986 Starflight، ساخته شرکت الکترونیک آرتس، توسط نسخه ای سفارشی شده از زبان فورث نوشته شده‌است. پیاده‌سازی آزاد این زبان برنامه نویسی که Gforth نام دارد هنوز به شکل مستمر پشتیبانی می‌شود بررسی اجمالی Forth یک زبان ساده و در عین حال قابل گسترش است. وجود قابلیت گسترش (ماژولار بودن) در این زبان اجازه نوشتن برنامه‌های مهم را می‌دهد. محیط برنامه‌نویسی زبان فورث کامپایلر را با شل، که در کاربر زیرروالها که کلمات(words) نامیده می‌شوند را تعریف و اجرا می‌کند. | ## بخش 2: زبان برنامه‌نویسی فورث | کلمات بدون کامپایل یا راه اندازی مجدد کل برنامه می‌توانند به صورت تعاملی تعریف، آزمایش، تعریف مجدد و اشکال زدایی شوند. در حالت عادی، اجرای برنامه اثری یکسان با دوباره وارد کردن دستی کد منبع و کامپایل آن دارند فلسفه زبان فورث بر استفاده از کلمات ساده و کوچک تأکید دارد. کلمات مربوط به کارهای بزرگتر بسیاری از کلمات کوچکتر را فراخوانی می‌کنند که هرکدام یک کار فرعی مشخص را انجام می‌دهند. این کلمات، ماژول‌های متمایزی هستند که به‌طور ضمنی از طریق مکانیزم پشته ارتباط برقرار می‌کنند (داده‌ها را منتقل می‌کنند) و می‌توانند به صورت مستقل، ساخته و آزمایش شوند. Forth را "زبان فرا برنامه ای " خوانده‌اند: زبانی که می‌تواند برای ایجاد زبانهای خاص دامنه مورد استفاده قرار گیرد. کاربردها فورث دارای کاربردهای نجومی و فضایی و همچنین دارای سابقه استفاده در سیستم‌های نهفته‌است. توسط این زبان نوشته شده‌اند شرکت آتاری برای نمایش توانایی‌های رایانه‌های خانواده ۸ بیتی آتاری در فروشگاه‌ها از یک نسخهٔ نمایشی که توسط زبان Forth نوشته شده بود استفاده کرد. مثال برنامه‌نویسی فورث از ساختمان داده پشته و نشانه گذاری معکوس لهستانی (نشانه گذاری پیش وندی) استفاده می‌کند که معمولاً در ماشین حساب‌های شرکت هیولت پاکارد (HP) استفاده می‌شود. | ## بخش 3: زبان برنامه‌نویسی فورث | در این نشانه گذاری، عملگر بعد از عملوندهای آن قرار می‌گیرد، در مقابل نشانه گذاری میانوندی متداول که عملگر بین عملوندها قرار می‌گیرد، قرار می‌گیرد. انعطاف‌پذیری فورث، یک دستور زبان BNF را تولید می‌کند و یک کامپایلر یکپارچه ندارد. گسترش کامپایلر، به جای اصلاح دستور زبان و تغییر در عملکرد اصلی آن فقط به نوشتن یک کلمه (word)جدید نیاز دارد با استفاده از نشانه گذاری معکوس لهستانی می‌توان نتیجه عبارت ریاضی (25 * 10 + 50) این طریق بدست آورید: 25 10 * 50 + CR . 300 ok راست|150x150پیکسل ابتدا اعداد ۲۵ و سپس ۱۰ را داخل داده ساختار پشته قرار می‌دهیم. راست|150x150پیکسل خواندن کلمه * از ورودی دو عدد بالا را از پشته خارج می‌کند، آنها را ضرب می‌کند و نتیجه ضرب را دوباره داخل پشته قرار می‌دهد. راست|150x150پیکسل سپس کلمه + از ورودی خوانده می‌شود دو مقدار بالا را از پشته خارج می‌شوند و جمع آنها محاسبه می‌شود دهد. | ## جمع‌بندی | زیر روال دستورات زیر را انجام می‌دهد: DUPعدد داخل پشته را تکرار می‌کند 6 عدد ۶ را به بالای پشته اضافه می‌کند.