Using the Parser

This documentation is for the upcoming 1.0 release. Therefore, the contents of this site are subject to change and may be inaccurate. If there are inaccuracies discovered, please submit a GitHub issue.

Who is this for?

You can use the partiql-lang-kotlin parser (partiql-parser) to parse statements into an AST (partiql-ast). Common use-cases include:

  • Highlighting text on a CLI.

  • Analyzing the syntactical elements of a user’s query.

  • Allowing or blocking certain syntax.

High-Level Overview

The Parser takes in PartiQL text and outputs an Abstract Syntax Tree (AST).

The parser is designed to act as a singleton in your application by taking in all required information via its parameters on the parse() method.

Installation

build.gradle.kts
dependencies {
    implementation("org.partiql:partiql-parser:1.0.0")
}

Instantiation & Usage

Your Application Code
import org.partiql.ast.Statement
import org.partiql.parser.PartiQLParser

fun main() {
    // Instantiate the parser
    private val parser: PartiQLParser = PartiQLParser.standard()

    // Parse
    val parseResult: PartiQLParser.Result = parser.parse(input)

    // Assert that the user only entered a single statement, for simplicity
    assertEquals(1, parseResult.statements.size)
    val statement: Statement = parseResult.statements[0]

    // The rest of your application code...
    performFurtherAnalysis(statement)
}

Error Handling

The parser also has a method, parse(String, Context), that is used to provide a customized error-handling experience. Please see the Error Handling User Guide for more information.

Further Reading