Ngôn ngữ hình thức - 29


2) Văn phạm không nhập nhằng tương đương. S → S + T | S - T | S * T | S / T | T ;

T → ( S ) | a .

3.30. 1) S → A | aSb | a; A → AB; B → b

a) Loại bỏ biến không sinh ra xâu các ký tự kết thúc

Áp dụng giải thuật loại bỏ biến không sinh ra xâu ký tự kết thúc, ta có:

1. G‟= (N‟, T‟, P‟, S‟):

T‟ = a, b S‟ = S; 2. N‟:

Bước

N‟

Giải thích

KT

{S, B}

S → a; B → b

1

{S, B}

S → aSb | a; B → b

Có thể bạn quan tâm!

Xem toàn bộ 254 trang tài liệu này.

Ngôn ngữ hình thức - 29

3. P‟= {S → aSb | a; B → b}.

b) Loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu

Áp dụng giải thuật loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu, ta có:

1. G1= (N1, T1, P1, S1):

S1 = S; 2. N1, T1:

Bước

N1

T1

Giải thích

KT

{S}

1

{S}

{a, b}

S → AB a

2

{S}

{a, b}

S → AB a

3. P1 = {S → AB a }.

2) S → AB | CA; A → a; B → BC | AB; C → aB | b

a) Loại bỏ biến không sinh ra xâu các ký tự kết thúc

Áp dụng giải thuật loại bỏ biến không sinh ra xâu, ta có:

1. G‟= (N‟, T‟, P‟, S‟):

T‟ = a, b S‟ = S;


2. N‟:


Bước

N‟

Giải thích

KT

{A, C}

A → a; C → b

1

{S, A, C}

S → CA; A → a; C → b

2

{S, A, C}

S → CA; A → a; C → b

3. P‟= {S → CA; A → a; C → b}.

b) Loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu

Áp dụng giải thuật loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu, ta có:

1. G1= (N1, T1, P1, S1):

S1 = S; 2. N1, T1:

Bước

N1

T1

Giải thích

KT

{S}

1

{S, A, C}

S → CA

2

{S, A, C}

{a, b}

S → CA; A → a; C → b

3

{S, A, C}

{a, b}

S → CA; A → a; C → b

3. P1 = {S → CA; A → a; C → b}.

3.31. - Áp dụng giải thuật loại bỏ luật sinh ε, ta có tập các biến rỗng:


Bước

R-Nullable

Giải thích

KT

{B}

B → ε

1

{A, B}

A → BB

2

{S, A, B}

S → AB; A → BB

3

{S, A, B}

S → AB; A → A → SA | BB


Tập biến rỗng Nullable = {S, A, B}

- Tập luật sinh P‟:

S → AB | A | B | ε;

A → SA | S | BB | B | bB | b; B → b | aA | a.

L(G) nên phải bổ sung thêm luật sinh S → ε vào P‟.



3.32. 1) Loại bỏ ký hiệu thừa

a) Loại bỏ biến không sinh ra xâu các ký tự kết thúc

Áp dụng giải thuật loại bỏ biến không sinh ra xâu ký tự kết thúc, ta có:

1. G‟= (N‟, T‟, P‟, S‟):

T‟ = a, b S‟ = S; 2. N‟:

Bước

N‟

Giải thích

KT

{S, A, B, C}

S → ; A → b; B→ ; C →

1

{S, A, B, C}

S → AB| A| ; A → aBb| bS| b; B → AB| Ba| ; C → Aa|

2

{S, A, B, C}

S → AB| A| ; A → aBb| bS| b; B → AB| Ba| ; C → Aa|

3. P‟ = {S → AB| A| ; A → aBb| bS| b; B → AB| Ba| ; C → Aa| }.

b) Loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu

Áp dụng giải thuật loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu, ta có: 1. G1 = (N1, T1, P1, S1):

S1 = S;

2. N1, T1:


Bước

N1

T1

Giải thích

KT

{S}

1

{S, A, B}

{a, b}

S → AB | A

2

{S, A, B}

{a, b}

S → AB | A; A → aBb | bS| b; B → AB | Ba

3. P1 = {S → AB | A | ; A → aBb | bS| b; B → AB | Ba | }.

2) Loại bỏ luật sinh ε

- Áp dụng giải thuật loại bỏ luật sinh ε, ta có tập các biến rỗng:


Bước

R-Nullable

Giải thích

KT

{S, B, C}

S → ε; B → ε; C → ε

1

{S, B, C}



Tập biến rỗng Nullable = {S, B, C}

- Tập luật sinh P‟:

S → AB | A | ε;

A → aBb | ab | bS | b;


B → AB | A | Ba |a; C → Aa | D.

L(G) nên phải bổ sung thêm luật sinh S → ε vào P‟.

3.33. 1) Loại bỏ ký hiệu thừa ký hiệu thừa

Theo bài tập 3.32, văn phạm tương đương không chứa ký hiệu thừa có tập luật sinh: S → AB | A | ; A → aBb | bS| b; B → AB | Ba | .

2) Loại bỏ luật sinh ε

- Áp dụng giải thuật loại bỏ luật sinh ε, ta có tập các biến rỗng:


Bước

R-Nullable

Giải thích

KT

{S, B}

S → ε; B → ε

1

{S, B}



Tập biến rỗng Nullable = {S, B}

- Tập luật sinh P‟:

S → AB | A | ε;

A → aBb | ab | bS | b; B → AB | A | Ba |a;

L(G) nên phải bổ sung thêm luật sinh S → ε vào P‟.

3) Loại bỏ luật sinh đơn vị

Áp dụng giải thuật loại bỏ luật sinh đơn vị , ta có G‟= (N‟, T‟, P‟, S‟):

- N‟ = {S, A, B}; T‟ = {a, b} ; S‟ = S ; P‟: S → AB | ε;

A → aBb | ab | bS | b; B → AB | Ba |a;

- Δ S = {A}; Δ B = {A}; Δ A= ;

- Với biến S, phải thêm vào P‟ các luật sinh S → aBb | ab | bS | b;

- Với biến B, phải thêm vào P‟ các luật sinh B → aBb | ab | bS | b;

Vậy tập luật sinh P‟, theo giải thuật sẽ chứa các luật sinh không là luật sinh đơn vị trong P, bổ sung thêm các luật sinh mới thay cho luật sinh đơn vị như sau:

S → AB | aBb | ab | bS | b | ε;



A → aBb | ab | bS | b;

B → AB | aBb | ab | bS | b | Ba |a.

3.34. Tương tự các bài tập 3.33, ...

3.35. 1) Loại bỏ ký hiệu thừa

a) Loại bỏ biến không sinh ra xâu các ký tự kết thúc

Áp dụng giải thuật loại bỏ biến không sinh ra xâu ký tự kết thúc, ta có: 1. G‟= (N‟, T‟, P‟, S‟):

T‟ = a, b, c S‟ = S; 2. N‟:

Bước

N‟

Giải thích

KT

{A, C}

A → a | ε; C → b | c | ε

1

{S, A, B,C}

S → A | aCA; A → a| ε; B → C; C → b | c | ε

2

{S, A, B, C}

S → A | aCA; A → a| ε; B → C | AbcB; C → aB | b |

c | ε

3. P‟ = {S → A | aCA; A → a | ε; B → C | AbcB; C → aB | b | c | ε}.

b) Loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu

Áp dụng giải thuật loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu, ta có:

1. G1= (N1, T1, P1, S1):

S1 = S; 2. N1, T1:

Bước

N1

T1

Giải thích

KT

{S}

1

{S, A, C}

{a}

S → A | aCA

2

{S, A, B, C}

{a, b, c}

S → A | aCA; A → a| ε; C → aB | b | c| ε

3

{S, A, B, C}

{a, b, c}

S→ A|aCA; A→ a| ε; B → C|AbcB; C → aB|b|

c| ε

3. P1 = {S → A | aCA; A → a | ε; B → C | AbcB; C → aB | b | c | ε}.


2) Loại bỏ luật sinh ε

- Áp dụng giải thuật loại bỏ luật sinh ε, ta có tập các biến rỗng:


Bước

R-Nullable

Giải thích

KT

{A, C}

A → ε; C → ε

1

{S, A, B, C}

S → A; B → C

2

{S, A, B, C}

S → A; B → C


Tập biến rỗng Nullable = {S, A, B, C}

- Tập luật sinh P”:

S → A | aCA | aA | aC | a | ε; A → a;

B → C | AbcB | bcB | Abc | bc; C → aB | a | b | c

L(G) nên phải bổ sung thêm luật sinh S → ε vào P”.

3) Loại bỏ luật sinh đơn vị

Áp dụng giải thuậtloại bỏ luật sinh đơn vị, ta có G‟1 = (N‟1, T‟1, P‟1, S‟1):

- N‟1 = {S, A, B, C}; T‟1 = {a, b, c} ; S‟1 = S ;

P‟1: S → aCA | aA | aC | a | ε; A → a;

B → AbcB | bcB | Abc | bc; C → aB | a | b | c

- Δ S = {A}; Δ B = {C}; Δ A= ; Δ C=

- Với biến S, phải thêm vào P‟1 luật sinh S → a;

- Với biến B, phải thêm vào P‟1 các luật sinh B → aB | a | b | c;

Vậy tập luật sinh P‟1, theo giải thuật sẽ chứa các luật sinh không là luật sinh đơn vị trong P1, bổ sung thêm các luật sinh mới thay cho luật sinh đơn vị như sau:

P‟1: S → aCA | aA | aC | a | ε; A → a;



B → aB | a | b | c | AbcB | bcB | Abc | bc; C → aB | a | b | c.

3.36. 1) Nêu các thành phần của văn phạm (tự làm).

2) Tìm văn phạm tương đương với văn phạm trên không chứa ký hiệu thừa, luật sinh ε và luật sinh đơn vị.

a) Loại bỏ ký hiệu thừa

- Loại bỏ biến không sinh ra xâu các ký tự kết thúc

Áp dụng giải thuật loại bỏ biến không sinh ra xâu ký tự kết thúc, ta có: 1. G‟ = (N‟, T‟, P‟, S‟):

T‟ = a, b, c S‟ = S; 2. N‟:

Bước

N‟

Giải thích

KT

{A, B, C}

A → ε; B → a; C → b | ε

1

{S, A, B,C}

S → A| AcBC; A → B; B → bCA | C |a; C → ABc | b

2

{S, A, B, C}

S → A| AcBC; A → B; B → bCA | C |a; C → ABc | b

3. P‟ = {S → A| AcBC; A → B | ε; B → bCA | C |a; C → ABc | b| ε}.

b) Loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu

Áp dụng giải thuật loại bỏ các ký tự không được sinh ra từ ký tự bắt đầu, ta có:

1. G1= (N1, T1, P1, S1):

S1 = S; 2. N1, T1:

Bước

N1

T1

Giải thích

KT

{S}

1

{S, A, B, C}

{c}

S → A| AcBC

2

{S, A, B, C}

{a, b, c}

S→ A|aCA; A→B; B→bCA|C|a; C→ABc|b

3

{S, A, B, C}

{a, b, c}

S→ A|aCA; A→B; B→bCA|C|a; C→ABc|b

3. P1 = {S → A| AcBC; A → B | ε; B → bCA | C |a; C → ABc | b| ε}.


c) Loại bỏ luật sinh ε

- Áp dụng giải thuật loại bỏ luật sinh ε, ta có tập các biến rỗng:


Bước

R-Nullable

Giải thích

KT

{A, C}

A → ε; C → ε

1

{S, A, B, C}

S → A; B → C

2

{S, A, B, C}

S → A; B → C


Tập biến rỗng Nullable = {S, A, B, C}

- Tập luật sinh P”:

S → A| AcBC| cBC | AcC | AcB| cC| Ac| cB| c | ε; A → B;

B → bCA | bA | bC | b|C |a; C → ABc | Bc | Ac | c | b

L(G) nên phải bổ sung thêm luật sinh S → ε vào P”.

d) Loại bỏ luật sinh đơn vị

Áp dụng giải thuật loại bỏ luật sinh đơn vị, ta có G‟1 = (N‟1, T‟1, P‟1, S‟1):

- N‟1 = {S, A, B, C}; T‟1 = {a, b, c} ; S‟1 = S ;

P‟1: S → AcBC| cBC | AcC | AcB| cC| Ac| cB| c | ε; B → bCA | bA | bC | b | a;

C → ABc | Bc | Ac | c | b

- Δ S = {A, B, C}; Δ A = {B, C}; Δ B = {C}; Δ C=

- Với biến S, phải thêm vào P‟1 luật sinh S → bCA | bA | bC | b | a | ABc | Bc | Ac | c | b;

- Với biến A, phải thêm vào P‟1 các luật sinh A → bCA | bA | bC | b | a | ABc | Bc | Ac | c | b;

- Với biến B, phải thêm vào P‟1 các luật sinh B → ABc | Bc | Ac | c | b;

Vậy tập luật sinh P‟1, theo giải thuật sẽ chứa các luật sinh không là luật sinh đơn vị trong P1, bổ sung thêm các luật sinh mới thay cho luật sinh đơn vị như sau:

P‟1: S → bCA | bA | bC | b | a | ABc | Bc | Ac | c | b | AcBC| cBC | AcC

| AcB| cC| Ac| cB| c | ε;

Xem tất cả 254 trang.

Ngày đăng: 16/07/2022
Trang chủ Tài liệu miễn phí