دیاگرام سنگ قبر

از ویکی‌پدیا، دانشنامهٔ آزاد
نمودار سنگ قبر بالا نشان دهنده یک کامپایلر Ada نوشته شده با C است که کد ماشین تولید می‌کند.
نمایشی از روند بوت استرپ یک کامپایلر C نوشته شده در C، با استفاده از کامپایل آن با استفاده از کامپایلر دیگری که با کد ماشین نوشته شده‌است. چپ دست T یک کامپایلر C است که با زبان C نوشته شده و کد ماشین را تولید می‌کند. راست دست T یک کامپایلر C است که با کد ماشین نوشته شده و کد ماشین را نیز تولید می‌کند. نمودار نشان می‌دهد که این ساختار می‌تواند بوت استرپ T سمت چپ را قرار دهد و با استفاده از آن کامپایلر نوشته شده با زبان سی را کامپایل کند.

در محاسبات، نمودارهای سنگ قبر (یا نمودارهای T) از مجموعه ای از «قطعات پازل» تشکیل شده‌اند که نمایانگر کامپایلرها و سایر برنامه‌های پردازش زبان مرتبط هستند. آنها برای نشان دادن و استدلال تبدیلات از یک زبان مبدأ (سمت چپ T) به یک زبان مقصد (سمت راست T) که در یک زبان پیاده‌سازی (پایین T) تحقق می‌یابد، استفاده می‌شوند. از آنها معمولاً برای توصیف فرآیندهای پیچیده‌ای مثل بوت استرپینگ، انتقال و خودآموزی کامپایلرها (self-compiling)، مفسرها و پردازنده‌های کلان استفاده می‌شود.[۱]

نمودارهای T برای اولین بار برای توصیف بوت استرپینگ و کامپایلر متقابل توسط McKeeman و همکاران در سال ۱۹۷۱ معرفی شدند.[۲] ملوین کانوی قبل‌تر از آن مفهوم گسترده‌تری را با UNCOL خود در سال ۱۹۵۸ توصیف کرد، که براتمن در ۱۹۶۱ به آن افزود.[۳] بعداً، دیگران، از جمله PD Terry، توضیح و استفاده از نمودارهای T را در کتابهای درسی خود با موضوع ساخت کامپایلر ارائه دادند.[۱] همچنین از نمودارهای T برای توصیف ارتباط بین سرویس دهنده و سرور در شبکه جهانی وب استفاده می‌شود.[۴] ابزار آموزشی TDiag در دانشگاه لایپزیگ آلمان پیاده‌سازی شده‌است.[۵]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ Terry, 1997, Chapter 2 and Chapter 3
  2. McKeeman et al. , A Compiler Generator (1971)
  3. H. Bratman, “An alternate form of the ´UNCOL diagram´“, Comm. ACM 4 (March 1961) 3, p. 142
  4. Patrick Closhen, Hans-Juergen Hoffmann, et al. 1997: T-Diagrams as Visual Language to Illustrate WWW Technology, Darmstadt University of Technology, Darmstadt, Germany
  5. Michael Hielscher, et al. : TDiag: Entwicklung und Ausführung eines T-Diagramms, in German