سؤال

إذا كان لدي قواعد اللغة التالية: giveacodicetagpre.

كيف يمكنني تطبيقه في Prolog؟

حاولت هذا: giveacodicetagpre.

ولكن من الواضح أنه لا يعمل لأن رأس القائمة لا يمكن أن يكون قائمة.

ثم حاولت تطبيق إصدار جديد على النحو التالي: giveacodicetagpre.

ولكن بالنسبة إلى isMatched([a,b,a])، فإنه ينفد من المكدس.

كيف يمكنني إصلاح هذا؟

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

المحلول

يبدو وكأنه الواجبات المنزلية، لذلك لن أحاول أن أفعل ذلك من أجلك.

قد ترغب في إلقاء نظرة على قواعد النحوية المحددة (DCGS) في Prolog.هذا هو الأساس السكر النحوي الذي يسمح لك بكتابة قواعد النحوية التي تقرأ المزيد مثل النحو من PROLOGESTS.إذا فهمت كيف هذه العمل، فمن المحتمل أن يكون لديك فهم لائق لكيفية التحليل في prolog.

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