pg_parse 0.12.0

PostgreSQL parser that uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.
Documentation
[
  {
    "PLpgSQL_function": {
      "action": {
        "PLpgSQL_stmt_block": {
          "body": [
            {
              "PLpgSQL_stmt_if": {
                "cond": {
                  "PLpgSQL_expr": {
                    "parseMode": 2,
                    "query": "v_version IS NULL"
                  }
                },
                "lineno": 1,
                "then_body": [
                  {
                    "PLpgSQL_stmt_return": {
                      "expr": {
                        "PLpgSQL_expr": {
                          "parseMode": 2,
                          "query": "v_name"
                        }
                      },
                      "lineno": 1
                    }
                  }
                ]
              }
            },
            {
              "PLpgSQL_stmt_return": {
                "expr": {
                  "PLpgSQL_expr": {
                    "parseMode": 2,
                    "query": "v_name || '/' || v_version"
                  }
                },
                "lineno": 1
              }
            }
          ],
          "lineno": 1
        }
      },
      "datums": [
        {
          "PLpgSQL_var": {
            "datatype": {
              "PLpgSQL_type": {
                "typname": "pg_catalog.\"varchar\""
              }
            },
            "refname": "v_name"
          }
        },
        {
          "PLpgSQL_var": {
            "datatype": {
              "PLpgSQL_type": {
                "typname": "pg_catalog.\"varchar\""
              }
            },
            "refname": "v_version"
          }
        },
        {
          "PLpgSQL_var": {
            "datatype": {
              "PLpgSQL_type": {
                "typname": "pg_catalog.\"boolean\""
              }
            },
            "refname": "found"
          }
        }
      ]
    }
  }
]