اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يقوم المترجم أو المفسر على عدة خطوات ومراحل ومن هذه المراحل ال Lexical Analysis حيث يُجزئ المترجم النص البرمجي إلى tokens وحدات لغوية وفي هذه المرحلة يفحص المترجم الحرف الأول من كل Token ليحدد نوعه إذا كان رقمًا (0-9) يُعتبر عددًا حتى نهاية السلسلة الرقمية

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

وهذه العملية Backtracking تسبب بطئ في المترجم ولذلك يتم التراجع عن هذه العملية حتى يحسّن أداء المترجم.

  • 0
نشر

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...