(j)
I
D~ thi mon ChU'O'ng
trinh djch cho cac 1O'p
K46 h~ chinh qui
---....... Chu v:
....... Thai gian lam bai 90 phut
D8 bai g6m 2 trang
Sinh vien khong duQ'csu d\mg tai li~u
Can bQcoi thi khong giai thich gi them
Biti1. ,
Xet cac lo?i tir t6 sau trong ngon ngu C:
+ S6 nguyen
+ Ten duQ'cb~t ddu bkg chu cM,theo sau la chu cM,chu s6 ho~c dftu g?ch du6i
+ Cac chu thich duQ'ccftu t?Ob6'i mQtchu6i duQ'cbao quanh b6'i 1*va *1, khong co bfttky
chu6i *1xen vao tm khi no nfun trong c~p nhay kep.
Gia su t~p ky t\1chi g6m cac lo?i: chu cai, chu s6, dftu g?ch duai, I,*,"
B?ll hay:
a) Xay d\ffigd6 thi chuy8n cho tirng lo?i tir t6.
b) K~t hgp cac d6 thi chuy8n do thanh d6 thi chuy8n duy nhftt.
c) Xay dvng otomat hfiu h?n dOTI inh doan nh~ ca ba lo?i tir t6 tren.
d
Biti 2.
Chovan ph?ffi:
E -7 T E'
I8
E' -7 - T E'
T-7FT'
I8
T' -7 1F T'
F -7 (E) Iid
Trong do E la ky hi~u b~t ddu; E, T, E', F, T' la cac ky hi~u khong k~t thuc; -, /, (, ), id la
cac ky hi~u k~t thuc; 8 la ky hi~u r6ng.
B?ll hay:
a) T~nhFIRST va FOLLOW cho cac ky hi~u khong k~t thuc
b) Y/aydvng bang phan tfch LL(l) cho van ph?m tren
c) Phan tich LL v6i xau vao "id-id/id"
d) Vi~t suy dfultrai nhftt tffigv6i k€t qua phan tich xau vao "id-idlid" trong cau c).
Biti 3.
a) Neu nhfing di8m gi6ng nhau va khac nhau cua thu~t toan phan tich bottom-up va thu~t
tOMphan tich LR? (Neu ng~ gQn,khong trinh bay l?i thu~t toan)
b) Nhfing van ph?ffi nhu th€ nao thi khong phan tich duQ'cb~ng thu~t toan bottom-up?
T?i sao?
c) T?i sao l6p van ph?ffi LR(k) l?i rQnghOTI6p van ph?m LL(k)?
l
1
....
Bid 4.
Cho van ph~:
P~D;S
D~D;D
D ~ id T:
I I array ofT
T ~ integerboolean [ num]
S~S;S
S~ E := E
S~ ifE then S
E ~ num
E~ id
E ~ E mod E
E-7E[E]
Trong P 1::\ y hi~u b~t d!u; P, D, S, T, E 1::\ ac ky hi~u khong k~t thuc; ';', ':', id,
d6 k c
integer, boolean, array, num, of, :=, if, then, mod, [, ] 1::\ ac ky hi~u k~t thuc; integer 1::\
c
kiSu nguyen, boolean 1::\ iSu logic (gi6ng trong Pascal); id 1::\u t6 ten, num 1::\u t6 86
k t t
nguyen.
B~ hay:
- a) Vi~t lugc db dich kiSm tra kiSu cho van ph~ tren
b) TiOO kiSu cho cac biSu thuc trong do~ chuang trinh sau:
a: array [10] of interger;
b: boolean;
a[O] := b
Yeu du b~ ve caycu phap trng v61do~ chuang trinh tren, sau d6 Hnh kiSu cho
cac nut tren cay cu phap d6.
f