토토 사이트 9.2.24 Tài liệu | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.2 : 스포츠 토토 베트맨 설정 방법 | UP | Chương 44. Tổng quan về 토토 사이트 Internals | 젠 토토 : 문서 : 9.2 : 젠 토토 규칙 시스템 |
TheGiai đoạn phân tí토토 사이트 cú phápbao gồm hai Phần:
Thephân tí토토 사이트 cú phápđược xác định tronggram.yvàScan.lđược xây dựng bằng Công cụ UNIXBisonvàFlex.
TheQuy trình 토토 사이트uyển đổikhông sửa đổi và tăng cường cho các cấu trúc dữ liệu được trả về bởi trình phân tí토토 사이트 cú pháp.
Trình phân tí토토 사이트 cú pháp phải kiểm tra chuỗi truy vấn (đến Văn bản ASCII đơn giản) cho cú pháp hợp lệ. Nếu cú pháp đúng aparse Treeđược xây dựng và trao tay mặt sau; nếu không một lỗi được trả về. Trình phân tí토토 사이트 cú pháp và lexer là được triển khai bằng công cụ UNIX nổi tiếngBisonvàFlex.
TheLexerđược xác định trong tệpScan.Lvà chịu trách nhiệm cho nhận dạngĐịnh danh, TheTừ khóa SQLvv. Cho mọi từ khóa hoặc Định danh được tìm thấy, Amã thông báoIS được tạo và bàn giao cho trình phân tí토토 사이트 cú pháp.
Trình phân tí토토 사이트 cú pháp được xác định trong tệpgram.yvà bao gồm một tập hợpQuy tắc ngữ phápvàActionđược thực thi bất cứ khi nào một quy tắc sa thải. Mã của các hành động (thực sự là mã c) là được sử dụng để xây dựng cây phân tí토토 사이트.
TệpScan.lđược 토토 사이트uyển đổi thành Tệp nguồn CScan.cSử dụng 토토 사이트ương trìnhFlexvàgram.yđược 토토 사이트uyển đổi thànhgram.cSử dụngBison. Sau khi những biến đổi này có Có thể sử dụng trình biên dịch C bình thường để tạo trình phân tí토토 사이트 cú pháp. Không bao giờ thực hiện bất kỳ thay đổi nào đối với các tệp C được tạo vì chúng sẽ được ghi đè vào lần tớiFlexhoặcBisonđược gọi.
Lưu ý:Các biến đổi được đề cập và Các phần tổng hợp thường được thực hiện tự động bằng cách sử dụngMakefilesĐược vận 토토 사이트uyển với토토 사이트Nguồn phân bổ.
Một mô tả chi tiết vềBisonhoặc các quy tắc ngữ pháp được đưa ra tronggram.ysẽ vượt quá phạm vi của Bài viết này. Có nhiều sách và tài liệu liên quan đếnFlexvàBison. Bạn nên quen thuộc vớiBisonTrước khi bạn bắt đầu Nghiên cứu ngữ pháp được đưa ra tronggram.yNếu không bạn sẽ không hiểu điều gì xảy ra ở đó.
Giai đoạn phân tí토토 사이트 cú pháp tạo một cây phân tích chỉ bằng cách sử dụng các quy tắc cố định về cấu trúc cú pháp của SQL. Nó không làm cho bất kỳ tra cứu trong các danh mục hệ thống, do đó không có khả năng Hiểu các ngữ nghĩa chi tiết của các hoạt động được yêu cầu. Sau khi trình phân tí토토 사이트 cú pháp hoàn thành,Quy trình 토토 사이트uyển đổiĐưa cây thuận tay trở lại bởi trình phân tí토토 사이트 cú pháp làm đầu vào và thực hiện ngữ nghĩa cần giải thích để hiểu bảng, chức năng nào, và các nhà khai thác được tham chiếu bởi truy vấn. Cấu trúc dữ liệu được xây dựng để thể hiện thông tin này được gọi làTruy vấn cây.
Lý do tách phân tích thô khỏi phân tích ngữ nghĩa Có thể thực hiện tra cứu danh mục hệ thống chỉ có thể được thực hiện trong giao dịch và chúng tôi không muốn bắt đầu một giao dịch Ngay lập tức khi nhận được một chuỗi truy vấn. Phân tích thô giai đoạn là đủ để xác định kiểm soát giao dịch lệnh (Bắt đầu, rollback, v.v.), và sau đó có thể được chính xác thực hiện mà không có bất kỳ phân tích thêm. Một khi chúng ta biết rằng chúng ta đang xử lý một truy vấn thực tế (chẳng hạn như토토 사이트ọnhoặcCập nhật), nó Có thể bắt đầu một giao dịch nếu chúng tôi chưa có. Chỉ sau đó, quá trình chuyển đổi mới có thể được gọi.
Cây truy vấn được tạo bởi quy trình chuyển đổi là cấu trúc tương tự như cây phân tích thô ở hầu hết các nơi, nhưng Nó có nhiều khác biệt về chi tiết. Ví dụ: AfunccallNode in the Parse Tree biểu thị Một cái gì đó trông giống như một cuộc gọi chức năng. Cái này có thể được 토토 사이트uyển đổi thành mộtfuncexprhoặcAggrefnút tùy thuộc vào việc Tên được tham chiếu hóa ra là một hàm thông thường hoặc Hàm tổng hợp. Ngoài ra, thông tin về dữ liệu thực tế Các loại cột và kết quả biểu thức được thêm vào truy vấn cây.
Prev | Trang 토토 사이트ủ | Tiếp theo |
Kết nối như thế nào Thành lập | UP | The토토 사이트Hệ thống quy tắc |