Biên dịch trong Tin học là gì

Mục lục

  • 1 Dẫn nhập
  • 2 Lịch sử
  • 3 Các kiểu trình biên dịch
    • 3.1 Trình biên dịch cùng bản và trình biên dịch chéo bản
    • 3.2 Số bước chuyển dịch
    • 3.3 Các đặc tính khác
  • 4 So sánh với phần mềm thông dịch
  • 5 Thiết kế trình biên dịch
  • 6 Mặt ngoài của trình biên dịch
  • 7 Mặt trong của trình biên dịch
  • 8 Tham khảo
  • 9 Xem thêm
  • 10 Liên kết ngoài

Câu 3 trang 13 SGK Tin học 11

Đề bài

Biên dịch và thông dịch khác nhau như thế nào?

Lời giải chi tiết

Biên dịch và thông dịch khác nhau ở những điểm sau:

- Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết.

Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được.

Loigiaihay.com

  • Biên dịch trong Tin học là gì

    Câu 4 trang 13 SGK Tin học 11

    Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn?

  • Biên dịch trong Tin học là gì

    Câu 5 trang 13 SGK Tin học 11

    Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.

  • Biên dịch trong Tin học là gì

    Câu 6 trang 13 SGK Tin học 11

    Những biểu diễn sau đây không phải là biểu diễn trong Pascal và chỉ rõ lỗi trong từng trường hợp.

  • Biên dịch trong Tin học là gì

    Câu 2 trang 13 SGK Tin học 11

    Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?

  • Biên dịch trong Tin học là gì

    Câu 1 trang 13 SGK Tin học 11

    Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?

  • Biên dịch trong Tin học là gì

    Lý thuyết: Cấu trúc lặp trang 42 SGK Tin học 11

    Cấu trúc lặp là một điều khiển thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi một điều kiện nào đó còn đúng.

  • Biên dịch trong Tin học là gì

    Câu 5 trang 51 SGK Tin học 11

    Lập trình tính:

1. Trình biên dịch

a. Định nghĩa

Trình biên dịchlà một trình dịch đọc một chương trình được viết bằng ngôn ngữ cấp cao và chuyển đổi nó thành ngôn ngữ máy hoặc ngôn ngữ cấp thấp và báo cáo các lỗi có trong chương trình. Nó chuyển đổi toàn bộ mã nguồn trong một lần hoặc có thể mất nhiều lượt để làm như vậy, nhưng cuối cùng, người dùng sẽ nhận được mã được biên dịch sẵn sàng để thực thi.

Trình biên dịchhoạt động theo từng giai đoạn, các giai đoạn khác nhau có thể được nhóm thành hai phần đó là:

+ Giai đoạn phân tíchcủatrình biên dịchcũng được gọi là phần đầu; trong đó chương trình được chia thành các phần cấu thành cơ bản và kiểm tra ngữ pháp, ngữ nghĩa và cú pháp của mã sau khi mã trung gian được tạo. Giai đoạn phân tích bao gồm phân tích từ vựng, phân tích ngữ nghĩa và phân tích cú pháp.

+ Giai đoạn tổng hợpcủatrình biên dịchcòn được gọi là phần cuối; trong đó mã trung gian được tối ưu hóa và mã đích được tạo. Giai đoạn tổng hợp bao gồm trình tối ưu hóa mã và trình tạo mã.

b. Các giai đoạn biên dịch

Bây giờ hãy để chi tiết hiểu về hoạt động của từng giai đoạn.

1. Trình phân tích từ vựng: Nó quét mã dưới dạng nhóm ký tự, nhóm chuỗi ký tự thành từ vựng và đưa ra chuỗi mã thông báo có tham chiếu đến ngôn ngữ lập trình.

2. Trình phân tích cú pháp: Trong giai đoạn này, các mã thông báo được tạo trong giai đoạn trước được kiểm tra theo ngữ pháp của ngôn ngữ lập trình, cho dù các biểu thức có đúng về mặt cú pháp hay không.

3. Trình phân tích ngữ nghĩa: Nó xác minh xem các biểu thức và câu lệnh được tạo trong giai đoạn trước có tuân theo quy tắc của ngôn ngữ lập trình hay không và nó tạo ra các cây phân tích chú thích.

4. Trình tạo mã trung gian: Nó tạo ra một mã trung gian tương đương của mã nguồn. Có nhiều cách trình bày mã trung gian, nhưng TAC (Mã địa chỉ ba) được sử dụng rộng rãi nhất.

5. Trình tối ưu hóa mã: Nó cải thiện yêu cầu về thời gian và không gian của chương trình. Để làm như vậy, nó loại bỏ mã dự phòng có trong chương trình.

6. Trình tạo mã: Đây là giai đoạn cuối cùng của trình biên dịch trong đó mã đích cho một máy cụ thể được tạo. Nó thực hiện các hoạt động như quản lý bộ nhớ, gán đăng ký và tối ưu hóa cụ thể cho máy.

Symbol table (bảng ký hiệu)là một cấu trúc dữ liệu quản lý các mã định danh cùng với loại dữ liệu có liên quan mà nó đang lưu trữ. Trình xử lý lỗi phát hiện, báo cáo, sửa các lỗi gặp phải giữa các giai đoạn khác nhau của trình biên dịch.

1. Một số khái niệm

- Lập trình:Là việc sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.

- Ngôn ngữ lập trình:Là ngôn ngữ dung để diễn tả thuật toán sao cho máy tính hiểu và thực hiện được.Bao gồm:

+ Ngôn ngữ máy:Chương trình viết bằng ngôn ngữ máy có thể nạp trự tiếp vào bố nhớ và thực hiện ngay

+ Hợp ngữ:Dùng các thuật nhớ than thiện để viết chương trình thay cho cách lập trình trực tiếp bằng mã máy

+ Ngôn ngữ lập trình bậc cao:Chương trình viết trên ngôn ngữ lập trình bậc cao phải chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.

khái niệm thông dịch và biên dịch

thông dịch(interpreter) dịch từng lệnh 1 thông qua chương trình ta gọi là trình thông dịch(interpreter) lần sau chạy lại thì phải trình thông dịch lại. file
Biên dịch(compiler) dịch toàn bộ thông qua chương trình ta gọi là trình biên dịch(compiler), dịch 1 lần và sử dụng mãi mãi không cần biên dịch nữa.
lấy ví dụ thực tế:
(interpreter) giống như thông dịch viên . doanh nhân Việt Nam đi làm ăn đối tác nước ngoài cần người thông dịch viên và lần sau vẫn cần có người thông dịch viên.
(compiler) giống như nhà biên dịch dịch cuốn sách tiếng anh sang tiếng việt chỉ dịch 1 lần nhưng có thể in bán ra hàng ngàn cuốn.

nguyenduc_gia.18(I11c)
Tổng số bài gửi : 22
Join date : 07/09/2011

LikeDislike

Biên dịch trong Tin học là gì
Biên dịch trong Tin học là gì