Mã nguồn: lib/symtable.py Lib/symtable.py
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ã. symtable
cung cấp một giao diện để kiểm tra các bảng này.
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 SymbolTable
cho mã nguồn Python. Tên tệp là tên của tệp chứa mã. compile_type giống như đối số chế độ thành compile[]
.
Kiểm tra bảng biểu tượng
Lớ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à 'class'
, symtable
0 và symtable
1.
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 symtable
4 nếu bảng là toàn cầu [symtable
5 trả về symtable
0].
Trả về số của dòng đầu tiên trong khối Bảng này biểu thị.
________ 18 [][]¶Trả lại symtable
9 Nếu người dân địa phương trong bảng này có thể được tối ưu hóa.
Trả về symtable
9 Nếu khối là một lớp hoặc hàm lồng nhau.
Trả về symtable
9 Nếu khối có các không gian tên lồng nhau trong đó. Chúng có thể thu được với symtable.
4.
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 symtable.
7.
Trả về danh sách các phiên bản symtable.
7 cho các tên trong bảng.
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 SymbolTable
.
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 SymbolTable
.
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 SymbolTable
tương ứng với một định danh trong nguồn. Các nhà xây dựng không công khai.
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 symtable
4 nếu bảng là toàn cầu [symtable
5 trả về symtable
0].
Trả về số của dòng đầu tiên trong khối Bảng này biểu thị.
________ 18 [][]¶Trả lại symtable
9 Nếu người dân địa phương trong bảng này có thể được tối ưu hóa.
Trả về symtable
9 Nếu khối là một lớp hoặc hàm lồng nhau.
Trả về symtable
9 Nếu khối có các không gian tên lồng nhau trong đó. Chúng có thể thu được với symtable.
4.
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 symtable.
7.
Trả về danh sách các phiên bản symtable.
7 cho các tên trong bảng.
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 SymbolTable
.