Trình thông dịch

Thực thi chương trình
Khái niệm chung
  • Dịch
  • Intermediate representation (IR)
  • Thực thi
    • Hệ thống runtime
      • Runtime
    • Thực thi được
    • Trình thông dịch
    • Máy ảo
Các loại mã
Chiến lược biên dịch
  • Just-in-time (JIT)
    • Tracing just-in-time
  • Ahead-of-time (AOT)
  • Transcompilation
  • Recompilation
Runtime đáng chú ý
  • Android Runtime (ART)
  • Common Language Runtime (CLR) & Mono
  • crt0
  • HHVM
  • Java virtual machine (JVM)
  • Objective-C
  • V8
    • Node.js
  • PyPy
  • Zend Engine
Trình biên dịch & toolchain đáng chú ý
  • GNU Compiler Collection (GCC)
  • LLVM
    • Clang
  • x
  • t
  • s

Trong khoa học máy tính, trình thông dịch (tiếng Anh: interpreter) là một chương trình máy tính trực tiếp thực thi các lệnh được viết bằng một ngôn ngữ lập trình hay ngôn ngữ kịch bản, mà không yêu cầu phải biên dịch trước thành một chương trình ngôn ngữ máy. Trình thông dịch thường sử dụng một trong các chiến lược sau để thực thi chương trình:

  1. Phân tích cú pháp mã nguồn và thực hiện trực tiếp hành vi của nó;
  2. Dịch mã nguồn thành một vài biểu diễn trung gian có tính hiệu quả (intermediate representation) và thực thi ngay lập tức;
  3. Thực thi rõ ràng mã lưu trữ được biên dịch trước[1] được tạo ra bởi một trình biên dịch như là một phần của hệ thống thông dịch.

Xem thêm

Tham khảo

  1. ^ In this sense, the CPU is also an interpreter, of machine instructions.

Liên kết ngoài

  • IBM Card Interpreters page at Columbia University
  • Theoretical Foundations For Practical 'Totally Functional Programming' (Chapter 7 especially) Doctoral dissertation tackling the problem of formalising what is an interpreter
  • Short animation explaining the key conceptual difference between interpreters and compilers
  • x
  • t
  • s
Những lĩnh vực chính của khoa học máy tính
Các nền tảng toán học
Lý thuyết phép tính
Độ phức tạp Kolmogorov · Lý thuyết Automat · Lý thuyết tính được · Lý thuyết độ phức tạp tính toán · Lý thuyết điện toán lượng tử
Các cấu trúc dữ liệu
các giải thuật
Phân tích giải thuật · Thiết kế giải thuật · Hình học tính toán · Tối ưu hóa tổ hợp
Các ngôn ngữ lập trình
Các trình biên dịch
Tính song hành,
Song song,
và các hệ thống phân tán
Công nghệ phần mềm
Phân tích yêu cầu · Thiết kế phần mềm · Các phương pháp hình thức · Kiểm thử phần mềm · Quy trình phát triển phần mềm · Các phép đo phần mềm · Đặc tả chương trình · LISP · Mẫu thiết kế · Tối ưu hóa phần mềm
Kiến trúc hệ thống
Kiến trúc máy tính · Tổ chức máy tính · Các hệ điều hành · Các cấu trúc điều khiển · Cấu trúc bộ nhớ lưu trữ · Vi mạch · Thiết kế ASIC · Vi lập trình · Vào/ra dữ liệu · VLSI design · Xử lý tín hiệu số
Viễn thông
Mạng máy tính
Các cơ sở dữ liệu
Các hệ thống thông tin
Hệ quản trị cơ sở dữ liệu · Cơ sở dữ liệu quan hệ · SQL · Các giao dịch · Các chỉ số cơ sở dữ liệu · Khai phá dữ liệu · Biểu diễn và giao diện thông tin · Các hệ thống thông tin · Khôi phục dữ liệu · Lưu trữ thông tin · Lý thuyết thông tin · Mã hóa dữ liệu · Nén dữ liệu · Thu thập thông tin
Trí tuệ nhân tạo
Lập luận tự động · Ngôn ngữ học tính toán · Thị giác máy tính · Tính toán tiến hóa · Các hệ chuyên gia  · Học máy · Xử lý ngôn ngữ tự nhiên · Robot học
Đồ họa máy tính
Trực quan hóa · Hoạt họa máy tính · Xử lý ảnh
Giao diện người-máy tính
Khả năng truy cập máy tính · Giao diện người dùng · Điện toán mang được · Điện toán khắp mọi nơi · Thực tế ảo
Khoa học tính toán
Cuộc sống nhân tạo · Tin sinh học · Khoa học nhận thức · Hóa học tính toán · Khoa học thần kinh tính toán · Vật Lý học tính toán · Các giải thuật số · Toán học kí hiệu
Chú ý: khoa học máy tính còn có thể được chia thành nhiều chủ đề hay nhiều lĩnh vực khác dựa theo Hệ thống xếp loại điện toán ACM.
Tiêu đề chuẩn Sửa dữ liệu tại Wikidata
  • BNF: cb11938287v (data)
  • GND: 4162129-3
  • LCCN: sh85067496