پاورپوینت کامل کامپایلر compiler 116 اسلاید در PowerPoint
توجه : این فایل به صورت فایل power point (پاور پوینت) ارائه میگردد
پاورپوینت کامل کامپایلر compiler 116 اسلاید در PowerPoint دارای ۱۱۶ اسلاید می باشد و دارای تنظیمات کامل در PowerPoint می باشد و آماده ارائه یا چاپ است
شما با استفاده ازاین پاورپوینت میتوانید یک ارائه بسیارعالی و با شکوهی داشته باشید و همه حاضرین با اشتیاق به مطالب شما گوش خواهند داد.
لطفا نگران مطالب داخل پاورپوینت نباشید، مطالب داخل اسلاید ها بسیار ساده و قابل درک برای شما می باشد، ما عالی بودن این فایل رو تضمین می کنیم.
توجه : در صورت مشاهده بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل می باشد و در فایل اصلی پاورپوینت کامل کامپایلر compiler 116 اسلاید در PowerPoint،به هیچ وجه بهم ریختگی وجود ندارد
بخشی از مطالب داخلی اسلاید ها
پاورپوینت کامل کامپایلر compiler 116 اسلاید در PowerPoint
اسلاید ۴: ۶۷[۱-۹][۰-۹]۱۲[a-zA-Z][a-zA-Z0-9]3[1-9][0-9].45[0-9]48[ n]
اسلاید ۵: int fail(int start){int nextstart;switch(start){case 1:nextstart=3; // اعداد اعشاریbreak;case 3:nextstart=6; // اعداد صحیحbreak;case 6:nextstart=8; // فضای خالیbreak;}return nextstart;}
اسلاید ۶: int main{int state,start,loc;char ch;FILE *fp;fp=fopen(source.txt,r);state=1;start=1;while(1)switch(state){case 1: loc=ftell(fp);ch=getc(fp);if((ch>=a && ch<=z) || (ch>=A && ch<=Z)) state=2;else{ start=fail(start); state=start; fseek(fp,loc,SEEK_SET); }break;
اسلاید ۷: case 2:ch=getc(fp); if((ch>=a && ch<=z) || (ch>=A && ch<=Z) || (ch>=0 && ch<=9))state=2; else if (ch== || ch==n|| ch==EOF){ cout<<ID ; state=8;} else{ start=fail(start); state=start; fseek(fp,loc,SEEK_SET);} break;case 3: loc=ftell(fp);ch=getc(fp);if(ch>=1 && ch<=9) state=4;else {start=fail(start);state=start;fseek(fp,loc,SEEK_SET); }break;
اسلاید ۸: اولویت ها ممکن است بخشی از یک دنباله از کاراکترها با یک عبارت باقاعده و بخش دیگری با عبارت باقاعده دیگری منطبق شود. به عنوان مثال دنباله ۱۲۳.۶۵ و دو عبارت با قاعده ذیل را در نظر می گیریم.[۱-۹][۰-۹]*[۱-۹][۰-۹]*. [۰-۹][۱-۹]*. پذیرش طولانی ترین دنباله است
اسلاید ۹: ممکن یک دنباله از کاراکترها (نه بخشی از یک دنباله) با دو یا چند عبارت باقاعده منطبق شود به عنوان مثال رشته if می تواند توسط دو عبارت باقاعده ذیل تولید شود. if[a-zA-Z][a-zA-Z0-9]*عبارت با قاعده ای که اولویت بیشتری دارد، ابتدا مقایسه می شود.
اسلاید ۱۰: int fail(int start){int nextstart;switch(start){case 1:nextstart=6; // اعداد صحیح break;case 3:nextstart=8; break;case 6:nextstart=3; // اعداد اعشاری break; }return (nextstart);}
اسلاید ۱۱: تولید خودکار تحلیلگر لغویاستفاده از ابزارها دارای مزایا و معایبی است که عبارتند از:افزایش سرعت ایجاد تغییرات کاهش زمان ساخت تحلیلگر لغوی افزایش محدودیتها
اسلاید ۱۲: پیاده سازی تحلیلگر لغوی به وسیله تولیدکننده تحلیلگر لغویبرنامه به زبان FLexکامپایل بوسیله Flexکامپایل بوسیله کامپایلر C تحلیلگر لغوی برنامه به زبان C یا پاسکال
اسلاید ۱۳: c:> flex pascal.l scanner.cبعد از کامپایل و تولید فایل اجرایی c:> scanner.exe< p1c:> scanner.exe <p1> resultc:> scanner.exe رشته های مورد نظر
اسلاید ۱۴: نحوه بیان عبارات با قاعده r*r+rX{2,5}r{m,n}r1r2If/(r1/r2r1|r2[afk][مجموعه کاراکترها][^afk] کاراکترهای مورد نظر[^بجز سر خط.[b-f]] کاراکتر مقصد- کاراکترمبدا[
اسلاید ۱۵: flexساختار برنامه به زبان تعاریف%%ترجمه ها%%توابع
اسلاید ۱۶: مثالdigit [0-9]lower [a-z]upper [A-Z]letter lower|uppervar{letter}|({letter}|{digit})* ws [ nt]+%%ws {}“if” {printf(“I found ‘IF’ keyword”);}“else” {printf(“I found ‘ELSE’ keyword”);}var {printf(“I found variable “);}%%
اسلاید ۱۷: اگر متن ذیل به عنوان ورودی به این تحلیلگر داده شود.if temp else if id 34خروجی به صورت ذیل خواهد بود.I found ‘if’ keywordI found variableI found ‘ELSE’ keywordI found ‘if’ keywordI found variable
اسلاید ۱۸: %option noyywrap%{int nchar,nline;%}%%[n] {nline++;}. {nchar++;}}%%int main(void){yylex();printf(%d %d,nchar,nline+1);return (0);}
اسلاید ۱۹: کلمات کلیدی روش اول[a-zA-Z]([a-zA-Z0-9])* printf(ID );program printf(PROGRAM );var printf(VAR );begin printf(BEGIN );end printf(END );
اسلاید ۲۰: کلمات کلیدی روش دومvoid toupper(char k[]){ int i;for(i=0;i<=strlen(k);++i)if(k[i]<=z && k[i]>=a)k[i]-=32;}int is_keyword(char id[]) {char keyword[40][20]={AND, ARRAY,BEGIN,CASE,CONST,DIV,DO,DOWNTO,ELSE,END,EXTERNAL,EXTERN,FILE, FOR,FORWARD,FUNCTION,GOTO,IF,IN,LABEL,MOD,NIL,NOT,OF,OR,OTHERWISE, PROCEDURE, PROGRAM,RECORD,REPEAT,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH};int i;for(i=0;i<40;i++) if(strcmp(id,keyword[i])==0) return i; return -1;}%}
اسلاید ۲۱: [a-zA-Z]([a-zA-Z0-9])* {toupper(yytext); if (is_keyword(yytext)!=-1) printf(keword=%s,yytext); else printf(ID ); }
اسلاید ۲۲: حساس به حالت A [aA]B [bB]C [cC]D [dD]E [eE]…
اسلاید ۲۳: {A}{N}{D} return(AND);{A}{R}{R}{A}{Y} return(ARRAY);{C}{A}{S}{E} return(CASE);{C}{O}{N}{S}{T} return(CONST);{D}{I}{V} return(DIV);{D}{O} return(DO);
اسلاید ۲۴: حساس به حالت روش دوم[a-zA-Z]([a-zA-Z0-9])*{toupper(yytext); if (is_keyword(yytext)!=-1) return (KW); else return(IDENTIFIER ); }
اسلاید ۲۵: فاکتور گیری چپبرای یک غیر پایانه ممکن است انتخابهای مختلفی وجود داشته باشد به طوریکه شروع یکسان داشته باشند. به عنوان مثال به گرامرهای ذیل دقت کنید. A a B | aDو یا A cd B | cdg D
اسلاید ۲۶: حذف بازگشتی چپA 1 | 2 | 3 … | n: شروع مشترک :i قسمت غیر مشترک گرامر فوق را میتوان به صورت ذیل نشان داد که همان زبان را تولید میکند: A RR 1 | 2 | 3 | ..
اسلاید ۲۷: مثالA cd B | cdg DBbB | cDdD | eبا توجه به AcdB|cdgD قسمت مشترک cd است در نتیجه:= cd1=gD2=B گرامر را میتوان به صورت ذیل نشان داد.A cd RR B | g DBbB | cDdD | e
اسلاید ۲۸: تحلیلگر لغوی برنامه مبدا را به دنبالهای از نشانهها تبدیل کرده و به تحلیلگر نحوی ارسال میکند. اگر این دنباله توسط گرامر زبان مبدا قابل تولید باشد، برنامه مبدا از نظر نحوی صحیح است در غیر این صورت دارای خطای نحوی است.
اسلاید ۲۹: تجزیهفرایند تجزیه نشان میدهد آیا دنبالهای از نشانهها توسط گرامر قابل تولید است یا خیر. روالی که فرایند تجزیه را انجام میدهد، تجز
- همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
- ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.
مهسا فایل |
سایت دانلود فایل 