ما هو الفرق بين دلالات و بناء جملة لغة البرمجة؟


الاجابه 1:

كما تشير الإجابات الأخرى ، فإن بناء جملة لغات البرمجة يحدد التعبيرات التي لم يتم تشكيلها جيدًا في اللغة.

دلالات هو أكثر تعقيدا قليلا. تم العثور على معاني التعبيرات المصممة جيدًا في لغة البرمجة في قدرتها على التنفيذ بواسطة الكمبيوتر ، أي قابليتها للتنفيذ وفقًا لتعليمات الجهاز المعينة (على سبيل المثال ، في وحدة المنطق الحسابي أو ALU للأجهزة). السلكية 'في دوائر الكمبيوتر.

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

بالنسبة لجميع لغاتنا العادية (المعروفة أيضًا باسم "الطبيعية") ، فإن هذا العالم الخارجي هو الكون وكل ما يحتويه ، بما في ذلك نحن. بالنسبة للكمبيوتر ، فإن "العالم" على غرار لغاته الرسمية (C ، Perl ، Java ، وما إلى ذلك) هو الدائرة المتكاملة التي تربطه بواجهات GUI / UX وغيرها من الأجهزة الطرفية المتصلة بالكمبيوتر.

قد تجد أيضًا أن الأسئلة والأجوبة مفيدة:

إجابة تيري رانكين على ما هي العلاقة الدقيقة بين اللغة والرياضيات والمنطق والعقل والحقيقة؟


الاجابه 2:

A2A. هذه هي المصطلحات التي غالباً ما تكون مشوشة. بناء الجملة جزء من القواعد بينما الدلالات جزء من اللغات. الأول يدرس القواعد والمبادئ التي تحكم اتحاد الجمل بينما الدلالات مرتبطة بتفسير ومعنى علامات اللغة.

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

على سبيل المثال (الثعبان +3.6):

a: int = 1 # عرض التعليقات التوضيحية b: str = "b" # عرض التعليقات التوضيحية c = a + b # صحيحة بناءً ، غير صحيحة

الاجابه 3:

مثال بسيط:

ج = أ + ب

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

ج = أ .. ب

لذلك يمكنك أن ترى أن الشكل المكتوب للتعبير "+" مطابق في اللغتين ، أي أن بناء الجملة هو نفسه. ومع ذلك ، فإن المعنى (الدلالات) مختلف ، لذلك 1 + 2 هي 3 في لوا ولكن يمكن أن تكون "12" في جافا سكريبت. تسمح لغات مثل C ++ بالحمل الزائد للمشغل ، لذا يمكن أن يكون لـ + معاني متعددة. إذا كنت أتذكر بشكل صحيح ، فإن Ocaml فقط يعرّف "+" كإضافة عدد صحيح ، وحتى C يزيد الحمل "+" على إضافة / تعويم مضاعفة.