Главная страница
Навигация по странице:

  • Постановка задачи к работе № 1

  • ЛР № 2. Построение конечного автомата по регулярной грамматике Цели работы

  • Постановка задачи к работе № 2

  • ЛР № 3. Минимизация конечных автоматов Цели работы

  • Постановка задачи к работе № 3

  • Цели работы

  • Постановка задачи к работе № 4

  • ЛР № 5 Построение автомата с магазинной памятью по контекстносвободной грамматике Цели работы

  • Постановка задачи к работе № 5

  • ЛР № 6 Функционирование распознавателя для LL

  • Постановка задачи к работе № 6

  • Лр 1 Распознавание типов формальных языков и грамматик Цели работы закрепить понятия алфавит


    Скачать 0.55 Mb.
    НазваниеЛр 1 Распознавание типов формальных языков и грамматик Цели работы закрепить понятия алфавит
    Дата05.10.2022
    Размер0.55 Mb.
    Формат файлаdoc
    Имя файлаSPM-LR-zadania (1).doc
    ТипДокументы
    #715809


    ЛР № 1

    Распознавание типов формальных языков и грамматик

    Цели работы:

    - закрепить понятия «алфавит», «цепочка», «формальная грамматика», «формальный язык», «выводимость цепочек», «эквивалентная грамматика»;

    - сформировать умения и навыки распознавания типов формальных языков и грамматик по классификации Хомского, построения эквивалентных грамматик.

    Постановка задачи к работе № 1

    При выполнении работы следует реализовать следующие действия:

    1) составить несколько грамматик (по возможности разных типов), порождающих формальный язык, заданный в соответствии с вариантом;

    2) определить тип формальных грамматик и языка по классификации Хомского;

    3) привести примеры вывода нескольких цепочек в соответствии с правилами грамматик.

    Варианты индивидуальных заданий представлены в таблице 1.

    Таблица 1 − Варианты индивидуальных заданий к работе №1.

    Вариант Формальный язык

    1 L(G)={anbmck| n, m, k>0}

    2 L(G)={(ab)n(cb)m| n, m0}

    3 L(G)={0n(10)m| n, m0}

    4 L(G)={wcwcw | w{a, b}+}

    5 L(G)={c2ndn| n>0}

    6 L(G)={l+l-l | l {a, b}+}

    7 L(G)={(10)n-1(01)n+1 | n>0}

    8 L(G)={(ac)n| n>0, a{b, d}, c{+, -}}

    9 L(G)={(010)n | n>0}

    10 L(G)={a1a2…anana2a1 | ai{0, 1}}

    11 L(G)={a1a2…ana1a2…an | ai{c, d}}

    12 L(G)={ab.b | ai{+, -}, b

    ЛР № 2.

    Построение конечного автомата по регулярной грамматике

    Цели работы:

    - закрепить понятия «регулярная грамматика», «недетерминированный и детерминированный конечный автомат»;

    - сформировать умения и навыки построения конечного автомата по регулярной грамматике и преобразования недетерминированного конечного автомата к детерминированному конечному автомату.

    Постановка задачи к работе № 2

    При выполнении работы реализовать следующие действия:

    1) выполнить проверку заданной грамматики на принадлежность к классу регулярных грамматик;

    2) построить по заданной регулярной грамматике конечный автомат;

    3) преобразовать недетерминированный конечный автомат к детерминированному конечному автомату;

    4) построить графы получившихся конечных автоматов.

    Варианты индивидуального задания представлены в таблице 2.

    Таблица 2 − Варианты индивидуального задания к работе № 2

    Вариант Регулярная грамматика

    1 G=({S, C, D}, {0, 1}, P, S), где P:

    1) S1C | 0D; 2) C0D | 0S | 1; 3) D1C | 1S | 0.

    2 G=({S, A, B, C}, {a, b, c}, P, S), где P:

    1) SaA | bB | aC; 2) AbA | bB | c; 3) BaA | cC | b; 4) CbB | bC |a.

    3 G=({K, L, M, N}, {a, b, +, -, }, P, K), где P:

    1) KaL | bM; 2) L-N | -M; 3) M+N; 4) NaL | bM | .

    4 G=({X, Y, Z, W, V}, {0, 1,

    , #, &}, P, X), где P:

    1) X0Y | 1Z | ; 2) Y0Z | W | #; 3) Z1Y | 1W | 0V;

    4) W0W | 1W | #; 5) V&Z.

    5 G=({K, L, M, N, Q, P, R, S}, {0, 1, *, $, /}, V, K), где V:

    1) K1L | 0N; 2) L0M | 0P | /Q; 3) N1R | 1M | *S; 4) Q1P;

    5) P*L | $; 6) M$; 7) S0R; 8) R/N | $.

    6 G=({E, A, B, C, D}, {0, 1, a, b, c}, P, E), где P:

    1) E0A | ; 2) AaB | aD; 3) BbB | 1C | c; 4) DaD | 0C | c.

    7 G=({X, Y, Z, V, W}, {0, 1, x, y, z}, P, X), где P:

    1) XyY | zZ; 2) Y1V; 3) Z0W | 0Y; 4) VxZ | xW | 1; 5) W1Y | 0.

    8 G=({S, A, B, C, D}, {a, b, c, d, }, P, S), где P:

    1) SaA | bB; 2) AcC | ; 3) CcC | cA; 4) BdD | ; 5) DdD |dB.

    9 G=({K, L, M, N, P}, {0, 1, &, %, a, b}, C, K), где C:

    1) K1M | ; 2) M0L | &N | &P; 3) L1L | 0L | %P;

    4) NaN | bN | %P; 5) P1P | aP | 0.

    10 G=({I, J, K, M, N}, {0, 1, , !}, P, I), где P:

    1) I0J | 1K | 0M; 2) JK | 0M; 3) KM | 0J | 0N; 4) M1K | !;

    5) N0I | 1I | !.

    11 G=({S, A, B, C, D, E}, {a, b, c, d, e, $, }, P, S), где P:

    1) SaA | bB | cC; 2) AdD; 3) B#D | $E; 4) DdD | dB | ;

    5) CcE; 6) EeE | eB | .

    12 G=({X, Y, Z, V}, {(, ), y, z, v}, P, X), где P:

    1) X(Y | ; 2) YyY | zY | zZ; 3) ZzZ | vZ | vV; 4) VvV |).
    ЛР № 3.
    Минимизация конечных автоматов

    Цели работы:

    - закрепить понятия «недостижимые состояния автомата», «эквивалентные состояния автомата», «минимальный конечный автомат»;

    - сформировать умения и навыки минимизации детерминированного конечного автомата.

    Постановка задачи к работе № 3

    При выполнении работы реализовать следующие действия:

    1) устранить недостижимые состояния конечного автомата;

    2) исключить эквивалентные состояния конечного автомата;

    3) построить граф минимального конечного автомата;

    4) разработать серию контрольных примеров и провести тестирование КА.

    Варианты индивидуальных заданий к работе № 3 представлены на рисунке.





    ЛР № 4

    Эквивалентные преобразования контекстно-свободных грамматик

    Цели работы:

    - закрепить понятия «эквивалентные грамматики», «приведенная КС-

    грамматика»;

    - сформировать умения и навыки эквивалентных преобразований контекстно-свободных грамматик.

    Постановка задачи к работе № 4

    При выполнении работы следует реализовать следующие действия:

    1 проверить грамматику на принадлежность к классу КС-грамматик;

    2 проверить существование языка КС-грамматики;

    3 выполнить эквивалентные преобразования грамматики, направленные

    на удаление:

    а) бесполезных символов;

    б) недостижимых символов;

    в) ε-правил;

    г) цепных правил;

    д) левой факторизации правил;

    е) прямой левой рекурсии.

    Варианты индивидуальных заданий представлены в таблице 9

    Варианты индивидуальных заданий к работам № 4 и 5

    1

    G=({S, A, B, D, E},{a, b, c, e}, P, S), где P:

    1) S􀕜AB | ε; 2) A􀕜Aa | S | a; 3) B􀕜bD | bS | b; 4) D􀕜ccD;

    5) E􀕜eE |e

    25

    2

    G=({E, T, F, G, H}, {+, -, *, /, n, m, h}, P, E), где P:

    1) E􀕜T | E+T | E-T | ε; 2) T􀕜F | F*T | F/T | ε;

    3) F􀕜G | Fn | n; 4) G􀕜Gm; 5) H􀕜Hh | h

    3

    G=({S, R, T, X, Y}, {a, b, p, g, y}, P, S), где P:

    1) S 􀕜 R | T; 2) R 􀕜 pX | paR | paT| ε; 3) T 􀕜Tg | g;

    4) X􀕜aXb; 5) Y 􀕜 aYa | y

    4

    G=({Q, A, B, C, D}, {a, b, c, d}, P, Q), где P:

    1) Q 􀕜 acA | acB | ε; 2) B 􀕜 A | Cb | ε; 3) A 􀕜 Aa | Ab | a;

    4) C 􀕜 dCc; 5) D 􀕜 dc

    5

    G=({R, T, F, G, K}, {m, i, j, k, ^, , 􀙣}, P, R), где P:

    1) R􀕜RT􀙣 | R^T􀙣 |ε; 2) T􀕜F | Fi | Fj | Gk | ε;

    3) G􀕜GkG; 4) K􀕜Ki | Km | m

    6

    G=({S, X, Y, Z, K}, {x, y, z, k, #, $}, P, S), где P:

    1) S􀕜X | Y | Z; 2) X􀕜x#X | x#Y | ε; 3) Y􀕜Yy$ |Yz$ | $ |ε;

    4) Z􀕜Zz$; 5) K􀕜Kk$ | k$

    7

    G=({S, L, M, P, N}, {n, m, l, p, @, 􀙣}, V, S), где V:

    1) S􀕜@nL | @mM | P; 2) L􀕜M | Ll􀙣 | Lm􀙣 |ε;

    3) M􀕜L | Mm | mm; 4) N􀕜pN@ | @; 5) P􀕜nmP

    8

    G=({X, Y, Z, K, L}, {a, b, l, =, <, >, 􀗨, 􀗩, 􀵓}, V, X), где V:

    1) X􀕜Y | Y=Y | Y<Y | Y>Y | K; 2) Y􀕜Y􀗨Z | Y􀗩 Z | ε;

    3) Z􀕜􀵓 __________a |􀵓 b | ε; 4) K􀕜􀵓 K; 5) L􀕜 l | a | b

    9

    G=({Q, A, B, C, D}, {0, 1, -}, P, Q), где P:

    1) Q􀕜01A | 01B | A; 2) A􀕜 0B1 | B | 1 | ε; 3) B􀕜BA0 | B1 | C | ε;

    4) C􀕜0C11; 5) D􀕜 - D1 | -0 | -1

    10

    G=({R, T, U, W, V}, {0, 1, +, -, *, /}, P, R), где P:

    1) R􀕜T1T | T1U | W | ε; 2) T􀕜U | T01 | T10 |ε;

    3) U􀕜+U | +0 | +1; 4) W􀕜W-W | W+W; 5) V􀕜*0 | /1

    11

    G=({S, R, T, F, E}, {a, b, k, {, [, }, ], 􀙣}, P, S), где P:

    1) S􀕜{R | [ R; 2) R􀕜Ra} | Ra] | a | T | F | ε;

    3) F􀕜{F} | bb; 4) T􀕜[T]; 5) E􀕜k􀙣

    12

    G=({Y, K, M, L, S}, {a, b, *, /, ^}, P, Y), где P:

    1) Y􀕜KS | KM; 2) K􀕜K* | K/ | S; 3)S􀕜Sa/ | Sb/ | ε;

    4) M􀕜*M*; 5) L􀕜L^ | ^a
    ЛР № 5

    Построение автомата с магазинной памятью по контекстносвободной грамматике

    Цели работы:

    - закрепить понятия «автомат с магазинной памятью (МП-автомат)»,

    «расширенный МП-автомат», «конфигурация МП-автомата»; «строка и язык, допускаемые МП-автоматом»;

    - сформировать умения и навыки построения МП-автомата и расширенного МП-автомата по КС-грамматике, разбора входной строки с помощью МП-автомата.

    Постановка задачи к работе № 5

    При выполнении работы следует реализовать следующие действия:

    а) проверить грамматику на принадлежность к классу КС-грамматик;

    б) построить МП-автомат по КС-грамматике;

    в) построить расширенный МП-автомат по КС-грамматике;

    г) продемонстрировать разбор некоторой входной строки с помощью построенных автоматов для случая:

    - входная строка принадлежит языку исходной КС-грамматики и допускается МП-автоматом;

    - входная строка не принадлежит языку исходной КС-грамматики и не допускается МП-автоматом.

    Индивидуальные варианты заданий представлены в ЛР №4.
    ЛР № 6

    Функционирование распознавателя для LL(1)-грамматик

    Цели работы:

    - закрепить понятие «LL(k)-грамматика», необходимые и достаточные условия LL(k)-грамматики;

    - сформировать умения и навыки построения множеств FIRST(k, ) и

    FOLLOW(k, ), распознавателя для LL(1)-грамматик.

    Постановка задачи к работе № 6

    При выполнении практической работы следует реализовать следующие действия:

    - построить множества FIRST(1, A) и FOLLOW(1, A) для каждого нетерминального символа грамматики;

    - проверить необходимое и достаточное условия LL(1) для КС-грамматики;

    - проиллюстрировать функционирование распознавателя для LL(1)-грамматик, составив набор контрольных примеров для случаев:

    а) введенная КС-грамматика не является LL(1)-грамматикой;

    б) исходная КС-грамматика является LL(1)-грамматикой, но входная строка не принадлежит языку грамматики;

    в) заданная КС-грамматика является LL(1)-грамматикой, и введенная строка принадлежит языку грамматики.

    Разбор цепочек показать с помощью таблицы, строки вывода и дерева вывода.

    Вариантами индивидуальных заданий к лабораторной работе № 6 являются выходные данные лабораторной работы № 4.


    написать администратору сайта