Infix to Postfix وشفنا كيف الكومبايلر بحول من Expression Evaluation بالدرس الماضي تحدثنا عن موضوع.

Postfix and Prefix are easier to deal with from terms of the machine.

Infix to Postfix (Example - Review)


image.png

How compiler converts from infix to postfix with Stack?


Compiler doesn’t push operands to the stack like humans, it pushed the operators in the expression.

القاعدة العامة انو الكومبايلر بضيف العمليات على الستاك وليس المعاملات، وبس دخل عملية على الستاك واجت عملية بعدها. يجب ان تكون اولويتها اعلى منها لتقدر تدخل الستاك غير هيك، يتم عمل “بوب للعملية القديمة” ونضيف العملية الجديدة على الستاك

1. نمشي من اليسار لليمين وشفنا رقم ننزله على حاله ونكفي

  1. نمشي من اليسار لليمين وشفنا رقم ننزله على حاله ونكفي

اشارة الناقص اولويتها اقل من الضرب، والقاعدة تقول ان العملية اللي بدها تدخل على الستاك اولويتها لازم تكون أكبر (وليس اكبر او يساوي) العملية الموجودة سابقا بالستاك، لذلك نعمل بوب لاشارة الضرب وندخل اشارة الناقص على الستاك

اشارة الناقص اولويتها اقل من الضرب، والقاعدة تقول ان العملية اللي بدها تدخل على الستاك اولويتها لازم تكون أكبر (وليس اكبر او يساوي) العملية الموجودة سابقا بالستاك، لذلك نعمل بوب لاشارة الضرب وندخل اشارة الناقص على الستاك

2. اضافة اشارة الضرب الى الستاك

  1. اضافة اشارة الضرب الى الستاك

مشينا خطوة كمان ونزلنا ال 2 الأخيرة

مشينا خطوة كمان ونزلنا ال 2 الأخيرة

3. تنزيل رقم أربعة على حاله

  1. تنزيل رقم أربعة على حاله

ما ضل شي بالتعبير الرياضي لذلك نعمل بوب لاخر اشارة أيضا وتصير عنا التعبير جاهز بصيغة بوست فيكس

ما ضل شي بالتعبير الرياضي لذلك نعمل بوب لاخر اشارة أيضا وتصير عنا التعبير جاهز بصيغة بوست فيكس

Examples


Ex 1

Ex 2