Hướng dẫn symbol table implementation in python - triển khai bảng biểu tượng trong python
Mã nguồn: lib/symtable.py Lib/symtable.py Show Các bảng biểu tượng được tạo bởi trình biên dịch từ AST ngay trước đó bytecode được tạo. Bảng ký hiệu chịu trách nhiệm tính toán phạm vi của mọi định danh trong mã. Tạo bảng biểu tượng________ 2 ________ 3 (mã, tên tệp, compile_type) ¶(code, filename, compile_type)¶Trả lại Toplevel Kiểm tra bảng biểu tượngLớp ________ 2 ________ 7¶Một bảng không gian tên cho một khối. Các nhà xây dựng không công khai. ________số 8()¶()¶Trả về loại của bảng ký hiệu. Các giá trị có thể là Trả lại số nhận dạng bảng. ________ 13 ()()¶Trả lại tên bảng. Đây là tên của lớp nếu bảng dành cho một lớp, tên của hàm nếu bảng dành cho hàm hoặc Trả về số của dòng đầu tiên trong khối Bảng này biểu thị. ________ 18 ()()¶Trả lại Trả về Trả về Trả về một đối tượng xem chứa tên của các ký hiệu trong bảng. Xem tài liệu của các đối tượng xem.documentation of view objects. ________ 26 (tên)(name)¶Tên tra cứu trong bảng và trả về một thể hiện Trả về danh sách các phiên bản Trả về một danh sách các bảng biểu tượng lồng nhau. Lớp ________ 2 ________ 32¶Một không gian tên cho một hàm hoặc phương thức. Lớp này kế thừa Trả về một tuple chứa tên của các tham số cho hàm này. ________ 35 ()()¶Trả về một tuple chứa tên của người dân địa phương trong chức năng này. ________ 36 ()()¶Trả về một tuple chứa tên của Globals trong chức năng này. ________ 37 ()()¶Trả về một tuple có chứa tên của các phi địa điểm trong chức năng này. ________ 38 ()()¶Trả về một tuple chứa tên của các biến miễn phí trong hàm này. Lớp ________ 2 ________ 40¶Một không gian tên của một lớp học. Lớp này kế thừa Trả về một tuple chứa tên của các phương thức được khai báo trong lớp. Lớp ________ 2 ________ 44¶Một mục trong một Trả lại tên bảng. Đây là tên của lớp nếu bảng dành cho một lớp, tên của hàm nếu bảng dành cho hàm hoặc Trả về số của dòng đầu tiên trong khối Bảng này biểu thị. ________ 18 ()()¶Trả lại Trả về Trả về Trả về một đối tượng xem chứa tên của các ký hiệu trong bảng. Xem tài liệu của các đối tượng xem. ________ 26 (tên)()¶Tên tra cứu trong bảng và trả về một thể hiện Trả về danh sách các phiên bản Trả về một danh sách các bảng biểu tượng lồng nhau. Lớp ________ 2 ________ 32¶ Một không gian tên cho một hàm hoặc phương thức. Lớp này kế thừaSymbolTable .()¶________ 34 () Trả về một tuple chứa tên của các tham số cho hàm này.()¶________ 35 () Trả về một tuple chứa tên của người dân địa phương trong chức năng này.()¶________ 36 () Trả về một tuple chứa tên của Globals trong chức năng này. ________ 37 () >>> table = symtable.symtable("def some_func(): pass", "string", "exec") >>> table.lookup("some_func").is_namespace() True Trả về một tuple có chứa tên của các phi địa điểm trong chức năng này. ________ 38 ()()¶Trả về một tuple chứa tên của các biến miễn phí trong hàm này. Lớp ________ 2 ________ 40¶()¶Một không gian tên của một lớp học. Lớp này kế thừa Làm thế nào để bạn thực hiện một bảng ký hiệu?Bảng biểu tượng có thể được thực hiện trong danh sách không theo thứ tự nếu trình biên dịch được sử dụng để xử lý lượng dữ liệu nhỏ ... Danh sách tuyến tính (sắp xếp hoặc chưa được phân loại) .. Bàn băm .. Cây tìm kiếm nhị phân .. Bảng biểu tượng trong Python là gì?Bảng ký hiệu là một cấu trúc dữ liệu được duy trì và xây dựng bởi trình biên dịch Python có chứa tất cả các thông tin cần thiết về từng định danh được tìm thấy trong mã nguồn của chương trình.Dữ liệu này liên quan đến loại, giá trị, mức độ phạm vi của một định danh và vị trí của nó (còn được gọi là ký hiệu).a data structure maintained and constructed by the Python compiler that contains all of the essential information about each identifier found in the source code of the program. This data pertains to an identifier's type, value, scope level, and its position (also called symbol).
Việc thực hiện bảng ký hiệu dựa trên là gì?Câu trả lời.1- Danh sách tự tổ chức.Self Organizing List.
Việc thực hiện bảng biểu tượng nào là hiệu quả nhất?Trong sơ đồ băm, hai bảng được duy trì - bảng băm và bảng ký hiệu và là phương pháp được sử dụng phổ biến nhất để thực hiện các bảng ký hiệu.symbol table and are the most commonly used method to implement symbol tables. |