كيف يمكنني إضافة ج-على أساس اللغة دول مجلس التعاون الخليجي

StackOverflow https://stackoverflow.com/questions/811022

سؤال

إذا أردت تعديل أو إضافة ملحقات بلدي ج ، وإضافتها إلى دول مجلس التعاون الخليجي ج مترجم, ماذا يجب أن أفعل ؟ أنا لا أريد أن تقترح إدخال تغييرات على اللغة ، أريد أن أعرف كيفية التحويل البرمجي C تعمل في الواقع.

لدي نظرة على التعليمات البرمجية المصدر أن دول مجلس التعاون الخليجي و يبدو كما لو كان الهدف-C يتم تطبيق بسيط محلل أن يولد البرمجية التي تجعل من الإشارات إلى تعديل مكتبة وقت تشغيل ثم عن كل ما هو ج-على أساس أنه يستخدم العادية ج مترجم.لم دراستها بشكل مكثف لذلك أنا لست على الطريق الصحيح.

أقول على سبيل المثال أنا أريد أن أضيف بلدي الكلمة إلى الهدف-C, فقط من أجل المتعة.أريد أن أضيف شيئا يبدو من السهل لتنفيذ ربما @assert.كل ما أريده هو @assert إلى استدعاء دالة التي سوف تضيف إلى الهدف-C وقت التشغيل:

objc_runtime_assert (__FILE__, __LINE__, expression, "string version of expression");

من الواضح أنا فقط يمكن تنفيذ هذا بمثابة استدعاء دالة والكلي على كل حال ، ولكن أريد أن تفهم من تحليل وتصنيف مراحل التعليمات البرمجية المصدر C, وربما حتى أتمكن من إضافة ملحقات بلدي إلى اللغة للاستخدام بلدي.

شفرة المصدر لقد نظرت دائما يشير إلى "الأشجار" و هناك العديد من, العديد من وحدات الماكرو التي تؤدي الإجراءات أو الحصول على معلومات من هذه الأشجار.

هل هناك أي وثائق حول هذا يفسر هذا النوع من شيء في العمق ..

هل كانت مفيدة؟

المحلول

والأشجار هي الأشجار جملة مجردة (AST) وسوف أي كتاب مترجم تعليم أن. الكتاب التنين عبارة واحدة كلاسيكية جدا، في الدرجة أخذت كنا The essence of compilers التي كتبها روبن هنتر، ISBN 0-13-727835-7. يجب أيضا أن تكون قادرة على العثور على <م> طن من المواد في الكليات والجامعات المختلفة مع بعض مصطلحات البحث الجيدة (تصميم المترجم، AST، تحليل معجمي، تحليل من أعلى إلى أسفل، من أسفل إلى أعلى التوزيع، التحليل الدلالي، LL ، LR).

نصائح أخرى

هذا يعتمد على ما إذا كنت بالفعل على دراية مع المجمعين في العام أم لا.إذا لم تبدأ مع التنين الكتاب.إذا كان الجواب نعم ، ثم دول مجلس التعاون الخليجي لديها بالفعل بعض الوثائق بالنسبة لك:

  1. دول مجلس التعاون الخليجي الداخلية دليل
  2. على دول مجلس التعاون الخليجي ويكي, ، على وجه الخصوص ، الشروع في العمل الصفحة تحتوي على معلومات حول العديد من الأشياء دول مجلس التعاون الخليجي الأشجار المدرجة.

وهذا يعتمد على كيفية كنت أفعل ذلك - ولكن قد ترغب في النظر لتنفيذ دول مجلس التعاون الخليجي من لغة البرمجة D - <وأ href = "http://www.digitalmars.com/d/archives/D/ جنو / ل"يختلط =" نوفولو noreferrer "> GCD . هذا هو التقدم في العمل، ولكن هي لغة كاملة تنفيذها في إطار دول مجلس التعاون الخليجي دون (حتى الآن) من ذلك بكثير إذا أي اعتراف من داخل فريق دول مجلس التعاون الخليجي. قد يكون الخبرات GCD مفيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top