Tệp thực thi được biên dịch phải chứa trình phân tích cú pháp có thể đọc mã chương trình bên ngoài . Mã chương trình không cần phải trông giống như C hoặc Python hoặc xyz - nó có thể là bất kỳ loại dữ liệu mô tả nào phù hợp cho mục đích được đề cập. Ví dụ như Thụy Điển, hoặc morse.
Mã chương trình bên ngoài cần phải có một cú pháp , để trình phân tích cú pháp hiểu nó khi nó đọc ký tự theo từng ký tự. Cú pháp có thể mô tả (và mã số có thể chứa) định danh, các giá trị số, các nhà khai thác vv .
Trình phân tích cú pháp được cố định (biên dịch) nhưng nó hoạt động trên mã bên ngoài linh hoạt.
Tệp thực thi được biên dịch phải có API nội bộ với chức năng có liên quan. để trình phân tích cú pháp có thể thực hiện các hành động. Nhiều khả năng cũng phải có quyền truy cập (hai chiều) vào dữ liệu nội bộ của tệp thực thi hoặc trình phân tích cú pháp phải cung cấp một số loại lưu trữ dữ liệu và vệ sinh.
Trình phân tích cú pháp có thể đọc mã chương trình bên ngoài khi khởi động hoặc có thể đọc (một phần) nó ad hoc hoặc có thể đọc lại mã trên mỗi khung (sẽ không hiệu quả) hoặc mã thậm chí có thể được gõ bằng tay và được đăng lên trình phân tích cú pháp khi nó sẵn sàng (như: "di chuyển đơn vị X về phía trước 5 bước" [enter]).
Về cơ bản, mã bên ngoài không cố định - nó có thể thay đổi bất kỳ năm, ngày hoặc phút nào, nhưng vẫn không cần phải thực thi lại. Chỉ hành vi kết quả, được lưu trữ bởi thực thi, thay đổi.
Văn bản bạn đang đọc ngay bây giờ là (loại, và thậm chí nhiều hơn nếu nó được nói) được giải thích vì bạn "thực thi" nó trong não khi đọc nó, mà không biết câu tiếp theo nói gì (hoặc thậm chí nếu nó có thể, lén lút thay đổi ngay hiện nay). Trái ngược với Stack Overflow (trước) biên dịch toàn bộ câu chuyện thành mã byte trong bộ não của bạn, sau đó thực thi nó - và sau đó nó không thể thay đổi được nữa.
Các hiện tượng đang diễn ra là giải thích. Viết kịch bản chỉ là hành động tạo ra một deSCRIPTion hoặc viết . Tất cả mã hóa máy tính là kịch bản imo - chúng tôi mô tả những gì chúng tôi muốn xảy ra. Từ "kịch bản" có nghĩa hơi nghiêng, nhưng vì vậy sẽ ổn. Chúng tôi biết những gì chúng tôi có nghĩa là.
Hoàn toàn không có gì bất thường với các ngôn ngữ được giải thích, và đó không phải là một thuật ngữ gây tranh cãi . Vô số trong số họ tồn tại, và một số trong những người lâu đời nhất được giải thích trái ngược với biên soạn. Trong một ngôn ngữ được giải thích, người ta có thể ví dụ gõ bằng tay:
sock = Socket.New (Địa chỉF Family.InterNetwork, SocketType.Stream ProtocolType.Tcp) [ENTER]
... và sau đó đi nghỉ 30 ... không, 45 phút cà phê :-). Khi trở về, "sock" tồn tại và sẵn sàng để sử dụng thêm bằng cách nhập thêm bằng tay hoặc để tự động hóa trình thông dịch tiếp tục với nó.