به نام خدا طراحی کامپایلرها

Σχετικά έγγραφα
محاسبه ی برآیند بردارها به روش تحلیلی

جلسه ی ۲۴: ماشین تورینگ

به نام خدا طراحی کامپایلرها

مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل

روش محاسبه ی توان منابع جریان و منابع ولتاژ

سلسله مزاتب سبان مقدمه فصل : زبان های فارغ از متن زبان های منظم

تصاویر استریوگرافی.

تحلیل مدار به روش جریان حلقه

تمرین اول درس کامپایلر

مدار معادل تونن و نورتن

نظریه زبان ها و ماشین ها

Top Down Parsing LL(1) Narges S. Bathaeian

1) { } 6) {, } {{, }} 2) {{ }} 7 ) { } 3) { } { } 8) { } 4) {{, }} 9) { } { }

فصل پنجم زبان های فارغ از متن

جلسه ی ۴: تحلیل مجانبی الگوریتم ها

جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

جلسه 3 ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک کوانتمی بیان. d 1. i=0. i=0. λ 2 i v i v i.

جلسه ی ۳: نزدیک ترین زوج نقاط

همبستگی و رگرسیون در این مبحث هدف بررسی وجود یک رابطه بین دو یا چند متغیر می باشد لذا هدف اصلی این است که آیا بین

قاعده زنجیره ای برای مشتقات جزي ی (حالت اول) :

هر عملگرجبر رابطه ای روی يک يا دو رابطه به عنوان ورودی عمل کرده و يک رابطه جديد را به عنوان نتيجه توليد می کنند.

Delaunay Triangulations محیا بهلولی پاییز 93

مثال( مساله الپالس در ناحیه داده شده را حل کنید. u(x,0)=f(x) f(x) حل: به کمک جداسازی متغیرها: ثابت = k. u(x,y)=x(x)y(y) X"Y=-XY" X" X" kx = 0

هو الحق دانشکده ي مهندسی کامپیوتر جلسه هفتم

آزمایش 8: تقویت کننده عملیاتی 2

جلسه ی ۱۱: درخت دودویی هرم

دانشکده ی علوم ریاضی جلسه ی ۵: چند مثال

فعالیت = ) ( )10 6 ( 8 = )-4( 3 * )-5( 3 = ) ( ) ( )-36( = m n m+ m n. m m m. m n mn

ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی

آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ(

Angle Resolved Photoemission Spectroscopy (ARPES)

سايت ويژه رياضيات درسنامه ها و جزوه هاي دروس رياضيات

هندسه تحلیلی بردارها در فضای R

Beta Coefficient نویسنده : محمد حق وردی

تخمین با معیار مربع خطا: حالت صفر: X: مکان هواپیما بدون مشاهده X را تخمین بزنیم. بهترین تخمین مقداری است که متوسط مربع خطا مینیمم باشد:

جلسه ی ۱۰: الگوریتم مرتب سازی سریع

ﯽﺳﻮﻃ ﺮﯿﺼﻧ ﻪﺟاﻮﺧ ﯽﺘﻌﻨﺻ هﺎﮕﺸﻧاد

فهرست مطالب جزوه ی فصل اول مدارهای الکتریکی مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل تحلیل مدار به روش جریان حلقه... 22

فصل 5 :اصل گسترش و اعداد فازی

جلسه 15 1 اثر و اثر جزي ی نظریه ي اطلاعات کوانتومی 1 ترم پاي یز جدایی پذیر باشد یعنی:

دانشکده فنی دانشگاه آزاد اسالمی واحد تهران جنوب مهرماه 1391

تمرینات درس ریاض عموم ٢. r(t) = (a cos t, b sin t), ٠ t ٢π. cos ٢ t sin tdt = ka۴. x = ١ ka ۴. m ٣ = ٢a. κds باشد. حاصل x٢

جلسه 14 را نیز تعریف کرد. عملگري که به دنبال آن هستیم باید ماتریس چگالی مربوط به یک توزیع را به ماتریس چگالی مربوط به توزیع حاشیه اي آن ببرد.

دبیرستان غیر دولتی موحد

فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها(

جلسه 22 1 نامساویهایی در مورد اثر ماتریس ها تي وري اطلاعات کوانتومی ترم پاییز

آزمایش 1: پاسخ فرکانسی تقویتکننده امیتر مشترك

تئوری جامع ماشین بخش سوم جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود.

جلسه ی ۵: حل روابط بازگشتی

مود لصف یسدنه یاه لیدبت

جلسه 9 1 مدل جعبه-سیاه یا جستاري. 2 الگوریتم جستجوي Grover 1.2 مسا له 2.2 مقدمات محاسبات کوانتمی (22671) ترم بهار

فصل سوم جریان های الکتریکی و مدارهای جریان مستقیم جریان الکتریکی

هد ف های هفته ششم: 1- اجسام متحرک و ساکن را از هم تشخیص دهد. 2- اندازه مسافت و جا به جایی اجسام متحرک را محاسبه و آن ها را مقایسه کند 3- تندی متوسط

یدنب هشوخ یاه متیروگلا

مسائل. 2 = (20)2 (1.96) 2 (5) 2 = 61.5 بنابراین اندازه ی نمونه الزم باید حداقل 62=n باشد.

جلسه 2 1 فضاي برداري محاسبات کوانتمی (22671) ترم بهار

فصل چهارم : مولتی ویبراتورهای ترانزیستوری مقدمه: فیدبک مثبت

ندرک درگ ندرک درگ شور

جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان

به نام ستاره آفرین قضیه ویریال جنبشی کل ذرات یک سیستم پایدار مقید به نیرو های پایستار را به متوسط انرژی پتانسیل کل شان

جلسه 12 به صورت دنباله اي از,0 1 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن. p 1

تحلیل الگوریتم پیدا کردن ماکزیمم

SanatiSharif.ir مقطع مخروطی: دایره: از دوران خط متقاطع d با L حول آن یک مخروط نامحدود بدست میآید که سطح مقطع آن با یک

جلسه 16 نظریه اطلاعات کوانتمی 1 ترم پاییز

فصل اول هدف های رفتاری: پس از پایان این فصل از هنرجو انتظار می رود: 5 روش های اجرای دستور را توضیح دهد. 6 نوارهای ابزار را توصیف کند.

شاخصهای پراکندگی دامنهی تغییرات:

اصول انتخاب موتور با مفاهیم بسیار ساده شروع و با نکات کاربردی به پایان می رسد که این خود به درک و همراهی خواننده کمک بسیاری می کند.

ارزیابی بهره وری متقاطع DEA بر پایه بهبود پارتو

2/13/2015 حمیدرضا پوررضا H.R. POURREZA 2 آخرین گام در ساخت یک سیستم ارزیابی آن است

دانشکده علوم ریاضی دانشگاه گیلان آزمون پایان ترم درس: هندسه منیفلد 1 باشد. دهید.f (gx) = (gof 1 )f X شده باشند سوالات بخش میان ترم

جزوه کارگاه برنامه نویسی

:موس لصف یسدنه یاه لکش رد یلوط طباور

معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد:

1 دایره فصل او ل کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم با محیط ثابت دایره دارای بیشترین مساحت است. این موضوع در طراحی


قرار می گیرند. همچنین برای نگهداری اطالعات و نمایش آنها بر روی صفحه نمایش از متغیرها

فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی

جلسه 2 جهت تعریف یک فضاي برداري نیازمند یک میدان 2 هستیم. یک میدان مجموعه اي از اعداد یا اسکالر ها به همراه اعمال

فصل دهم: همبستگی و رگرسیون

برابری کار نیروی برآیند و تغییرات انرژی جنبشی( را بدست آورید. ماتریس ممان اینرسی s I A

نویسنده: محمدرضا تیموری محمد نصری مدرس: دکتر پرورش خالصۀ موضوع درس سیستم های مینیمم فاز: به نام خدا

Spacecraft thermal control handbook. Space mission analysis and design. Cubesat, Thermal control system

بخش ششم: عملیات در پایگاه داده رابطهای

نﺎﯿﺋاﺪﺧ ﺎﺿر ﺪﯿﺳ سﺪﻨﻬﻣ

3 لصف یربج یاه ترابع و ایوگ یاه ناوت

I = I CM + Mh 2, (cm = center of mass)

الکتریسیته ساکن مدرس:مسعود رهنمون سال تحصیلى 95-96

آموزش SPSS مقدماتی و پیشرفته مدیریت آمار و فناوری اطالعات -

Nonparametric Shewhart-Type Signed-Rank Control Chart with Variable Sampling Interval

بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )2( shimiomd

فیلتر کالمن Kalman Filter

شبکه های عصبی در کنترل

باشند و c عددی ثابت باشد آنگاه تابع های زیر نیز در a پیوسته اند. به شرطی که g(a) 0 f g

محاسبات کوانتمی 1 علم ساخت و استفاده از کامپیوتري است که بر پایه ي اصول مکانیک کوانتم قرار گرفته است.

آموزش نظریه زبان ها و ماشین ها مدرس : آقای احمد آبادی

فصل سوم : عناصر سوئیچ

راهنمای کاربری موتور بنزینی )سیکل اتو(

فصل چهارم تعیین موقعیت و امتدادهای مبنا

به نام خدا. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم

Transcript:

به نام خدا طراحی کامپایلرها 40-414 2

دورنمای تحلیلگر لغوی تحلیلگر نحوی نشانه ها تحلیلگر لغوی برنامهی مبدأ نشانه ی بعدی جدول عالیم پرسش مهم: وظیفه ی هر جعبه چیست فعال بر تحلیلگر لغوی و تحلیلگر نحوی تمرکز می کنیم 1

چرا تحلیل لغوی و نحوی را جدا کنیم سادگی طراحی بهبود کارایی کامپایلر رعایت اصول برنامه نویسی پیمانه ای 2

)1( نشانه الگو و Lexeme نشانه یک زوج است: نام نشانه و یک ویژگی اختیاری الگو شکلی را توصیف می کند که lexeme ممکن است در متن داشته باشند های یک نشانه lexeme توالی ای از نویسه ها در متن برنامه ی مبدأ است که با الگو مطابقت دارد 3

)2( Lexeme و الگو نشانه مثال: lexeme نمونهی غیررسمی توصیف نشانه if else نویسههای i و f نویسههای s l e و e if else!= <= >یا<یا=<یا=>یا==یا=! relatin D2 و scre pi 0 3.14159 و 6.02e23 Hell Wrld! حروفیکهبهدنبالآنها حرفیاعددبیاید هرعددثابت کهتوسط هرچیزیجز محصورشدهباشد id number literal 4

استفاده از میانگیر برای بهبود کارایی نشانه ی جاری E = M * C * * 2 شروع lexeme frward به جلو حرکت می کند تا یک انطباق با الگو را پیدا کند بلوک I/O if frward at end f first half then begin relad secnd half ; frward := frward + 1 end else if frward at end f secnd half then begin relad first half ; mve frward t beginning f first half end else frward := frward + 1 ; 5

الگوریتم: میانگیر با نگهبان شروع lexeme نشانه ی جاری E = M * C * * 2 frward := frward + 1; if frward is at ef then begin if frward at end f first half then begin relad secnd half ; frward := frward + 1 end بلوک I/O end else if frward at end f secnd half then begin relad first half ; mve frward t beginning f first half end else در میانگیر معرف پایان ورودی است*/ ef*/ terminate Lexical Analysis frward به جلو حرکت می کند تا یک انطباق با الگو را پیدا کند دومین ef یعنی چیزی از ورودی باقی نمانده 6

سلسله مراتب چامسکی αaβ αγβ 0 نامحدود LHS RHS 1 حساس به متن LHS = 1 2 یا RHS = 1 یا ab, A a A a Ba مستقل از متن منظم 2 3 7

)1( ها زبان روی عملیات عمل تعریف طور چه بنویسیم L M = { s s در L یا s در M } L M دوزبان اجتماع M و L LM = { st s در L و t در M } LM دوزبان الحاق M و L L* = i=0 L i )هیچبار یابیشترالحاق L ( i=1 L i L + = )یکبار یابیشترالحاق L ( *L کلین بستار زبان L L + مثبت بستار زبان L 8

عملیات روی زبان ها )2( مثال: L D = { A, B, C, D, 1, 2, 3 } LD L 2 = = { A1, A2, A3, B1, B2, B3, C1, C2, C3, D1, D2, D3 } { AA, AB, AC, AD, BA, BB, BC, BD, CA,, DD } L 4 = L 2 L 2 =? L* = } همهی رشتههای ممکن L به همراه ε { L + = L* - ε L (L D) =? L (L D)* =? L = { A, B, C, D } D = { 1, 2, 3 } 9

زبان ها و عبارات منظم یک عبارت منظم مجموعهای از قواعد یا روشهاست که برای ساختن رشتههایی )توالیای از نمادها( از یک الفبا مورد استفاده قرار میگیرد یک الفبا و یک عبارت منظم باشد L(r) زبانی است که r Σ اگر با قواعد r ساخته میشود 10

تقدم قواعدی برای تبیین عبارات منظم )1( اگر Σ را الفبایی ثابت و مشخص در نظر بگیریم: ε عبارت منظمی است که با } ε { مشخص میشود اگر a عضو Σ باشد a عبارت منظمی است که با } a { نمایش داده میشود.I فرض کنید r و s به ترتیب عبارات منظمی با زبانهای L(r) و L(s) باشد: L(r) L(s) عبارت منظمی است با زبان (r) (s) L(r) L(s) عبارت منظمی است با زبان (r) (s) (L(r))* عبارت منظمی است با زبان *(r) L(r) عبارت منظمی است با زبان r.ii.iii.iv این عملگرها همه از چپ شرکتپذیری دارند و پرانتزها با توجه به»تقدم«بین می روند از 11

قواعدی برای تبیین عبارات منظم )2( A B C D = L مثال: ( A B C D ) ( A B C D ) = L 2 ( A B C D )* = L* ( A B C D ) ( ( A B C D) ( 1, 2, 3 ) ) = L (L D) L = { A, B, C, D } D = { 1, 2, 3 } 12

خواص جبری عبارات منظم خاصیت توضیح خاصیتجابهجاییدارد خاصیتشرکتپذیریدارد r s = s r r ( s t ) = ( r s ) t ) t ( r s ) t = r ( s الحاقخاصیتجابهجاییدارد الحاقروی خاصیتپخشیدارد ε عنصرهمانیدرالحاقاست r ( s t ) = r s r t ( s t ) r = s r t r ε r = r r ε = r ارتباط*و ε r * = ( r ε ) * * r r * * = تعداددفعاتاعمال*تأثیریدرنتیجهندارد 13

تشخیص نشانه ها )1( چه طور می توانیم از آن چه تا اآلن یاد گرفته ایم برای توصیف الگوهای نشانه ها استفاده کنیم if then else if then else relp < <= > >= = <> id num letter ( letter digit ) * digit + (. digit + )? ( E ( + - )? digit + )? 14

تشخیص نشانه ها )2( ویژگی-مقدار عبارت منظم نشانه - - ws - if if - then then - else else id id اشارهگریبهیکسطرجدول num num اشارهگریبهیکسطرجدول GT relp > GE relp >= LT relp < LE relp <= EQ relp = NE relp <> هر نشانه شناسه ای یکتا دارد که رده ی lexeme را مشخص می کند 15

نمودارهای انتقال حالت )1( relp نمودار مربوط به تشخیص شروع 0 < 1 = > غیره 2 3 = > 5 6 return (relp, EQ) = 4 7 غیره 8 * * return (relp, LE) return (relp, NE) return (relp, LT) return (relp, GE) return (relp, GT) 16

نمودارهای انتقال حالت )2( نمودار مربوط به تشخیص id و کلمات کلیدی * غیره حرف 9 10 11 return (gettken(), InstallID()) حرفیارقم 17

نمودارهای انتقال حالت )3( نمودار مربوط به تشخیص num )بیعالمت ) رقم E رقم رقم 12 13. 14 رقم 15 E 16 +یا- 17 رقم غیره غیره رقم 18 * 20 * 21 غیره * 19 18

نمودارهای انتقال حالت )4( )whitespace( نمودار مربوط به تشخیص فضای خالی * غیره جداکننده 22 23 24 جداکننده 19

تولیدکننده ی تحلیلگر لغوی: LEX lex.1 کامپایلر لغوی )LEX( برنامهی مبدأ LEX lex.yy.c برنامهای بهزبان C lex.yy.c برنامهای بهزبان C کامپایلر C a.ut برنامهیقابل اجرای تحلیلگرلغوی a.ut توالی ای از نشانه ها برنامهیقابل اجرای تحلیلگرلغوی جریان ورودی 20

خطاهای لغوی بعضی خطاها را تحلیلگر لغوی نمی تواند کشف کند مثل: fi ( a == f (x) ) را بعضی ها اما می تواند مثل: d = 2r ; خطاهایی مثل خطای اخیر زمانی کشف میشوند بر توالی موجود نویسهها )در متن برنامهی مبدأ( که هیچ الگویی منطبق نباشد 21

اصالح خطا حالت وحشت: نویسههای متوالی تا رسیدن به یک نشانهی معتبر دور انداخته میشوند حذف یک نویسه از باقیماندهی ورودی درج نویسهی مفقود )مورد نیاز( در باقیماندهی ورودی جایگزینی یک نویسه با نویسهای دیگر جابهجایی دو نویسهی کنار هم روش فاصلهی کمینه 22