Chương trình dịch dùng để làm gì? Phân loại chương trình dịch

5/5 – (1 bình chọn)

Chương trình dịch là một khái niệm khá mới lạ nhưng thường xuyên gặp với những lập trình viên mới vào nghề. Đây là phần không hề thiếu trong phát triển phần mềm. Nếu bạn đang cần tìm hiểu và khám phá khái niệm và chương trình dịch dùng để làm gì thì không thể bỏ lỡ bài viết dưới đây của chúng tôi. 

Chương trình dịch dùng để làm gì?

Chương trình dịch – hay còn được gọi với tên tiếng Anh là compiler có trách nhiệm dịch một chuỗi những câu lệnh được viết bằng một ngôn từ lập trình riêng không liên quan gì đến nhau (cụ thể là ngôn từ nguồn hoặc mã nguồn) thành một chương trình mới nhưng ở dưới dạng ngôn từ máy tính (ngôn ngữ đích). Thông thường, ngôn từ đích là loại ngôn từ ở cấp thấp hơn được sử dụng để máy tính hoàn toàn hoàn toàn hoàn toàn hoàn toàn có thể hiểu được những câu lệnh đã viết. Chương trình dịch tạo ra một chương trình mới còn được gọi là mã đối tượng. 

Đa phần những chương trình dịch đều sẽ chuyển dịch mã nguồn viết trong một ngôn từ cấp cao, chuyển thành mã đối tượng người dùng người dùng hoặc ngôn từ máy để được thi hành trực tiếp bởi một máy tính hoặc một máy ảo nào đó. Tuy nhiên, cũng có những trường hợp chương trình dịch có năng lực dịch từ một ngôn từ cấp thấp sang một ngôn từ cấp cao. Những chương trình dịch dạng này được gọi là bộ biên dịch ngược. Đồng thời, cũng sẽ có những chương trình dịch từ ngôn từ cấp cao sang một ngôn từ cấp cao khác. 

chuong-trinh-dich-dung-de-lam-gichuong-trinh-dich-dung-de-lam-gi

Chương trình dịch được ứng dụng để xử lý những bài toán đơn cử và ứng dụng thực tế hơn như:

  • Dịch một ngôn từ lập trình thành mã máy

  • Dịch một ngôn từ lập trình bậc cao thành một ngôn từ lập trình bậc thấp hơn

  • Chuyển đổi đoạn mã giữa những ngôn từ lập trình với nhau

  • Kiểm tra ngữ pháp, chính tả của những đoạn văn

  • Dịch từ hình ảnh thành văn bản

Chương trình dịch vô cùng cần thiết và quan trọng trong lập trình vì nó có năng lực quy đổi các chương trình được viết bằng ngôn từ bậc cao thành chương trình có thể được thực thi trên máy cụ thể. Nó nhận nguồn vào là các chương trình nguồn được viết bằng ngôn ngữ lập trình bậc cao (dữ liệu vào – Input), sau đó triển khai chuyển đổi sang chương trình đích là ngôn ngữ máy (kết quả ra – Output).

Chương trình dịch giúp lập trình viên có thể lập trình nên một ngôn ngữ và chuyển đổi nó sang một ngôn ngữ khác giúp máy tính có thể thực thi được nhu yếu của người lập trình mong muốn. 

Đặc điểm của chương trình dịch

Một chương trình dịch hoàn thiện cần phải đầy đủ các đặc trưng sau:

– Tính toàn vẹn: tài liệu nguồn vào viết ở ngôn ngữ nguồn và tác dụng ở ngôn ngữ đích cần phải hoàn toàn tương tự với nhau

– Tính hiệu quả: chương trình dịch không cần sử dụng nhiều hiệu suất thống kê giám sát và bộ nhớ mà vẫn bảo vệ tác dụng ngôn ngữ đích đủ tốt

– Tính trong suốt: chương trình dịch phải rõ ràng về tác dụng để người dùng có thể chỉnh sửa lỗi nếu có sau mỗi bước thực hiện

– Tính chịu lỗi: chương trình dịch có thể cho phép 1 số ít lỗi của đầu vào và đưa ra gợi ý xử lý sao cho phù hợp. Một chương trình dừng ngay ở lỗi đầu tiên là một chương trình không tốt.

Bạn có thể quan tâm

tập thể là gì

phân tích là gì

Phân loại chương trình dịch

phan-loai-chuong-trinh-dichphan-loai-chuong-trinh-dich

Chương trình dịch được chia thành 2 loại chính là:

  • Trình biên dịch ( compiler ): đảm nhiệm toàn bộ dữ liệu nguồn rồi dịch ra tác dụng trong một lượt. Trình biên dịch thường được hoạt động giải trí giải trí giải trí giống như một dịch giả.

  • Trình thông dịch (interpreter): đảm nhiệm mã nguồn từng phần, thực thi dịch từng phần khi nhận được. Interpreter hoạt động giống người phiên dịch trong các cuộc giao tiếp. 

Hiện nay, ranh giới giữa compiler và interpreter ngày càng thu hẹp

Trong đó, compiler cũng được chia thành 2 loại là:

  • Tĩnh (statically): mã sinh ra chạy trực tiếp

  • Động (dynamically): mã sinh ra cần phải có thao tác tái định vị rồi mới tiến hành chạy được

Một loại ngôn ngữ lập trình tích hợp cả compiler và interpreter đó chính là java. Mã java có thể được biên dịch thành mã bytecode, sau đó máy ảo chạy mã bytecode ở dạng thông dịch. 

Xem thêm các tài liệu khác về mọi lĩnh vực tại AMA

Các quy trình tiến độ của chương trình dịch

Để một chương trình dịch hoạt động thì nó cần trải qua 2 quá trình là quá trình nghiên cứu và nghiên cứu và nghiên cứu và nghiên cứu và nghiên cứu và nghiên cứu và phân tích và tiến trình tổng hợp.

Giai đoạn phân tích được diễn ra nhằm mục đích mục tích phân tích chương trình nguồn để có kế hoạch thực hiện tiến trình tiếp theo. Trong đó, quá trình phân tích sẽ bắt đầu từ việc phân tích từ vựng, sau đó phân tích cú pháp và cuối cùng là phân tích ngữ nghĩa. Việc phân tích càng chi tiết sẽ giúp cho giai đoạn tạo mã phía sau thực hiện dễ dàng và đúng chuẩn hơn. 

Giai đoạn tổng hợp sẽ tạo ra chương trình đích gồm 3 bước là:

  • Sinh mã trung gian: có nghĩa là sẽ chuyển chương trình nguồn về chương trình trung gian

  • Tối ưu mã: tối ưu, chỉnh sửa chương trình trung gian

  • Sinh mã: từ chương trình trung gian đã tối ưu tạo ra chương trình đích

Như vậy là AMA đã cung ứng toàn bộ thông tin về chương trình dịch dùng để làm gì, để các lập trình viên mới vào nghề có thể nắm rõ và hiểu được. Hy vọng rằng những thông tin chúng tôi chia sẻ ở trên sẽ giúp ích cho bạn trong quá trình học tập và làm việc sau này. 

 

Viết một bình luận