
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/SQLDML/extracted
Source used for this grammar: Marcos Didonet Del Fabro, SQLDML 1.0, SQLDML.ecore, 2006/08/28
Boolean, Integer, String, LocatedElement, SQLRoot, Statement, ViewStatement, InsertStmt, QueryStmt, QueryStmtCol, QueryStmtAllCol, NamedElement, Table, WhereClause, Expression, BinaryExp, OrExp, AndExp, NotExp, LikeExp, InExp, OperationExp, Predicate, QueryPredicate, ColumnExp, ValueExp, StringValueExp, IntegerValueExp, ListExp, FunctionExp, DataType), 0 root (—), 2 top (Boolean, LocatedElement), 0 bottom (—).[statements], [name] 3, [columns] 2, [query] 2, [tableName], [values], [tables], [condition], [alias] 2, [expression] 2, [opName] 3, [leftExp] 2, [rightExp] 2, [valueExp], [unused], [columnName] 2, [elements] 2, [optName], [type], [aValue] 2, [arguments].Boolean ::= "true" "false"
Integer ::= integer
String ::= string
LocatedElement ::= SQLRoot
LocatedElement ::= Statement
LocatedElement ::= NamedElement
LocatedElement ::= WhereClause
LocatedElement ::= Expression
SQLRoot ::=
[statements]::StatementStatement ::= ViewStatement
Statement ::= InsertStmt
Statement ::= QueryStmt
ViewStatement ::=
[name]::String [columns]::ColumnExp [query]::QueryStmtInsertStmt ::=
[tableName]::String [values]::ExpressionQueryStmt ::= QueryStmtCol
QueryStmt ::= QueryStmtAllCol
QueryStmtCol ::=
[columns]::ExpressionQueryStmtAllCol ::=
[tables]::Table [condition]::WhereClauseNamedElement ::= Table
NamedElement ::= DataType
NamedElement ::= ColumnExp
Table ::= [alias]::String
WhereClause ::= [expression]::Expression
Expression ::= BinaryExp
Expression ::= NotExp
Expression ::= LikeExp
Expression ::= InExp
Expression ::= Predicate
Expression ::= QueryPredicate
BinaryExp ::= OrExp
BinaryExp ::= AndExp
BinaryExp ::= OperationExp
OrExp ::= [opName]::String [leftExp]::Expression [rightExp]::Expression
AndExp ::= [opName]::String [leftExp]::Expression [rightExp]::Expression
NotExp ::= [opName]::String [valueExp]::Expression [unused]::Expression
LikeExp ::= [columnName]::String [expression]::StringValueExp
InExp ::=
[columnName]::String [elements]::PredicateOperationExp ::= [optName]::String
Predicate ::= ValueExp
Predicate ::= ListExp
Predicate ::= FunctionExp
Predicate ::= ColumnExp
QueryPredicate ::= [query]::QueryStmt
ColumnExp ::= [alias]::String [type]::DataType
ValueExp ::= StringValueExp
ValueExp ::= IntegerValueExp
StringValueExp ::= [aValue]::String
IntegerValueExp ::= [aValue]::Integer
ListExp ::=
[elements]::ExpressionFunctionExp ::=
[arguments]::Expression [name]::StringDataType ::= [name]::String