حساب کاربری
​
زمان تقریبی مطالعه: 1 دقیقه
لینک کوتاه

هم‌تمثیلی

هم‌تمثیلی (به انگلیسی: Homoiconicity) در برنامه‌نویسی کامپیوتری نامی است که الن کی در تز دکترای خود در سال ۱۹۶۹ میلادی به خصوصیتی از زبان‌های برنامه‌نویسی اطلاق کرده‌است که در آن‌ها ساختار برنامه دقیقاً شبیه به شکل نحوی آن باشد؛ که در نتیجه، ساختار درونی برنامه را می‌توان به راحتی از روی متن سطح بالای برنامه استنتاج کرد. در صورتی که زبانی هم‌تمثیل باشد، بدین معنی است که درخت نحوی آن دارای ساختاری مشابه با متن زبان است، که خود به این معنی است که درخت نحوی زبان و نحو زبان از دیدگاه جبر مجرد دارای یک‌ریختی هستند. این ویژگی اجازه می‌دهد تا تمام کدهای داخل برنامه با یک نوع نمایش یکسان به عنوان داده نگاشته شوند و یا مورد دسترسی قرار گیرند.

نمایش زبان‌هایی مثل کلوژر برای سینتکس دقیقاً مشابه با عملیاتی است که پردازنده برای عملیات جبری استفاده می‌کند. در حالت پیشرفته‌تر، پرانتزها، تعاریف متغیر و تعریف توابع هم در سینتکس زبان دقیقاً به همان ترتیبی هستند که در درخت نحوی آمده.

اولین مزیت زبان‌های هم‌تمثیل، توانا بودن در تولید و تغییر کد همان برنامه در زمان اجرا است که در زبان‌های از نوع دیگر از طریق بازتاب یا Reflection (تبدیل رشته‌ها و تفسیر آن در کامپایلر) انجام می‌شود.

فهرست

  • ۱ جستارهای وابسته
  • ۲ برای مطالعه بیشتر
  • ۳ پیوند به بیرون
  • ۴ منابع

جستارهای وابسته

  • کرل
  • آی‌او

برای مطالعه بیشتر

  • Ira R. Forman and Nate Forman, Java Reflection in Action (2005), شابک ‎۱−۹۳۲۳۹۴−۱۸−۴
  • Ira R. Forman and Scott Danforth, Putting Metaclasses to Work (1999), شابک ‎۰−۲۰۱−۴۳۳۰۵−۲

پیوند به بیرون

  • Reflection in logic, functional and object-oriented programming: a short comparative study
  • An Introduction to Reflection-Oriented Programming
  • Brian Foote's pages on Reflection in Smalltalk
  • Java Reflection API Tutorial از اوراکل

منابع

  • "The Reader" (به انگلیسی). clojure.org. Retrieved 11 January 2018.
آخرین نظرات
کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.