môi trường

Trình biên dịch là gì hoặc Làm thế nào để làm cho máy tính hiểu bạn muốn gì từ nó?

Mục lục:

Trình biên dịch là gì hoặc Làm thế nào để làm cho máy tính hiểu bạn muốn gì từ nó?
Trình biên dịch là gì hoặc Làm thế nào để làm cho máy tính hiểu bạn muốn gì từ nó?
Anonim

Giai đoạn cuối cùng của việc tạo chương trình là dịch một thuật toán được viết bằng một trong các ngôn ngữ lập trình (C / C ++, Pascal, v.v.) sang ngôn ngữ máy cấp thấp. Điều này là do thực tế là các máy tính phải thực hiện các lệnh bằng ngôn ngữ mà chúng hiểu là gần với nhị phân và hoạt động với các cấu trúc dữ liệu nguyên thủy (bit, byte hoặc từ) để thực hiện một tác vụ. Quá trình dịch các toán tử hướng vấn đề của các ngôn ngữ cấp cao sang mã nhị phân được gọi là dịch. Có hai phương pháp dịch thuật - biên dịch và giải thích.

Image

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

Một phân tích về nhiều cách hiểu của các thuật ngữ Trình biên dịch mã hóa và Biên dịch mã hóa cho phép chúng tôi đưa ra định nghĩa sau. Trình biên dịch là một chương trình được thiết kế để dịch văn bản của thuật toán gốc từ ngôn ngữ cấp cao thành một bộ hướng dẫn tương đương trong ngôn ngữ hướng máy. Đây được gọi là mã đối tượng, để tập hợp tiếp theo mã đối tượng kết quả thành một mô-đun chương trình sẵn sàng sử dụng.

Trình biên dịch và trình thông dịch - điểm tương đồng và khác biệt

Trình thông dịch là một tiện ích, cũng như một trình biên dịch, được thiết kế để dịch mã nguồn thành mã máy. Tuy nhiên, không giống như trình biên dịch, trình thông dịch được khởi chạy mỗi lần cùng với chương trình và thực hiện các bản dịch theo từng dòng.

Chúng ta có thể nói rằng trình biên dịch và trình thông dịch là các bộ xử lý ngôn ngữ cho phép máy tính nhận ra và thực thi các lệnh do lập trình viên đưa ra.

Phân loại trình biên dịch

Image

Trình biên dịch được phân loại chủ yếu bởi các tính năng liên quan đến các lĩnh vực ứng dụng thực tế của họ.

Trình biên dịch vector hóa là một tiện ích dịch mã nguồn thành mã đối tượng và được điều chỉnh cho các máy tính được trang bị bộ xử lý vector.

Trình biên dịch linh hoạt được lập trình bằng ngôn ngữ cấp cao theo kiểu mô đun. Quản lý của nó được thực hiện bằng cách sử dụng bảng. Cũng có thể thực thi nó bằng trình biên dịch.

Trình biên dịch gia tăng là một bộ xử lý ngôn ngữ dịch lại các đoạn riêng lẻ của mã nguồn và bổ sung vào nó. Tuy nhiên, nó giúp loại bỏ việc biên dịch lại toàn bộ ứng dụng.

Trình biên dịch trình thông dịch (từng bước) là một tiện ích biên dịch tuần tự độc lập từng câu lệnh hoặc lệnh từ mã mức cao nguồn.

Trình biên dịch trình biên dịch là trình biên dịch có khả năng nhận biết mô tả chính thức cho ngôn ngữ lập trình và tạo độc lập trình biên dịch cho bất kỳ ngôn ngữ nào.

Image

Trình biên dịch gỡ lỗi cho phép bạn tìm và sửa một số loại lỗi cú pháp được thực hiện khi viết mã nguồn

Trình biên dịch thường trú chiếm một vị trí cố định trong RAM và do đó, có sẵn để sử dụng lại bởi một loạt các tác vụ.

Trình biên dịch tự biên dịch được viết bằng cùng một ngôn ngữ mà từ đó bản dịch được thực hiện.

Trình biên dịch phổ quát dựa trên một mô tả chính thức về các tham số ngữ nghĩa và cú pháp của ngôn ngữ đầu vào. Các thành phần chính của một tiện ích như vậy là các trình tải kernel, cú pháp và ngữ nghĩa.

Thiết bị biên dịch

Tại trung tâm của bất kỳ trình biên dịch là trình dịch và liên kết. Thông thường, khi biên dịch, một trình liên kết ngoài được sử dụng và trình biên dịch chỉ thực hiện chức năng dịch. Nó cũng xảy ra rằng trình biên dịch được triển khai như một loại chương trình quản lý được liên kết với người dịch (hoặc người dịch, nếu các ngôn ngữ lập trình khác nhau được sử dụng khi viết mã nguồn) và trình liên kết và khởi chạy chúng nếu cần.

Ngôn ngữ lập trình và phương pháp dịch thuật

Image

Mặc dù thực tế là một chương trình được viết bằng bất kỳ ngôn ngữ lập trình nào có thể được biên dịch hoặc giải thích, nhiều ngôn ngữ cấp cao được sử dụng theo một hoặc một phương pháp dịch thuật khác. Vì vậy, ngôn ngữ C ban đầu được thiết kế để biên dịch và Java - để giải thích một chương trình bằng văn bản. Trình biên dịch C được phát triển khá dễ dàng, do mức độ tương đối thấp và một số lượng nhỏ các yếu tố cấu trúc.