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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

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

2 اصول طراحی کامپایلر فصل اول : مقدمات فهرست مطالب 5 1 فصل اول : مقدمات انواع مترجم تعریف کامپایلر تعریف اسمبلر تفاوت مفسر و کامپایلر بخشهای مختلف یک کامپایلر پردازشگر خطا Handler( )rror جدول نمادها Table( )Symbol فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها گرامر Term پایانه ها )Terminal( غیر پایانه ها Terminal( )Non نماد شروع Symbol( )Start الفبا )Alphabet( رشته )String( پیشوند )Prefix( پسوند )Postfix( زیر رشته )SubString( اجتماع (Uninon) الحاق )Concat( گرامرهای معادل زبان )Language( انواع گرامر اشتقاق )Derivation( فرم جمله ای استنتاج مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 1

3 فصل اول : مقدمات اصول طراحی کامپایلر 16 انواع استنتاج گرامر مبهم گرامرهای مختصر و مفید عبارتهای منظم فصل سوم : تحلیلگر لغوی وظایف تحلیلگر لغوی )Scanner( جدا کننده ها )Separator( انواع موجود در زبان شناسه )Identifier( )انواع کلمات( ماشینهای خودکار )Automata( الگوریتم تبدیل یک دیاگرام به گرامر معادلش فصل چهارم : روشهای تحلیل نحوی تحلیلگر نحوی )Parser( درخت نحوی Tree( )Syntax نحوه ایجاد درخت خالصه شده وظیفه پارسر گذر )Pass( انواع روشهای Parse پارسرهای پیشگو تابع First مراحل به دست آوردن (x) First تابع Follow مراحل یافتن (A) Follow پارس به روش LL(1) جدول پارس LL(1) نحوه تشکیل جدول پارس با پارس (1) LL استفاده از روش (1) LL شرایط (1) LL بودن یک گرامر فاکتورگیری دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 1

4 اصول طراحی کامپایلر فصل اول : مقدمات 16 چپگردی حذف چپگردی چپگردی غیر صریح فصل پنجم : روشهای اصالح خطای نحوی انواع خطا روش Panic Mode روش Phrase Level روش rror Production روش Global Correction اصالح خطا به روش Panic Mode در پارسرهای LL(1) روش پارس پای نی گرد پارسرهای پای نی به باال روش انتقال-کاهش )Shift-Reduce( انواع تداخل روشهای LR چهار مزیت اصلی روشهای LR LR(0).item روش CLR روش LALR اصالح خطا به روش Phrase Level در پارسرهای LR روش تقد م عملگر پارس به روش تقد م ساده پارس به چپگردی رفع چپگردی راستگردی رفع راستگردی تحلیلگر معنایی روش تقد م عملگر روش تقد م ساده مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 1

5 فصل اول : مقدمات اصول طراحی کامپایلر دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 1

6 اصول طراحی کامپایلر فصل اول : مقدمات 1 فصل اول : مقدمات انواع مترجم کامپایلر )Compiler( مفسر )Interpreter( اسمبلر )Assembler( تعریف کامپایلر ترجمه از عمل یک زبان سطح باال به زبان سطح پایین را کامپایل گویند که در واقع زبان مبدأ را به زبان مقصد ترجمه مینماید. زبان مقصد مترجم زبان مبدأ 1.3 تعریف اسمبلر مترجمی است که زبان اسمبلی را به زبان ماشین تبدیل میکند. 1.1 تفاوت مفسر و کامپایلر کامپایلر کل برنامه را یکجا و یکباره کامپایل میکند و بارها آن را اجرا میکند ام ا مفسر خط به خط برنامه را ترجمه و اجرا میکند.» تمرین: تفاوتها و شباهتهای کامپایلر و مفسر را بیان کنید. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 5

7 فصل اول : مقدمات اصول طراحی کامپایلر 1.1 بخشهای مختلف یک کامپایلر Source Program برنامه مبدأ تحلیلگر لغوی (Scanner) Lexical Analyzer تحلیلگر نحوی (Parser) Syntax Analyzer Semantic Analyzer پردازشگر خطا تحلیلگر معنایی جدول نمادها Symbol Table تولید ک د میانی Intermediate Code Generation rror Handler Optimization بهینه سازی ک د میانی Code Generation تولید ک د نهایی Machine Code برنامه مقصد 1.1 پردازشگر خطا Handler( )rror قسمت دیگری که در همه مراحل درگیر است پردازشگر خطا است که به صورت مفصل به آن خواهیم پرداخت. 1.1 جدول نمادها Table( )Symbol قسمت دیگر کامپایلر جدولی است که در آن نمادها و عالیم کامپایلر قرار دارند. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 6

8 اصول طراحی کامپایلر فصل اول : مقدمات Source Program برنامه مبدأ تحلیلگر لغوی (Scanner) Lexical Analyzer تحلیلگر نحوی (Parser) Syntax Analyzer Semantic Analyzer Front-nd مستقل از ماشین تحلیلگر معنایی تولید ک د میانی Intermediate Code Generation Optimization Code Generation Back-nd وابسته به ماشین بهینه سازی ک د میانی تولید ک د نهایی Machine Code برنامه مقصد inta; int a int a = 5.5; int a[10]; a[12] = 3;» مثال: نمونه هایی از تشخیص خطا توسط کامپایلر. خطای لغوی )بین int و a فاصله وجود ندارد( خطای نحوی )در آخر عبارت ' ; ' وجود ندارد( خطای معنایی )قرار دادن مقدار اعشاری در متغیر نوع صحیح( خطای معنایی )دستیابی به اندیس آرایه خارج از محدوده( مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 1

9 م> فا> فصل اول : مقدمات اصول طراحی کامپایلر» مثال: گرامر زبان فارسی. >جمله< < فاعل > < مفعول > < فعل >. >فعل< خرید خورد فعول< سیب موز عل< علی حسن تمام کلمات 1 حرفی که با حرف "د" شروع میشوند عباراتی که در هنگام کامپایل باعث بروز خطا میشوند: > خطا در تحلیلگر لغوی: احمد به عنوان فاعل تعریف نشده است. > خطا در تحلیلگر نحوی: قواعد جمله رعایت نشده است. > خطا در تحلیلگر معنایی: جمله بی معنی است. > خطا در تحلیلگر نحوی: جمله با نقطه به پایان نرسیده است. احمد سیب خورد. حسن سیب موز. درخت موز خورد. حسن سیب خرید» مثال: بررسی مراحل کامپایل. ابتدا تحلیلگر لغوی وارد عمل شده و تک تک کلمات را از هم جدا کرده )Tokenize( و بررسی نمادها قرار میدهد: میکند. سپس در جدول Symbol Table نوع اسم شناسه id1 ::: p ::: float ::: سپس تحلیلگر نحوی باید تشخیص دهد که این جمله متعلق به زبان است یا نه برای این منظور درخت جمله را تشکیل میدهد: دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 2

10 اصول طراحی کامپایلر فصل اول : مقدمات = id1 + id2 * id3 60 ( ) در تحلیلگر معنایی باید عدد )صحیح( به )اعشاری( تبدیل شود: ( ) سپس ک د میانی زیر ایجاد میشود: حال ک د به دست آمده بهینه سازی میشود: در انتها نیز ک د به دست آمده به زبان ماشین تبدیل میشود: مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 2

11 فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها اصول طراحی کامپایلر فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها 1 G = < N,T,S,P > 1.1 گرامر گرامر شامل فرهنگ لغات زبان و قواعدی راجع به ساخته شدن جمالت از این لغات است. غیر پایانه ها )حروف بزرگ( (A,B,C, ) :N Non-Terminals پایانه ها )حروف کوچک( (a,b,c, ) :T Terminals نماد شروع S: Start Symbol تولیدات قواعد :P Production Term 1.1 به هر کدام از اجزای گرامر یک Term گفته میشود پایانه ها )Terminal( Termهایی از گرامر هستند که عینا در جمالت نهایی زبان وجود دارند و خودشان قابل مشتق شدن نیستند. غیر پایانه ها Terminal( )Non Termهایی از گرامر هستند که در جمالت نهایی ظاهر نمیشوند و قابل مشتق شدن هستند. نماد شروع Symbol( )Start 1.1 تمام جمالت زبان از نماد شروع آغاز میشوند. نماد شروع جزو غیر پایانه هاست. معموال نماد شروع را با S نمایش میدهند. الفبا )Alphabet( به مجموعه حروف و عالئم الفبا میگویند. مانند زیر: 1.1 رشته )String( دنباله محدودی از عالئم مربوط به الفبا دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

12 اصول طراحی کامپایلر فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها 1.2 پیشوند )Prefix( اگر رشته ای داشته باشیم که از انتهای آن تعداد صفر یا بیشتر عالمت را حذف کنیم باقیمانده پیشوند خواهد بود. تهی پیشوند تمام رشته هاست. 1.9 پسوند )Postfix( اگر از ابتدای رشته تعداد صفر یا بیشتر عالمت را حذف کنیم آنچه بماند پسوند است زیر رشته )SubString( اگر از یک رشته یک پیشوند یا یک پسوند یا هر دو را حذف کنیم آنچه بماند زیر رشته است. 1. اجتماع (Uninon) مجموعه رشته های متعلق به دو زبان که یا متعلق به زبان او ل یا متعلق به زبان دو م هستند. 1. الحاق )Concat( L 0 = {Ɛ} L * = L 0 L 1 L 2 L + = L 1 L 2 تعریف تعریف تعریف : رشته هایی به طول صفر یا بیشتر از زبان L : رشته هایی با طول یک یا بیشتر از زبان L : رشته هایی با طول n از زبان L L * L + L n 1.13 گرامرهای معادل اگر زبانی دو گرامر تولید کند که یکسان باشد آن دو گرامر معادلند: G1: G2: ( ) ( ) مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

13 فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها اصول طراحی کامپایلر 1. زبان )Language( به مجموعه ای از رشته های تعریف شده بر روی یک الفبا زبان میگویند. مثال زبان A روی الفبای L تعریف شده: ( ) زبان ترکیبی از پایانه ها و غیر پایانه هاست )ترکیبی از N و T(. حروف یونانی مانند γ β α و... مجموعه ای از پایانه ها و غیر پایانه ها هستند. {» مثال:»«قوی ترین»«ضعیف ترین 1. انواع گرامر 1. گرامر نوع صفر )نامحدود( 1. گرامر نوع یک )حساس به متن( 1. گرامر نوع دو )مستقل از متن( 1. گرامر نوع سه )منظم( قوانین گرامر نوع صفر: α باشد تنها شرط ما α است. اگر گرامر به صورت β α β α قوانین گرامر نوع یک: سمت چپ باید کوچکتر یا مساوی سمت راست باشد. α قوانین گرامر نوع دو: اندازه سمت چپ باید یک باشد. قوانین گرامر نوع سه: منظم از چپ یا راست باشد. { دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

14 اصول طراحی کامپایلر فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها 1. اشتقاق )Derivation( دو نوع اشتقاق داریم:.1 اشتقاق از چپ Derivation( :)LMD - Left Most همیشه سمت چپ ترین غیر پایانه اشتقاق داده می شود..1 اشتقاق از راست Derivation( :)RMD - Right Most همیشه سمت راست ترین غیر پایانه اشتقاق داده می شود.» مثال: با توج ه به قواعد داده شده abc را تولید کنید. LMD: RMD:» پاسخ: 1. فرم جمله ای به هر کدام از فرمهایی که در مراحل اشتقاق ایجاد میشود غیرپایانه ها که در مراحل اشتقاق ایجاد میشود. یک فرم جمله ای گویند. به عبارت دیگر رشتهای از پایانهها و ( ) 1.12 استنتاج تبدیل یک فرم جمله ای با استفاده از قواعد زبان به یک فرم جمله ای دیگر را استنتاج گویند انواع استنتاج 1. استنتاج مستقیم ) ( اگر با استفاده مستقیم از یکی از قواعد زبان از یک فرم جمله ای به یک فرم جمله ای دیگر برسیم به آن استنتاج مستقیم گویند. از یک فرم جمله ای به فرم جمله ای دیگر برسیم به آن استنتاج نهایی 1. استنتاج نهایی ) ( اگر طی استفاده یکبار یا بیشتر از قواعد زبان گویند. 3. استنتاج کل ی ) ( اگر طی استفاده صفر بار یا بیشتر از قواعد زبان از یک فرم جمله ای به یک فرم جمله ای دیگر برسیم به آن استنتاج کل ی گویند. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

15 فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها اصول طراحی کامپایلر استنتاج مستقیم استنتاج نهایی» مثال: نمونه استفاده از استنتاج در مثال قبل 1, 2 3,...,12 LMD: RMD:» مثال: آیا عدد 1 متعلق به زبان زیر هست یا خیر )به روش اشتقاق(» پاسخ: 1.12 گرامر مبهم اگر به ازای یک جمله واحد در یک گرامر بتوانیم دو بسط سمت چپ )LMD( متفاوت یا دو بسط سمت راست )RMD( متفاوت یا دو درخت نحوی Tree( )Pars متفاوت پیدا کنیم آنگاه گرامر مبهم یا گنگ است. که توسط گرامر زیر تولید میشود مبهم است یا خیر ( ) 1,...,4 ( ) 4» مثال: آیا عبارت دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

16 اصول طراحی کامپایلر فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها را تولید کنیم. حاال میخواهیم» پاسخ: گرامر باال مبهم است زیرا میتوان دو بسط LMD برای آن نوشت: LMD 1: LMD 2: درخت نحوی گرامر فوق به صورت زیر است: + * id * + id id id id id LMD 1 LMD 2 1,2 3,4 5,6 ( ) گرامر رفع ابهام شده )در این گرامر اولویت به ضرب داده شده است(: درخت خالصه شده: )نحوه ایجاد درخت خالصه شده در صفحه 15( + T + T T * F id + T id * F F id id * id id id id id درخت نهایی درخت او لیه مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 15

17 فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها اصول طراحی کامپایلر 1. گرامرهای مختصر و مفید گرامری که سه شرط زیر را داشته باشد مختصر و مفید خواهد بود: وجود نداشته باشد. در آن قواعدی به فرم 1. در آنها تمام غیر پایانه ها فعال )Active( باشند. 1. تمام غیر پایانه ها دسترس پذیر )Reachable( باشند. 1. فعال بودن: غیر پایانه ها با استفاده از قواعد به دنباله ای از پایانه ها تبدیل شوند. دسترس پذیر بودن: اگر از نماد شروع آغاز کردیم بتوانیم به غیر پایانه مورد نظر برسیم. ** نکته: ترتیب بررسی شرطها مهم است.» مثال: گرامر معادل مختصر و مفید را برای عبارت زیر بنویسید.» پاسخ:» مثال:» پاسخ: دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 16

18 اصول طراحی کامپایلر فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها 1. عبارتهای منظم ( ) هر عبارتی با صفر و یک به غیر از ت هی هر عبارتی با صفر و یک حتی ت هی ( ) هر عبارتی که با شروع شود و با 1 خاتمه یابد و بین آن دو هر ترکیبی از صفر و یک باشد ) ( ( ) نمایش ارقام نمایش عدد صحیح نمایش عدد اعشاری نمایش عدد صحیح یا اعشاری نمایش عدد عالمتدار )مثبت یا منفی( نمایش عدد عالمتدار یا بدون عالمت )مثبت یا منفی( نمایش اعداد اعشاری با نماد علمی ( ) ( ) ( ) ( ) ( ) ( ) ( ) (( ) ) ** نکته: "?" به معنی وجود یا عدم وجود پرانتز است.» مثال: فرض کنید بخواهیم برای یک شناسه گرامر بنویسیم و سپس برای آن دیاگرام گذر رسم کنیم. داریم: ( ) ( ) دیاگرام گذر شناسه فوق به صورت زیر است: مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

19 فصل دوم : بررسی انواع گرامرها و خواص عمومی زبانها اصول طراحی کامپایلر» مثال: دیاگرام گذر» مثال: دیاگرام گذر» مثال: دیاگرام گذر ) ( دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 12

20 اصول طراحی کامپایلر فصل سوم : تحلیلگر لغوی فصل سوم : تحلیلگر لغوی 3 وظایف تحلیلگر لغوی )Scanner( تشخیص توضیحات )Comment( و حذف آنها. ساختن جدول نمادها Table(.)Symbol مشخص کردن کلمات سازنده )Token( توسط جداکنندهها و تعیین نوع آنها. }مهمترین وظیفه{ جدا کننده ها )Separator( جداکنندهها دو دسته هستند: فضاهای خالی مانند Tab Space و غیره. 1. نمادهای خاص وابسته به زبان مانند پرانتز باز و بسته عملگرهای منطقی و عملگرهای محاسباتی و غیره. 1. انواع موجود در زبان )انواع کلمات( شناسهها جداکنندهها اعداد رشته ها کلمات کلیدی ثابت ها عملگرهای منطقی عملگرهای محاسباتی مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 12

21 فصل سوم : تحلیلگر لغوی اصول طراحی کامپایلر 3.1 شناسه )Identifier( به هر جزء که بوسیله برنامهنویس تعریف میشود شناسه میگویند. به ازاء هر شناسه در برنامه باید یک سری اطالعات در هنگام ترجمه )کامپایل( نگهداری شود چون به آن اطالعات در این فاز و فازهای بعدی نیاز داریم. به ازاء هر شناسه یک سطر در نظر گرفته میشود و اطالعات آن شناسه از قبیل نام نوع طول اولین محل دیده شدن و غیره در آن ذخیره میشود.» مثال: دیاگرام عملگرهای مقایسه ای 3.1 ماشینهای خودکار )Automata( گرافهای جهت داری هستند که برای پیاده سازی قواعد لغوی زبانها بسیار مناسب هستند. این ماشین ها دو نوع هستند: DFA )قطعی یا معین( و NFA )غیرقطعی یا نامعین(. دو ویژگی که DFA را از NFA جدا میکند: 1. در DFA برچسب تهی نداریم. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

22 اصول طراحی کامپایلر فصل سوم : تحلیلگر لغوی 1. به ازای یک وضعیت یا State دو لبه خارجی با برچسب یکسان نداریم. شکل زیر یک NFA است: ( ) { کامپایلرها برای کامپایل از DFA استفاده میکنند. چون NFA به چند حالت میرود و کامپایلر گیج میشود. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

23 فصل سوم : تحلیلگر لغوی اصول طراحی کامپایلر» مثال: میخواهیم عبارتی تولید کنیم که به abb ختم شود.» پاسخ: عبارت منظم مثال فوق برابر است با ) ( یک NFA شکل فوق یک DFA برای گرامر باال است. اگر بخواهیم برای عبارت باال داشته باشیم به صورت عمل زیر میکنیم: الگوریتم تبدیل یک دیاگرام به گرامر معادلش به هرکدام از وضعیتهای داخل ماشین یک غیر پایانه نسبت میدهیم. آنگاه A i aa j به گرامر اضافه میکنیم. اگر اگر در شکل فوق به جای ε a بود آنگاه A i A j به گرامر اضافه میکنیم. به ازای وضعیتهای پایانی غیر پایانه مربوطه را برابر تهی قرار میدهیم. A n ε غیر پایانه مربوط به وضعیت شروع را به عنوان نماد شروع گرامر در نظر میگیریم » مثال: گرامر معادل دیاگرام مثال قبل: دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

24 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی فصل چهارم : روشهای تحلیل نحوی تحلیلگر نحوی )Parser( اطالعات مربوط به زبان و قواعد زبان به تحلیلگر نحوی داده میشود. ورودی آن Token های متعلق به زبان است. تحلیلگر نحوی جمالت را با گرامر زبان مطابقت میدهد و بررسی میکند که قواعد زبان رعایت شده یا نه. برای این کار دو روش وجود دارد:.1 اشتقاق )Derivation(.1 درخت نحو Tree( )Syntax 1.1 درخت نحوی Tree( )Syntax ریشه رخت به عنوان نماد شروع است و با استفاده از قواعد زبان سطرهای درخت را میسازیم. که جمالت نهایی در آن وجود داشته باشد پس آن درخت به آن زبان تعلق دارد. اگر بتوانیم درختی بسازیم ** نکته: از روی درخت نمیتوان تشخیص داد که کدام طرف را بسط دادیم. پس از روی درخت نمیتوانیم بگوییم LMD است یا.RMD ** نکته: ترتیب استفاده از قواعد هم از روی درخت مشخص نیست. درختی که در این مرحله تولید میشود برای تحلیلگر معنایی و بقیه مراحل نیز کاربرد دارد. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

25 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر» مثال: بررسی کنید که عبارت جزو قواعد و گرامر زبان هست یا نه <Number> <Number> <Digit> <Number> <Digit> 1 <Digit> 3 2 گرامر رفع ابهام شده: ( ) + T T T * F F F N N N دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

26 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی نحوه ایجاد درخت خالصه شده اگر گره ای داشته باشیم که تنها یک فرزند داشت آن گره را با فرزندش جایگزین میکنیم. در فازهای بعدی به غیر پایانه هم نیازی نداریم. پس غیرپایانه ها را با عملگرهای مناسب جایگزین میکنیم وظیفه پارسر وظیفه تحلیلگر نحوی این است که جمالت را با قواعد مربوط به زبان مطابقت دهد. 1.1 گذر )Pass( عبارت است از تعداد دفعاتی که فایل ورودی مبدأ یا فایلهای مرتبط با آن از او ل تا آخر خوانده میشود. در واقع هر بار مرور فایل ورودی مبدا یا فایلهای مرتبط با آن را گذر میگویند. 1.1 انواع روشهای Parse باال به پایین پایین به باال LR پارس پایین گرد انتقال کاهش تقدم عملگر تقدم ساده روش LL(1) LALR CLR SLR بررسی کنید که آیا عبارت از لحاظ نحوی » مثال: با توج ه به گرامر داده شده درست است یا خیر مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 15

27 <Stmt> فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر» پاسخ: میخواهیم بررسی کنیم با توج ه به گرامر فوق عبارت زیر از نظر نحوی صحیح است یا خیر. اگر پارسر موفق به ساختن درخت نحوی این عبارت شود نتیجه میگیریم عبارت مورد نظر صحیح است. begin <St1> <Stmt> <St2> end if <Condition> then <Stmt> for while id <Loop> <ForList> <Condition> <Relop> < <St3> do do begin id <Body> <St1> <Stmt> ε end با توج ه به این که درخت ساخته شد عبارت فوق از نظر نحوی صحیح است. برای بررسی صحت این عبارت تمام شاخه ها را بسط دادیم و در صورت عدم مطابقت Back Track انجام دادیم به عبارت دیگر از روش آزمون و خطا استفاده کردیم. این روش بسیار زمانگیر است. برای حل این مشکل از پارسرهای پیشگو استفاده میشود. 1.1 پارسرهای پیشگو در پارسرهای پیشگو درخت به صورتی ساخته میشود که نیازی به Back Track نداشته باشد و اگر جایی به مشکل برخورد نتیجه میگیرد که جمله ورودی از لحاظ نحوی نادرست بوده است. پس درخت را به صورتی میسازد که حتما درست باشد. در روش قبل )آزمون و خطا( اول درخت را میساخت و بعد به ورودی نگاه میکرد. در این روش ابتدا به دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 16

28 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی ورودی نگاه میکند و بر اساس آن درخت را میسازد. به نمادی که درخت از روی آن ساخته می شود نماد پیشگویی Ahead( )Look میگویند و به صورت مخفف با L.A. نشان میدهند. رشته } { ) ( 1.2 تابع First (N) First اولین پایانه ای است که غیر پایانه N میتواند ببیند. ** نکته: خروجی تابع First مجموعه ای از پایانههاست. ** نکته: در تابع First هیچگاه $ نداریم. مراحل به دست آوردن (x) First اگر x یک پایانه باشد آنگاه {x}.first(x) = را به مجموعه First(x) اضافه میکنیم. داشته باشیم آنگاه اگر قاعده ای به فرم را به First(x) اضافه ) ( داشته باشیم آنگاه اگر قاعده ای به فرم میکنیم. اگر طی صفر مرحله یا بیشتر به برسد آنگاه ) ( را نیز به First(x) اضافه میکنیم و همین روند را برای بقیه ادامه میدهیم. اگر طی صفر مرحله یا بیشتر به برسد آنگاه ) ( را به First(x) اضافه میکنیم » مثال: با توج ه به گرامر زیر First(A) را بیابید: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) a نبود به رشته حاصل ε اضافه میکردیم.» پاسخ: ** تذکر: اگر در ( ) { } 1.12 تابع Follow پایانهای که بعد از غیرپایانه میتواند دیده شود. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

29 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر ** نکته: خروجی تابع Follow مجموعه ای از پایانههاست. ** نکته: در تابع Follow هیچگاه ε نداریم. 1. مراحل یافتن (A) Follow 1. اگر A عالمت شروع گرامر باشد آنگاه عالمت {$} را به Follow(A) اضافه میکنیم. Follow(A) ( ) اگر قاعده ای به فرم داشته باشیم در آن صورت را به اضافه.1 میکنیم. اگر قاعده ای به فرم داشته باشیم یا قاعده ای به فرم داشته باشیم که در آن.1 آنگاه Follow(X) را به مجموعه Follow(A) اضافه میکنیم ,3,4 5,6 7,8 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )» مثال: Follow تمام غیر پایانه های گرامر زیر را بیابید.» پاسخ: پارس به روش LL(1) L اول :)Left( یعنی عبارت ورودی از چپ به راست بررسی میشود. L دوم :)LMD( اشتقاق چپ ترین )1(: یعنی نماد پیشگویی ما یک عنصر است )تک عضوی(. 1. البته روش LL(1) قابل تعمیم به LL(2) LL(3) تا LL(k) نیز هست ولی کاربرد کمتری دارد.» مثال: گرامر زیر LL(1) نیست ولی LL(2) هست. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 12

30 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر 1.13 جدول پارس ) LL(1 در ستونهای جدول پایانه ها قرار میگیرند به اضافه $ و در سطرهای جدول غیر پایانه ها قرار میگیرند. اندازه جدول : تعداد غیر پایانه ها * (تعداد پایانه ها )1 + ) ( پایانه ها $ + غیر پایانه ها 1. نحوه تشکیل جدول پارس ) LL (1 شماره این قاعده را مقابل غیرپایانه A و زیر عناصر مجموعه.1 برای کلیه قواعد غیر تهی به فرم ) First(α مینویسیم..1 اگر α طی صفر مرحله یا بیشتر به Ɛ برود شماره قاعده مربوطه را مقابل غیرپایانه A و زیر عناصر مجموعه ) Follow(A مینویسیم.» مثال : جدول پارس ) LL(1 برای مثال Stmt بکشید. 0 خط 1 را به ابتدای مثال اضافه میکنیم.» پاسخ First : را برای همه غیر پایانه ها و Follow را برای غیر پایانههایی که به تهی ختم میشوند محاسبه میکنیم : ( ) ) ( ) ( ) ( ) ( ( ) ) ( ) ( ( ) ( ) ( ) ( ) ) مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب ( 12

31 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر begin end if then for do while id num to := > < = $ Stmt St1 5 St2 6 St3 7 7 Loop 8 9 Body 10 ForList Condition 12 Relop ( ) 8» مثال: برای گرامر زیر جدول پارس تشکیل دهید.» پاسخ: ابتدا First همه غیر پایانه ها را مشخص میکنیم: ( ) ( ) ( ) ( ( ) ( ) برای کشیدن جدول پارس باید Follow غیر پایانههایی که First آنها به Ɛ ختم میشوند را هم بدست بیاوریم: ( ) ( ) ) ( ) ( ) ( ) ( ) ( ) ) دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

32 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی id + * ( ) $ 1 1 ' T 4 4 T F 8 7 Token جاری نگاه میکند. 1. پارس با استفاده از روش (1) LL ** نکته: پارسر در هر مرحله به Token باالی انباره )Stack( و عنصر او ل عبارت یا مرحله صفر )شرایط آغازین( یک $ به انتهای رشته ورودی اضافه میکنیم و یک $S به صورت معکوس وارد انباره میکنیم. )S یعنی نماد شروع( مرحله اول اگر بود عمل پارس خاتمه میابد. مرحله دوم بود آنگاه Scanner فراخوانی میشود که Token بعد را پیدا کند و X از باالی انباره حذف اگر میشود. اگر X پایانه باشد ولی مخالف L.A. باشد یک خطای نحوی رخ داده است. همیشه یک اشتقاق به صورت برعکس در انباره LL(1) قرار میگیرد که عنصر روی انباره که عنصر سمت چپ عبارت است باالی انباره قرار خواهد گرفت. مرحله سوم مراجعه می کند که دو حالت ممکن است پیش بیاید: اگر X غیر پایانه باشد پارسر به خانه را به صورت معکوس وارد باشد X را از باالی انباره حذف و به جای آن حالت اول: اگر 1. انباره میکنیم. خالی باشد یک خطای نحوی رخ داده است. حالت دوم: اگر 1. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

33 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر با پارسر LL(1) از لحاظ نحوی درست است» مثال: آیا عبارت» پاسخ: اگر پذیرش رخ دهد یعنی عبارت فوق با این گرامر همخوانی دارد و از نظر نحوی درست است. اگر به طور مثال T خانه خالی ببیند یعنی این عبارت جزء گرامر نبوده است $ عمل انجام شده بسط با قاعده 1 بسط با قاعده 1 بسط با قاعده 2 نظیر شدن id بسط با قاعده 6 بسط با قاعده 1 نظیر شدن + بسط با قاعده 1 بسط با قاعده 2 نظیر شدن id بسط با قاعده 5 نظیر شدن * بسط با قاعده 2 نظیر شدن id بسط با قاعده 6 بسط با قاعده 1 پذیرش ورودی انباره شرط قبول جمله ورودی این است که در نهایت در ورودی فقط عالمت $ و در انباره هم فقط عالمت $ وجود داشته باشد. 0 1,2 3,4 5» مثال: LL(1) بودن گرامر زیر را بررسی کنید. ( ) ( ) ( ) دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

34 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) a b e f g $ 1 2 F 3 4 A 5 4 با توج ه به جدول این گرامر LL(1) نیست )یعنی با روش LL(1) وجود دارد. قابل پارس کردن نیست(. چون در یک خانه دو حالت 1. شرایط (1) LL بودن یک گرامر دو روش وجود دارد: 1. روش اول: کشیدن جدول پارس LL(1) اگر در خانه های جدول هیچ تداخلی وجود نداشت گرامر LL(1) است و در غیر این صورت LL(1) نیست. ** نکته: تداخل یعنی در یک خانه بیش از یک عدد باشد. 1. روش دوم: گرامری LL(1) است که سه شرط زیر را داشته باشد: First ) شرط اول: اگر سمت چپ قواعد یکسان بود )مثل هیچ کدام از آنها نباید اشتراک داشته باشند یا به عبارت دیگر اشتراک First آنها باید تهی باشد: ( ) ( )» مثال: آیا گرامر زیر LL(1) است تهی نیست ) ( ) (» پاسخ: پس LL(1) هم نیست. تداخل دارد. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

35 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر a A 1 2» مثال: آیا گرامر زیر LL(2) است» پاسخ: LL(2) هست ولی LL(1) نیست. ** نکته: گاهی اوقات ممکن است قوانین طوری طراحی شده باشند که به صورت غیر مستقیم First باشند. مشترک داشته» مثال: آیا گرامر زیر LL(1) است» پاسخ: LL(1) نیست چون First مشترک دارند. شرط دوم: قواعدی که سمت چپ یکسانی دارند اگر غیرپایانه مورد نظر سمت چپ به تهی برود عالوه بر نداشتن اشتراک در First هایشان اشتراک First و Follow آنها هم باید تهی باشد. { ( ) ( ) ( ) ( ) شرط سوم: قواعدی که سمت چپ یکسانی دارند نباید دو قاعده به صورت همزمان به تهی بروند. ** یادآوری: حروف یونانی رشتهاند یعنی میتوانند ترکیبی از پایانه ها و غیر پایانه ها باشند. 0 1,2 3,4 5» مثال: آیا گرامر زیر LL(1) است ( به هر دو روش بررسی کنید( دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

36 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی First Follow S S ( ) ( ) ( ) i t a e b $ S 1 2 S LL(1) نیست زیرا بین First و Follow اشتراک وجود دارد. 1. فاکتورگیری با استفاده از روش فاکتورگیری میتوان گرامر غیر LL(1) که First مشترک دارند را به گرامر LL(1) تبدیل کرد.» مثال: با استفاده از روش فاکتورگیری گرامر زیر را به LL(1) تبدیل کنید.» پاسخ: به طور کلی در روش فاکتورگیری برای رشتههای دلخواه α و β داریم: و پس از فاکتورگیری داریم: مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 15

37 فصل چهارم : روشهای تحلیل نحوی اصول طراحی کامپایلر ( ) , 16 ( ) » مثال: پارسر LL(1) را برای گرامر زیر تشکیل دهید.» پاسخ: قاعده )<St4>( 2 و قاعده )<St5>( دارای First مشترک id هستند. همچنین قاعده 15 و )<Parameters-List>( 16 هم دارای First مشترک id هستند ( ) ( ) 1.12 چپگردی اگر در گرامر قاعدهای داشته باشیم که در آن غیرپایانه سمت چپ به عنوان اولین Term سمت راست ظاهر شده باشد گرامر را چپگرد میگوییم. ** نکته: اگر در گرامر چپگردی داشته باشیم گرامر LL(1) نیست.» مثال:» مثال: ( ) ( ) دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 16

38 اصول طراحی کامپایلر فصل چهارم : روشهای تحلیل نحوی حذف چپگردی چپگرد معمولی 1.19 با حذف چپگردی داریم: {» مثال: چپ گردی گرامر زیر را در صورت وجود حذف کنید.» پاسخ: ( ) ( )» مثال:» پاسخ: 1.12 چپگردی غیر صریح گرامر زیر را در نظر بگیرید: ابتدا آن را به چپگردی صریح تبدیل میکنیم: پس از حذف چپگردی: مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

39 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر 1 فصل پنجم : روشهای اصالح خطای نحوی 1.1 انواع خطا چهار نوع خطا داریم: 1. خطای لغوی: یعنی در جایی قوانین لغوی زبان را رعایت نکنیم. 1. خطای نحوی: به دلیل رعایت نکردن قواعد نحوی )دستور زبان( به وجود میآید. rror( )Syntax 1. خطای معنایی: مانند نسبت دادن یک عدد اعشاری به یک متغیر صحیح یا درخواست دسترسی به خانه پانزدهم یک آرایه دهتایی در صورتی که قواعد دستوری رعایت شده است. 1. خطای منطقی: یعنی برنامه از لحاظ منطقی اشکال داشته باشد. به عبارت دیگر الگوریتم اشتباه پیادهسازی شده باشد. کامپایلر نمیتواند این نوع خطا را تشخیص دهد و تشخیص و اصالح آن به عهده برنامهنویس است. سه خطای اول را خطاهای اصلی مینامند و کامپایلر توانایی تشخیص آنها را دارد. روشهای اصالح خطا عبارتند از: Panic Mode )1 Phrase Level )1 rror Production )1 Global Correction )1 دلیل اصالح خطا: به خاطر اینکه کامپایلر در هنگام کامپایل کردن برنامه به محض برخورد با خطا متوقف نشود کند و در پایان لیست خطاها را نمایش دهد. و تا انتهای ک د را کامپایل 1.1 روش Panic Mode پایه این روش بر اساس حذف است. یعنی هرجا به خطا برخورد کرد از ورودی حذف میکند. آنقدر حذف میکند تا به عنصری از مجموعه هماهنگ ساز برسد. عناصر مجموعه هماهنگ ساز به نحوی نشان دهنده مقاطعی از برنامه هستند. سادگی این روش در پیاده سازی آن است و هیچ وقت در حلقه نامحدود نمیافتد چون حداکثر این است که همه را حذف میکند. 1.3 روش Phrase Level با توج ه به محلی که خطا رخ داده و چیزی که در ورودی دیده می شود و چیزی که انتظار دارد ببیند یک حدس میزند و بر اساس آن حدس تغییری در برنامه ایجاد میکند تا خطا را رفع کند. اگر حدس درست باشد پیغام مناسب صادر میشود. پس خطا رفع شده و عبور میکند. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 12

40 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی عبارت صحیح مورد نظر عبارت ورودی اشتباه حدس اشتباه» مثال: ** نکته: حدس اشتباه باعث میشود که نتیجه محاسبه اشتباه در عبارات دیگر هم تاثیر بگذارد و نتیجه آنها نیز اشتباه حساب شود. به این نوع خطا خطای آبشاری گفته میشود. 1.1 روش rror Production یک بررسی آماری روی خطاهایی که در یک زبان خاص برنامهنویسان بیشتر مرتکب می شوند انجام میدهند. سپس خطاها را به شکل قواعد همراه با عالمتی که از بقیه قواعد تفکیک شود به زبان اضافه میکنند. اگر برنامه ای از یکی از این قواعد استفاده کند یعنی برنامه از خطا استفاده کرده و پیغامی میدهد که مناسب آن خطا باشد. مزی ت این روش: 1. پیغامی که میدهد مناسب است چون خطا را میشناسد. 1. به سادگی میتواند از روی خطاها عبور کند چون قاعدهاش در گرامر وجود دارد.» مثال: مثال عبارت a+b به صورت ab وارد شده و این خطا از قبل پیش بینی شده است. ::: 1.1 روش Global Correction یک روش تصحیح عمومی است. روشهای قبلی به صورت محلی به خطا نگاه میکردند. در این روش همه برنامه را به صورت کلی بررسی میکنیم. سپس حداقل تعداد تغییرات و اصالحات که در برنامه باید انجام شود را اعمال میکنیم تا کل برنامه درست شود. این روش یک روش تئوری و آزمایشگاهی است و جنبه عملی پیدا نکرده است. این روش باید 1 خصوصیت مه م داشته باشد: 1. پیغامی که به کاربر میدهد باید مناسب و درست باشد و به کاربر در اصالح خطا کمک کند. 1. باید سرعت باالیی داشته باشد. 1. حجم پردازشها نباید زیاد باشد تا برنامه های درست زیاد معطل و ک ند نشوند. ** نکته: معموال پارسرهای باال به پایین از دو روش او ل استفاده میشود. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 12

41 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر 1.1 اصالح خطا به روش Panic Mode در پارسرهای LL(1) در روش Panic Mode به ازای هر غیر پایانه مجموعه هماهنگ ساز را مشخص میکنیم که همان Follow غیرپایانه مورد نظر است. البته در صورتیکه خانه مورد نظر خالی باشد. * اگر پایانه روی انباره با ورودی تطبیق نداشت پایانه روی انباره را حذف میکنیم. ام ا اگر عنصر روی انباره غیرپایانه بود سه حالت دارد: 1. یا با یک شماره قاعده پر شده که با همان شماره قاعده بسط میدهیم. 1. یا آن خانه خالی است که از ورودی حذف میکنیم. 1. یا خانه مورد نظر عنصر هماهنگ ساز )Synch( است که از انباره حذف میکنیم. ** نکته: )حالت استثناء( به شرطی حذف از انباره صورت میگیرد که نماد شروع نباشد. اگر نماد شروع در موقعیت حذف قرار گیرد آنوقت این نماد حذف نمیشود و به جای آن از ورودی حذف میکنیم. " را )» مثال: گرامر زیر را در نظر بگیرید. با استفاده از پارسر LL(1) و روش Panic Mode عبارت " پارس و خطاهای موجود را اعالم کنید ( ) 8 ( ) ( ) ( ) ( ( ) ( )» پاسخ: ابتدا تمامی First ها و Follow ها را مییابیم: ( ) ) ( ) ( ) ) ( ) ( ) ( ) ( ) ) ( ) ( ) ) ( ) ( ) ( ) ( ) ) سپس جدول پارس LL(1) را تشکیل میدهیم: ** توج ه: Synch عناصر مجموعه هماهنگ ساز است. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

42 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی id + * ( ) $ 1 1 Synch Synch ' T 4 Synch 4 Synch Synch T' F 8 Synch Synch 7 Synch Synch عبارت مورد نظر: ) id * + id $ ورودی انباره ) ) عمل انجام شده خطا حذف "+" خطا استثنا حذف ")" بسط با قاعده 1 بسط با قاعده 1 بسط با قاعده 2 نظیر شدن id بسط با قاعده 5 نظیر شدن * خطا حذف F بسط با قاعده 6 بسط با قاعده 1 نظیر شدن + بسط با قاعده 1 بسط با قاعده 2 نظیر شدن id بسط با قاعده 6 بسط با قاعده 1 پذیرش با 1 خطا مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

43 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر 1.1 روش پارس پایین گرد در این روش به ازای هر کدام از غیر پایانه ها یک تابع داریم. 1. اگر غیر پایانه چند بسط مختلف داشته باشد با مقایسه نماد پیشگویی با مجموعه First آن بسط یکی از بسطهای آن را انتخاب میکنیم. 1. سعی میکنیم سمت راست آن قاعده ای که برای بسط انتخاب شده در ورودی پیدا کنیم )توسط پارسر انجام میشود(. اگر سمت راست شامل پایانه و غیرپایانه باشد به ازای پایانه ها باید آنها را عینا در ورودی داشته باشیم و اگر غیر پایانه باشد باید تابع مربوطه را صدا کنیم. 1,2 3 4,5,6 برای توضیح این قسمت گرامر زیر را به عنوان مثال در نظر بگیرید: دیاگرام گذر گرامر پیشین به صورت زیر است: دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

44 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی Proc ( ) { if L.A. = a then 1 else if L.A. = c then 2 else error; } شبه کد گرامری که در باال گفته شد به صورت زیر است: Proc D ( ) { if L.A. = b then 3 else error; } Proc F ( ) { if L.A. = a then 4 else if L.A. = b then 5 else if L.A. = e then 6 else error; } Proc Match ( i : token) { if L.A. = i then L.A. = next_token( ) else error; } ** نکته: به جای پایانه ها Match توابع قبل را کاملتر بنویسیم داریم: میگذاریم و به جای غیرپایانه ها توابع آنها را فراخوانی میکنیم. پس اگر بخواهیم Proc ( ) { If L.A. = a then Match(a); Match(b); Match(c); else if L.A. = c then Match(c); Match(e); Proc F( ); Proc D( ); else error; } Proc D ( ) { if L.A. = b then Match(b); Match(e); else error; } مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

45 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر Proc F ( ) { if L.A. = a then Match(a); else if L.A. = b then Match(b); Match(e); else if L.A. = e then Match(e); Proc D( ); else error; } 1,2 3,4,5 6 [ ]» مثال: به روش پارس پایینگرد گرامر زیر را پارس کنید. Proc Type ( ) { if L.A. = { int, real, char } then Simple( ); else if L.A. = array then Array_Def( ); else error; }» پاسخ: Proc Simple ( ) { if L.A. = int then Match(int); else if L.A = real then Match(real); else Match(char); } Proc Array_Def ( ) { Match( array ); Match( [ ); Match( num ); Match( ); Match( num ); Match( ] ); Match( of ); Type( ); } دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

46 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی ** نکته: روش پارس پایین گرد بهسادگی قابل پیادهسازی است ام ا به دلیل فراخوانیهای بازگشتی متعددی که دارد روش کندی است و معموال در کامپایلرها مورد استفاده قرار نمیگیرد. اگر حجم برنامه زیاد باشد عملیات کامپایلر ک ند خواهد شد. 1.2 پارسرهای پایین به باال عکس پارسرهای باال به پایین عمل میکنند. فرض میکنیم جمله ای که میخواهیم بدانیم متعلق به زبان است وجود دارد و هرکدام از اجزای آن برگهای یک درخت هستند. از پایین به باالی درخت حرکت میکنیم تا به نماد شروع برسیم. اگر به نماد شروع رسیدیم یعنی جمله متعلق به زبان است. چند روش گوناگون برای این نوع پارسرها وجود دارد. ** نکته: وضعیت شروع در پارسرهای پایین به باال معادل وضعیت پایان در پارسرهای باال به پایین است. ** نکته: وضعیت پایان در پارسرهای پایین به باال معادل وضعیت شروع در پارسرهای باال به پایین است. پارسرهای پایین به باال پارسرهای باال به پایین $S : : $ $ : : $S 1.9 روش انتقال-کاهش )Shift-Reduce( تعریف انتقال انتقال یعنی پایانه ای را از ورودی بخوانیم و آن را در انباره قرار دهیم. تعریف کاهش کاهش یعنی اگر در باالی انباره یک دستگیره ظاهر شد آن را با معادل سمت چپش در گرامر جایگزین کنیم. تعریف دستگیره دستگیره به جزئی از ورودی میگویند که برای جایگذاری انتخاب میشود. تعریف عبارت به قسمتی از یک فرم جمله ای که در یک مرحله یا بیشتر از یک غیرپایانه بدست آمده باشد عبارت میگویند. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 15

47 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر تعریف عبارت ساده عبارتی که در یک مرحله از غیرپایانه مربوطه بدست آمده باشد. تعریف دیگری از دستگیره دستگیره عبارت ساده ای است که در جهت عکس بسط سمت راست ترین )عکس عمل )RMD به وجود آمده باشد. 1 2,3 4 RMD:» مثال: آیا عبارت abbcde متعلق به زبان زیر است یا خیر» پاسخ: :عکس عمل RMD c b b b A A A a a a a a $ $ $ $ $ $ کاهش با قاعده 1 کاهش با قاعده 1 C انتقال انتقال a انتقال b کاهش با قاعده 1 انتقال b e d B B A A A A a a a a S $ $ $ $ $ پذیرش کاهش با قاعده 1 انتقال e کاهش با قاعده 1 انتقال d دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 16

48 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی ** نکته: مشکل روش انتقال-کاهش این است که انتخاب دستگیره صحیح دشوار است و بین یکسان دارند یافتن دستگیره مناسبتر دشوار است. دو قاعده که سمت راست ( ) 4 را با روش انتقال-کاهش بررسی کنید.» مثال: عبارت» پاسخ: + * id * + id id id id id عمل انجام شده ورودی انباره 1 انتقال id 2 کاهش با قاعده ( 1 4 )R 3 انتقال + 4 انتقال id 5 کاهش با قاعده ( 1 4 )R 6 تداخل: )انتقال )* یا ( 1 )R 7 انتقال id 8 کاهش با قاعده ( 1 4 )R 9 کاهش با قاعده ( 1 2 )R 10 کاهش با قاعده ( 1 1 )R پذیرش انواع تداخل تداخل انتقال - کاهش :)Shift-Reduce( زمانیکه پارسر نمیداند باید انتقال دهد یا کاهش. تداخل کاهش - کاهش :)Reduce-Reduce( زمانیکه پارسر نمیداند با کدام قاعده باید کاهش دهد مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

49 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر 1 2» مثال: تداخل انتقال - کاهش ورودی عمل انجام شده تداخل انتقال-کاهش )S-R( در اینجا انتقال فقط درست است. چون else بدون if معنی ندارد. انباره 1 2» مثال: تداخل کاهش-کاهش عمل انجام شده تداخل کاهش-کاهش ( 1 R یا )R 2 ورودی انباره 1. روشهای LR این روشها جزء قویترین روشهای پارس پایین به باال هستند که به سه دسته تقسیم می شود: SLR )از همه ساده تر( 1. CLR )از همه قوی تر( 1. LALR )بین دو مورد باال( 1. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 12

50 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی چهار مزیت اصلی روشهای LR ک یل ترین روش پارس پایین به باال هستند و معموال آنها را میتوان به کارایی روشهای دیگر پیاده سازی کرد. بیشتر ساختارهای زبانهای برنامهنویسی را پشتیبانی میکند. مجموعه گرامرهایی که توسط روشهای LR پارس میشوند یک مجموعه کامل از گرامرهایی هستند که توسط انواع پارسرهای دیگر پوشش داده میشود. خطاها را از همه پارسرهای دیگر سریعتر و صحیحتر پیدا میکنند LR(0).item 1.13 سمت راست یک قاعده یک نقطه ).( میافزاییم. وقتی نقطه قبل از یک عبارت است یعنی پارسر اگر آن عبارت را ببیند چه میکند. وقتی نقطه به انتهای عبارتی برسد یعنی هنگام کاهش است. )زمان کاهش است( مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 12

51 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر ( ) 6 را توسط این دو پارس کنید.» مثال: دیاگرام و جدول SLR گرامر زیر را رسم کنید و عبارت ❶ ' $ + ❻ ' [ ] ❼ F F *F F () d T F ( ❿ [R 1 ] *F 3 4 * 8 id 5 ⓿ ' T *F T F F F () d T F ( ❷ [R 2 ] *F ❸ F [R 4 ] ❹ F ( ) *F T F F F () d * T F ( ❽ T F F * F () d ❾ F ( ) F ( id ) + ⓫ T *F [R 3 ] 4 5 ⓬ F () [R 5 ] 7 id ❺ F d [R 6 ] id 5 دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 51

52 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی ( ) ) ( ) ) ( ) ) ** نکته: به ازای عبارات روی فلش شیفت داریم و به ازای R 1 ** نکته: حتما باید از را ببینیم. تا تا R n کاهش داریم. حال با توج ه به دیاگرام SLR کشیده شده جدول SLR را رسم میکنیم: R n R 1 جدول پارس :SLR راهنمای جدول: Acc=Accept S=Shift R=Reduce و mpty Cell=rror Terminals Non-Terminals id + * ( ) $ T F 0 S 5 S S 7 Acc 2 R 2 S 8 R 2 R 2 3 R 4 R 4 R 4 R 4 4 S 5 S R 6 R 6 R 6 R S 5 S S 5 S 4 9 S 7 S R 1 S 8 R 1 R 1 R 3 R 3 R 3 R 3 12 R 5 R 5 R 5 R 5 Action Go To مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 51

53 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر ** نکته: به ازای Followهای سمت چپ عملیات کاهش را انجام میدهیم. حال عبارت را با توج ه به جدول قبل به روش SLR پارس میکنیم: ورودی انباره عمل انجام شده : انتقال id و رفتن به مرحله 5 S 5 R 6 R 4 S 8 S 5 : کاهش با قاعده 6 : کاهش با قاعده 1 : انتقال * و رفتن به مرحله 2 : انتقال id و رفتن به مرحله 5 R 6 R 3 R 2 S 7 S 5 : کاهش با قاعده 6 : کاهش با قاعده 1 : کاهش با قاعده 1 : انتقال + و رفتن به مرحله 1 : انتقال id و رفتن به مرحله 5 R 6 R 4 R 1 پذیرش : کاهش با قاعده 6 : کاهش با قاعده 1 : کاهش با قاعده ( ) ( ) ( ) ( ) ( ) ( )» مثال: جدول پارس SLR را برای گرامر زیر رسم کنید. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 51

54 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی ⓿ S' R R *R d R S L R ❶ S' ❷ S R R [R 5 ] ❸ ❹ * R R [R 2 ] * R *R d $ = R L ❻ ' [ ] ❼ S R *R d R ❽ L *R [R 3 ] ❾ R [R 5 ] * 4 R L ❿ 9 * 4 id 5 R [R 1 ] id ❺ d [R 4 ] id 5 مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 51

55 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر حال مطابق دیاگرام فوق جدول SLR میکشیم. id * = $ S L R 0 S 5 S Acc 2 S 7 R 5 R 5 3 R 2 4 S 5 S R 4 R S 5 S R 3 R 3 9 R 5 R 5 10 R 1 ** توج ه: همانطور که شاهد هستیم در State 2 تداخل انتقال-کاهش داریم. پس گرامر فوق SLR نیست. این تداخل به ازای Followهای R به وجود آمده است. برای حل این مشکل از روشهای دیگری استفاده میکنیم. در ادامه با روش CLR آشنا میشویم. L=R$ *R=R$ id=r$ از مسیر باال Follow(R) = {=,$} S' S$ R$ L$ *R$ id$ از مسیر پایین Follow(R) = {$} دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 51

56 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی روش باال که با توج ه به مسیر Follow را تعیین میکند روش CLR از بین برود در State 2 به ازای مساوی )=( فقط میگویند. با توج ه به این روش اگر بخواهیم تداخل میماند. S 7 1 2,3 4» تمرین: برای گرامر زیر جدول پارس SLR بکشید و عبارت cacbdb را به وسیله آن پارس کنید. 1. روش CLR Follow در این روش سعی میشود برای حل مشکل تداخل-کاهش از همه ها استفاده نشود بلکه بسته به مسیر از Followها استفاده کنیم. LR(0) + L.A ,3» مثال: دیاگرام گرامر زیر را به روش CLR رسم کنید. ( ) ( ) مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 55

57 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی ❺ ' پذیرش ] {$} [R2 ❿ D ⑦ ⑧ c d ] {$} [R1 } {$ } {$ } d {$ ❻ S ❼ ❽ ] D d {$} [R3 ❾ $ ❶ ' S } {$ D } {$ } {$ } d {$ c ④ ❷ DS } {$ } {$ } {c,d } d {c,d d ⓿ ' S D ] {c,d} [R2 ③ S c } {c,d } {c,d } d {c,d d ] {c,d} [R3 d ❸ ❹ c d ** تذکر : تفاوت دیاگرام CLR در این است که Follow چون کاهش را وقتی نقطه به آخر رسید به ازای Follow سمت چپ انجام میدهیم پس Follow سمت چپ هر گرامر را در جلوی آن مینویسیم. ** تذکر CLR : هم از لحاظ حافظه و هم از لحاظ قدرت از SLR بیشتر است )CLR > SLR (. ** نکته : اگر گرامری CLR باشد لزوما SLR نیست. ** نکته : اگر گرامری CLR نباشد حتما SLR هم نیست. ** نکته : اگر گرامری SLR باشد حتما CLR هم هست. ** نکته : اگر گرامری SLR نباشد نمیتوان گفت که CLR هم نیست. 56 دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

58 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی c d $ S D 0 S 3 S Acc 2 S 7 S S 3 S R 3 R R 1 7 S 7 S R 3 9 R 2 R 2 10 R 2 1. روش LALR L.A. LALR از روی CLR به دست میاید. در روش وضعیتهایی که هسته یکسانی دارند را ادغام کرده و یا Followها را اجتماع میگیریم. هسته: در یک وضعیت تمام قسمتها به جزء L.A. یا Follow ها را هسته میگوییم. 1 2,3» مثال: دیاگرام گرامر زیر را به روش LALR رسم کنید. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 51

59 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر S ❶ S' {$} $ ❺ پذیرش ] [ ' ⓿ S' {$} {$} {c,d} d {c,d} D c d ❷ S {$} {$} d {$} ❸❼ {c,d,$} {c,d,$} d {c,d,$} ❹❽ d d [R 3 ] D D c d c d ❻ S {$} [R 1 ] ❾❿ {c,d,$} [R 2 ] وضعیتهای 1 و 1 چون هسته یکسان دارند با هم ادغام میشوند و وضعیت جدید به صورت نشان داده میشود. )وضعیت 1 را نیز حذف میکنیم( و Follow وضعیت میشود.{c,d,$} وضعیتهای 1 و 2 و وضعیتهای 2 و هم همینطور هستند. c d $ S D 0 S 37 S Acc 2 S 37 S S 37 S R 3 R 3 R R 1 دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 52

60 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی 910 R 2 R 2 R 2 ** نکته: CLR از SLR آمده بود و تداخل نداشت. در LALR چون Follow ها ادغام میشوند و به ازای Follow ها کاهش داریم پس امکان تداخل کاهش-کاهش وجود دارد. ** تذکر: مقایسه روشهای LR از لحاظ قدرت و حافظه: CLR( )SLR < LALR <» مثال: عبارت ccd را با LALR و CLR پارس کنید. LALR پارس به روش عمل انجام شده ورودی انباره : انتقال c : انتقال c : انتقال d S 37 S 37 S 48 R 3 R 2 R 2 خطا : کاهش با قاعده 1 : کاهش با قاعده 1 : کاهش با قاعده 1 CLR پارس به روش عمل انجام شده ورودی انباره : انتقال c : انتقال c : انتقال d S 3 S 3 S 4 خطا ** نکته: همانطور که مشاهده میشود روش CLR زودتر خطا را شناسایی میکند. ** تذکر: در اینجا ممکن است این سوال مطرح شود که اگر گرامری CLR آیا در آن احتمال بروز خطا وجود دارد یا نه باشد بعد از اینکه به LALR تبدیل شود مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 52

61 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر جواب این است که اصال احتمال بروز تداخل انتقال-کاهش وجود ندارد. تنها ممکن است تداخل کاهش-کاهش به وجود بیاید زیرا Follow ها با هم ترکیب میشوند » تمرین: گرامر زیر را با روش LALR بررسی کنید ( ) ( ) 6 نکته: از مزایای گرامرهای مبهم می توان به سادگی و خالصه تر بودن آنها اشاره کرد. معادل غیر مبهم گرامر فوق به صورت زیر است: اگر بتوانیم مشکالت گرامرهای مبهم را برطرف کنیم و از آنها استفاده کنیم بهتر است. برای مثال در گرامر مبهم فوق قاعده 1 مستقیما نتیجه میگیریم id ولی در گرامر غیر مبهم داریم: از دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 61

62 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی دیاگرام SLR گرامر مبهم را رسم میکنیم: ⓿ ' * () d ( id ❶ ' * ❷ ( ) * () d 2 3 ❸ d [R 4 ] ( id $ + ❹ ' [ ] ❺ ❻ * ( id * () d * * () d ❼ ( ) * 2 3 id ( ) + ❽ [R 1 ] * 2 3 ❾ * [R 2 ] * ❿ () [R 3 ] 5 * * * مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 61

63 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر Follow() = {$,+,*,)} id + * ( ) $ 0 S 3 e 1 e 1 S 2 e 2 e e 2 S 5 S 6 e 3 e 2 Acc 2 S 3 e 1 e 1 S 2 e 2 e R 4 R 4 R 4 R S 3 e 1 e 1 S 2 e 2 e S 3 e 1 e 1 S 2 e 2 e e 3 S 5 S 6 e 3 S 10 e S 5 R 1 S 5 R 2 S 6 R 1 R 1 R 1 S 6 R 2 R 2 R 2 10 R 3 R 3 R 3 R 3 خانههایی را که در آنها تداخل داریم را بررسی کرده و سعی میکنیم تداخل آنها را رفع کنیم. در تقاطع خانه 2 و + داریم: با توج ه به این که عبارت از چپ به راست اولویت با عمل کاهش است. بررسی میشود ابتدا باید )+( او ل اعمال شود سپس )+( دو م به عبارت دیگر در تقاطع خانه 2 و * داریم: در اینجا ابتدا باید عمل ضرب )*( اعمال شود چرا که عمل ضرب )*( نسبت به عمل جمع )+( تقد م دارد به عبارت دیگر اولویت با عمل انتقال است. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 61

64 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی در تقاطع خانه 2 و + داریم: در این حالت مشخص است که اولویت با عمل ضرب )*( است اولویت با عمل کاهش است. و سپس عمل جمع )+( اعمال میشود به عبارت دیگر در تقاطع خانه 2 و * داریم: همانطور که میبینیم هر دو عمل ضرب )*( اولویت دارای یکسان هستند پس از چپ شروع میکنیم به عبارت دیگر اولویت با عمل کاهش است. پس جدول صحیح به صورت زیر است: id + * ( ) $ 0 S 3 S S 5 S 6 Acc 2 S 3 S R 4 R 4 R 4 R S 3 S S 3 S S 5 S 6 S 10 8 R 1 S 6 R 1 R 1 9 R 2 R 2 R 2 R 2 10 R 3 R 3 R 3 R 3» تمرین: مثال قبل را با روش LALR بررسی کنید. مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 61

65 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی 1. اصالح خطا به روش Phrase Level در پارسرهای LR خانه های خالی در جدول پارسر که نشانه خطا هستند را با استفاده از توابع پر میکنیم. این توابع خطاها را درست کرده و پیام مناسب چاپ میکنند. خطا پیغام عملیات e1 یک id روی انباره بگذار و به وضعیت 1 برو عملوند گم شده است. e2 پرانتز بسته "(" را از ورودی حذف کن پرانتز بسته "(" اضافی e3 " "+ را روی انباره بگذار و به حالت 5 برو عملگر گم شده است. e4 پرانتز بسته "(" را روی انباره بگذار و به وضعیت برو پرانتز بسته "(" گم شده است.» مثال : عبارت ) d را پارس کنید. ورودی عمل انجام شده S3 ) R4 ) S5 : e2 خطا ) انباره ) : e1 خطا R4 R1 پذیرش با دو خطا 61 دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

66 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی 1. روش تقد م عملگر برای اینکه بتوانیم از این روش استفاده کنیم باید گرامر عملگر باشد. شرایط عملگر بودن یک گرامر به شرح زیر است: فاقد قواعد تهی باشد. 1. دو تا غیر پایانه در سمت راست قواعد مجاور یکدیگر نباشند. 1. { ( ) عملگر نیست» مثال: حال باید گرامر غیر عملگر فوق را به گرامر عملگر تبدیل کنیم: عملگر هست ) ( در کل ما در این روش میخواهیم به صورتی بین عملگرهای موجود تقد م قائل شویم. ** توج ه: تمام پایانه ها عملگر هستند. تقد م a کمتر از b است. تقد م a مساوی b است. تقد م a بیشتر از b است. دو تابع زیر روی غیرپایانه ها تعریف میشوند و حاصل آنها مجموعهای از پایانه ها است: او لین چیز یا یکی بعد از آن ) ( آخرین چیز یا یکی قبل از آن ) ( ( ) ( ) ( ) ( ) مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 65

67 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر جدول پارس تقد م عملگر: $ + Terminal ها $ + Terminal ها ابعاد جدول پارس به روش تقد م عملگر: ) ( 0 1,2 3,4 5,6 ( )» مثال: گرامر زیر را با روش تقد م عملگر بررسی کنید. پاسخ: 0 2 1, , ,6 ( 7 8 ) ( ) ( ( ) ( ( ) ( ( ) ) ( ) ) ( ) ) دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 66

68 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی : ( ) 2 : ( ) 3 : ( ) 4 : ( ) 5 : ( ) 6 : ( ) 7 : ( ( ) 8 : ( ) ) { ( ) روابط تساوی کوچکتر )>( توج ه: هنگام جایگذاری در جدول عالمت به صورت سطری و عالمت بزرگتر )<( به صورت ستونی پر ** میشود. + * ( ) id $ + > < < > < > * > > < > < > ( < < < = < e 2 ) > > e 1 > e 1 > id > > e 1 > e 1 > $ < < < e 3 < = شرح خطاها: : عملگر گم شده است. : پرانتز بسته "(" گم شده است. : پرانتز بسته "(" اضافی. e 1 e 2 e 3 توضیح: برای پارس به روش تقد م عملگر شرط الزم این است که گرامر عملگر باشد و شرط کافی این است که بین هیچ دو عملگری بیش از یک رابطه تقد م نباشد. به عبارت دیگر یعنی در جدول تداخل وجود نداشته باشد. منظور از عملگرها همان پایانه ها هستند. ساختار درختی مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 61

69 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر S... U a B b... b' a' ( ) ( ) a( و 1.12 پارس به روش تقد م عملگر در ابتدا یک $ به انتهای رشته ورودی و یک $ داخل انباره میگذاریم. با مراجعه به باالترین پایانه روی انباره )مثال Token جاری )مثال b( و رفتن به سراغ خانه PT(a,b) در جدول پارس مراحل زیر را دنبال میکنیم: b( را Token اگر PT(a,b) معادل عالمت کوچکتر )>( باشد ابتدا عالمت کوچکتر )>( و سپس جاری )یعنی.1 وارد انباره میکنیم. )عمل انتقال( PT b a < عمل انجام شده انتقال ورودی انباره دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان 62

70 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی 1. اگر PT(a,b) معادل عالمت مساوی )=( باشد Token جاری )یعنی b( را وارد انباره میکنیم. )عمل انتقال( PT b a = عمل انجام شده انتقال ورودی انباره اگر PT(a,b) معادل عالمت بزرگتر )<( باشد داخل انباره تا رسیدن به اولین عالمت کوچکتر پیش میرویم. رشته باالی این عالمت و غیرپایانه آن در صورت وجود Handle یا دستگیره است و از انباره حذف میشود و به جای آن یک غیرپایانه نمادین وارد انباره میکنیم. )عمل کاهش(.1 PT b a > 1. اگر PT(a,b) خانه خالی باشد یک خطای نحوی رخ داده است و رویه پردازش خطا فراخوانی میشود. PT b a مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب 62

71 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر را پارس کنید.» مثال: عبارت عمل انجام شده انتقال کاهش انتقال انتقال کاهش انتقال انتقال کاهش کاهش کاهش پذیرش ورودی انباره معایب روش تقد م عملگر: به دلیل محدودیتهایی که دارد گرامرهای کمی وجود دارد که بتوانند از این روش استفاده کنند. 1. عملگرهایی مثل "-" که دارای دو تقد م متفاوتند با این روش کار نمیکنند. مثل x و.x-y 1. روش چندان دقیقی نیست چون ممکن است بعضی از خطاهای نحوی را کشف نکند روش تقد م ساده این روش بهبود یافته روش تقد م عملگر است. در این روش بین تمامی عالئم اعم از پایانه ها و غیرپایانه ها تقد م تعریف میشود. شرط استفاده از این روش این است که قاعده تهی نداشته باشیم و سمت راست هیچ دو قاعده ای یکسان نباشد. ولی برخالف روش تقد م عملگر میتوانیم دو غیرپایانه در کنار هم داشته باشیم.» مثال: در گرامر زیر به دلیل وجود عبارات یکسان در سمت راست قواعد تداخل کاهش-کاهش پیش میاید. دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

72 اصول طراحی کامپایلر فصل پنجم : روشهای اصالح خطای نحوی دو تابع Head(A) و Tail(A) داریم که بر روی غیرپایانه ها پایانه ها و غیرپایانه ها میباشند هستند. تعریف میشوند و حاصل آنها مجموعه ای از عالئم که همان چیزهایی که اول میایند ) ( چیزهایی که آخر میایند ) (» مثال: ( ) ( ) ( ( ) ) ( ) ( ( ) ) ( ) ( ( ) ) ( ) ( ) ( ) یعنی: ( ) ( ) ( ) ( ) ** توج ه: x و y هم پایانه )T( و هم غیرپایانه )N( هستند. ** توج ه: به طور کلی هر دو عالمتی که کنار هم باشند مساوی هستند چه T و چه N. 0 1 ( ) 2» مثال: گرامر زیر را با استفاده از روش تقد م ساده بررسی کنید. پاسخ: ( ) 2 : ( ) 2 : ( ) 3 : ( ( ) مهندس شاهپریان دانشگاه آزاد اسالمی واحد تهران جنوب

73 فصل پنجم : روشهای اصالح خطای نحوی اصول طراحی کامپایلر ابعاد جدول پارس به روش 4 : ( ) ( ) ( ) 5 : ( ) ) ( ) ) ( ) ( تقد م ساده: ) ( S ( ) c $ S ( ) c $ )کوچکتر( به صورت سطری پ ر میشوند. )بزرگتر( به صورت ستونی پ ر میشوند. ** توج ه: عالمتهای ** توج ه: عالمتهای S... U x y... S... U... x B y... S... U A... x y... A... x S U B y... ( ) ( ) ( ) ( ) 1.12 پارس به روش تقد م ساده در این روش در هر قدم به باالترین عالمت انباره )مثال x( و Token جاری)ورودی( )مثال b( نگاه کرده و سراغ PT(x,b) میرویم. 1. گام او ل: اگر PT(x,b) معادل عالمت مساوی )=( باشد Token جاری )یعنی b( را وارد انباره میکنیم. )عمل انتقال( 1. گام دو م: اگر PT(x,b) معادل عالمت کوچکتر )>( باشد ابتدا عالمت کوچکتر )>( و سپس b را وارد انباره میکنیم. )عمل انتقال( 1. گام سو م: اگر PT(x,b) معادل عالمت بزرگتر )<( باشد در این صورت داخل انباره تا رسیدن به اولین عالمت کوچکتر پیش میرویم. Handle یا دستگیره رشته باالی این عالمت است. دستگیره را از باالی انباره حذف کرده و در صورت صحت از لحاظ نحوی باید با سمت راست یکی از قواعد مطابقت داشته باشد. اگر عالمتی را که پس از حذف دانشگاه آزاد اسالمی واحد تهران جنوب مهندس شاهپریان

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

روش محاسبه ی توان منابع جریان و منابع ولتاژ روش محاسبه ی توان منابع جریان و منابع ولتاژ ابتدا شرح کامل محاسبه ی توان منابع جریان: برای محاسبه ی توان منابع جریان نخست باید ولتاژ این عناصر را بدست آوریم و سپس با استفاده از رابطه ی p = v. i توان این

Διαβάστε περισσότερα

محاسبه ی برآیند بردارها به روش تحلیلی

محاسبه ی برآیند بردارها به روش تحلیلی محاسبه ی برآیند بردارها به روش تحلیلی برای محاسبه ی برآیند بردارها به روش تحلیلی باید توانایی تجزیه ی یک بردار در دو راستا ( محور x ها و محور y ها ) را داشته باشیم. به بردارهای تجزیه شده در راستای محور

Διαβάστε περισσότερα

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

فصل پنجم زبان های فارغ از متن فصل پنجم زبان های فارغ از متن خانواده زبان های فارغ از متن: ( free )context تعریف: گرامر G=(V,T,,P) کلیه قوانین آن به فرم زیر باشد : یک گرامر فارغ از متن گفته می شود در صورتی که A x A Є V, x Є (V U T)*

Διαβάστε περισσότερα

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

تمرین اول درس کامپایلر 1 تمرین اول درس 1. در زبان مربوط به عبارت منظم زیر چند رشته یکتا وجود دارد (0+1+ϵ)(0+1+ϵ)(0+1+ϵ)(0+1+ϵ) جواب 11 رشته کنند abbbaacc را در نظر بگیرید. کدامیک از عبارتهای منظم زیر توکنهای ab bb a acc را ایجاد

Διαβάστε περισσότερα

Top Down Parsing LL(1) Narges S. Bathaeian

Top Down Parsing LL(1) Narges S. Bathaeian طراحی کامپایلر Top Down Parsing LL1) تعریف top down parsing Parse tree را از ریشه به سمت برگها می سازد. دو نوع LL1), LLk) Recursive descent مثال G = {S},{, ) }, P, S) S S S ) S ε ))$ مثال S S ) S ε ))$

Διαβάστε περισσότερα

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

تصاویر استریوگرافی. هب انم خدا تصاویر استریوگرافی تصویر استریوگرافی یک روش ترسیمی است که به وسیله آن ارتباط زاویه ای بین جهات و صفحات بلوری یک کریستال را در یک فضای دو بعدی )صفحه کاغذ( تعیین میکنند. کاربردها بررسی ناهمسانگردی

Διαβάστε περισσότερα

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

مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل شما باید بعد از مطالعه ی این جزوه با مفاهیم ولتاژ افت ولتاژ و اختالف پتانسیل کامال آشنا شوید. VA R VB به نظر شما افت ولتاژ مقاومت R چیست جواب: به مقدار عددی V A

Διαβάστε περισσότερα

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

تحلیل مدار به روش جریان حلقه تحلیل مدار به روش جریان حلقه برای حل مدار به روش جریان حلقه باید مراحل زیر را طی کنیم: مرحله ی 1: مدار را تا حد امکان ساده می کنیم)مراقب باشید شاخه هایی را که ترکیب می کنید مورد سوال مسئله نباشد که در

Διαβάστε περισσότερα

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

جلسه ی ۲۴: ماشین تورینگ دانشکده ی علوم ریاضی نظریه ی زبان ها و اتوماتا ۲۶ ا ذرماه ۱۳۹۱ جلسه ی ۲۴: ماشین تورینگ مدر س: دکتر شهرام خزاي ی نگارندگان: حمید ملک و امین خسر وشاهی ۱ ماشین تور ینگ تعریف ۱ (تعریف غیررسمی ماشین تورینگ)

Διαβάστε περισσότερα

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

جلسه ی ۱۰: الگوریتم مرتب سازی سریع دانشکده ی علوم ریاضی داده ساختارها و الگوریتم ها ۸ مهر ۹ جلسه ی ۱۰: الگوریتم مرتب سازی سریع مدر س: دکتر شهرام خزاي ی نگارنده: محمد امین ادر یسی و سینا منصور لکورج ۱ شرح الگور یتم الگوریتم مرتب سازی سریع

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

1) { } 6) {, } {{, }} 2) {{ }} 7 ) { } 3) { } { } 8) { } 4) {{, }} 9) { } { } هرگاه دسته اي از اشیاء حروف و اعداد و... که کاملا"مشخص هستند با هم در نظر گرفته شوند یک مجموعه را به وجود می آورند. عناصر تشکیل دهنده ي یک مجموعه باید دو شرط اساسی را داشته باشند. نام گذاري مجموعه : الف

Διαβάστε περισσότερα

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

سلسله مزاتب سبان مقدمه فصل : زبان های فارغ از متن زبان های منظم 1 ماشیه ای توریىگ مقدمه فصل : سلسله مزاتب سبان a n b n c n? ww? زبان های فارغ از متن n b n a ww زبان های منظم a * a*b* 2 زبان ها پذیرفته می شوند بوسیله ی : ماشین های تورینگ a n b n c n ww زبان های فارغ

Διαβάστε περισσότερα

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

مدار معادل تونن و نورتن مدار معادل تونن و نورتن در تمامی دستگاه های صوتی و تصویری اگرچه قطعات الکتریکی زیادی استفاده می شود ( مانند مقاومت سلف خازن دیود ترانزیستور IC ترانس و دهها قطعه ی دیگر...( اما هدف از طراحی چنین مداراتی

Διαβάστε περισσότερα

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

به نام خدا طراحی کامپایلرها به نام خدا طراحی کامپایلرها 40-414 4 مشکالت تحلیل نحوی باال به پایین چپ گردی در گرامر مستقل از متن می تواند تحلیلگر نحوی را در حلقه ی نامتناهی بیاندازد مثال برای قاعدهی A A α رویهی زیر را داریم: prcedure

Διαβάστε περισσότερα

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

آزمایش 8: تقویت کننده عملیاتی 2 آزمایش 8: تقویت کننده عملیاتی 2 1-8 -مقدمه 1 تقویت کننده عملیاتی (OpAmp) داراي دو یا چند طبقه تقویت کننده تفاضلی است که خروجی- هاي هر طبقه به وروديهاي طبقه دیگر متصل شده است. در انتهاي این تقویت کننده

Διαβάστε περισσότερα

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

نظریه زبان ها و ماشین ها نظریه زبان ها و ماشین ها Theory of Languages & Automatas سید سجاد ائم ی زمستان 94 به نام خدا پیش گفتار جزوه پیش رو جهت استفاده دانشجویان عزیز در درس نظریه زبانها و ماشینها تهیه شده است. در این جزوه با

Διαβάστε περισσότερα

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

به نام خدا طراحی کامپایلرها به نام خدا طراحی کامپایلرها 40-414 2 دورنمای تحلیلگر لغوی تحلیلگر نحوی نشانه ها تحلیلگر لغوی برنامهی مبدأ نشانه ی بعدی جدول عالیم پرسش مهم: وظیفه ی هر جعبه چیست فعال بر تحلیلگر لغوی و تحلیلگر نحوی تمرکز

Διαβάστε περισσότερα

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

جلسه ی ۵: حل روابط بازگشتی دانشکده ی علوم ریاضی ساختمان داده ها ۶ مهر ۲ جلسه ی ۵: حل روابط بازگشتی مدر س: دکتر شهرام خزاي ی نگارنده: ا رمیتا ثابتی اشرف و علی رضا علی ا بادیان ۱ مقدمه پیدا کردن کران مجانبی توابع معمولا با پیچیدگی

Διαβάστε περισσότερα

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

سايت ويژه رياضيات   درسنامه ها و جزوه هاي دروس رياضيات سايت ويژه رياضيات درسنامه ها و جزوه هاي دروس رياضيات دانلود نمونه سوالات امتحانات رياضي نمونه سوالات و پاسخنامه كنكور دانلود نرم افزارهاي رياضيات و... کانال سایت ریاضی سرا در تلگرام: https://telegram.me/riazisara

Διαβάστε περισσότερα

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

آزمایش 1: پاسخ فرکانسی تقویتکننده امیتر مشترك آزمایش : پاسخ فرکانسی تقویتکننده امیتر مشترك -- مقدمه هدف از این آزمایش بدست آوردن فرکانس قطع بالاي تقویتکننده امیتر مشترك بررسی عوامل تاثیرگذار و محدودکننده این پارامتر است. شکل - : مفهوم پهناي باند تقویت

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد: شکل کلی معادلات همگن خطی مرتبه دوم با ضرایب ثابت = ٠ cy ay + by + و معادله درجه دوم = ٠ c + br + ar را معادلهی مشخصه(کمکی) آن است. در اینجا سه وضعیت متفاوت برای ریشههای معادله مشخصه رخ میدهد: c ١ e r١x

Διαβάστε περισσότερα

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

آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ( آزمون مقایسه میانگین های دو جامعه )نمونه های بزرگ( فرض کنید جمعیت یک دارای میانگین و انحراف معیار اندازه µ و انحراف معیار σ باشد و جمعیت 2 دارای میانگین µ2 σ2 باشند نمونه های تصادفی مستقل از این دو جامعه

Διαβάστε περισσότερα

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

قاعده زنجیره ای برای مشتقات جزي ی (حالت اول) : ۱ گرادیان تابع (y :f(x, اگر f یک تابع دومتغیره باشد ا نگاه گرادیان f برداری است که به صورت زیر تعریف می شود f(x, y) = D ۱ f(x, y), D ۲ f(x, y) اگر رویه S نمایش تابع (y Z = f(x, باشد ا نگاه f در هر نقطه

Διαβάστε περισσότερα

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

جلسه 3 ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک کوانتمی بیان. d 1. i=0. i=0. λ 2 i v i v i. محاسبات کوانتمی (671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: محمد جواد داوري جلسه 3 می شود. ابتدا نکته اي در مورد عمل توابع بر روي ماتریس ها گفته می شود و در ادامه ي این جلسه اصول مکانیک

Διαβάστε περισσότερα

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

بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )2( shimiomd بسم اهلل الرحمن الرحیم آزمایشگاه فیزیک )( shimiomd خواندن مقاومت ها. بررسی قانون اهم برای مدارهای متوالی. 3. بررسی قانون اهم برای مدارهای موازی بدست آوردن مقاومت مجهول توسط پل وتسون 4. بدست آوردن مقاومت

Διαβάστε περισσότερα

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

جلسه ی ۳: نزدیک ترین زوج نقاط دانشکده ی علوم ریاضی ا نالیز الگوریتم ها ۴ بهمن ۱۳۹۱ جلسه ی ۳: نزدیک ترین زوج نقاط مدر س: دکتر شهرام خزاي ی نگارنده: امیر سیوانی اصل ۱ پیدا کردن نزدیک ترین زوج نقطه فرض می کنیم n نقطه داریم و می خواهیم

Διαβάστε περισσότερα

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

تخمین با معیار مربع خطا: حالت صفر: X: مکان هواپیما بدون مشاهده X را تخمین بزنیم. بهترین تخمین مقداری است که متوسط مربع خطا مینیمم باشد: تخمین با معیار مربع خطا: هدف: با مشاهده X Y را حدس بزنیم. :y X: مکان هواپیما مثال: مشاهده نقطه ( مجموعه نقاط کنارهم ) روی رادار - فرض کنیم می دانیم توزیع احتمال X به چه صورت است. حالت صفر: بدون مشاهده

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی دانشکده ی علوم ریاضی ساختمان داده ۱۰ ا ذر ۹۲ جلسه ی ۱۸: درهم سازی سرتاسری - درخت جست و جوی دودویی مدر س: دکتر شهرام خزاي ی نگارنده: معین زمانی و ا رمیتا اردشیری ۱ یادا وری همان طور که درجلسات پیش مطرح

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

جلسه 12 به صورت دنباله اي از,0 1 نمایش داده شده اند در حین محاسبه ممکن است با خطا مواجه شده و یکی از بیت هاي آن. p 1 محاسبات کوانتمی (67) ترم بهار 390-39 مدرس: سلمان ابوالفتح بیگی نویسنده: سلمان ابوالفتح بیگی جلسه ذخیره پردازش و انتقال اطلاعات در دنیاي واقعی همواره در حضور خطا انجام می شود. مثلا اطلاعات کلاسیکی که به

Διαβάστε περισσότερα

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

تمرینات درس ریاض عموم ٢. r(t) = (a cos t, b sin t), ٠ t ٢π. cos ٢ t sin tdt = ka۴. x = ١ ka ۴. m ٣ = ٢a. κds باشد. حاصل x٢ دانش اه صنعت شریف دانش ده ی علوم ریاض تمرینات درس ریاض عموم سری دهم. ١ سیم نازک داریم که روی دایره ی a + y x و در ربع اول نقطه ی,a را به نقطه ی a, وصل م کند. اگر چ ال سیم در نقطه ی y,x برابر kxy باشد جرم

Διαβάστε περισσότερα

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

ﯽﺳﻮﻃ ﺮﯿﺼﻧ ﻪﺟاﻮﺧ ﯽﺘﻌﻨﺻ هﺎﮕﺸﻧاد دانشگاه صنعتی خواجه نصیر طوسی دانشکده برق - گروه کنترل آزمایشگاه کنترل سیستمهای خطی گزارش کار نمونه تابستان 383 به نام خدا گزارش کار آزمایش اول عنوان آزمایش: آشنایی با نحوه پیاده سازی الکترونیکی فرایندها

Διαβάστε περισσότερα

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

دانشکده ی علوم ریاضی جلسه ی ۵: چند مثال دانشکده ی علوم ریاضی احتمال و کاربردا ن ۴ اسفند ۹۲ جلسه ی : چند مثال مدر س: دکتر شهرام خزاي ی نگارنده: مهدی پاک طینت (تصحیح: قره داغی گیوه چی تفاق در این جلسه به بررسی و حل چند مثال از مطالب جلسات گذشته

Διαβάστε περισσότερα

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

فعالیت = ) ( )10 6 ( 8 = )-4( 3 * )-5( 3 = ) ( ) ( )-36( = m n m+ m n. m m m. m n mn درس»ریشه ام و توان گویا«تاکنون با مفهوم توان های صحیح اعداد و چگونگی کاربرد آنها در ریشه گیری دوم و سوم اعداد آشنا شده اید. فعالیت زیر به شما کمک می کند تا ضمن مرور آنچه تاکنون در خصوص اعداد توان دار و

Διαβάστε περισσότερα

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

جلسه ی ۴: تحلیل مجانبی الگوریتم ها دانشکده ی علوم ریاضی ساختمان داده ها ۲ مهر ۱۳۹۲ جلسه ی ۴: تحلیل مجانبی الگوریتم ها مدر س: دکتر شهرام خزاي ی نگارنده: شراره عز ت نژاد ا رمیتا ثابتی اشرف ۱ مقدمه الگوریتم ابزاری است که از ا ن برای حل مسا

Διαβάστε περισσότερα

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

ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی ویرایشسال 95 شیمیمعدنی تقارن رضافالحتی از ابتدای مبحث تقارن تا ابتدای مبحث جداول کاراکتر مربوط به کنکور ارشد می باشد افرادی که این قسمت ها را تسلط دارند می توانند از ابتدای مبحث جداول کاراکتر به مطالعه

Διαβάστε περισσότερα

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

هو الحق دانشکده ي مهندسی کامپیوتر جلسه هفتم هو الحق دانشکده ي مهندسی کامپیوتر کدگذاري شبکه Coding) (Network شنبه 2 اسفند 1393 جلسه هفتم استاد: مهدي جعفري نگارنده: سید محمدرضا تاجزاد تعریف 1 بهینه سازي محدب : هدف پیدا کردن مقدار بهینه یک تابع ) min

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

هر عملگرجبر رابطه ای روی يک يا دو رابطه به عنوان ورودی عمل کرده و يک رابطه جديد را به عنوان نتيجه توليد می کنند. 8-1 جبررابطه ای يک زبان پرس و جو است که عمليات روی پايگاه داده را توسط نمادهايی به صورت فرمولی بيان می کند. election Projection Cartesian Product et Union et Difference Cartesian Product et Intersection

Διαβάστε περισσότερα

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

جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان هو الحق دانشکده ي مهندسی کامپیوتر کدگذاري شبکه Coding) (Network سه شنبه 21 اسفند 1393 جلسه دوم سوم چهارم: مقدمه اي بر نظریه میدان استاد: مهدي جعفري نگارنده: علیرضا حیدري خزاي ی در این نوشته مقدمه اي بر

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

جلسه 22 1 نامساویهایی در مورد اثر ماتریس ها تي وري اطلاعات کوانتومی ترم پاییز تي وري اطلاعات کوانتومی ترم پاییز 1391-1392 مدرس: ابوالفتح بیگی و امین زاده گوهري نویسنده: محمد مهدي مجاهدیان جلسه 22 تا اینجا خواص مربوط به آنتروپی را بیان کردیم. جهت اثبات این خواص نیاز به ابزارهایی

Διαβάστε περισσότερα

تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: میباشد. تلفات خط انتقال با مربع توان انتقالی متناسب

تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: میباشد. تلفات خط انتقال با مربع توان انتقالی متناسب تلفات خط انتقال ابررسی یک شبکة قدرت با 2 به شبکة شکل زیر توجه کنید. ژنراتور فرضیات شبکه: این شبکه دارای دو واحد کامال یکسان آنها 400 MW میباشد. است تلفات خط انتقال با مربع توان انتقالی متناسب و حداکثر

Διαβάστε περισσότερα

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

نویسنده: محمدرضا تیموری محمد نصری مدرس: دکتر پرورش خالصۀ موضوع درس سیستم های مینیمم فاز: به نام خدا به نام خدا پردازش سیگنالهای دیجیتال نیمسال اول ۹۵-۹۶ هفته یازدهم ۹۵/۰8/2۹ مدرس: دکتر پرورش نویسنده: محمدرضا تیموری محمد نصری خالصۀ موضوع درس یا سیستم های مینیمم فاز تجزیه ی تابع سیستم به یک سیستم مینیمم

Διαβάστε περισσότερα

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

باشند و c عددی ثابت باشد آنگاه تابع های زیر نیز در a پیوسته اند. به شرطی که g(a) 0 f g تعریف : 3 فرض کنیم D دامنه تابع f زیر مجموعه ای از R باشد a D تابع f:d R در نقطه a پیوسته است هرگاه به ازای هر دنباله از نقاط D مانند { n a{ که به a همگراست دنبال ه ){ n }f(a به f(a) همگرا باشد. محتوی

Διαβάστε περισσότερα

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

جلسه 14 را نیز تعریف کرد. عملگري که به دنبال آن هستیم باید ماتریس چگالی مربوط به یک توزیع را به ماتریس چگالی مربوط به توزیع حاشیه اي آن ببرد. تي وري اطلاعات کوانتمی ترم پاییز 39-39 مدرس: ابوالفتح بیگی و امین زاده گوهري نویسنده: کامران کیخسروي جلسه فرض کنید حالت سیستم ترکیبی AB را داشته باشیم. حالت سیستم B به تنهایی چیست در ابتداي درس که حالات

Διαβάστε περισσότερα

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

هندسه تحلیلی بردارها در فضای R هندسه تحلیلی بردارها در فضای R فصل اول-بردارها دستگاه مختصات سه بعدی از سه محور ozوoyوox عمود بر هم تشکیل شده که در نقطه ای به نام o یکدیگر را قطع می کنند. قرارداد: دستگاه مختصات سه بعدی راستگرد می باشد

Διαβάστε περισσότερα

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

فصل 5 :اصل گسترش و اعداد فازی فصل 5 :اصل گسترش و اعداد فازی : 1-5 اصل گسترش در ریاضیات معمولی یکی از مهمترین ابزارها تابع می باشد.تابع یک نوع رابطه خاص می باشد رابطه ای که در نمایش زوج مرتبی عنصر اول تکراری نداشته باشد.معموال تابع

Διαβάστε περισσότερα

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

Beta Coefficient نویسنده : محمد حق وردی مفهوم ضریب سهام بتای Beta Coefficient نویسنده : محمد حق وردی مقدمه : شاید بارها در مقاالت یا گروهای های اجتماعی مربوط به بازار سرمایه نام ضریب بتا رو دیده باشیم یا جایی شنیده باشیم اما برایمان مبهم باشد

Διαβάστε περισσότερα

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

تئوری جامع ماشین بخش سوم جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود. مفاهیم اصلی جهت آنالیز ماشین های الکتریکی سه فاز محاسبه اندوکتانس سیمپیچیها و معادالت ولتاژ ماشین الف ) ماشین سنکرون جهت سادگی بحث یک ماشین سنکرون دو قطبی از نوع قطب برجسته مطالعه میشود. در حال حاضر از

Διαβάστε περισσότερα

هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه

هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه آزما ی ش شش م: پا س خ فرکا نس ی مدا رات مرتبه اول هدف از این آزمایش آشنایی با رفتار فرکانسی مدارهاي مرتبه اول نحوه تأثیر مقادیر عناصر در این رفتار مشاهده پاسخ دامنه و پاسخ فاز بررسی رفتار فیلتري آنها بدست

Διαβάστε περισσότερα

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

مسائل. 2 = (20)2 (1.96) 2 (5) 2 = 61.5 بنابراین اندازه ی نمونه الزم باید حداقل 62=n باشد. ) مسائل مدیریت کارخانه پوشاک تصمیم دارد مطالعه ای به منظور تعیین میانگین پیشرفت کارگران کارخانه انجام دهد. اگر او در این مطالعه دقت برآورد را 5 نمره در نظر بگیرد و فرض کند مقدار انحراف معیار پیشرفت کاری

Διαβάστε περισσότερα

Angle Resolved Photoemission Spectroscopy (ARPES)

Angle Resolved Photoemission Spectroscopy (ARPES) Angle Resolved Photoemission Spectroscopy (ARPES) روش ARPES روشی است تجربی که برای تعیین ساختار الکترونی مواد به کار می رود. این روش بر پایه اثر فوتوالکتریک است که توسط هرتز کشف شد: الکترونها می توانند

Διαβάστε περισσότερα

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

آموزش SPSS مقدماتی و پیشرفته مدیریت آمار و فناوری اطالعات - آموزش SPSS مقدماتی و پیشرفته تهیه و تنظیم: فرزانه صانعی مدیریت آمار و فناوری اطالعات - مهرماه 96 بخش سوم: مراحل تحلیل آماری تحلیل داده ها به روش پارامتری بررسی نرمال بودن توزیع داده ها قضیه حد مرکزی جدول

Διαβάστε περισσότερα

فصل سوم جبر بول هدف های رفتاری: در پایان این فصل از فراگیرنده انتظار می رود که :

فصل سوم جبر بول هدف های رفتاری: در پایان این فصل از فراگیرنده انتظار می رود که : فصل سوم جبر بول هدف کلی: شناخت جبر بول و اتحادهای اساسی آن توابع بولی به شکل مجموع حاصل ضرب ها و حاصل ضرب جمع ها پیاده سازی توابع منطقی توسط دروازه های منطقی پایه و نقشة کارنو هدف های رفتاری: در پایان

Διαβάστε περισσότερα

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

3 لصف یربج یاه ترابع و ایوگ یاه ناوت فصل توان های گویا و عبارت های جبری 8 نگاه کلی به فصل هدفهای این فصل را میتوان به اختصار چنین بیان کرد: همانگونه که توان اعداد را در آغاز برای توانهای طبیعی عددهای ٢ و ٣ تعریف میکنیم و سپس این مفهوم را

Διαβάστε περισσότερα

srmphp.blog.ir موسسه آموزش عالی مهراروند ساختمان داده مهندس سید رسول موسوی تهیه و تنظیم: الهام صباحی

srmphp.blog.ir موسسه آموزش عالی مهراروند ساختمان داده مهندس سید رسول موسوی تهیه و تنظیم: الهام صباحی موسسه آموزش عالی مهراروند ساختمان داده استاد: مهندس سید رسول موسوی تهیه و تنظیم: الهام صباحی 1 زندگی یعنی تکاپو زندگی یعنی هیاهو زندگی یعنی شب نو روز نو اندیشه نو زندگی یعنی غم نو حسرت نو پیشه ی نو زندگی

Διαβάστε περισσότερα

مینامند یا میگویند α یک صفر تابع

مینامند یا میگویند α یک صفر تابع 1 1-1 مقدمه حل بسیاری از مسائل اجتماعی اقتصادی علمی منجر به حل معادله ای به شکل ) ( می شد. منظر از حل این معادله یافتن عدد یا اعدادی است که مقدار تابع به ازای آنها صفر شد. اگر (α) آنگاه α را ریشه معادله

Διαβάστε περισσότερα

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

فصل دهم: همبستگی و رگرسیون فصل دهم: همبستگی و رگرسیون مطالب این فصل: )r ( کوواریانس ضریب همبستگی رگرسیون ضریب تعیین یا ضریب تشخیص خطای معیار برآور ( )S XY انواع ضرایب همبستگی برای بررسی رابطه بین متغیرهای کمی و کیفی 8 در بسیاری

Διαβάστε περισσότερα

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

جلسه 15 1 اثر و اثر جزي ی نظریه ي اطلاعات کوانتومی 1 ترم پاي یز جدایی پذیر باشد یعنی: نظریه ي اطلاعات کوانتومی 1 ترم پاي یز 1391-1391 مدرس: دکتر ابوالفتح بیگی ودکتر امین زاده گوهري نویسنده: محمدرضا صنم زاده جلسه 15 فرض کنیم ماتریس چگالی سیستم ترکیبی شامل زیر سیستم هايB و A را داشته باشیم.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

محاسبات کوانتمی 1 علم ساخت و استفاده از کامپیوتري است که بر پایه ي اصول مکانیک کوانتم قرار گرفته است. محاسبات کوانتمی (22671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: سلمان ابوالفتح بیگی جلسه 1 محاسبات کوانتمی 1 علم ساخت و استفاده از کامپیوتري است که بر پایه ي اصول مکانیک کوانتم قرار گرفته

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

جلسه 16 نظریه اطلاعات کوانتمی 1 ترم پاییز نظریه اطلاعات کوانتمی ترم پاییز 39-39 مدرسین: ابوالفتح بیگی و امین زاده گوهري نویسنده: محم دحسن آرام جلسه 6 تا اینجا با دو دیدگاه مختلف و دو عامل اصلی براي تعریف و استفاده از ماتریس چگالی جهت معرفی حالت

Διαβάστε περισσότερα

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

جلسه 2 1 فضاي برداري محاسبات کوانتمی (22671) ترم بهار محاسبات کوانتمی (22671) ترم بهار 1390-1391 مدرس: سلمان ابوالفتح بیگی نویسنده: نادر قاسمی جلسه 2 در این درسنامه به مروري کلی از جبر خطی می پردازیم که هدف اصلی آن آشنایی با نماد گذاري دیراك 1 و مباحثی از

Διαβάστε περισσότερα

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

جلسه 2 جهت تعریف یک فضاي برداري نیازمند یک میدان 2 هستیم. یک میدان مجموعه اي از اعداد یا اسکالر ها به همراه اعمال نظریه اطلاعات کوانتمی 1 ترم پاییز 1391-1392 مدرسین: ابوالفتح بیگی و امین زاده گوهري جلسه 2 فراگیري نظریه ي اطلاعات کوانتمی نیازمند داشتن پیش زمینه در جبرخطی می باشد این نظریه ترکیب زیبایی از جبرخطی و نظریه

Διαβάστε περισσότερα

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

Delaunay Triangulations محیا بهلولی پاییز 93 محیا بهلولی پاییز 93 1 Introduction در فصل های قبلی نقشه های زمین را به طور ضمنی بدون برجستگی در نظر گرفتیم. واقعیت این گونه نیست. 2 Introduction :Terrain یک سطح دوبعدی در فضای سه بعدی با یک ویژگی خاص

Διαβάστε περισσότερα

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

فصل چهارم تعیین موقعیت و امتدادهای مبنا فصل چهارم تعیین موقعیت و امتدادهای مبنا هدف های رفتاری پس از آموزش و مطالعه این فصل از فراگیرنده انتظار می رود بتواند: 1 راهکار کلی مربوط به ترسیم یک امتداد در یک سیستم مختصات دو بعدی و اندازه گیری ژیزمان

Διαβάστε περισσότερα

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

به نام خدا. الف( توضیح دهید چرا از این تکنیک استفاده میشود چرا تحلیل را روی کل سیگنال x[n] انجام نمیدهیم پردازش گفتار به نام خدا نیمسال اول 59-59 دکتر صامتی تمرین سری سوم پیشبینی خطی و کدینگ شکلموج دانشکده مهندسی کامپیوتر زمان تحویل: 32 آبان 4259 تمرینهای تئوری: سوال 1. می دانیم که قبل از انجام تحلیل پیشبینی

Διαβάστε περισσότερα

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

ندرک درگ ندرک درگ شور ٥ عددهای تقریبی درس او ل: تقریب زدن گردکردن در کالس چهارم شما با تقریب زدن آشنا شده اید. عددهای زیر را با تقریب دهگان به نزدیک ترین عدد مانند نمونه تقریب بزنید. عدد جواب را در خانه مربوطه بنویسید. 780

Διαβάστε περισσότερα

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

جلسه ی ۱۱: درخت دودویی هرم دانشکده ی علوم ریاضی ساختمان داده ا بان جلسه ی : درخت دودویی هرم مدر س: دکتر شهرام خزاي ی نگارنده: احمدرضا رحیمی مقدمه الگوریتم مرتب سازی هرمی یکی دیگر از الگوریتم های مرتب سازی است که دارای برخی از بهترین

Διαβάστε περισσότερα

http://econometrics.blog.ir/ متغيرهای وابسته نماد متغيرهای وابسته مدت زمان وصول حساب های دريافتني rcp چرخه تبدیل وجه نقد ccc متغیرهای کنترلی نماد متغيرهای کنترلي رشد فروش اندازه شرکت عملکرد شرکت GROW SIZE

Διαβάστε περισσότερα

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

جزوه کارگاه برنامه نویسی جزوه کارگاه برنامه نویسی شامل: توضیح و حل برخی تمرینات آخر فصل کتاب الگوریتم و فلوچارت ایرج صادقی visual گریزی به نرم افزار stadio 2012 تهیه و تنظیم : محمد ربانی 1) مقدمه ای بر نحوه برنامه نویسی: دیدگاه

Διαβάστε περισσότερα

عنوان: رمزگذاري جستجوپذیر متقارن پویا

عنوان: رمزگذاري جستجوپذیر متقارن پویا دانشگاه صنعتی شریف دانشکده مهندسی برق گزارش درس ریاضیات رمزنگاري عنوان: رمزگذاري جستجوپذیر متقارن پویا استاد درس: مهندس نگارنده: ز 94 دي ماه 1394 1 5 نماد گذاري و تعریف مسي له 1 6 رمزگذاري جستجوپذیر متقارن

Διαβάστε περισσότερα

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

1 دایره فصل او ل کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم با محیط ثابت دایره دارای بیشترین مساحت است. این موضوع در طراحی فصل او ل 1 دایره هندسه در ساخت استحکامات دفاعی قلعهها و برج و باروها از دیرباز کاربردهای بسیاری داشته است. یک قضیۀ بنیادی در هندسه موسوم به»قضیۀ همپیرامونی«میگوید در بین همۀ شکلهای هندسی بسته با محیط ثابت

Διαβάστε περισσότερα

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

تحلیل الگوریتم پیدا کردن ماکزیمم تحلیل الگوریتم پیدا کردن ماکزیمم امید اعتصامی پژوهشگاه دانشهاي بنیادي پژوهشکده ریاضیات 1 انگیزه در تحلیل الگوریتم ها تحلیل احتمالاتی الگوریتم ها روشی براي تخمین پیچیدگی محاسباتی یک الگوریتم یا مساله ي

Διαβάστε περισσότερα

6- روش های گرادیان مبنا< سر فصل مطالب

6- روش های گرادیان مبنا< سر فصل مطالب 1 بنام خدا بهینه سازی شبیه سازی Simulation Optimization Lecture 6 روش های بهینه سازی شبیه سازی گرادیان مبنا Gradient-based Simulation Optimization methods 6- روش های گرادیان مبنا< سر فصل مطالب 2 شماره

Διαβάστε περισσότερα

هندسه تحلیلی و جبر خطی ( خط و صفحه )

هندسه تحلیلی و جبر خطی ( خط و صفحه ) هندسه تحلیلی جبر خطی ( خط صفحه ) z معادالت متقارن ) : خط ( معادله برداری - معادله پارامتری P فرض کنید e معادلهی خطی باشد که از نقطه ی P به مازات بردار ( c L ) a b رسم شده باشد اگر ( z P ) x y l L نقطهی

Διαβάστε περισσότερα

جلسه 28. فرض کنید که m نسخه مستقل یک حالت محض دلخواه

جلسه 28. فرض کنید که m نسخه مستقل یک حالت محض دلخواه نظریه اطلاعات کوانتمی 1 ترم پاییز 1392-1391 مدرسین: ابوالفتح بیگی و امین زاده گوهري نویسنده: مرتضی نوشاد جلسه 28 1 تقطیر و ترقیق درهم تنیدگی ψ m بین آذر و بابک به اشتراك گذاشته شده است. آذر و AB فرض کنید

Διαβάστε περισσότερα

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

شبکه های عصبی در کنترل شبکه های عصبی در کنترل دانشگاه نجف آباد درس: کنترل هوشمند در فضای سایبرنتیک مدرس: حمید محمودیان مدل ریاضی نرون مدل ریاضی یک نرون ساده به صورت روبرو است P: مقدار کمیت ورودی b: مقدار بایاس )عرض از مبدا تابع

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

فصل اول پیچیدگی زمانی و مرتبه اجرایی

فصل اول پیچیدگی زمانی و مرتبه اجرایی فصل اول پیچیدگی زمانی و مرتبه اجرایی 1 2 پیچیدگی زمانی Complexity) (Time مثال : 1 تابع زیر جمع عناصر یک آرایه را در زبان C محاسبه می کند. در این برنامه اندازه ورودی همان n یا تعداد عناصر آرایه است و عمل

Διαβάστε περισσότερα

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

مود لصف یسدنه یاه لیدبت فصل دوم 2 تبدیلهای هندسی 1 درس او ل تبدیل های هندسی در بسیاری از مناظر زندگی روزمره نظیر طراحی پارچه نقش فرش کاشی کاری گچ بری و... شکل های مختلف طبق الگویی خاص تکرار می شوند. در این فصل وضعیت های مختلفی

Διαβάστε περισσότερα

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

:موس لصف یسدنه یاه لکش رد یلوط طباور فصل سوم: 3 روابط طولی درشکلهای هندسی درس او ل قضیۀ سینوس ها یادآوری منظور از روابط طولی رابطه هایی هستند که در مورد اندازه های پاره خط ها و زاویه ها در شکل های مختلف بحث می کنند. در سال گذشته روابط طولی

Διαβάστε περισσότερα

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

فصل سوم : عناصر سوئیچ فصل سوم : عناصر سوئیچ رله الکترومکانیکی: یک آهنربای الکتریکی است که اگر به آن ولتاژ بدهیم مدار را قطع و وصل می کند. الف: دیود بعنوان سوئیچ دیود واقعی: V D I D = I S (1 e η V T ) دیود ایده آل: در درس از

Διαβάστε περισσότερα

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

برابری کار نیروی برآیند و تغییرات انرژی جنبشی( را بدست آورید. ماتریس ممان اینرسی s I A مبحث بیست و سوم)مباحث اندازه حرکت وضربه قانون بقای اندازه حرکت انرژی جنبشی و قانون برابری کار نیروی برآیند و تغییرات انرژی جنبشی( تکلیف از مبحث ماتریس ممان اینرسی( را بدست آورید. ماتریس ممان اینرسی s I

Διαβάστε περισσότερα

ک ت اب درس ی ن ظ ری ه گ راف ب الاک ری ش ن ان و ران گ ان ات ه ان (ح ل ت ع دادي از ت م ری ن ه اي ف ص ل ه اي 4 و 5) دک ت ر ب ی ژن ط اي ري

ک ت اب درس ی ن ظ ری ه گ راف ب الاک ری ش ن ان و ران گ ان ات ه ان (ح ل ت ع دادي از ت م ری ن ه اي ف ص ل ه اي 4 و 5) دک ت ر ب ی ژن ط اي ري ک ت اب درس ی ن ظ ری ه گ راف ب الاک ری ش ن ان و ران گ ان ات ه ان (ح ل ت ع دادي از ت م ری ن ه اي ف ص ل ه اي 4 و 5) دک ت ر ب ی ژن ط اي ري دان ش ک ده ي ع ل وم ری اض ی دان ش گ اه ص ن ع ت ی اص ف ه ان Copyright

Διαβάστε περισσότερα

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

فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها( فهرست جزوه ی فصل دوم مدارهای الکتریکی ( بردارها( رفتار عناصر L, R وC در مدارات جریان متناوب......................................... بردار و کمیت برداری.............................................................

Διαβάστε περισσότερα

پروژه یازدهم: ماشین هاي بردار پشتیبان

پروژه یازدهم: ماشین هاي بردار پشتیبان پروژه یازدهم: ماشین هاي بردار پشتیبان 1 عموما براي مسایلی که در آنها دو دسته وجود دارد استفاده میشوند اما ماشین هاي بردار پشتیبان روشهاي متفاوتی براي ترکیب چند SVM و ایجاد یک الگوریتم دستهبندي چند کلاس

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

يﺎﻫ ﻢﺘﻳرﻮﮕﻟا و ﺎﻫ ﺖﺧرد فاﺮﮔ ﻲﻤﺘﻳرﻮﮕﻟا ﻪﻳﺮﻈﻧ :سرد ﻲﺘﺸﻬﺑ ﺪﻴﻬﺷ هﺎﮕﺸﻧاد ﺮﺗﻮﻴﭙﻣﺎﻛ مﻮﻠﻋ هوﺮﮔ ﻪﻴﻟوا ﺞﻳﺎﺘﻧ و ﺎﻫﻒ ﻳﺮﻌﺗ

يﺎﻫ ﻢﺘﻳرﻮﮕﻟا و ﺎﻫ ﺖﺧرد فاﺮﮔ ﻲﻤﺘﻳرﻮﮕﻟا ﻪﻳﺮﻈﻧ :سرد ﻲﺘﺸﻬﺑ ﺪﻴﻬﺷ هﺎﮕﺸﻧاد ﺮﺗﻮﻴﭙﻣﺎﻛ مﻮﻠﻋ هوﺮﮔ ﻪﻴﻟوا ﺞﻳﺎﺘﻧ و ﺎﻫﻒ ﻳﺮﻌﺗ BFS DFS : درخت یک گراف همبند بدون دور است. جنگل یک گراف بدون دور است. پس هر مولفه همبندی جنگل درخت است. هر راس درجه 1 در درخت را یک برگ مینامیم. یک درخت فراگیر از گراف G یک زیردرخت فراگیر از ان است که

Διαβάστε περισσότερα

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

دانشکده علوم ریاضی دانشگاه گیلان آزمون پایان ترم درس: هندسه منیفلد 1 باشد. دهید.f (gx) = (gof 1 )f X شده باشند سوالات بخش میان ترم آزمون پایان ترم درس: هندسه منیفلد 1 زمان آزمون 120 دقیقه نیمسال: اول 95-94 رشته تحصیلی : ریاضی محض 1. نشان دهید X یک میدان برداري روي M است اگر و فقط اگر براي هر تابع مشتقپذیر f روي X(F ) M نیز مشتقپذیر

Διαβάστε περισσότερα

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

فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی 37 فصل دوم مثلثات نسبت های مثلثاتی دایره مثلثاتی روابط بین نسبتهای مثلثاتی 38 آخر این درس با چی آشنا میشی نسبت های مثلثاتی آشنایی با نسبت های مثلثاتی سینوس کسینوس تانژانت کتانژانت 39 به شکل مقابل نگاه

Διαβάστε περισσότερα

زمین شناسی ساختاری.فصل پنجم.محاسبه ضخامت و عمق الیه

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

Διαβάστε περισσότερα

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

Spacecraft thermal control handbook. Space mission analysis and design. Cubesat, Thermal control system سیستم زیر حرارتی ماهواره سرفصل های مهم 1- منابع مطالعاتی 2- مقدمه ای بر انتقال حرارت و مکانیزم های آن 3- موازنه انرژی 4 -سیستم های کنترل دما در فضا 5- مدل سازی عددی حرارتی ماهواره 6- تست های مورد نیاز

Διαβάστε περισσότερα

نمونه برداری از سیگنالهای زمان پیوسته

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

Διαβάστε περισσότερα