All Downloads are FREE. Search and download functionalities are using the official Maven repository.

elight.sqlite-3-33-dialect.2.0.0-rc01.source-code.sqlite_gen.bnf Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
{
  parserUtilClass="app.cash.sqldelight.dialects.sqlite_3_33.grammar.SqliteParserUtil"
  parserClass="app.cash.sqldelight.dialects.sqlite_3_33.grammar.SqliteParser"
  elementTypeHolderClass="app.cash.sqldelight.dialects.sqlite_3_33.grammar.psi.SqliteTypes"
  psiPackage="app.cash.sqldelight.dialects.sqlite_3_33.grammar.psi"
  psiImplPackage="app.cash.sqldelight.dialects.sqlite_3_33.grammar.psi.impl"
  // Specify the parent parser.
  overrides="com.alecstrong.sql.psi.core.SqlParser"
  elementTypeClass = "com.alecstrong.sql.psi.core.SqlElementType"

  implements="com.alecstrong.sql.psi.core.psi.SqlCompositeElement"
  extends="com.alecstrong.sql.psi.core.psi.SqlCompositeElementImpl"
  psiClassPrefix = "Sqlite"

    parserImports = [
  "static com.alecstrong.sql.psi.core.SqlParser.*"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.withClauseExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.qualifiedTableNameExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.joinClauseExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.orderingTermExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.columnNameExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.setterExpressionExt"
  "static com.alecstrong.sql.psi.core.SqlParserUtil.updateStmtSubsequentSetterExt"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.UPDATE"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.OR"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.ROLLBACK"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.ABORT"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.REPLACE"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.FAIL"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.IGNORE"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.FROM"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.COMMA"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.WHERE"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.ORDER"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.BY"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.LIMIT"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.OFFSET"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.SET"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.EQ"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.LP"
    "static com.alecstrong.sql.psi.core.psi.SqlTypes.RP"
  ]
}

root ::= <>
fake overrides ::=  update_stmt | update_stmt_limited

overrides_real ::=  <> | <>
 {
  elementType = overrides
}
fake update_stmt ::=  [ <>>> ] UPDATE [ OR ROLLBACK | OR ABORT | OR REPLACE | OR FAIL | OR IGNORE ] <>>>
  update_set_clause
  [ FROM <>>> ]
  [ WHERE <> ] {
  implements = "com.alecstrong.sql.psi.core.psi.SqlUpdateStmt"
  mixin = "app.cash.sqldelight.dialects.sqlite_3_33.grammar.mixins.UpdateStmtMixin"
  pin = 4
  override = true
}

update_stmt_real ::=  [ <>>> ] UPDATE [ OR ROLLBACK | OR ABORT | OR REPLACE | OR FAIL | OR IGNORE ] <>>>
  update_set_clause_real
  [ FROM <>>> ]
  [ WHERE <> ] {
  elementType = update_stmt
  pin = 4
  override = true
}
fake update_stmt_limited ::=  [ <>>> ] UPDATE [ OR ROLLBACK | OR ABORT | OR REPLACE | OR FAIL | OR IGNORE ] <>>>
  update_set_clause
  [ FROM <>>> ]
  [ WHERE <> ]
  [ [ ORDER BY <>>> ( COMMA <>>> ) * ]
  LIMIT <> [ ( OFFSET | COMMA ) <> ] ] {
  implements = "com.alecstrong.sql.psi.core.psi.SqlUpdateStmtLimited"
  mixin = "app.cash.sqldelight.dialects.sqlite_3_33.grammar.mixins.UpdateStmtLimitedMixin"
  pin = 4
  override = true
}

update_stmt_limited_real ::=  [ <>>> ] UPDATE [ OR ROLLBACK | OR ABORT | OR REPLACE | OR FAIL | OR IGNORE ] <>>>
  update_set_clause_real
  [ FROM <>>> ]
  [ WHERE <> ]
  [ [ ORDER BY <>>> ( COMMA <>>> ) * ]
  LIMIT <> [ ( OFFSET | COMMA ) <> ] ] {
  elementType = update_stmt_limited
  pin = 4
  override = true
}

fake private update_set_clause ::=  SET (( <>>> EQ <>>> <>>> * ) | ( LP <>>> ( COMMA <>>> ) * RP ) EQ ( LP <>>> ( COMMA <>>> ) * RP )) {
  pin(".*") = 1
}
private update_set_clause_real ::=  SET (( <>>> EQ <>>> <>>> * ) | ( LP <>>> ( COMMA <>>> ) * RP ) EQ ( LP <>>> ( COMMA <>>> ) * RP )) {
  elementType = update_set_clause
  pin(".*") = 1
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy