
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/mof/cwm/relational/extracted
Source used for this grammar: Hugo Brunelière, CWMRelationalData 1.0, CWMRelationalData.ecore, 2005/08/10
Integer, String, Boolean, QueryExpression, CheckConstraint, Column, ColumnSet, NamedColumnSet, QueryColumnSet, Table, View, Trigger, SQLDataType, SQLDistinctType, SQLSimpleType), 0 root (—), 0 top (—), 0 bottom (—).[expresssion], [constraintElements], [constrainedElements], [precision] 2, [scale] 2, [isNullable], [length] 2, [collectionName], [characterSetName], [column_constraints], [type], [owner], [optionScopeColumnSet], [features], [optionScopeColumn], [triggers], [query], [isTemporary], [temporaryScope], [isSystem], [table_constraints], [isReadOnly], [checkOption], [queryExpression], [namedColumnSet], [typeNumber], [structuralFeatures], [sqlSimpleType], [characterMaximumLength], [characterOctetLength], [numericPrecision], [numericPrecisionRadix], [numericScale], [dateTimePrecision], [sqlDistinctTypes].Integer ::= integer
String ::= string
Boolean ::= "true" "false"
QueryExpression ::= [expresssion]::String
CheckConstraint ::= [constraintElements]::Column [constrainedElements]::Table
Column ::=
[precision]::Integer [scale]::Integer [isNullable]::Boolean [length]::Integer [collectionName]::String [characterSetName]::String [column_constraints]::CheckConstraint [type]::SQLDataType [owner]::ColumnSet [optionScopeColumnSet]::NamedColumnSetColumnSet ::= NamedColumnSet
ColumnSet ::= QueryColumnSet
ColumnSet ::=
[features]::ColumnNamedColumnSet ::= Table
NamedColumnSet ::= View
NamedColumnSet ::=
[optionScopeColumn]::Column [triggers]::TriggerQueryColumnSet ::= [query]::QueryExpression
Table ::=
[isTemporary]::Boolean [temporaryScope]::String [isSystem]::Boolean [table_constraints]::CheckConstraintView ::= [isReadOnly]::Boolean [checkOption]::Boolean [queryExpression]::QueryExpression
Trigger ::= [namedColumnSet]::NamedColumnSet
SQLDataType ::= SQLDistinctType
SQLDataType ::= SQLSimpleType
SQLDataType ::=
[typeNumber]::Integer [structuralFeatures]::ColumnSQLDistinctType ::= [length]::Integer [precision]::Integer [scale]::Integer [sqlSimpleType]::SQLSimpleType
SQLSimpleType ::=
[characterMaximumLength]::Integer [characterOctetLength]::Integer [numericPrecision]::Integer [numericPrecisionRadix]::Integer [numericScale]::Integer [dateTimePrecision]::Integer [sqlDistinctTypes]::SQLDistinctType