Loại ngữ pháp nào được sử dụng để phân tích cú pháp PostgreSQL? Nó là LR, LALR, LL, hay cái gì khác?Loại ngữ pháp nào được sử dụng để phân tích cú pháp PostgreSQL?
5
A
Trả lời
6
PostgreSQL parser được dựa trên yacc và lex. Các trình phân tích cú pháp được tạo bởi yacc là LALR (1). Bạn có thể đọc ngữ pháp của postgres here.
+1
Điều này xảy ra cho đến [8.X phiên bản] (http://www.postgresql.org/docs/8.4/static/parser-stage.html). Trong hơn 9 phiên bản PosgreSQL [đang sử dụng Bison] (http://www.postgresql.org/docs/9.0/static/parser-stage.html), đó là trình tạo trình phân tích cú pháp tương thích đầy đủ yacc. –
Các vấn đề liên quan
- 1. Kết hợp phân tích cú pháp phân tích cú pháp, phân tích cú pháp và phân tích cú pháp rừng
- 2. Phân tích cú pháp ngữ pháp bằng OCaml
- 3. Loại trình phân tích cú pháp nào cần thiết cho ngữ pháp này?
- 4. Sử dụng Phân tích cú pháp PEG để phân tích cú pháp BBCode: pegjs hoặc ... cái gì?
- 5. Phân tích cú pháp cây và thông tin ngữ pháp
- 6. Không thể phân tích cú pháp html sử dụng lxml XPath phân tích cú pháp
- 7. Làm cách nào để phân tích cú pháp macro trong mã C++, sử dụng CLANG làm trình phân tích cú pháp và Python làm ngôn ngữ kịch bản?
- 8. Sử dụng JavaScript để phân tích cú pháp tệp XML
- 9. Sử dụng NSJSONSerialization để phân tích cú pháp JSON
- 10. Trình phân tích cú pháp ngôn ngữ TextMate ở đâu?
- 11. Trình phân tích cú pháp phân tích cú pháp Haskell để gặp phải [...]
- 12. Thực hiện phân tích cú pháp
- 13. Vô hiệu hóa PostgreSQL 8.4 tsvector phân tích cú pháp của 'file` thẻ loại
- 14. Phân tích ngôn ngữ dựa trên thụt đầu dòng bằng cách sử dụng bộ phối hợp phân tích cú pháp phân tách cú pháp
- 15. gcc để phân tích cú pháp mã
- 16. Phân tích cú pháp ngữ pháp không có ngữ cảnh bằng Python
- 17. Trình tạo trình phân tích cú pháp và trình phân tích cú pháp cho Common Lisp
- 18. Trình phân tích cú pháp Wiki nào?
- 19. Công cụ quét/phân tích cú pháp
- 20. "Lỗi khi phân tích cú pháp tệp XML" khi phân tích cú pháp bằng cách sử dụng XInclude
- 21. Trình phân tích cú pháp ngôn ngữ DOT
- 22. Phân tích cú pháp html bằng cách sử dụng C
- 23. Có thư viện ngữ pháp phân tích cú pháp (PEG) nào cho Javascript hoặc PHP không?
- 24. Phân tích cú pháp và in $ PATH Sử dụng Unix
- 25. Các phương pháp hay nhất để viết trình phân tích cú pháp ngôn ngữ lập trình
- 26. Phân tích cú pháp không phân tích cú pháp đúng cách ("href") trong IE
- 27. Phân tích cú pháp XML bằng cách sử dụng XDocument
- 28. lỗi phân tích cú pháp JSON sử dụng Newtonsoft.Json
- 29. Tạo trình phân tích cú pháp Brainfuck, phương pháp phân tích cú pháp vòng lặp tốt nhất là gì?
- 30. Bộ phân tích cú pháp regex nhẹ
Có thể dựa trên ngữ pháp LALR (1); đó là những gì Yacc/Bison xử lý bình thường. Có thể có một số biến chứng trong đó; đôi khi ngữ pháp SQL trở nên khó xử lý với LALR (1). –
Mã nguồn cho trình phân tích cú pháp có tại đây (cho phiên bản mới nhất) http://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/backend/parser;h=904b1b0bb8bddc95b422b27a3d44fd826dedf736;hb=REL9_1_STABLE Nó chứa các định nghĩa chuẩn LEX và YACC ... – zeFrenchy