
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: Phân tích 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 ký t đ u vào, b t đ u t ký 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 ngôn 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ác ký t ASCIIượ ự ừ ự
•T t (Token)ừ ố
–Là thu t ng dùng ch các t v ng có cùng ý ậ ữ ỉ ừ ự
nghĩa cú pháp
•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”, “*”,”:=“, “;” là t v ngừ ự
•“pos”, “start”, “size”, → các t v ng thu c l p t 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 nhân (ừ ự ủ ừ ố 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;