برولوغ

البرولوغ (Prolog) هي لغة برمجة منطقية. الاسم مأخوذ من الفرنسية programmation en logique (برمجة المنطق)، تم اختراع اللغة بواسطة ألين كولميرايور حوالي العام 1972. كانت محاولة لجعل لغة البرمجة قادرة على استخدام عبارات منطقية بدل أن تكون تعليمات محددة تلقن إلى الحاسوب. صممت اللغة أساسًا لتستخدام في عمل برامج معالجة اللغات الطبيعية.

تستخدم لغة البرولوغ في العديد من برامج الذكاء الاصطناعي وبرامج معالجة اللغات الطبيعبة. عبارات وقواعد اللغة تعبتر بسيطة جداً وواضحة (يتم كتابة البرنامج بالكامل باستخدام الحقائق والقواعد). العديد من الباحثين الذين يقودون تطبيقات حديثة للبرلوغ التي جاءت نتيجة استخدام نسخات مختلفة من البرلوغ كنواة في مشاريع أنظمة حاسوب الجيل الخامس (fifth generation computer systems اختصارًا FGCS).

الحقائق Facts

تختلف طريقة البرمجة في برلوغ عن اللغات التقليدية. في برلوغ يتم كتابة الحقائق (Facts) والقواعد (Rules) في قاعدة بيانات، ثم يتم كتابة أستفسارت queries من قاعدة البيانات. الحقية عبارة عن سند (predicate) (الوحدة الأساسية للبرلوغ). يتكون السند من رأس (head) وعدد من الوسائط (arguments). مثال


cat(tom).

في هذا المثال نقول بباسطة أن هناك توم 'tom' وهو قط 'cat'،بتعبير أدق 'cat' هو رأس (head) السند و'tom' هو وسيطة (argument). هنا عدد من الأستفسارات التي يمكن سؤالها بناء على هذه الخقيقة:

هل توم قط (is tom a cat)؟


?- cat(tom).  
     yes.

ببساطة هنا نسأل إذا توم قط ويجيبنا برلوغ بنعم (yes).

ماهي الأشياء التي هي قط (what things are cats)؟


?- cat(X).  
     X = tom;
     non

القواعد Rules

أن النوع الثاني من العبارت في برلوغ هي القواعد:


father(X,Y) :- parent(X,Y),male(X).

أنواع المعلومات Data types

لاتحتوي لغة البرلوغ على أنواع معلومات (Data types) تقليدية كلغات البرمجة التقليدية الأخرى. ولكن على عناصر تركيبية (lexical elements).

الذرات Atoms

يعرف النص الثابت في برلوغ بمعنى الذرات Atoms. الذرة عبارة عن سلسلة من الحروف، الأرقام ورمز الشارحة-السفلية (_) (underscores) على أن يبدأ النص بحرف أنجليزي صغير (lower-case). عادة، عادة إذا كان هناك رمز ليس بحرف أو رقم فأنه يوضع بين (علامة التنصيص الأحادية) (مثال '+' يعتبر ذرة، في حين + يعتبر معامل)asxaxascsadcvsdcddddd

الأرقام

معظم نسخ البرلوغ لاتميز بين الأعداد الصحيحة والأعداد الحقيقية.

المتغيرات Variables

يعبر المتغيرات Variables عن نص يتكون من الحروف، الأرقام ورمز شرطة-السفلية (_) على أن يبدأ النص بحرف إنجليزي كبير (upper-case). على عكس اللغات القولية (imperative programming languages) في بيئة البرلوغ المتغير ليس مكان في الذاكرة (مستوعب) يمكن تخزين القيم فيه. تصرف المتغيرات يتبع النمط لأيجاد القيمة.


an:Prolog ast:Prolog bat-smg:Prolog bg:Пролог (език за програмиране) ca:Prolog cs:Prolog (programovací jazyk) da:Prolog (programmeringssprog) de:Prolog (Programmiersprache) el:Prolog Prolog]] eo:Prolog es:Prolog et:Prolog fa:پرولوگ fi:Prolog fr:Prolog gl:Prolog he:פרולוג (שפת תכנות) hu:Prolog id:Prolog io:Prolog is:Prolog it:Prolog ja:Prolog jbo:prolog ko:프롤로그 lt:Prolog ms:Prolog nl:Prolog no:Prolog (programmeringsspråk) pdc:Prolog pl:Prolog (język programowania) pt:Prolog ro:Prolog ru:Пролог (язык программирования) rue:Пролоґ (язык проґрамованя) sk:Prolog sl:Prolog sv:Prolog (programspråk) ta:புரொலாக் tg:Пролог (забони барноманависӣ) th:ภาษาโปรล็อก tr:Prolog uk:Пролог (мова програмування) yo:Prolog zh:Prolog