Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

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

2 posters

Go down

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

Bài gửi  nguyenduc_gia.18(I11c) 10/9/2011, 17:58

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

Về Đầu Trang Go down

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

Bài gửi  TranQuoc_LePhong_I91C 10/9/2011, 20:52

Gọi một cách đầy đủ thì là "Trình biên dịch" (Compiler) hoặc "Trình thông dịch" (Interpreter)
Trình biên dịch: làm công việc chuyển các câu lệnh được gõ bằng 1 ngôn ngữ lập trình nào đấy (gọi là mã nguồn) sang một chương trình tương đương nhưng bằng một ngôn ngữ máy tính mới (gọi là chương trình đích). Lần sau muốn chạy lại chương trình, chỉ cần chạy lại chương trình đã được dịch.
Ví dụ: khi soạn xong 1 chương trình pascal hoặc C, sau khi biên dịch bạn sẽ được chương trình dạng mã máy (.exe)
khi biên dịch 1 chương trình viết bằng java, sau khi biên dịch bạn sẽ được chương trình dạng mã byte (byte code)
Trình thông dịch: sau khi bạn soạn thảo một chương trình bằng 1 ngôn ngữ lập trình nào đấy (mã nguồn), thì quá trình thông dịch là quá trình xảy ra lúc runtime, trình thông dịch sẽ dịch từng lệnh của chương trình bạn và thực thi. Lần sau muốn chạy lại chương trình thì phải thông dịch lại.
Ví dụ: php hoặc asp. Mỗi khi bạn chạy website, trình thông dịch sẽ dịch lại từ đầu mã nguồn và thực thi.
Còn vấn đề kiểm tra từng câu từng chữ trong code ngay lúc đang gõ bàn phím và báo lỗi thì chả liên quan gì đến thông dịch và biên dịch. Đó chẳng qua chỉ là sự kiểm tra cú pháp (syntax) đơn thuần mà thôi.
Một số ngôn ngữ dạng nửa biên dịch, nửa thông dịch như:
Java: sau khi biên dịch sẽ được byte code. Khi chạy chương trình (runtime) sẽ là quá trình thông dịch.

Nếu nói nôm na 1 cách đại khái: trình biên dịch giống như 1 nhà dịch thuật. Giả sử ông ta dịch 1 cuốn sách từ English sang Vietnamese. Thì với những người không cần biết nội dung cuốn English thế nào, chỉ cần cầm cuốn Vietnamese là đọc và hiểu.
Nhưng trình thông dịch lại giống 1 thông dịch viên. Ví dụ khi giao tiếp với người nước ngoài, bạn cần thuê 1 thông dịch viên dịch cho bạn hiểu những gì họ nói. Xong xuôi đâu đấy, lần sau nếu bạn muốn hiểu những gì họ nói thì lại thuê thông dịch viên tiếp.

TranQuoc_LePhong_I91C

Tổng số bài gửi : 19
Join date : 28/08/2011

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết