Xây d ng
CH NG TRÌNH D CHƯƠ
Ph m Đăng H i
haipd@soict.hut.edu.vn
2
05/29/13
Ch ng 2: Pnch t v ngươ
1. Nhi m v c a b phân tích t v ng
2. Bi u di n c u trúc t v ng
3. Phân tích t v ng c a ngôn ng KPL
3
05/29/13
M c đích & Nhi m v
M c đích:
Tìm chu i dài nh t các t đ u vào, b t đ u t t
hi n t i t ng ng v i m t t t và tr v t t này ươ
Nhi m v
Duy t t ng ký t c a văn b n ngu n
Lo i b các ký t không c n thi t nh d u cách, chú thích,.. ế ư
Xây d ng t v ng t nh ng ký t đ c đ c ượ
Nh n d ng t t và g i t i pha ti p ế
Nh n bi t t t g m ế
Nh n bi t các t khóa, tên do ng i dùng đ nh nghĩa ế ườ
Nh n bi t các con s , h ng chu i, h ng ký t ế
Nh n bi t các ký t đ c bi t (+,*,..), ký hi u kép (:=,!=,..) ế
1. Nhi m v c a b phân tích
4
05/29/13
T v ng và T t
T v ng (Lexeme)
Là đ n v nh nh t trong nn ng l p trìnhơ
Đ c coi là ký hi u c a m t b ng ch c a ngôn ngượ
Đ c xây d ng t c t ASCIIượ
T t (Token)
Là thu t ng dùng ch c t v ng cùng ý
nghĩa pp
Có th coi t v ng là nh ng t c th trong t đi n:
hôm nay”, “tr i”, “đ p”; còn t t là lo i t : “ tr ng t ”,
danh t”, “tính t”,..
1. Nhi m v c a b phân tích
5
05/29/13
T t Ví d
pos”, “start”, size”,+”, 10”, *”,”:=“, ; t v ng
pos”, start”, size”, c t v ng thu c l p t t
n (ident)
:= t v ng c a t t gán ( assign)
10 t v ng c a t t s nguyên ( number)
+ t v ng c a t t c ng ( plus)
* t v ng c a t t nn ( times)
; t v ng c a t t ch m ph y ( semicolone)
1. Nhi m v c a b phân tích
pos := start + 10 * size;