پاورپوینت کامل طراحی و پیاده سازی زبانها ۶۲ اسلاید در PowerPoint
توجه : این فایل به صورت فایل power point (پاور پوینت) ارائه میگردد
پاورپوینت کامل طراحی و پیاده سازی زبانها ۶۲ اسلاید در PowerPoint دارای ۶۲ اسلاید می باشد و دارای تنظیمات کامل در PowerPoint می باشد و آماده ارائه یا چاپ است
شما با استفاده ازاین پاورپوینت میتوانید یک ارائه بسیارعالی و با شکوهی داشته باشید و همه حاضرین با اشتیاق به مطالب شما گوش خواهند داد.
لطفا نگران مطالب داخل پاورپوینت نباشید، مطالب داخل اسلاید ها بسیار ساده و قابل درک برای شما می باشد، ما عالی بودن این فایل رو تضمین می کنیم.
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل می باشد و در فایل اصلی پاورپوینت کامل طراحی و پیاده سازی زبانها ۶۲ اسلاید در PowerPoint،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از مطالب داخلی اسلاید ها
پاورپوینت کامل طراحی و پیاده سازی زبانها ۶۲ اسلاید در PowerPoint
اسلاید ۴: ۴activation recordRemember that data storage for subprograms is in an activation record.var X: integer;X is of type integer.L-value of X is some specific offset in an activation record.Goal is to look at locating activation record for P.Given an expression: X = Y + Z1. Locate activation record containing Y.2. Get L-value of Y from fixed location in activation record.3. Repeat process for Z and then X.
اسلاید ۵: Narges S. Bathaeianانواع محیطهای اجراکاملا ایستا (fully static): simple call-returnFORTRAN77مبتنی بر پشته (stack based)C, PASCALکاملا پویا (fully dynamic)LISP
اسلاید ۶: Narges S. BathaeianFully staticقبل از اجرای برنامه, یک Activation record برای هر تابع , در نظر گرفته می شود.همه متغیرها (global, local) از یک آدرس ثابت قابل دستیابی هستند.پارامترهای توابع تنها اشاره گر به مکانهایی از تابع صدا زننده هستند. توابع بازگشتی نمی توانیم داشته باشیم.پوینتر نمی توانیم داشته باشیم.
اسلاید ۷: Narges S. Bathaeianشکل کلی حافظه در محیط کاملا ایستا(الگوی اول)
اسلاید ۸: Narges S. Bathaeianشکل کلی حافظه در محیط کاملا ایستا(الگوی دوم)
اسلاید ۹: Narges S. Bathaeianمثال از یک برنامه FORTRAN PROGRAM TESTCOMMON MAXSIZEINTEGER MAXSIZEREAL TABLE(10), TEMPMAXSIZE = 10READ *, TABLE(1), TABLE(2), TABLE(3)CALL QUADMEAN(TABLE,3,TEMP)PRINT *, TEMPENDSUBROUTIN QUADMEAN(A, SIZE, QMEAN)COMMON MAXSIZEINTEGER MAXSIZE, SIZEREAL A(SIZE), QMEAN, TEMPINTEGER KTEMP = 0.0IF(( SIZE.GT.MAXSIZE).OR.(SIZE.LT.1)) GOTO 99 DO 10 K=1, SIZETEMP = TEMP+ A(K) * A(K)10 CONTINUE99 QMEAN = SQRT(TEMP/SIZE)RETURNEND
اسلاید ۱۰: Narges S. Bathaeianمثال از یک برنامه FORTRAN PROGRAM TESTCOMMON MAXSIZEINTEGER MAXSIZEREAL TABLE(10), TEMPMAXSIZE = 10READ *, TABLE(1), TABLE(2), TABLE(3)CALL QUADMEAN(TABLE,3,TEMP)PRINT *, TEMPENDSUBROUTIN QUADMEAN(A, SIZE, QMEAN)COMMON MAXSIZEINTEGER MAXSIZE, SIZEREAL A(SIZE), QMEAN, TEMPINTEGER KTEMP = 0.0IF(( SIZE.GT.MAXSIZE).OR.(SIZE.LT.1)) GOTO 99 DO 10 K=1, SIZETEMP = TEMP+ A(K) * A(K)10 CONTINUE99 QMEAN = SQRT(TEMP/SIZE)RETURNENDMAXSIZETABLE(1)…TABLE(10)TEMP3ASIZEQMEANRETURN ADDRESSTEMPKAct. rec تابع TESTAct. rec تابع QUADMEANReturn addr. (IP = PC)
اسلاید ۱۱: Narges S. BathaeianStack basedبا فراخوانی تابع activation record مربوط به آن در stack , push می شود و هنگام بازگشت به تابع صدازننده, از stack , pop می شود.دو نوعStatic scopeبدون local procedure : مانند زبان Cبا local procedure : مانند زبان PascalDynamic Scope…Code segmentStackHeap
اسلاید ۱۲: PZramming Language design and Implementation -4th EditionCopyright©Prentice Hall, 2000Activation record structure
اسلاید ۱۳: Narges S. Bathaeianمثال از یک برنامه C #include <stdio.h>int x , y ;int gcd ( int u , int v ){if (v==0) return u;else return gcd(v , u % v);}main(){scanf(“%d%d”, &x , &y );printf(“%dn”,gcd(x,y));return 0;} x: 15 y: 10 Act. rec تابع mainu : 15v : 10EPIPu : 10v : 5EPIPu : 5v : 0EPIPCEPspControl link = EP: Environment Pointer
اسلاید ۱۴: Narges S. BathaeianتوضیحاتCEP (Current Environment Pointer) = FP (frame pointer): رجیستری که در آن آدرس activation record جاری در آن است.sp : stack pointer: رجیستری که در آن آدرس سر stack در آن است.EP: آدرس activation record قبلی را دارد.آدرس متغیرهای push شده می تواند با توجه به CEPو اندازه بایت لازم تعیین شوند.متغیرهای محلی تابع و موقت بعد از return address در تابع push می شوند.CEP ها تشکیل یک زنجیره بنام DCP (Dynamic chain pointer) می دهند.
اسلاید ۱۵: Narges S. Bathaeianهنگام فراخوانی یک تابع (prologue):آرگومانها محاسبه شده و در stack , push می شوند.مقدار CEP در stack , push می شود.(EP)مقدار جدید CEP برابر sp جاری می شود.آدرس بازگشت (PC) در stack , push می شود. (IP)یک jump به ابتدای کد تابع فراخوانی شده انجام می شود.
اسلاید ۱۶: Narges S. Bathaeianهنگام بازگشت از یک تابع (Epilogue):مقدار CEP در sp ریخته می شود.مقدار EP به داخل CEPریخته می شود.یک پرش با توجه به آدرس موجود در return address به کد انجام می شود.آرگومانها از stack , pop می شوند تا مقدار sp تصحیح شود.
اسلاید ۱۷: Narges S. Bathaeianمثال از یک برنامه C #include <stdio.h>int x , y ;int gcd ( int u , int v ){int t;if (v==0) return u;else { t= gcd(v , u % v); return t;}}main(){scanf(“%d%d”, &x , &y );printf(“%dn”,gcd(x,y));return 0;} x: 15 y: 10 Act. rec تابع mainCEP= XX00sp = XX04pc = X0X0
اسلاید ۱۸: Narges S. Bathaeianمثال از یک برنامه C #include <stdio.h>int x , y ;int gcd ( int u , int v ){ int t;if (v==0) return u;else { t= gcd(v , u % v); return t;}}main(){scanf(“%d%d”, &x , &y );printf(“%dn”,gcd(x,y));return 0;} x: 15 y: 10 Act. rec تابع mainu : 15v : 10XX00X0X0t : CEP=XX0Bsp=XX11pc = X0XA
اسلاید ۱۹: Narges S. Bathaeianمثال از یک برنامه C #include <stdio.h>int x , y ;int gcd ( int u , int v ){ int t;if (v==0) return u;else { t= gcd(v , u % v); return t;}}main(){scanf(“%d%d”, &x , &y );printf(“%dn”,gcd(x,y));return 0;} x: 15 y: 10 Act. rec تابع mainu : 15v : 10XX00X0X0t : CEP=XX0Bsp=XX0Fpc = X0XD
اسلاید ۲۰: Narges S. Bathaeianمثال از یک برنامه C #include <stdio.h>int x , y ;int gcd ( int u , int v ){int t;if (v==0) return u;else { t= gcd(v , u % v); return t;}}main(){scanf(“%d%d”, &x , &y );printf(“%dn”,gcd(x,y));return 0;} x: 15 y: 10 Act. rec تابع mainu : 15v : 10XX00X0X0t : u : 10v : 5XX0B X0XDt : CEPsp
اسلاید ۲۱: Narges S. Bathaeianمحاسبه offset متغیرها در زمان کامپایلآدرس EP در هر activation record مبنا در نظر گرفته می شود.آدرس متغیر هایی که در بالای EP هستند (پارامترهای تابع) با مقدار مثبت و بقیه با مقدار منفی نمایش داده می شوند.
اسلاید ۲۲: Narges S
- همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
- ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.
مهسا فایل |
سایت دانلود فایل 