0

slide môn chương trình dịch

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH

Kỹ thuật lập trình

... các chương trình hợp lệ.- Tập các chương trình hợp lệ. chương trình nguồn (ngôn ngữ bậc cao) chương trình dịch chương trình đích (ngôn ngữ máy)LỗiHình 1.1: Sơ đồ một chương trình dịch ... một chương trình để dịch các chương trình trên ngôn ngữ này sang mã máy để có thể chạy được. Những chương trình làm nhiệm vụ như vậy gọi là các chương trình dịch. Ngoài ra, một chương trình dịch ... sang ngôn ngữ Acsembly.* Định nghĩa chương trình dịch: Chương trình dịch là một chương trình thực hiện việc chuyển đổi một chương trình hay đoạn chương trình từ ngôn ngữ này (gọi là ngôn...
  • 158
  • 3,369
  • 36
De cuong on tap môn Chương trình dịch

De cuong on tap môn Chương trình dịch

Kỹ thuật lập trình

... tạo đệ qui trái trong 1 văn phạm.3) Dịch trực tiếp cú pháp:- Cho 1 biểu thức toán học:o Ðịnh nghĩa trực tiếp cú pháp cho biểu thức số học. o Lược đồ dịch cho biểu thức số học.- Thuộc tính ... ĐỀ CƯƠNG ÔN TẬP MÔN CTDPHẦN LÝ THUYẾT1) Phân tích từ vựng:- Cho một đoạn mã, hãy xác định các từ vựng có thể ... quan đến phân tích cú pháp theo thứ bậc toán tử.- Thuật toán xây dựng bảng SLR.- Thực hiện quá trình phân tích SLR cho1chuỗi nhập (xây dựng cây phân tích cú pháp).Dạng bài tập:1) Văn phạm...
  • 3
  • 1,018
  • 9
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 1

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 1

Kỹ thuật lập trình

... nghĩa chương trình dịch: chương trình nguồn (ngôn ngữ bậc cao) chương trình dịch chương trình đích (ngôn ngữ máy)LỗiHình 1.1: Sơ đồ một chương trình dịch Chương trình dịch là một chương trình ... một chương trình để dịch các chương trình trên ngôn ngữ này sang mã máy để có thể chạy được. Những chương trình làm nhiệm vụ như vậy gọi là các chương trình dịch. Ngoài ra, một chương trình dịch ... từ vựng Chương trình nguồnPhân tích cú phápPhân tíchngữ nghĩaSinh mã trung gian Chương 1: Tổng quan về ngôn ngữ lập trìnhchương trình dịch 1. Ngôn ngữ lập trìnhchương trình dịch. Con...
  • 32
  • 539
  • 2
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 2

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 2

Kỹ thuật lập trình

... lập trình đều có các luật mô tả các cấu trúc cú pháp. Một chương trình viếtđúng phải tuân theo các luật mô tả này. Phân tích cú pháp là để tìm ra cấu trúc dựa trên vănphạm của một chương trình ... nghĩa Chương trình nguồnBảng ký hiệutừ tốyêu cầu từ tốCHƯƠNG 3 PHÂN TÍCH CÚ PHÁP VÀ CÁC PHƯƠNG PHÁPPHÂN TÍCH CƠ BẢN.1. MỤC ĐÍCH.Phân tích cú pháp nhận đầu vào là danh sách các từ tố của chương ... từ tố đồng bộ. Các từ tố đồng bộ thường được xác định trước( VD: end, ; )Người thiết kế chương trình dịch phải tự chọn các từ tố đồng bộ. Ưu điểm: Đơn giản, không sợ bj vòng lặp vô hạn, hiệu...
  • 44
  • 842
  • 4
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 3

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 3

Kỹ thuật lập trình

... là kiểu type_error. CHƯƠNG 5 BIÊN DỊCH DỰA CÚ PHÁP.1. MỤC ĐÍCH, NHIỆM VỤ.- Các hành động dịch phụ thuộc rất nhiều vào cú pháp của chương trình nguồn cần dịch. Quá trình dịch được điều khiển ... nhau. Để thực hiện phép cộng, trớc tiên chương trình dịch đổi cả 2 toán tử về một kiểu (kiểu real) sau đó thực hiện cộng.Bộ kiểm tra kiểu trong chương trình dịch được dùng để chèn thêm phép toán ... hiện một cách tự động bởi chương trình dịch, phép đổi kiểu này còn gọi là ép kiểu. (ép kiểu thường gây mất thông tin) Một phép đổi kiểu được gọi là rõ nếu người lập trình phải viết số thứ để...
  • 32
  • 350
  • 2
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 4

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 4

Kỹ thuật lập trình

... pháp đơn giản nhất như sau: CHƯƠNG 7 BẢNG KÍ HIỆU.1. MỤC ĐÍCH, NHIỆM VỤ.Một chương trình dịch cần phải thu thập và sử dụng các thông tin về các tên trong chương trình nguồn. Các thông tin này ... câu lệnh hoặc đoạn chương trình sau thành đoạn mã ba địa chỉ:1) a * - (b+c)2) đoạn chương trình Cmain (){ int i; int a[100];i=1;while(i<=10){ a[i]=0;i=i+1;}}.1. Dịch biểu thức : ... trí cảu nó trong bộ nhớ, các thuộc tính khác phụ thuộc vào ngôn gnữ lập trình. Mỗi lần tên cần xem xét, chương trình dịch sẽ tìm trong bảng kí hiệu xem đã có tên đó chưa. Nếu tên đó là mớithì...
  • 18
  • 416
  • 1
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 5

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 5

Kỹ thuật lập trình

... tuyệt đối.Một chương trình mã máy tuyệt đối có các lệnh mã máy được định vị tuyệt đối. Chương trình dịch xác định hoàn toàn chương trình đối tượng này.Mã được một chương trình dịch thực sự tạo ... chương trình gọi và chuyển quyền điều khiển cho chương trình con được gọi. Khi quyền điều khiển trả về cho chương trình gọi, SP giảm đi một khoảng bằng kích thước mẩu tin hoạt động của chương trình ... của chương trình con nằm trên đỉnh Stack. Khi lời gọi của chương trình con xuất hiện, chương trình bị gọi được cấp phát, SP được tăng lên một giá trị bằng kích thước mẩu tin hoạt động của chương...
  • 18
  • 293
  • 0
Nhập môn Chương trình dịch - Bài tập ppt

Nhập môn Chương trình dịch - Bài tập ppt

Cao đẳng - Đại học

... III. Cải tiến chương trình phân tích từ vựng - Thêm vào các từ tố cho các câu lệnh for, switch … case - Thông báo lỗi từ vựng: chỉ ra vị trí xảy ra lỗi - Hồi phục lỗi: bỏ qua lỗi và dịch tiếp ... hoặc err_token nếu có lỗi từ vựng. - Viết một hàm main() để thử chạy hàm next_token() với một chương trình thuộc ngôn ngữ SLANG. Ví dụ: Mã nguồn: begin var int number, sum; sum = 0; ... dịch tiếp để bắt hết các lỗi từ vựng IV. Nộp bài tập Sinh viên cần nộp các tài liệu sau - Chương trình - Tài liệu: khoảng 2 trang A4 o Giới thiệu nhóm o Tóm tắt giải pháp o Nêu các khó...
  • 6
  • 1,926
  • 20
Nhập môn Chương trình dịch - Bài 15 docx

Nhập môn Chương trình dịch - Bài 15 docx

Cao đẳng - Đại học

... Nhập môn Chương trình dịch Học kì II 2006 – 2007Bài 15: Làm phẳng cây IR Cài đặtclass CanonicalExpr {IRStmt[ ... CALL(…)… …SEQEXPCALL(…)… … Cỳ phỏp iu khin: OPã Lut ny ó th hin đúng ý đồ của ngườilập trình chưa?J[e1] = (s1, s2,…, sn); e1’J[OP(e1, e2)] = (s1, s2,…, sn, s1’, ... lm gc ca cõy IRã Mt hm c biu din di dngSEQ(s1, s2, sn)ã Cú th dch thnh mó móy bng cách dịch lần lượt s1, s2, …, snrồi nối mã lại vớinhau.SEQs1s2sn… Cỳ phỏp iu khin: OPã...
  • 25
  • 279
  • 1
Nhập môn Chương trình dịch - Bài 14 pps

Nhập môn Chương trình dịch - Bài 14 pps

Cao đẳng - Đại học

... nỳt conã Cú pháp điều khiển– Mô tả chính xác chương trình dịch cần làm gì– Có thể cài đặt dễ dàng– Có thể chứng minh tính đúng của chương trình dịch Cỏc lnh ó mụ tã E[v] = TEMP(v)ã E[e1+ ... f], LABEL(t), [s], LABEL(f))làm phẳngcây IRSEQSEQs3s1s2SEQs2s3s1 Nhập môn Chương trình dịch Học kì II 2006-2007Bài 14: Sinh mã trung gian (tiếp) Tng ktã Cỳ phỏp iu khin mụ ... MOVE(t, value.translateE()), new MOVE(variable.translateE(), t)),t); }} Trường hợp có nhiều cách dịch v = eMOVE[e]TEMP(te)ESEQTEMP(te)SEQMOVETEMP(te)[v]Dạng biểu thức: E[e] = Dạng...
  • 16
  • 323
  • 0
Nhập môn Chương trình dịch - Bài 13 pps

Nhập môn Chương trình dịch - Bài 13 pps

Cao đẳng - Đại học

... NAMEã Nỳt NAME i din cho a ch ca mttờn trờn b nhã VD: a ch ca mt nhón nhyNAME(n) Nhập môn Chương trình dịch Học kì II 2006-2007Bài 13: Sinh mã trung gian ... biu thc nm di nỳt lnhã Ch cú nỳt biu thc ESEQ cú nỳt lnhnm diã Cú thể duyệt cây IR để chạy chương trình Mụ t cỏc nỳt biu thc ca IRã CONST(i): hng s nguyờn iã TEMP(t): thanh ghi t, mỏy tru ... của hàmCALLefCALL(ef, e0, e1,…)e0e1e2…Địa chỉ của hàmTham số Mô tả các bước dịch (1)Mã nguồn (dãy các kí tự)If (a == 0) min = a;Phân tích từ vựngPhân tích cú phápPhân...
  • 26
  • 313
  • 1
Nhập môn Chương trình dịch - Bài 12 pps

Nhập môn Chương trình dịch - Bài 12 pps

Cao đẳng - Đại học

... intA2├ x*fact(x-1) : intA2├ x : int A2├ 0 : intA2├ x == 0 : boolA2├ 1 : int Nhập môn Chương trình dịch Học kì II 2006 – 2007Bài 12: Luật ngữ nghĩa (tiếp) Lut ng ngha: nh ngha hmã C/C++: ... ngữnghĩa cho nỳt ú t cỏc lut nh hnã Nh vy, b luật ngữ nghĩa cho phép kiểm tra kiểu của một chương trình viết đúng cú pháp vàviệc kiểm tra luôn luôn dừng Lut ng ngha: lnh returnã Thờm mt dũng ... nghaã Cỏc lut ng ngha khỏc u vit tng t nh cỏc lut ó hcã Bộ luật ngữ nghĩa cho phép đánh giá một chương trỡnh cú kiu ỳng hay khụngã Cỏch vit: theo kiu quy nạp– Viết các luật tiên đề– Với mỗi...
  • 11
  • 320
  • 0
Nhập môn Chương trình dịch - Bài 11 ppt

Nhập môn Chương trình dịch - Bài 11 ppt

Cao đẳng - Đại học

... Nhập môn Chương trình dịch Học kì II 2006 - 2007Bài 11: Luật ngữ nghĩa Ví dụA ├ E1: int A ├ E2: intA ... ngha c viết cho từng nút của cây hoặc từng sản xuất ca vn phmã ỏnh giỏ kiu (kim tra kiu) l quá trình lần ngược cây cú pháp dựa vào các luật Lut ng ngha: lnh Whileã Vi cỏc lnh khụng cú kiểu,...
  • 15
  • 362
  • 0
Nhập môn Chương trình dịch - Bài 10 pptx

Nhập môn Chương trình dịch - Bài 10 pptx

Cao đẳng - Đại học

... Lnh khai báo kiểu: typedef, class Ni dungã Kim tra kiuã Ci t cỏc biu thc kiểu Nhập môn Chương trình dịch Học kì II 2006 – 2007Bài 10: Biểu thức kiểu Vớ d: C++ã Kiu c bn: int, char, ã...
  • 11
  • 333
  • 1
Nhập môn Chương trình dịch - Bài 9 pot

Nhập môn Chương trình dịch - Bài 9 pot

Cao đẳng - Đại học

... xuất hiện trong phạm vi (scope) của chương trình: bảng kí hiệu (symbol table) Ci t bng kớ hiu (1)ã Bng kớ hiu cho phép kiểm tra kiểu của các tên trong chương trình class SymTab {Type lookup(String ... < n; i++) {boolean b = }{ i: int, n: int }{ i: int, n: int, b: boolean }? Nhập môn Chương trình dịch Học kì II 2006-2007Bài 09: Phân tích ngữ nghĩa ... th tn dng tớnh lp li của các bước dịch để viết các đoạn mã duyệt cây cúpháp tổng quát (tính đa hình) Phõn tớch ng nghaã Tỡm tt c cỏc li cũn lại của chương trình nguồn– Khai báo biến– Kiểm...
  • 18
  • 280
  • 0

Xem thêm