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]::Statement
Statement ::= ViewStatement
Statement ::= InsertStmt
Statement ::= QueryStmt
ViewStatement ::=
[name]::String [columns]::ColumnExp
[query]::QueryStmtInsertStmt ::=
[tableName]::String [values]::Expression
QueryStmt ::= QueryStmtCol
QueryStmt ::= QueryStmtAllCol
QueryStmtCol ::=
[columns]::Expression
QueryStmtAllCol ::=
[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]::Predicate
OperationExp ::= [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]::Expression
FunctionExp ::=
[arguments]::Expression
[name]::StringDataType ::= [name]::String