Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра прикладної математики

Інформація про роботу

Рік:
2015
Тип роботи:
Розрахункова робота
Предмет:
Системне програмування
Група:
ПМ-31

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка» кафедра прикладної математики РОЗРАХУНКОВА РОБОТА з системного програмування Задано граматику <cекція операторів> ::= BEGIN <оператори> END <oператори> ::= <оператор> | <оператори> ; <оператор> < оператор > ::= < ціле > : < оператор без мітки > | < оператор без мітки > < оператор без мітки > ::= < оператор присвоєння > | < умовний оператор > | < оператор переходу > | < блок > < оператор присвоєння > ::= < змінна > := < вираз > <умовний оператор > ::= IF < вираз > THEN < оператор > ELSE < оператор > IF < вираз > THEN < оператор > < оператор переходу > ::= GOTO < ціле > < блок > ::= BEGIN < оператори > END < вираз > ::= < простий вираз > < відношення > < простий вираз > | < простий вираз > < відношення > ::= = | < | > | < > | <= | >= < простий вираз > ::= < терм > | < простий вираз > + < терм > | < простий вираз > − < терм > | < простий вираз > OR < терм > < терм > ::= < множник > | < терм > * < множник > | < терм > / < множник > | < терм > AND < множник > < множник > ::= < змінна > | < ціле > | ( < вираз > ) | NOT < множник > Постановка задачі: із заданої граматики вибрати необхідну для заданого варіанту підмножину правил ; знайти відношення передування; виконати синтаксичний аналіз знизу догори; побудувати тетради для заданого фрагменту. При потреби внести зміни у граматику. Варіант №2 BEGIN k:=4; i:=3; m:=1; IF k+i > 1 THEN s:=(k+i)*m ELSE s:=k+i*m; b:= (s−k) *(m+i) END . Вибираю необхідну множину правил: <секція операторів>::=BEGIN<оператори>END <оператори>::=<оператор>|<оператори>;<оператор> <оператор>::=<оператор присвоєння>|<умовний оператор> <оператор присвоєння>::=<змінна>:=<вираз> <умовний оператор>::=IF<вираз><відношення><вираз> THEN<оператор>ELSE<оператор> <вираз>::=<операнд>|<операнд><операція><вираз> <операнд>::=<змінна>|<число>|(<вираз>) <операція>::=+|–|*|/ <відношення>::<|=|>|<>|<=|>= Перетворюю дану граматику позбуваючись безпосередньої лівої та правої рекурсії. Ввожу односимвольні не термінали. Зарезервовані слова та операції теж замінюю на одно символьні константи. T→bCn. C→A A→B|B;A B→V|F V→i:=U F→fLdLtVlV L→U U→M|MoU M→i|c|(K K→L) b – begin n – end i – ідентифікатор d – відношення < > = … f – if t – then l – else o – операція * + – / c – число. Знаходжу відношення передування та будую відповідну таблицю. Для цього спочатку складаю таблицю ліво- та право- виводимих символів. L(U) R(U)  T b .  C ABVFif ABFVUMKic)  A BVFif ABFVUMKic)  B VFif FVUMKic)  V i UMKic)  F f VUMKic)  L UMic( UMKic)  U Mic( UMKic)  M ic( Kic)  K LUMic( )   T C A B V F L U M K b n . ; i : = f d t l o c ( ) ├  T                             C             =                 A             >               >  B             >   =             >  V             >   >        =      >  F             >   >             >  L                    = =      =   U             >   >      > > >     > >               >   >      > > > =    > >  K             >   >      > > > >    > >  b   = < < < <          <    <           n              =                .                           >  ;    = < < <          <    <           i             >   >   =    > > > >    > >  :                  =            =         = <       <         < <     f        = < <       <         < <     d        = < <       <         < <     t      =           <              l      =           <              o         = <       <         < <     c             >   >      > > > >    > >  (        < < < =      <         < <     )             >   >      > > > >    > >  ┤    < < < < < < <   <     <    <      < <     Таблиця відношень передування: Після лексичного аналізу вхідна стрічка буде виглядати так: bi:=c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n. Проілюструємо синтаксичний аналіз знизу догори: # Стек Необроблений рядок Номер прав.  1 ┤ bi:=c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   2 ┤b i:=c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   3 ┤bi :=c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   4 ┤bi: =c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   5 ┤bi:= c;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   6 ┤bi:=c ;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  7 ┤bi:=M ;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  8 ┤bi:=U ;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 5  9 ┤bV ;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 4  1 ┤bB ;i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   11 ┤bB; i:=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   12 ┤bB;i :=c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   13 ┤bB;i: =c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   14 ┤bB;i:= c;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   15 ┤bB;i:=c ;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  16 ┤bB;i:=M ;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  17 ┤bB;i:=U ;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 5  18 ┤bB;V ;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 4  19 ┤bB;B ;i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   2 ┤bB;B; i:=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   21 ┤bB;B;i :=c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   22 ┤bB;B;i: =c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   23 ┤bB;B;i:= c;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   24 ┤bB;B;i:=c ;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  25 ┤bB;B;i:=M ;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  26 ┤bB;B;i:=U ;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 5  27 ┤bB;B;V ;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 4  28 ┤bB;B;B ;fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   29 ┤bB;B;B; fiocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   3 ┤bB;B;B;f iocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   31 ┤bB;B;B;fi ocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  32 ┤bB;B;B;fM ocdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   33 ┤bB;B;B;fMo cdcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   34 ┤bB;B;B;fMoc dcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  35 ┤bB;B;B;fMoM dcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  36 ┤bB;B;B;fMoU dcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  37 ┤bB;B;B;fU dcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 7  38 ┤bB;B;B;fL dcti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   39 ┤bB;B;B;fLd cti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   4 ┤bB;B;B;fLdc ti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  41 ┤bB;B;B;fLdM ti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  42 ┤bB;B;B;fLdU ti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 7  43 ┤bB;B;B;fLdL ti:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   44 ┤bB;B;B;fLdLt i:=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   45 ┤bB;B;B;fLdLti :=(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   46 ┤bB;B;B;fLdLti: =(ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   47 ┤bB;B;B;fLdLti:= (ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   48 ┤bB;B;B;fLdLti:=( ioi)oili:=ioioi;i:=(ioi)o(ioi)n.├   49 ┤bB;B;B;fLdLti:=(i oi)oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  5 ┤bB;B;B;fLdLti:=(M oi)oili:=ioioi;i:=(ioi)o(ioi)n.├   51 ┤bB;B;B;fLdLti:=(Mo i)oili:=ioioi;i:=(ioi)o(ioi)n.├   52 ┤bB;B;B;fLdLti:=(Moi )oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  53 ┤bB;B;B;fLdLti:=(MoM )oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  54 ┤bB;B;B;fLdLti:=(MoU )oili:=ioioi;i:=(ioi)o(ioi)n.├ 8  55 ┤bB;B;B;fLdLti:=(U )oili:=ioioi;i:=(ioi)o(ioi)n.├ 7  56 ┤bB;B;B;fLdLti:=(L )oili:=ioioi;i:=(ioi)o(ioi)n.├   57 ┤bB;B;B;fLdLti:=(L) oili:=ioioi;i:=(ioi)o(ioi)n.├ 1  58 ┤bB;B;B;fLdLti:=(K oili:=ioioi;i:=(ioi)o(ioi)n.├ 9  59 ┤bB;B;B;fLdLti:=M oili:=ioioi;i:=(ioi)o(ioi)n.├   6 ┤bB;B;B;fLdLti:=Mo ili:=ioioi;i:=(ioi)o(ioi)n.├   61 ┤bB;B;B;fLdLti:=Moi li:=ioioi;i:=(ioi)o(ioi)n.├ 9  62 ┤bB;B;B;fLdLti:=MoM li:=ioioi;i:=(ioi)o(ioi)n.├ 8  63 ┤bB;B;B;fLdLti:=MoU li:=ioioi;i:=(ioi)o(ioi)n.├ 8  64 ┤bB;B;B;fLdLti:=U li:=ioioi;i:=(ioi)o(ioi)n.├ 5  65 ┤bB;B;B;fLdLtV li:=ioioi;i:=(ioi)o(ioi)n.├   66 ┤bB;B;B;fLdLtVl i:=ioioi;i:=(ioi)o(ioi)n.├   67 ┤bB;B;B;fLdLtVli :=ioioi;i:=(ioi)o(ioi)n.├   68 ┤bB;B;B;fLdLtVli: =ioioi;i:=(ioi)o(ioi)n.├   69 ┤bB;B;B;fLdLtVli:= ioioi;i:=(ioi)o(ioi)n.├   7 ┤bB;B;B;fLdLtVli:=i oioi;i:=(ioi)o(ioi)n.├ 9  71 ┤bB;B;B;fLdLtVli:=M oioi;i:=(ioi)o(ioi)n.├   72 ┤bB;B;B;fLdLtVli:=Mo ioi;i:=(ioi)o(ioi)n.├   73 ┤bB;B;B;fLdLtVli:=Moi oi;i:=(ioi)o(ioi)n.├ 9  74 ┤bB;B;B;fLdLtVli:=MoM oi;i:=(ioi)o(ioi)n.├   75 ┤bB;B;B;fLdLtVli:=MoMo i;i:=(ioi)o(ioi)n.├   76 ┤bB;B;B;fLdLtVli:=MoMoi ;i:=(ioi)o(ioi)n.├ 9  77 ┤bB;B;B;fLdLtVli:=MoMoM ;i:=(ioi)o(ioi)n.├ 8  78 ┤bB;B;B;fLdLtVli:=MoMoU ;i:=(ioi)o(ioi)n.├ 8  79 ┤bB;B;B;fLdLtVli:=MoU ;i:=(ioi)o(ioi)n.├ 8  8 ┤bB;B;B;fLdLtVli:=U ;i:=(ioi)o(ioi)n.├ 5  81 ┤bB;B;B;fLdLtVlV ;i:=(ioi)o(ioi)n.├ 6  82 ┤bB;B;B;F ;i:=(ioi)o(ioi)n.├ 4  83 ┤bB;B;B;B ;i:=(ioi)o(ioi)n.├   84 ┤bB;B;B;B; i:=(ioi)o(ioi)n.├   85 ┤bB;B;B;B;i :=(ioi)o(ioi)n.├   86 ┤bB;B;B;B;i: =(ioi)o(ioi)n.├   87 ┤bB;B;B;B;i:= (ioi)o(ioi)n.├   88 ┤bB;B;B;B;i:=( ioi)o(ioi)n.├   89 ┤bB;B;B;B;i:=(i oi)o(ioi)n.├ 9  9 ┤bB;B;B;B;i:=(M oi)o(ioi)n.├   91 ┤bB;B;B;B;i:=(Mo i)o(ioi)n.├   92 ┤bB;B;B;B;i:=(Moi )o(ioi)n.├ 9  93 ┤bB;B;B;B;i:=(MoM )o(ioi)n.├ 8  94 ┤bB;B;B;B;i:=(MoU )o(ioi)n.├ 8  95 ┤bB;B;B;B;i:=(U )o(ioi)n.├ 7  96 ┤bB;B;B;B;i:=(L )o(ioi)n.├   97 ┤bB;B;B;B;i:=(L) o(ioi)n.├ 1  98 ┤bB;B;B;B;i:=(K o(ioi)n.├ 9  99 ┤bB;B;B;B;i:=M o(ioi)n.├   1 ┤bB;B;B;B;i:=Mo (ioi)n.├   11 ┤bB;B;B;B;i:=Mo( ioi)n.├   12 ┤bB;B;B;B;i:=Mo(i oi)n.├ 9  13 ┤bB;B;B;B;i:=Mo(M oi)n.├   14 ┤bB;B;B;B;i:=Mo(Mo i)n.├   15 ┤bB;B;B;B;i:=Mo(Moi )n.├ 9  16 ┤bB;B;B;B;i:=Mo(MoM )n.├ 8  17 ┤bB;B;B;B;i:=Mo(MoU )n.├ 8  18 ┤bB;B;B;B;i:=Mo(U )n.├ 7  19 ┤bB;B;B;B;i:=Mo(L )n.├   11 ┤bB;B;B;B;i:=Mo(L) n.├ 1  111 ┤bB;B;B;B;i:=Mo(K n.├ 9  112 ┤bB;B;B;B;i:=MoM n.├ 8  113 ┤bB;B;B;B;i:=MoU n.├ 8  114 ┤bB;B;B;B;i:=U n.├ 5  115 ┤bB;B;B;B;V n.├ 4  116 ┤bB;B;B;B;B n.├ 3  117 ┤bB;B;B;B;A n.├ 3  118 ┤bB;B;B;A n.├ 3  119 ┤bB;B;A n.├ 3  12 ┤bB;A n.├ 3  121 ┤bA n.├ 2  122 ┤bC n.├   123 ┤bCn .├   124 ┤bCn. ├ 1  125 ┤T ├    Будую дерево виводу:    Будую тетради: := 4, _, k ;= 3, _, i := 10, _, m + i, k, t1 –, t1, 10, t2 BMZ 11, , t2 + k, i, t3 * t3, m, t4 := t4, , s BR 14, , * i, m, t5 + k, t5, t6 :=, t6, , s – s, k, t7 + m, i, t8 * t7, 8, t9 := t9, , b
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!