![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng môn học Trình biên dịch - Chương 5: Trình biên dịch trực tiếp cú pháp
Số trang: 42
Loại file: pdf
Dung lượng: 195.13 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng chương 5 trình bày những nội dung cơ bản như: Định nghĩa trực tiếp cú pháp, cấu trúc của cây phân tích, định nghĩa thuộc tính l, biên dịch từ trên xuống, đánh giá thuộc tính kế thừa từ dưới lên, đánh giá thuộc tính kế thừa từ dưới lên,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng môn học Trình biên dịch - Chương 5: Trình biên dịch trực tiếp cú phápCHÖÔNG 5BIEÂN DÒCH TRÖÏC TIEÁP CUÙ PHAÙPCoù hai khaùi nieäm veà caùc luaät ngöõ nghóa coù lieân quan ñeán luaät sinh:ñònh nghóa tröïc tieáp cuù phaùp vaø löôïc ñoà dòch.- Ñònh nghóa tröïc tieáp cuù phaùp.- Löôïc ñoà dòch.Chuoãi nhaäp → caây phaân tích → ñoà thò phuï thuoäc →→ ñaùnh giaù thöù töï caùc luaät ngöõ nghóa.Hình 5.0. Khaùi nieäm veà dòch tröïc tieáp cuù phaùpKhaùi nieäm toång quan cuûa bieân dòch tröïc tieáp cuù phaùp5.1. Ñònh nghóa tröïc tieáp cuù phaùpLaø vaên phaïm phi ngöõ caûnh maø trong ñoù moãi kyù hieäu vaên phaïm coù taäpthuoäc tính. Taäp thuoäc tính naøy coù hai loaïi: thuoäc tính toång hôïp vaøthuoäc tính keá thöøa.Caây cuù phaùp coù giaù trò thuoäc tính ôû moãi nuùt ñöôïc goïi laø caây phaân tíchchuù thích.Daïng cuûa ñònh nghóa tröïc tieáp cuù phaùpMoãi luaät sinh coù daïng A → α ñeàu coù moät taäp luaät ngöõ nghóa coù daïngb:= f (c1, c2, …, ck) vôùi f laø haøm soá vaø:1. b laø thuoäc tính toång hôïp cuûa A vaø c1, c2, …, ck laø caùc thuoäc tínhcuûa kyù hieäu vaên phaïm cuûa luaät sinh, hoaëc2. b laø thuoäc tính keá thöøa cuûa moät trong caùc kyù hieäu vaên phaïm beân veáphaûi cuûa luaät sinh vaø c1, c2, …, ck laø caùc thuoäc tính cuûa caùc kyù hieäu vaênphaïm cuûa luaät sinh.Thí duï 5.1. Ñònh nghóa tröïc tieáp cuù phaùp ôû baûng 5.1.Baûng 5.1. Ñònh nghóa tröïc tieáp cuù phaùp cho baûng tính ñôn giaûnLuaät sinhL → EnE → E1 + TE → TE.val: = T.valT → T1* FT → FT.val: = F.valF → (E)F → digitLuaät ngöõ nghóaPrint (E.val)E.val: = E1.val + T.valE.val: = T.valT.val: = T.val x F.valT.val: = F.valF.val: = E.valF.val: = digit . lexvalThuoäc tính toång hôïpÑònh nghóa tröïc tieáp cuù phaùp duøng caùc thuoäc tính toång hôïp goïi laø ñònhnghóa thuoäc tính S. Thuoäc tính S cuûa moät nuùt coù theå ñöôïc töø caùc thuoäctính ôû moãi nuùt töø döôùi leân.Thí duï 5.2. Ñònh nghóa thuoäc tính S ôû thí duï 5.1LE.val = 19E.val = 15+T.val = 15T.val = 3F.val = 3digit.lexval = 3*nT.val = 4F.val = 4F.val = 5digit.lexval = 4digit.lexval = 5Hình 5.1. Caây phaân tích chuù thích 3 * 5 + 4nThuoäc tính keá thöøaThuoäc tính keá thöøa laø thuoäc tính maø giaù trò cuûa noù ôû moät nuùt treân caâyphaân tích ñöôïc xaùc ñònh bôûi thuoäc tính cha meï vaø/hoaëc anh chò cuûa nuùtñoù.Thí duï 5.3. Söï khai baùo ñöôïc taïo bôûi kyù hieäu khoâng keát thuùc D trongñònh nghóa tröïc tieáp cuù phaùp ôû (baûng 5.2).Baûng 5.2. Ñònh nghóa tröïc tieáp cuù phaùp vôùi thuoäc tính keá thöøa L.in.Luaät sinhD → TLT → intT → realL → L1, idL → idLuaät ngöõ nghóaL.in: = T.typeT.type: = integerT.type: = realL1.in: = L.inAddtype (id.entry, L.in)
Nội dung trích xuất từ tài liệu:
Bài giảng môn học Trình biên dịch - Chương 5: Trình biên dịch trực tiếp cú phápCHÖÔNG 5BIEÂN DÒCH TRÖÏC TIEÁP CUÙ PHAÙPCoù hai khaùi nieäm veà caùc luaät ngöõ nghóa coù lieân quan ñeán luaät sinh:ñònh nghóa tröïc tieáp cuù phaùp vaø löôïc ñoà dòch.- Ñònh nghóa tröïc tieáp cuù phaùp.- Löôïc ñoà dòch.Chuoãi nhaäp → caây phaân tích → ñoà thò phuï thuoäc →→ ñaùnh giaù thöù töï caùc luaät ngöõ nghóa.Hình 5.0. Khaùi nieäm veà dòch tröïc tieáp cuù phaùpKhaùi nieäm toång quan cuûa bieân dòch tröïc tieáp cuù phaùp5.1. Ñònh nghóa tröïc tieáp cuù phaùpLaø vaên phaïm phi ngöõ caûnh maø trong ñoù moãi kyù hieäu vaên phaïm coù taäpthuoäc tính. Taäp thuoäc tính naøy coù hai loaïi: thuoäc tính toång hôïp vaøthuoäc tính keá thöøa.Caây cuù phaùp coù giaù trò thuoäc tính ôû moãi nuùt ñöôïc goïi laø caây phaân tíchchuù thích.Daïng cuûa ñònh nghóa tröïc tieáp cuù phaùpMoãi luaät sinh coù daïng A → α ñeàu coù moät taäp luaät ngöõ nghóa coù daïngb:= f (c1, c2, …, ck) vôùi f laø haøm soá vaø:1. b laø thuoäc tính toång hôïp cuûa A vaø c1, c2, …, ck laø caùc thuoäc tínhcuûa kyù hieäu vaên phaïm cuûa luaät sinh, hoaëc2. b laø thuoäc tính keá thöøa cuûa moät trong caùc kyù hieäu vaên phaïm beân veáphaûi cuûa luaät sinh vaø c1, c2, …, ck laø caùc thuoäc tính cuûa caùc kyù hieäu vaênphaïm cuûa luaät sinh.Thí duï 5.1. Ñònh nghóa tröïc tieáp cuù phaùp ôû baûng 5.1.Baûng 5.1. Ñònh nghóa tröïc tieáp cuù phaùp cho baûng tính ñôn giaûnLuaät sinhL → EnE → E1 + TE → TE.val: = T.valT → T1* FT → FT.val: = F.valF → (E)F → digitLuaät ngöõ nghóaPrint (E.val)E.val: = E1.val + T.valE.val: = T.valT.val: = T.val x F.valT.val: = F.valF.val: = E.valF.val: = digit . lexvalThuoäc tính toång hôïpÑònh nghóa tröïc tieáp cuù phaùp duøng caùc thuoäc tính toång hôïp goïi laø ñònhnghóa thuoäc tính S. Thuoäc tính S cuûa moät nuùt coù theå ñöôïc töø caùc thuoäctính ôû moãi nuùt töø döôùi leân.Thí duï 5.2. Ñònh nghóa thuoäc tính S ôû thí duï 5.1LE.val = 19E.val = 15+T.val = 15T.val = 3F.val = 3digit.lexval = 3*nT.val = 4F.val = 4F.val = 5digit.lexval = 4digit.lexval = 5Hình 5.1. Caây phaân tích chuù thích 3 * 5 + 4nThuoäc tính keá thöøaThuoäc tính keá thöøa laø thuoäc tính maø giaù trò cuûa noù ôû moät nuùt treân caâyphaân tích ñöôïc xaùc ñònh bôûi thuoäc tính cha meï vaø/hoaëc anh chò cuûa nuùtñoù.Thí duï 5.3. Söï khai baùo ñöôïc taïo bôûi kyù hieäu khoâng keát thuùc D trongñònh nghóa tröïc tieáp cuù phaùp ôû (baûng 5.2).Baûng 5.2. Ñònh nghóa tröïc tieáp cuù phaùp vôùi thuoäc tính keá thöøa L.in.Luaät sinhD → TLT → intT → realL → L1, idL → idLuaät ngöõ nghóaL.in: = T.typeT.type: = integerT.type: = realL1.in: = L.inAddtype (id.entry, L.in)
Tìm kiếm theo từ khóa liên quan:
Trình biên dịch Bài giảng Trình biên dịch Ngôn ngữ lập trình Chương trình dịch Đặc tả ngôn ngữ lập trình Trình biên dịch trực tiếp cú phápTài liệu liên quan:
-
Chuyên đề: Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống
84 trang 384 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 285 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 283 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 277 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 235 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 235 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 225 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 219 1 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 196 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 179 0 0