Đang chuẩn bị liên kết để tải về 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áp

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

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,. . | CHÖÔNG 5 BIEÂN DÒCH TRÖÏC TIEÁP CUÙ PHAÙP Coù 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ùp Khaùi nieäm toång quan cuûa bieân dòch tröïc tieáp cuù phaùp 5.1. Ñònh nghóa tröïc tieáp cuù phaùp Laø vaên phaïm phi ngöõ caûnh maø trong ñoù moãi kyù hieäu vaên phaïm coù taäp thuoä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ích chuù thích. Daïng cuûa ñònh nghóa tröïc tieáp cuù phaùp Moãi luaät sinh coù daïng A → α ñeàu coù moät taäp luaät ngöõ nghóa coù daïng b:= 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ính cuûa kyù hieäu vaên phaïm cuûa luaät sinh, hoaëc 2. 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ên phaï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ûn Luaät sinh L → En E → E1 + T E → TE.val: = T.val T → T1* F T → FT.val: = F.val F → (E) F → digit Luaät ngöõ nghóa Print (E.val) E.val: = E1.val + T.val E.val: = T.val T.val: = T.val x F.val T.val: = F.val F.val: = E.val F.val: = digit . lexval Thuoä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ø ñònh nghóa thuoäc tính S. Thuoäc tính S cuûa moät nuùt coù theå ñöôïc töø caùc thuoäc tí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.1 L E.val = 19 E.val = 15 + T.val = 15 T.val = 3 F.val = 3 digit.lexval = 3 * n T.val = 4 F.val =