۰
subtitle
ارسال: #۱
  
کد میانه و بهینه سازی
سلام دوستان!!!یه سوال من کتاب کامپایلر اقای شاپوری رو داریم!!ولی این ۲فصل اخرشون خیلی برام گنگه(کد میانی-بهینه سازی کد میانی)
میخواستم ببینم اگه کسی از بچه ها میتونه کمکی کنه!!از این ۲ فصل چه مطالبی مهمه؟؟؟
من کلا متوجهش نمیشم
میخواستم ببینم اگه کسی از بچه ها میتونه کمکی کنه!!از این ۲ فصل چه مطالبی مهمه؟؟؟
من کلا متوجهش نمیشم
۰
ارسال: #۲
  
RE: کد میانه و بهینه سازی
[quote='miladcr7' pid='328860' dateline='1421922991']
سلام دوستان!!!یه سوال من کتاب کامپایلر اقای شاپوری رو داریم!!ولی این ۲فصل اخرشون خیلی برام گنگه(کد میانی-بهینه سازی کد میانی)
میخواستم ببینم اگه کسی از بچه ها میتونه کمکی کنه!!از این ۲ فصل چه مطالبی مهمه؟؟؟
من کلا متوجهش نمیشم
[/quot
جدول پرش و تعداد حافظه موقت رو سعی کن کار کنی البته من کتابم پوران هست ولی فک کنم خیلی سرفصلامون فرق نداشته باشه
سلام دوستان!!!یه سوال من کتاب کامپایلر اقای شاپوری رو داریم!!ولی این ۲فصل اخرشون خیلی برام گنگه(کد میانی-بهینه سازی کد میانی)
میخواستم ببینم اگه کسی از بچه ها میتونه کمکی کنه!!از این ۲ فصل چه مطالبی مهمه؟؟؟
من کلا متوجهش نمیشم
[/quot
جدول پرش و تعداد حافظه موقت رو سعی کن کار کنی البته من کتابم پوران هست ولی فک کنم خیلی سرفصلامون فرق نداشته باشه
۰
ارسال: #۴
  
RE: کد میانه و بهینه سازی
(۰۲ بهمن ۱۳۹۳ ۰۳:۱۸ ب.ظ)miladcr7 نوشته شده توسط: کد پرش رو گفتن ولی چیزی از جدول پرش توش نیست
چند راه برای پیاده سازی case هستش
که یه را جدول پرش هست
جدول پرش اینگونه هستش که تو پرش ما غیر شرطی هست و از مقایسه تکراری جلوگیری میکنه اول عبارت شرطی case
ارزیابی میشه و مقدارش به عنوان آفست برای جدول پرش استفاده میشه
مثلا این دستور case رو داشته باش
case a
when 2
{st}
when 3
{st3}
when 4
{st 4}
when 5
{st 5}
when 9
{۶ st}
حالا جدولمون اینطوری میشه
ارزیابی a میذارش تو مثلا t1 دقت کن که میشه تفاوت مکان به ابتدای جدول اینجا چون از ۲ شروع میشه درسته a=2 هست ولی اولین مکان جدولمون میشه پس باید t1 برابر بشه با (a-2 )
jump L0+t1(شروع جدول پرش میشه از Lo و اینجا آفستش رو با t1 جمع کرده)
۱/ jump to L1 (برای پرش واسه when 2)
۲/ jump to L2 (برای پرش واسه when 3)
۳/ jump to L3 (برای پرش واسه when 4)
۴/ jump to L4 ( برای پرش واسه when 5)
۵/ jump to L5 ( واسه ۶ درسته که نداریم ولی ایراد جدول پرش اینه که باید واسه همه اونایی که تو محدوده هستند در نظر بگیره تا آدرسمون اشتباه نشه )
۶/ jump to L6
۷/ jump to L7
۸/ jump to L8 ( واسه ۹ هستش)
اندازه جدول پرش میشه تا اینجا از این به بعد رو دیگه جز جدول پرش نمیگیرن
L1:
st
jump L10
L2:
st2
jump L10
L3:
st3
jump L10
L4:
st4
jump L10
L5:
st5
jump L10
L9:
St6
L10:
بقیه دستورات بعد از case
شاید جایشو اشتباه کرده باشم اگه تناقض دیدی بگو
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close