# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها >  کد کامپایلر بخش تحلیلگر ها

## پری سیما

سلام یک کدبرای عبارت هایی میخام طراحی کنم که شامل اعداد صحیح و اعشاری، حروف انگلیسی کوچک و بزرگ و if , elseو عملگر داشته باشه .
و تو کامپایلر باید خطاهارو بررسی کنه که ..
گام هاشو واسه شروع کار بهم بگید

----------


## پری سیما

این تقریبا یک شبه کدشه کسی میتونه کامل کنه؟
BOOLEAN ID(S)
    {
            STATE=0;
            WHILE(1)
            {
                    CH=GETCH(S);
                    SWITCH(STATE)
                    {
                                 CASE0:
                                       IF CH IN(A-Z,a-z)
                                       STATE=1;
                                       BREAK;
                                       ELSE
                                       RETURN FALSE;
                                       CASE1:
                                             IF CH IN(A-Z,a-z,0-9)
                                             state=1;
                                             break;
                                             else if
                                             ch in other
                                             return true
                                             else
                                             return
                                             {
                                                   }                                              
            }
    ////////////////////
    boolean fconst (s){     
    {
            STATE=0;
            WHILE(1)
            {
                    Ch=getch(s);
                    SWITCH(STATE)
                    {
                                 CASE0:
                                       if ch in(0-9)
                                       state=1;
                                       break;
                                       else
                                       return false;
                                       case1:
                                             if ch in(0-9)
                                       state=1;
                                       break;
                                             else if
                                             ch='0'
                                            state=2;
                                            break;
                                             else
                                             return false
                                             case 2:
                                                  if ch in (0-9)
                                                  state=2;
                                                  break
                                                  else if ch in other
                                                  return true
                                                  else return false;
                                             {
                                                   }                                              
            }

----------

