Синтаксический анализатор. Написание синтаксического анализатора для языка ADA на любом доступном языке программирования., страница 15

{

pop();   break;

}

if (que[count].i==10&&que[count].j==21)

{

pop();  break;

}

if (que[count].i==10&&que[count].j==0)

{                                  //begin

pop();  break;

}

dop=0;

goto met4;

case 57:   //OB_E

if (que[count].i==30)

{

pop();

push(63); push(27); push(23);

push(26); push(62); push(24);   break;

}

dop=0;

goto met4;

case 58:  //SP17

if (que[count].i==10&&que[count].j==20)

{

pop();

push(59); push(60);    break;

}

if (que[count].i==10&&que[count].j==21)

{

pop();

push(59); push(60); break;

}

dop=0;

goto met4;

case 59:  //SP__17

if (que[count].i==10&&que[count].j==20)

{

pop();

push(59); push(60);  break;

}

if (que[count].i==10&&que[count].j==21)

{

pop();

push(59); push(60); break;

}

if (count==ique)           //////   |{

pop();    break;

}

dop=0;

goto met4;

case 60:  //TELO

if (que[count].i==10&&que[count].j==20)

{

pop();

push(63); push(61); push(68);

push(35); push(74); push(56);   //////    55 - 54

push(75); push(48);    break;

}

if (que[count].i==10&&que[count].j==21)

{

pop();

push(63); push(61); push(68);

push(35); push(74); push(56);  /////      55 - 54

push(75); push(48);    break;

}

dop=0;

goto met4;

case 61:   //CK21

if (que[count].i==30)

{

pop();

count++;    break;            //// cool

}

/*if (que[count].i==40&&que[count].j==21)

{

pop();                 строка - кому она нужна?

count++;    break;

}*/

if (que[count].i==20&&que[count].j==11)

{

pop();    break;

}

dop=0;

goto met4;

case 62:  //   :

if (que[count].i==20&&que[count].j==10)

{

pop();

count++; break;

}

dop=0;

goto met4;

case 63:  //   ;

if (que[count].i==20&&que[count].j==11)

{

pop();

count++;  break;

}

dop=0;

goto met4;

case 64:  //    ..

if (que[count].i==20&&que[count].j==16)

{

pop();

count++;  break;

}

dop=0;

goto met4;

case 65:  //    )

if (que[count].i==20&&que[count].j==4)

{

pop();

count++;   break;

}

dop=0;

goto met4;

case 66:  //       idr

if (que[count].i==30)

{

pop();

count++;  break;

}

dop=0;

goto met4;

case 67:  //     then

if (que[count].i==10&&que[count].j==4)

{

pop();

count++;  break;

}

dop=0;

goto met4;

case 68:  //      end

if (que[count].i==10&&que[count].j==1)

{

pop();

count++;  break;

}

dop=0;

goto met4;

case 69:  //     if

if (que[count].i==10&&que[count].j==3)

{

pop();

count++;     break;

}

dop=0;

goto met4;

case 70:  //     case

if (que[count].i==10&&que[count].j==7)

{

pop();

count++;    break;

}

dop=0;

goto met4;

case 71:  //            of

if (que[count].i==10&&que[count].j==25)

{

pop();

count++;    break;

}

dop=0;

goto met4;

case 72:  //     =>

if (que[count].i==20&&que[count].j==22)

{

pop();

count++;   break;

}

dop=0;

goto met4;

case 73:  //       loop

if (que[count].i==10&&que[count].j==10)

{

pop();

count++;    break;

}

dop=0;

goto met4;

case 74:  //       begin

if (que[count].i==10&&que[count].j==0)

{

pop();

count++;   break;

}

dop=0;

goto met4;

case 75:  //     if

if (que[count].i==10&&que[count].j==28)

{

pop();

count++;   break;

}

dop=0;

goto met4;

default: yy++;

}

}

met4:

if (dop)

{

Form1->Edit2->Text="ДОПУСТИТЬ";

}

else Form1->Edit2->Text="ОТВЕРГНУТЬ";

}

//--------------------------------------------------------------------------void clear(void)

{

Form1->Edit2->Text="";

while (peek())

{

pop();

deep--;

}

ique=0;

id=0;

co=0;

}

//---------------------------------------------------------------------------


Результат работы программы

На рисунках 1-2 изображены эскизы экранных форм функционирующего приложения.

Рис. 1. Эскиз главного окна приложения

Рис. 2. Эскиз главного окна приложения