Bài tập có lời giải chương trình dịch năm 2024

CÂU H

I ÔN T

ẬP MÔN CHƯƠNG TRÌNH DỊ

CH

I.

PH

N LÝ THUY

T (Không ki

m tra gi

a k

)

1.

Trình bày định nghĩa chương trình dị

ch và phân lo

ại chương trình dị

ch (trang 5-6). 2.

Trình bày giai do

ạn phân tích và giai đoạ

n t

ng h

p c

ủa chương trình dị

ch (trang 7-8) (không c

n v

hình). 3.

V

hình ví d

m

t quá trình d

ch m

t bi

u th

c (trang 11). 4.

Trình bày phương pháp phân tích Top Down (trang 60)

. 5.

Trình bày phương pháp phân tích Bottom up (trang 62

-63). 6.

Trình bày thu

t toán tính First(X) và First(

) (trang 77-78). 7.

Trình bày thu

t toán tính Follow(A) và L

p b

ng phân tích t

ất đị

nh LL(1) (trang 78-79). 8.

Trình bày điề

u ki

ện để

m

ột văn phạ

m là LL(1), gi

ải thích ý nghĩa củ

a t

ừng điề

u ki

n (trang 80). 9.

Trình bày m

ục đích, nhiệ

m v

c

a b

ng ký hi

ệu trong chương trình dị

ch, các kh

năng làm việ

c v

i b

ng ký hi

u (trang 140,141) (không c

n v

hình). 10.

Trình bày cách t

ch

c b

ng ký hi

u b

ằng cây đị

nh danh và danh sách ph

m vi (trang 245, 246) (không c

n v

hình).

II. PH

N BÀI T

P VÀ VI

T CODE (Ôn gi

a k

t

câu 1-4)

1.

Cho t

p s

n xu

t c

a m

ột văn phạ

  1. Hãy: a) L

p b

ng tính FIRST và FOLLOW cho các ký hi

u không k

ế

t thúc. b) L

p b

ng phân tích t

ất định LL(1) cho văn phạ

m trên

. Văn phạ

m trên có ph

ải là văn pham LL(1) hay không?

  1. Th

c hi

n quá trình phân tích LL(1) v

ới xâu vào nào đó theo dạ

ng :

Ngăn xế

p

Đầ

u vào

Đầ

u ra

. . . . . . . . . 2.

S

a l

i ph

n khai báo t

t

, khai báo t

khóa và vi

ế

t l

i hàm next_token() c

a

chương trình phân tích từ

v

ng

(theo phương pháp diễ

n gi

ải đồ

th

chuy

  1. ch

cho m

t ph

ần nào đó củ

a ngôn ng

SLANG.

Ví d

:

S

a l

i ph

n khai báo t

t

, khai báo t

khóa và và vi

ế

t l

i hàm next_token() c

ủa chương trình phân tích từ

v

ng

(theo phương pháp diễ

n gi

i

đồ

th

chuy

  1. ch

cho câu l

nh WHILE

(không quan tâm đế

n các câu l

nh trong thân c

a WHILE). Ph

n <quan h

\> c

a WHILE ch

có các phép so sánh: \> , >=, = . Ph

n <bi

u th

c> trong <quan h

\> ch

có các phép tính c

ng, tr

. Ph

n <toán h

ng> trong <bi

u th

c> ch

có tên và s

. (

Chú ý:

Chương trình

luôn b

ắt đầ

u b

ng t

khóa BEGIN và k

ế

t thúc là END.)

Bài tập có lời giải chương trình dịch năm 2024

3.

Trong chương trình phân tích từ

v

ựng theo phương pháp diễ

n gi

ải đồ

th

chuy

n cho ngôn ng

SLANG: a) Trình bày công d

ng c

a hàm identifier() và bi

ế

n ident_lexeme. Vi

ế

t n

i dung hàm identifier(). b) Trình bày công d

ng c

a hàm number() và bi

ế

n num_value. Vi

ế

t n

i dung hàm number(). c) Trình bày công d

ng c

a hàm look_up() 4.

Vi

ế

t n

i dung m

t s

hàm c

ủa chương trình phân tích cú pháp theo phương pháp đệ

quy trên xu

ng cho ngôn ng

SLANG. 5.

Cho trướ

c m

ột chương trình viế

t b

ng ngôn ng

SLANG. Hãy l

p b

ng ký hi

u

theo cách dùng cây đị

nh danh và danh sách ph

ạm vi khi phân tích đế

n dòng

nào đó

(trang 248, 249). 6.

Vi

ế

t n

i dung hàm exit_scope()

để

x

lý b

ng ký hi

u khi ra kh

ỏi chương trình

con vi

ế

t b

ng ngôn ng

SLANG (trang 257-258). 7.

Vi

ế

t n

i dung hàm

insert_definition() để

chèn thêm b

n ghi m

i vào b

ng ký hi

u khi d

ịch chương trình viế

t b

ng ngôn ng

(trang 258-259) 8.

Cho trướ

c m

ột chương trình viế

t b

ng ngôn ng

SLANG. Gi

s

đang phân tích đế

n v

trí nào đó. Hãy:

-

Trình bày các th

t

c cú pháp và các t

ập đồ

ng b

tương ứ

ng (trang 288). -

Trình bày chi

ến lượ

c khôi ph

c l

i khi th

a ho

c thi

ế

u t

t

nào đó

(trang 289-290)

C

U TRÚC

ĐỀ

THI M

i

đề

có 5 câu Câu 1. Lý thuy

ế

t (2

đ

i

  1. Câu 2. Bài t

p (1,5

đ

i

  1. Câu 3: Vi

ế

t code (2

đ

i

  1. Câu 4: Vi

ế

t code (2,5

đ

i

  1. Câu 5: Bài t

p ho

c Vi

ế

t code (2

đ

i