Tutorial 1 Discussion Document - Batch 01
Tutorial 1 Discussion Document - Batch 01
Worked Example:
Answer:
S → aS | aA | c
A → Ab | λ L = {w ϵ {aic | i ≥ 0} U {aibj | i ≥ 1; j ≥ 0}}
S => c
S => aS => ac
S => aS => aaS => aac
S => aS => aaS => aaaS => aaac
S => aA => a
S => aS => aaA => aa
S => aS => aaS => aaaA => aaa
S => aA => a
S => aA => aAb => ab
S => aA => aAb => aAbb => abb
S → abb |aSbb
1) For each of the following grammars, use set notation to define the language generated by the
grammar.
a) S → aaSB | λ
B → bB | b
L = {w ∈ { {a2i bj} | i ≥ 1, j ≥ i} ∪ {λ}}
2)
b) L = {w ϵ {a, b}* | w has odd length}
e.g., a, b, aaa, bbb, aab, aba, abb, baa, bab, bba, aaaaa, etc.. (Infinite number of odd length strings)
S → a | b |SSS
S → a | b| aA |bA
A → aS |bS
S → bA | bS
A → a | aA
S => bA
e) L = {w ϵ {an bn | n ≥ 0} }
Regular Expressions:
e.g., strings: e, ab, ba, abab, abba, baba, baab, ababab, baabbab, etc.
3. For each of the following Regular Expressions, write a regular grammar that defines the same
language.
a) a*b*c*
e.g., valid strings are: e, a, b, c, ab, ac, bc, abc, aabc, abbbbc, abbcccc, aaaaaa, bbb, ccccc,
etc.
b) L = (a υ b υ c)* a(a υ b υ c)* b(a υ b υ c)* U (a υ b υ c)* b(a υ b υ c)* a(a υ b υ c)*
A a A b A U A b Aa A
A = (a υ b υ c)*
e.g., valid strings are: e, a, b, c, aa, bb, cc, ab, ac, ba, bc, ca, aaa, bbb, ccc, abc, cba, cab, bac,
S → AaAbA | AbAaA
A → λ | aA | bA | cA
A => bA => b
S -> aAbA
A -> e | aA | bA | cA