1. Định hướng
CPython là gì, xây dựng từ nguồn, bố cục kho lưu trữ, đọc mã C, mô hình thời gian chạy và đường dẫn từ mã nguồn đến thực thi.
| Chương | Tiêu đề |
|---|---|
| 1 | CPython là gì |
| 2 | Xây dựng CPython từ nguồn |
| 3 | Bố cục kho lưu trữ |
| 4 | Đọc mã CPython C |
| 5 | Mô hình thời gian chạy |
| 6 | Từ mã nguồn đến thực thi |
-
1. CPython là gì
1. CPython là gì CPython là triển khai chính của ngôn ngữ lập trình Python. Đây là cách triển khai mà hầu hết mọi người sử dụng khi họ cài đặt Python từ python.org, trình quản lý gói, bản phân phối Linux, Homebrew, pyenv, hình ảnh Docker hoặc hầu hết các thời gian chạy trên đám mây. CPython có hai vai trò. Đầu tiên, nó triển khai ngôn ngữ Python.…
-
2. Xây dựng CPython từ nguồn
2. Xây dựng CPython từ nguồn Xây dựng CPython từ nguồn cung cấp cho bạn một trình thông dịch cục bộ mà bạn có thể kiểm tra, sửa đổi, gỡ lỗi và kiểm tra. Đây là bước thực tế đầu tiên trước khi đọc nội bộ một cách nghiêm túc. Bản dựng nguồn cho phép bạn thực hiện những việc mà bản cài đặt Python đóng gói thường ẩn:```text change…
-
3. Bố cục kho lưu trữ
3. Bố cục kho lưu trữ Kho lưu trữ CPython được tổ chức xung quanh các hệ thống con chính của trình thông dịch: triển khai đối tượng, bộ máy thời gian chạy, đường dẫn trình biên dịch, trình phân tích cú pháp, mô-đun tích hợp, thư viện chuẩn, kiểm tra, tài liệu và tệp xây dựng nền tảng. Cách tốt đầu tiên là coi cây nguồn như một bản…
-
4. Đọc mã CPython C
#4. Đọc mã CPython C Đọc mã CPython C yêu cầu hai mô hình tinh thần cùng một lúc. Mô hình đầu tiên là C thông thường: cấu trúc, con trỏ, macro, con trỏ hàm, quyền sở hữu tham chiếu, phân bổ, trả về lỗi và biên dịch có điều kiện. Mô hình thứ hai là mô hình thời gian chạy của Python: đối tượng, loại, khung, ngoại lệ, số…
-
5. Mô hình thời gian chạy
5. Mô hình thời gian chạy Thời gian chạy CPython là bộ máy tồn tại sau khi quá trình bắt đầu và trước khi mã Python kết thúc quá trình thực thi. Nó sở hữu trạng thái trình thông dịch, trạng thái luồng, mô-đun, nội dung, bộ cấp phát bộ nhớ, trạng thái ngoại lệ, trạng thái nhập, khung, cuộc gọi đang chờ xử lý, xử lý tín hiệu và…
-
6. Từ mã nguồn đến thực thi
6. Từ mã nguồn đến thực thi CPython không thực thi trực tiếp văn bản nguồn Python. Nó biến đổi văn bản nguồn thông qua một số biểu diễn bên trong trước khi lệnh mã byte đầu tiên chạy. Con đường là:```text source text ↓ tokens ↓ parse tree ↓ abstract syntax tree ↓ symbol table ↓ code object ↓ frame ↓ bytecode evaluation ↓ object operations ## 6.1 Văn…