Slide Chương trình dịch (UNIT5) - GV Nguyễn Thị Thu Hương
正在生成预览...
Bài giảng về bộ phân tích từ vựng (lexical analyzer) trong chương trình dịch, trình bày các nhiệm vụ, từ tố, ôtômat hữu hạn và xử lý các loại token khác nhau như số nguyên, định danh, từ khóa và các phép toán.
描述
21/1/2010 Nhiệm vụ của bộ phân tích từ vựng Phát hiện các từ tố Bài 5 Bộ phân tích từ vựng Bỏ qua các ký tự không cần thiết Khoảng trống Dấu tab Ký tự xuống dòng (CR,LF) Chú thích 1 Từ tố có cấu trúc cú pháp 2 Xử lý các luật từ vựng trong bộ phân tích cú pháp ? Làm cho bộ phân tích cú pháp trở nên quá phức tạp Phân biệt tên và từ khoá Phải có những luật phức tạp để xử lý chuỗi các ký tự không cần thiết (khoảng trống, tab, chú thích . . . .) Tại sao không xử lý các luật này trong giai đoạn phân tích cú pháp ? 3 4 fb.com/groups/ 1 21/1/2010 Các từ tố của KPL Ôtômat hữu hạn của bộ PTTV Số nguyên Định danh Từ khóa: begin,end, if,then, while, do, call, const, var, procedure, program,type, function,of,integer,char,else,for, to,array Hằng ký tự Dấu phép toán: số học + - */ so sánh = != < > <= >= Dấu phân cách ( ) . : ; (. .) Dấu phép gán := Sau mỗi từ tố được nhận biết, bộ từ vựng lại quay lại trạng thái s0 5 Xử lý các loại từ tố Các phép toán quan hệ case 0 : c= nextchar(); if(c==blank || c= =tab || c= =newline ){ state = 0; lexeme_beginning++; //chuyển con trỏ đến đầu từ tố) } case 1: if(c= = '<') state = 1a; else if (c= = '=') state = 4; else if (c= = ‘!') state = 5; else if (c= = ‘>') state = 7; else state =fail();break; case 1a: c:=nextchar(); if (c= = '=') state = 2; Else state=3; case 2: return (leq) switch(state) { case 0 // Bỏ qua khoảng trống case 1// Xử lý các phép toán quan hệ case 10 // Xử lý tên case 13 // Xử lý số ... } 7 6 8 fb.com/groups/ 2 21/1/2010 Số nguyên Định danh case 13: c = nextchar(); if(isdigit(c)) state = 14; case 14: c=nextchar(); if(isdigit(c)) state = 14; else state = 15; break; case 15 : retract(1); install_num(); return(num); case 10: c = nextchar(); if(isletter(c)) state =11; else state = fail; break; case 11: c = nextchar(); if(isletter(c)) state =11; else if (isdigit(c)) state = 11; else state = 12; break; case 12: retract(1) ; install_id(); return
AI 摘要
- 文档名称
- Slide Chương trình dịch (UNIT5) - GV Nguyễn Thị Thu Hương
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Chương trình dịch
- 内容
- Bài giảng về bộ phân tích từ vựng (lexical analyzer) trong chương trình dịch, trình bày các nhiệm vụ, từ tố, ôtômat hữu hạn và xử lý các loại token khác nhau như số nguyên, định danh, từ khóa và các phép toán.
- 目录
- 此文档没有清晰的目录。
- 页数
- 4 页
- 上传者
- lienhejb
常见问题
此文档免费吗?
是的。“Slide Chương trình dịch (UNIT5) - GV Nguyễn Thị Thu Hương”是免费的 — 只需登录并点击“下载”即可获取原始文件。
这份文档有多少页?
该文档共有 4 页,适用于课程 Chương trình dịch。您可以在下载前进行在线预览。
我可以在下载前预览吗?
是的。您可以通过在线阅读器直接在本页面预览此文档,然后再决定是否下载。
Slide Chương trình dịch (UNIT5) - GV Nguyễn Thị Thu Hương
正在生成预览...
21/1/2010 Nhiệm vụ của bộ phân tích từ vựng Phát hiện các từ tố Bài 5 Bộ phân tích từ vựng Bỏ qua các ký tự không cần thiết Khoảng trống Dấu tab Ký tự xuống dòng (CR,LF) Chú thích 1 Từ tố có cấu trúc cú pháp 2 Xử lý các luật từ vựng trong bộ phân tích cú pháp ? Làm cho bộ phân tích cú pháp trở nên quá phức tạp Phân biệt tên và từ khoá Phải có những luật phức tạp để xử lý chuỗi các ký tự không cần thiết (khoảng trống, tab, chú thích . . . .) Tại sao không xử lý các luật này trong giai đoạn phân tích cú pháp ? 3 4 fb.com/groups/ 1 21/1/2010 Các từ tố của KPL Ôtômat hữu hạn của bộ PTTV Số nguyên Định danh Từ khóa: begin,end, if,then, while, do, call, const, var, procedure, program,type, function,of,integer,char,else,for, to,array Hằng ký tự Dấu phép toán: số học + - */ so sánh = != < > <= >= Dấu phân cách ( ) . : ; (. .) Dấu phép gán := Sau mỗi từ tố được nhận biết, bộ từ vựng lại quay lại trạng thái s0 5 Xử lý các loại từ tố Các phép toán quan hệ case 0 : c= nextchar(); if(c==blank || c= =tab || c= =newline ){ state = 0; lexeme_beginning++; //chuyển con trỏ đến đầu từ tố) } case 1: if(c= = '<') state = 1a; else if (c= = '=') state = 4; else if (c= = ‘!') state = 5; else if (c= = ‘>') state = 7; else state =fail();break; case 1a: c:=nextchar(); if (c= = '=') state = 2; Else state=3; case 2: return (leq) switch(state) { case 0 // Bỏ qua khoảng trống case 1// Xử lý các phép toán quan hệ case 10 // Xử lý tên case 13 // Xử lý số ... } 7 6 8 fb.com/groups/ 2 21/1/2010 Số nguyên Định danh case 13: c = nextchar(); if(isdigit(c)) state = 14; case 14: c=nextchar(); if(isdigit(c)) state = 14; else state = 15; break; case 15 : retract(1); install_num(); return(num); case 10: c = nextchar(); if(isletter(c)) state =11; else state = fail; break; case 11: c = nextchar(); if(isletter(c)) state =11; else if (isdigit(c)) state = 11; else state = 12; break; case 12: retract(1) ; install_id(); return
阅读全文
- 文档名称
- Slide Chương trình dịch (UNIT5) - GV Nguyễn Thị Thu Hương
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Chương trình dịch
- 内容
- Bài giảng về bộ phân tích từ vựng (lexical analyzer) trong chương trình dịch, trình bày các nhiệm vụ, từ tố, ôtômat hữu hạn và xử lý các loại token khác nhau như số nguyên, định danh, từ khóa và các phép toán.
- 目录
- 此文档没有清晰的目录。
- 页数
- 4 页
- 上传者
- lienhejb
评论 (0)
暂无评论。快来抢沙发吧!
Slide Chương trình dịch (UNIT2) - GV Nguyễn Thị Thu Hương
Slide Chương trình dịch (UNIT6) - GV Nguyễn Thị Thu Hương
Slide Chương trình dịch - C4 Phân tích cú pháp - GV Hoàng Anh Việt
Slide Chương trình dịch - C1 Tổng quan - GV Hoàng Anh Việt
Slide Chương trình dịch - C2 CT Dịch đầu tiên - GV Hoàng Anh Việt
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
评论 (0)
暂无评论。快来抢沙发吧!