Граматиканың қай түрі

2-межелік бақылау тапсырмасы

Төмендегі тапсырмалар формальды тілдер, тізбектер және грамматикалар тақырыптарын қайталауға арналған. Жауаптарыңызда анықтамаларды нақты беріп, қажетті жерлерде дәлелдеу қадамдарын көрсетіңіз.

1) Формальды анықтама құру

Теориялық бөлім

Келесі ұғымдарды құру үшін тілдің формальды анықтамасын беріңіз (әліпби, тізбектер жиыны және қажет болса шектеулер көрсетілсін):

  • а) Оң бүтін сандар жиыны.

  • b) Қазақ тіліндегі сөздер жиыны.

  • c) Программалау тілдеріндегі идентификаторлар жиыны.

Ескерту: Идентификатор үшін, әдетте, бірінші символ әріп немесе астыңғы сызық болуы мүмкін, ал қалғандары әріптер, цифрлар және астыңғы сызықтардан тұрады (нақты ережені өзіңіз формальды түрде бекітіңіз).

2) Тізбектерді құрастыру және сипаттау

Тәжірибелік бөлім

Әліпби

VT = { 0, 1, 2 }

Берілген тізбектер

α = 01

β = 2

γ = 011

Талап

Тізімді жазып, әрқайсысының ұзындығын, басын және соңын сипаттаңыз.

Келесі тізбектерді жазыңыз

  • 1) αβ

    Құрастыру, ұзындығы, басы, соңы.

  • 2) βα

    Құрастыру, ұзындығы, басы, соңы.

  • 3) αβγ

    Құрастыру, ұзындығы, басы, соңы.

  • 4) α4

    Қайталану арқылы құрастыру.

  • 5) α4β2

    Қайталану және жалғау (конкатенация) ережелерімен.

Нұсқау: Ұзындықты |w| түрінде белгілеңіз, ал тізбектің басы мен соңын (бірінші және соңғы символдарын) нақты көрсетіңіз.

3) Грамматика және туындатуды тексеру

Дәлелдеу

Келесі грамматика берілсін: G = (VT, VN, P, J), мұнда:

Жиындар

VT
= { a, b, c }
VN
= { A, B, J }
J
∈ VN (бастапқы символ)

Өндіріс ережелері (P)

  • p1: J → aB
  • p2: B → A
  • p3: B → b
  • p4: A → c

Туындату ақиқаттығын (true/false) дәлелдеңіз

Әрбір тұжырым үшін грамматика ережелері арқылы туындатуға болатынын немесе болмайтынын көрсетіңіз (қадам-қадамымен немесе қарсы дәлелмен).

  • a) J ⇒* a

  • b) J ⇒* ac

  • c) B ⇒* Ac

  • d) aJ ⇒* aab

  • e) aBb ⇒* acb

Қосымша сұрақ: Бұл грамматика Хомский иерархиясы бойынша қай түрге жатады? Жауабыңызды ережелердің құрылымымен негіздеңіз.