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]::Column
NamedColumnSet ::= Table
NamedColumnSet ::= View
NamedColumnSet ::=
[optionScopeColumn]::Column [triggers]::Trigger
QueryColumnSet ::= [query]::QueryExpression
Table ::=
[isTemporary]::Boolean [temporaryScope]::String [isSystem]::Boolean [table_constraints]::CheckConstraint
View ::= [isReadOnly]::Boolean [checkOption]::Boolean [queryExpression]::QueryExpression
Trigger ::= [namedColumnSet]::NamedColumnSet
SQLDataType ::= SQLDistinctType
SQLDataType ::= SQLSimpleType
SQLDataType ::=
[typeNumber]::Integer [structuralFeatures]::Column
SQLDistinctType ::= [length]::Integer [precision]::Integer [scale]::Integer [sqlSimpleType]::SQLSimpleType
SQLSimpleType ::=
[characterMaximumLength]::Integer [characterOctetLength]::Integer [numericPrecision]::Integer [numericPrecisionRadix]::Integer [numericScale]::Integer [dateTimePrecision]::Integer [sqlDistinctTypes]::SQLDistinctType