So sánh thông dịch và biên dịch tin 11

Skip to content

Biên dịch là gì? Phiên dịch là gì?. Có rất nhiều người thắc mắc về hai khái niệm này. Chính vì vậy, Trans24h đưa ra so sánh giữa biên dịch và phiên dịch giúp bạn hiểu rõ hơn về hai lĩnh vực này.

Xem thêm: Dịch thuật công chứng nhanh

  • Biên dịch là dịch một văn bản viết từ ngôn ngữ này sang ngôn ngữ khác trong việc cùng diễn đạt một thông tin.
  • Còn phiên dịch [ hay còn gọi là thông dịch] là dịch nói hoặc diễn giải lại câu nói của người này cho người kia sao cho dễ hiểu.
  • Cả biên dịch và phiên dịch là hai vấn đề liên quan chặt chẽ của ngôn ngữ trong lĩnh vực dịch thuật.
  • Chúng có nhiệm vụ chuyển từ ngôn ngữ này sang ngôn ngữ khác.
  • Biên dịch và phiên dịch đều không đòi hỏi sự đam mê ngôn ngữ nhưng lại cần sự hiểu biết sâu rộng về ngôn ngữ cũng như những kinh nghiệm đúc kết trong quá trình làm việc.

Sự khác nhau giữa biên dịch và phiên dịch là 2 hình thức khác nhau và không thể hoán đổi cho nhau được khi cùng hoạt động trong lĩnh vực dịch thuật. Sau đây là bảng so sánh 4 điểm khác biệt cơ bản giữa chúng.

phiên dịch viên
  • Hình thức văn viết
  • Có nhiều thời gian để đọc bản gốc
  • Có thời gian để đối chiếu bản gốc và chỉnh sửa hợp lý.
  • Sử dụng nhiều công cụ hỗ trợ khác nhau như từ điển, công cụ kiểm tra chính tả, bằng thuật ngữ
  • Có độ chính xác cao hơn phiên dịch
  • Sử dụng văn viết để chuyển ngữ nên có sự trôi chảy cao hơn phiên dịch.
  • Có thể làm việc với nhiều người và chia sẻ công việc để hiệu quả hơn.
  • Hình thức văn nói.
  • Mang tính tức thời, phải thực hiện chuyển ngữ nhanh, không có thời gian xem xét, chỉnh sửa, đối chiếu.
  • Không có thời gian sử dụng nguồn để hỗ trợ.
  • Không có thời gian lên kế hoạch và sử dụng nguồn nên độ chính xác không cao như biên dịch.
  • Sự trôi chảy không được như biên dịch.
  • Làm việc độc lập, không thể làm theo nhóm.
  • Địa chỉ: 52A Nguyễn Huy Tưởng, Thanh Xuân, Hà Nội
  • Hòm thư điện tử:
  • Hotline: 0948944222
  • Website: dichthuatcongchung24h.com

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

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

Các câu hỏi tương tự

1.Phát biểu nào dưới đây là hợp lí nhất?

o A. Biến là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình.

o B. Biến có thể đặt hoặc không đặt tên gọi.

o C. Biến là đại lượng nhận giá trị trước khi chương trình thực hiện.

o D. Biến có thể lưu trữ nhiều loại giá trị khác nhau.

· 2. Phát biểu nào sau đây chắc chắn sai?

o A. Mọi bài toán đều có thể giải được bằng máy tính;

o B. Một bài toán có thể có nhiều thuật toán để giải;

o C. Không thể viết được chương trình để giải một bài toán nếu như không biết thuật toán để giải bài toán đó;

o D. Chương trình là một mô tả thuật toán bằng một ngôn ngữ lập trình;

· 3. Hãy chọn phát biểu sai?

o A. Một chương trình luôn luôn có hai phần : phần khai báo và phần thân

o B. Các biến đều phải được khai báo và mỗi biến chỉ khai báo một lần

o C. Sau từ khóa var có thể khai báo nhiều danh sách biến khác nhau

o D. Chương trình dịch có hai loại: thông dịch và biên dịch

· 4. Phát biểu nào dưới đây là đúng?

o A. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân;

o B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch;

o C. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch;

o D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau;

· 5. Trong những biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal?

o A. Crt

o B. Sqrt

o C. End

o D. LongInt

· 6. Phát biểu nào dưới đây chắc chắn sai?

o A. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình;

o

B. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn;

o C. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình;

o D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch;

· 7. Phát biểu nào dưới đây là đúng?

o A. Chương trình có lỗi cú pháp có thể được dịch ra ngôn ngữ máy nhưng không thực hiện được;

o B. Ngoài bảng chữ cái, có thể dùng các kí tự thông dụng trong toán học để viết chương trình;

o C. Cú pháp là bộ quy tắc dùng để viết chương trình;

o D. Ngoài bảng chữ cái, cú pháp, ngữ nghĩa, một ngôn ngữ lập trình còn có các quy tắc để khai báo biến, hằng…;

· 8. Chương trình dịch không có khả năng nào trong các khả năng sau?

o A. Phát hiện được lỗi cú pháp

o B. Phát hiện được lỗi ngữ nghĩa

o C. Tạo được chương trình đích

o D. Thông báo lỗi cú pháp

· 9. Trong Pascal, các đoạn chú thích được đặt giữa cặp dấu nào?

o A. { và }

o B. /* và */

o C. [ và ]

o D. [ và ]

· 10. Hãy chọn biểu diễn tên đúng trong những biểu diễn sau

o A. Tensai

o B. -tenkhongsai

o C. [bai_tap]

o D. ‘*****’

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

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.

Xem thêm:  Tính a mũ n [dùng chương trình con]

Đoạn chương trình sau sẽ cho kết quả S = [Tin học - Lớp 8]

4 trả lời

Câu lệnh lặp nào sau đây đúng [Tin học - Lớp 8]

4 trả lời

Cú pháp lệnh lặp While...do [Tin học - Lớp 8]

2 trả lời

Nhập vào một số a bất kỳ [Tin học - Lớp 8]

2 trả lời

Viết chương trình tính tổng sau [Tin học - Lớp 8]

1 trả lời

Viết chương trình tính tích N số [Tin học - Lớp 8]

1 trả lời

Viết chương trình tính tổng [Tin học - Lớp 8]

1 trả lời

Video liên quan

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.

Đề 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

  • 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?

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

  • 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.

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

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

  • 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 là dịch một văn bản viết từ ngôn ngữ này sang ngôn ngữ khác trong việc cùng diễn đạt một thông tin.
  • Còn phiên dịch [ hay còn gọi là thông dịch] là dịch nói hoặc diễn giải lại câu nói của người này cho người kia sao cho dễ hiểu.
  • Cả biên dịch và phiên dịch là hai vấn đề liên quan chặt chẽ của ngôn ngữ trong lĩnh vực dịch thuật.
  • Chúng có nhiệm vụ chuyển từ ngôn ngữ này sang ngôn ngữ khác.
  • Biên dịch và phiên dịch đều không đòi hỏi sự đam mê ngôn ngữ nhưng lại cần sự hiểu biết sâu rộng về ngôn ngữ cũng như những kinh nghiệm đúc kết trong quá trình làm việc.

Sự khác nhau giữa biên dịch và phiên dịch là 2 hình thức khác nhau và không thể hoán đổi cho nhau được khi cùng hoạt động trong lĩnh vực dịch thuật. Sau đây là bảng so sánh 4 điểm khác biệt cơ bản giữa chúng.

phiên dịch viên
  • Hình thức văn viết
  • Có nhiều thời gian để đọc bản gốc
  • Có thời gian để đối chiếu bản gốc và chỉnh sửa hợp lý.
  • Sử dụng nhiều công cụ hỗ trợ khác nhau như từ điển, công cụ kiểm tra chính tả, bằng thuật ngữ
  • Có độ chính xác cao hơn phiên dịch
  • Sử dụng văn viết để chuyển ngữ nên có sự trôi chảy cao hơn phiên dịch.
  • Có thể làm việc với nhiều người và chia sẻ công việc để hiệu quả hơn.
  • Hình thức văn nói.
  • Mang tính tức thời, phải thực hiện chuyển ngữ nhanh, không có thời gian xem xét, chỉnh sửa, đối chiếu.
  • Không có thời gian sử dụng nguồn để hỗ trợ.
  • Không có thời gian lên kế hoạch và sử dụng nguồn nên độ chính xác không cao như biên dịch.
  • Sự trôi chảy không được như biên dịch.
  • Làm việc độc lập, không thể làm theo nhóm.
  • Địa chỉ: 52A Nguyễn Huy Tưởng, Thanh Xuân, Hà Nội
  • Hòm thư điện tử:
  • Hotline: 0948944222
  • Website: dichthuatcongchung24h.com

Xem thêm:

  • DU HỌC CHÂU PHI-CÓ THỂ HAY KHÔNG?
  • Những nguyên tắc căn bản của dịch thuật
  • Khái niệm văn phòng công chứng là gì?
  • [ VP ] dịch thuật tiếng Bangladesh ở Việt Nam
  • Dịch thuật chuyên ngành xây dựng uy tín tại Hà Nội

Học Sinh Giỏi 12/02/2017 Tin học lớp 11

Share

  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest

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

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.

Bài viết liên quan:

  1. Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.
  2. Nhập từ bàn phím tuổi của cha và con [tuổi của cha hơn tuổi con ít nhất là 25]. Đưa ra màn hình bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con.
  3. Hãy nêu sự giống nhau và khác nhau giữa thủ tục và hàm.
  4. Tìm giá trị lớn nhất trong 4 số a, b, c, d [a, b, c, được nhập từ bàn phím].
  5. Tính tổng lũy thừa
  6. Tạp bảng số
  7. Viết chương trình tìm số đảo của một số nguyên dương
  8. Viết chương trình nhập vào một chuỗi ký tự, Kiểm tra xem nó có đối xứng hay không [Ví dụ: Chuỗi đối xứng RADAR, MADAM].

Share

  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest

Trình biên dịch là trình dịch chuyển đổi ngôn ngữ nguồn [ngôn ngữ cấp cao] thành ngôn ngữ đối tượng [ngôn ngữ máy]. Ngược lại với trình biên dịch, trình thông dịch là một chương trình bắt chước việc thực thi các chương trình được viết bằng ngôn ngữ nguồn. Một điểm khác biệt giữa Trình biên dịch và trình thông dịch là Trình biên dịch chuyển đổi toàn bộ chương trình trong một lần, mặt khác Trình thông dịch chuyển đổi chương trình bằng cách thực hiện một dòng tại một thời điểm.

Rõ ràng, khả năng nhận thức của con người và một thiết bị điện tử như máy tính là khác nhau. Con người có thể hiểu bất cứ điều gì thông qua các ngôn ngữ tự nhiên, nhưng một máy tính thì không. Máy tính cần một người dịch để chuyển đổi các ngôn ngữ được viết ở dạng người có thể đọc được thành dạng có thể đọc được trên máy tính.

Trình biên dịch và trình thông dịch là các loại trình dịch ngôn ngữ. Dịch giả ngôn ngữ là gì? Câu hỏi này có thể phát sinh trong tâm trí của bạn.

Trình dịch ngôn ngữ là một phần mềm dịch các chương trình từ một ngôn ngữ nguồn ở dạng người có thể đọc được thành một chương trình tương đương bằng ngôn ngữ đối tượng. Ngôn ngữ nguồn nói chung là ngôn ngữ lập trình cấp cao và ngôn ngữ đối tượng thường là ngôn ngữ máy của một máy tính thực tế.

Biểu đồ so sánh

Cơ sở để so sánhTrình biên dịchThông dịch viên
Đầu vàoNó mất toàn bộ một chương trình tại một thời điểm.
Nó mất một dòng mã hoặc hướng dẫn tại một thời điểm.
Đầu raNó tạo mã đối tượng trung gian.Nó không tạo ra bất kỳ mã đối tượng trung gian.
Cơ chế làm việc
Việc biên dịch được thực hiện trước khi thực hiện.Biên soạn và thực hiện diễn ra đồng thời.
Tốc độ
Tương đối nhanh hơnChậm hơn
Ký ức
Yêu cầu bộ nhớ nhiều hơn do việc tạo mã đối tượng.Nó đòi hỏi ít bộ nhớ hơn vì nó không tạo mã đối tượng trung gian.
Lỗi
Hiển thị tất cả các lỗi sau khi biên dịch, tất cả cùng một lúc.Hiển thị lỗi của từng dòng một.
Phát hiện lỗiKhó khănSo sánh dễ dàng hơn
Ngôn ngữ lập trình liên tục
C, C ++, C #, Scala, typcript sử dụng trình biên dịch.Java, PHP, Perl, Python, Ruby sử dụng trình thông dịch.

Định nghĩa trình biên dịch

Trình biên dịch là một chương trình đọ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 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ịch hoạ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ích của trình biên dịch cũng được gọi là mặt trước 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 máy phân tích từ vựng, máy phân tích ngữ nghĩa và phân tích cú pháp.
  • Giai đoạn tổng hợp của trình biên dịch cò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ã.

GIAI ĐOẠN MÁY TÍNH

Bây giờ hãy hiểu chi tiết 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 một dòng ký tự, nhóm chuỗi ký tự thành các từ vựng và đưa ra một chuỗi các 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. Nó làm cho cây phân tích để làm như vậy.
  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 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ớ, đăng ký gán và tối ưu hóa cụ thể của máy.

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.

Định nghĩa phiên dịch

Trình thông dịch là một thay thế để thực hiện một ngôn ngữ lập trình và thực hiện công việc tương tự như một trình biên dịch. Trình thông dịch thực hiện kiểm tra từ vựng, phân tích cú phápkiểm tra kiểu tương tự như trình biên dịch. Nhưng trình thông dịch xử lý cây cú pháp trực tiếp để truy cập các biểu thức và thực thi câu lệnh thay vì tạo mã từ cây cú pháp.

Trình thông dịch có thể yêu cầu xử lý cùng một cây cú pháp nhiều lần, đó là lý do tại sao việc giải thích tương đối chậm hơn so với thực hiện chương trình được biên dịch.

Biên dịch và giải thích có thể kết hợp để thực hiện một ngôn ngữ lập trình. Trong đó một trình biên dịch tạo mã cấp trung gian thì mã được hiểu thay vì được biên dịch thành mã máy.

Sử dụng một thông dịch viên là thuận lợi trong quá trình phát triển chương trình, trong đó phần quan trọng nhất là có thể kiểm tra một sửa đổi chương trình một cách nhanh chóng thay vì chạy chương trình một cách hiệu quả.

Video liên quan