Skip to main content

Trình biên dịch là gì?

Trình biên dịch là một loại chương trình máy tính đặc biệt dịch tệp văn bản có thể đọc được của con người thành một biểu mẫu mà máy tính có thể dễ dàng hiểu hơn.Ở cấp độ cơ bản nhất của nó, một máy tính chỉ có thể hiểu hai điều, 1 và 0. Ở cấp độ này, con người sẽ hoạt động rất chậm và tìm thông tin có trong chuỗi dài 1 và 0 không thể hiểu được.Trình biên dịch là một chương trình máy tính thu hẹp khoảng cách này. Ban đầu, trình biên dịch là các chương trình rất đơn giản chỉ có thể dịch các ký hiệu thành

bit

, 1 và 0, máy tính hiểu.Các chương trình cũng rất đơn giản, bao gồm một loạt các bước ban đầu được dịch bằng tay thành dữ liệu mà máy tính có thể hiểu.Đây là một nhiệm vụ rất tốn thời gian, vì vậy các phần của nhiệm vụ này được tự động hóa hoặc lập trình và trình biên dịch đầu tiên được viết.Chương trình này được lắp ráp hoặc biên dịch, các bước cần thiết để thực hiện chương trình từng bước. Các trình biên dịch đơn giản này đã được sử dụng để viết một trình biên dịch tinh vi hơn.Với phiên bản mới hơn, nhiều quy tắc có thể được thêm vào chương trình trình biên dịch để cho phép cấu trúc ngôn ngữ tự nhiên hơn để lập trình viên con người hoạt động.Điều này làm cho các chương trình viết dễ dàng hơn và cho phép nhiều người bắt đầu viết các chương trình.Khi nhiều người bắt đầu viết các chương trình, nhiều ý tưởng hơn về các chương trình viết đã được cung cấp và sử dụng để tạo ra các trình biên dịch tinh vi hơn.Theo cách này, các chương trình trình biên dịch tiếp tục phát triển, cải thiện và trở nên dễ sử dụng hơn. Các chương trình trình biên dịch cũng có thể được chuyên dụng.Một số cấu trúc ngôn ngữ phù hợp hơn cho một nhiệm vụ cụ thể so với các công cụ khác, vì vậy các trình biên dịch cụ thể đã được phát triển cho các tác vụ hoặc ngôn ngữ cụ thể.Một số trình biên dịch là đa tầng

hoặc nhiều lần.Một đường chuyền đầu tiên có thể có một ngôn ngữ rất tự nhiên và làm cho nó gần hơn với một ngôn ngữ dễ hiểu của máy tính.Một đường chuyền thứ hai hoặc thậm chí thứ ba có thể đưa nó đến giai đoạn cuối, tệp thực thi. Đầu ra trung gian trong trình biên dịch đa tầng thường được gọi là

mã giả, vì nó không thể sử dụng được bởi máy tính.Mã giả rất có cấu trúc, giống như một chương trình máy tính, không chảy tự do và dài dòng giống như một ngôn ngữ tự nhiên hơn.Đầu ra cuối cùng được gọi là tệp thực thi

, vì đó là những gì thực sự được thực hiện hoặc chạy bởi máy tính.Tách nhiệm vụ lên như thế này giúp việc viết các trình biên dịch tinh vi hơn, vì mỗi nhiệm vụ phụ là khác nhau.Nó cũng giúp máy tính dễ dàng chỉ ra nơi mà nó gặp khó khăn trong việc hiểu những gì nó được yêu cầu làm.Lỗi giới hạn trình biên dịch trong việc hiểu một chương trình được gọi là

lỗi cú pháp.Lỗi theo cách các chức năng chương trình được gọi là

Lỗi logic.Lỗi logic khó phát hiện và chính xác hơn nhiều.Lỗi cú pháp giống như các lỗi chính tả, trong khi các lỗi logic giống như các lỗi ngữ pháp. Các chương trình trình biên dịch chéo cũng đã được phát triển.Trình biên dịch chéo cho phép một bộ tệp văn bản được viết cho một máy tính được thiết kế bởi một nhà sản xuất cụ thể được biên dịch và chạy cho một máy tính khác bởi một nhà sản xuất khác.Ví dụ, một chương trình được viết để chạy trên máy tính Intel đôi khi có thể được biên dịch chéo để chạy trên máy tính được phát triển bởi Motorola.Điều này thường không hoạt động tốt.Ở cấp độ mà các chương trình máy tính hoạt động, phần cứng máy tính có thể trông rất khác nhau, ngay cả khi chúng có thể trông giống với bạn.Biên dịch chéo khác với việc có một máy tính mô phỏng một máy tính khác.Nếu một máy tính đang mô phỏng một máy tính khác, nó sẽ giả vờ là máy tính khác.Mô phỏng thường chậm hơn so với biên dịch chéo, vì hai chương trình đang chạy cùng một lúc, chương trình đang giả vờ là máy tính khác và chương trình đang chạy.Tuy nhiên, để biên dịch chéo hoạt động, bạn cần cả bản gốcVăn bản ngôn ngữ tự nhiên mô tả chương trình và một máy tính đủ giống với máy tính gốc mà chương trình có thể hoạt động để chạy trên một máy tính khác.Điều này không phải lúc nào cũng có thể, vì vậy cả hai kỹ thuật đều được sử dụng.