سؤال

غالبا ما يكون من المفيد أن الكنسي تمثيل اللغة (في حالتي أنها عادة ما تكون محددة المجال لغات);ومع ذلك, أعتقد أن هناك حدودا صارمة على التعبير من اللغات المعنية التي تحدد ما إذا كان النموذج المتعارف عليه يمكن تحديد و/أو إنشاء التعسفي البرنامج في تلك اللغة.للأسف, لقد كنت غير قادر على العثور على المراجع التي أنا (غامضة) أذكر القراءة عن هذا.

على يد واحدة ، فإنه يبدو من المعقول أن خلق الكنسي تمثيل اللغة هي المماثلة التعقيد إلى العديد من الرسم البياني المشاكل (على سبيل المثال:الرسم البياني التماثل) ، ولكن من ناحية أخرى ، iirc, المجمعين مثل دول مجلس التعاون الخليجي ، yhc ، ghc استخدام وسيطة تمثيل لتوليد المخرجات في صيغ مختلفة (الجمعية, جافا سكريبت, الخ) ، لذلك هذا هو على الأقل في بعض أشكال حل المشكلة.

عندما يكون من الممكن تحديد / توليد الكنسي شكل معين اللغة ؟ (كيف معبرة يمكن أن تكون اللغة, وكيف لغة التعبير تأثير فائدة الكنسي الأشكال؟) يرجى تقديم المراجع أو البراهين إذا كان ذلك ممكنا.

تحرير: على سبيل المثال ، اللغة العادية (على سبيل المثال:إن 'نقية' شكل من التعابير العادية) لا يمكن التعبير عن العديد من الأشياء التي تورينج-الكامل في اللغة يمكن.وبعبارة أخرى, لا يمكن أن تكتب ملقم ويب في اللغة العادية ، ولكن يمكنك مع امدا حساب التفاضل والتكامل).سؤالي هو عن نظرية الاحتمالات ، و لا يكون إجابة محددة تتعلق نظرية التعقيد.إذا كان لدي DSL التي تحتاج إلى أن تنتقل إلى نظام آخر ، فإنه غالبا ما يكون من المفيد إنشاء الكنسي شكل هذا الرمز قبل نقلها ، لأن من شأنها أن فصل مستقل تمثيل المستخدمة من قبل اثنين من أنظمة مختلفة. ومع ذلك, ، إذا كان ف-مساحة كاملة ، أو NP-Complete لترجمة تورينج-الكامل في اللغة و الشكل, ثم يجب أن لا تضيع الوقت في محاولة لبناء النموذج المتعارف عليه إما أن تجد طريقة أخرى للقيام بذلك ، أو الحد من تعقيد اللغات إلى شيء يمكن يكون canonicalized في وقت متعدد الحدود.

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

المحلول

من قبل "الكنسي التمثيل" أفترض أنك تعني ما يلي:دعوة البرامج P و س أي ما يعادل إذا كانت "فعل نفس الشيء" على نفس المدخلات."فعل الشيء نفسه" يعني أن البرامج لها نفس الناتج إما كلا البرنامجين توقف بعد وقت محدود أو كليهما أدخل حلقة لا نهائية.هذا فيما يتعلق التعادل يحدد معادلة حصص في مجموعة من البرامج."Canonical التمثيل" من برنامج P هو برنامج P ينتمون إلى نفس المعادلة من الدرجة ، تتطلب أن جميع أعضاء نفس المعادلة من الدرجة نفس الكنسي التمثيل.

تورينج-لغات كاملة ، تورينج-محسوب الكنسي التمثيل من شأنها أن تمكنك من حل وقف المشكلة على النحو التالي:أول كتابة برنامج تتكون من حلقة لا نهائية و تجد الكنسي التمثيل س.ثم عن أي مدخلات البرنامج P, أولا تحويلها آليا في برنامج P0 أن يفعل الشيء نفسه إلا أنه لا ينتج الإخراج ، ثم تجد الكنسي التمثيل P0'من هذا البرنامج.إذا كانت النتيجة هي س, أنت تعرف أن P0 لا تعليق, وبالتالي لا P.خلاف ذلك ، P0 توقف, وحتى لا P.

حتى أكثر متعة قراءة بعض Gregory Chaitin هو العمل على ما يسميه "أنيقة" البرامج.

نصائح أخرى

ويبدو لي أن جمع إلى لغة التجميع يمكن تصنيفها على أنها ترجمتها إلى شكل الكنسي بطريقة عملية.

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