PostgreSQLの解析にはどのような文法が使用されますか?それはLR、LALR、LL、または何か他ですか?PostgreSQLの解析にはどのような文法が使われますか?
5
A
答えて
6
PostgreSQL parserは、yaccとlexに基づいています。 yaccによって生成されたパーサーはLALR(1)です。あなたはpostgresの文法hereを読むことができます。
+1
これは[8.Xバージョン](http://www.postgresql.org/docs/8.4/static/parser-stage.html)までです。 9以上のバージョンでは、PosgreSQLはBisonを使用しています(http://www.postgresql.org/docs/9.0/static/parser-stage.html)。これは完全なyacc互換パーサジェネレータです。 –
関連する問題
- 1. Javaはどのように空文を解析しますか?
- 2. これをペグ文法でどのように解析するのですか?
- 3. XMLTextReaderはどのような解析方法を使用していますか?
- 4. djangoテンプレートはどのように解析されますか?
- 5. DOMはどのように解析されますか?
- 6. プロキシファイアーにはどのような魔法が使われていますか?
- 7. HTML/XML文書の解析はどのように機能しますか?
- 8. plpythonのimport文はどのように扱われますか?
- 9. Djangoテンプレートの解析はどのように行いますか?
- 10. レンズにはどのようなものが使われていますか?
- 11. dalvik命令の解析中に可変長引数はどのように解析されますか?
- 12. SAXはどのようにドキュメントを解析しますか?
- 13. BOOST_BINARYマクロはどのようにスペースを解析しますか?
- 14. ExtractingRequestHandlerはドキュメントの本文のみを解析するようにどのように指示しますか?
- 15. どうすればこのようなデータを解析できますか?
- 16. Visual C++ではどのような形式のエイリアス解析が使用されますか?
- 17. 手元のオブジェクトモデルがわからない場合、jsonの文字列を解析するにはどうすればよいですか?
- 18. Androidでは、文字列やその他の変数型はどのように解析されますか?
- 19. NSStringを使用してこの文字列を解析するにはどうすればよいですか?
- 20. protractor.jsの値を解析または文字列化するにはどうすればよいですか?
- 21. 弱い配列はどのように使われますか?
- 22. これにはどのようなハッシュが使われたのか?
- 23. IntellijがAntビルドファイルを解析しないようにするにはどうすればよいですか?
- 24. コンパイラはどのように解析されたトークンツリーを評価しますか?
- 25. PostgreSQLは非常に短いクエリの構文解析が非常に遅い
- 26. Javaでの文字列解析 - どうすればよいですか?
- 27. 文字列フィールドを無制限の文字で解析する方法postgresql
- 28. 次のhttpresponseを解析するにはどうすればよいでしょうか、それを解析する最善の方法は何ですか?
- 29. ANTLR4の構文解析ツリーは、文法規則で子が定量化されたかどうか問い合わせます。
- 30. レコードレイアウトが実行時までわからないときに、固定長レコードを持つファイルの解析にどのようなアプローチを使用しますか?
LALR(1)文法に基づいている可能性があります。それはYacc/Bisonが通常扱うものです。その中にはいくつかの合併症が存在する可能性があります。 SQL文法がLALR(1)で扱うのが難しい場合があります。 –
パーサのソースコードはこちら(最新版用)http://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/backend/parser;h=904b1b0bb8bddc95b422b27a3d44fd826dedf736;hb=REL9_1_STABLE 標準のLEXとYACCの定義が含まれています... – zeFrenchy