diff --git a/.Rhistory b/.Rhistory
new file mode 100644
index 0000000..e69de29
diff --git a/.project b/.project
new file mode 100644
index 0000000..0f3dce4
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ ERDSL
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+
+
diff --git a/README.md b/README.md
index a424692..8d55ca1 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-# ERtext Tool
+# ERtext
 
____________________________
-ERtext tool repository for Modeling and Database Design with textual approach.
+Domain-Specific Language for Conceptual Models of Relational Databases

____________________________
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin
index 847803c..3671727 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin
index 196c199..97d9200 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeModule.xtend b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeModule.xtend
deleted file mode 100644
index 03c8357..0000000
--- a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeModule.xtend
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ide
-
-
-/**
- * Use this class to register ide components.
- */
-class ErDslIdeModule extends AbstractErDslIdeModule {
-}
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeSetup.xtend b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeSetup.xtend
deleted file mode 100644
index 92ca662..0000000
--- a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/ErDslIdeSetup.xtend
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ide
-
-import com.google.inject.Guice
-import org.eclipse.xtext.util.Modules2
-import org.xtext.unipampa.erdsl.ErDslRuntimeModule
-import org.xtext.unipampa.erdsl.ErDslStandaloneSetup
-
-/**
- * Initialization support for running Xtext languages as language servers.
- */
-class ErDslIdeSetup extends ErDslStandaloneSetup {
-
- override createInjector() {
- Guice.createInjector(Modules2.mixin(new ErDslRuntimeModule, new ErDslIdeModule))
- }
-
-}
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser$NameMappings.class b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser$NameMappings.class
index f5715a2..fd0efbd 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser$NameMappings.class and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser$NameMappings.class differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.class b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.class
index c10a44c..62b248f 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.class and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.class differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
index 2b3af1e..3f4eed1 100644
--- a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
+++ b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
grammar InternalErDsl;
@@ -199,6 +199,22 @@ finally {
restoreStackSize(stackSize);
}
+// Rule DataType
+ruleDataType
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getDataTypeAccess().getAlternatives()); }
+ (rule__DataType__Alternatives)
+ { after(grammarAccess.getDataTypeAccess().getAlternatives()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
rule__RelationSide__Alternatives
@init {
int stackSize = keepStackSize();
@@ -253,6 +269,57 @@ finally {
restoreStackSize(stackSize);
}
+rule__DataType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0()); }
+ ('int')
+ { after(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1()); }
+ ('double')
+ { after(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2()); }
+ ('money')
+ { after(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3()); }
+ ('string')
+ { after(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4()); }
+ ('boolean')
+ { after(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5()); }
+ ('datetime')
+ { after(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6()); }
+ ('file')
+ { after(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
rule__ERModel__Group__0
@init {
int stackSize = keepStackSize();
@@ -779,6 +846,7 @@ rule__Attribute__Group__1
}
:
rule__Attribute__Group__1__Impl
+ rule__Attribute__Group__2
;
finally {
restoreStackSize(stackSize);
@@ -790,9 +858,35 @@ rule__Attribute__Group__1__Impl
}
:
(
- { before(grammarAccess.getAttributeAccess().getIsKeyAssignment_1()); }
- (rule__Attribute__IsKeyAssignment_1)?
- { after(grammarAccess.getAttributeAccess().getIsKeyAssignment_1()); }
+ { before(grammarAccess.getAttributeAccess().getTypeAssignment_1()); }
+ (rule__Attribute__TypeAssignment_1)
+ { after(grammarAccess.getAttributeAccess().getTypeAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAttributeAccess().getIsKeyAssignment_2()); }
+ (rule__Attribute__IsKeyAssignment_2)?
+ { after(grammarAccess.getAttributeAccess().getIsKeyAssignment_2()); }
)
;
finally {
@@ -1604,19 +1698,34 @@ finally {
restoreStackSize(stackSize);
}
-rule__Attribute__IsKeyAssignment_1
+rule__Attribute__TypeAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0()); }
+ ruleDataType
+ { after(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__IsKeyAssignment_2
@init {
int stackSize = keepStackSize();
}
:
(
- { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
(
- { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
'isIdentifier'
- { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
)
- { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
)
;
finally {
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
index ca0de72..286c2bc 100644
--- a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
+++ b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
@@ -2,18 +2,25 @@
'(0:N)'=13
'(1:1)'=12
'(1:N)'=14
-','=22
-';'=15
-'Domain'=20
-'Entities'=16
-'Relationships'=19
-'['=23
-']'=25
-'is'=21
-'isIdentifier'=26
-'relates'=24
-'{'=17
-'}'=18
+','=29
+';'=22
+'Domain'=27
+'Entities'=23
+'Relationships'=26
+'['=30
+']'=32
+'boolean'=19
+'datetime'=20
+'double'=16
+'file'=21
+'int'=15
+'is'=28
+'isIdentifier'=33
+'money'=17
+'relates'=31
+'string'=18
+'{'=24
+'}'=25
RULE_ANY_OTHER=10
RULE_ID=4
RULE_INT=5
@@ -37,3 +44,10 @@ T__23=23
T__24=24
T__25=25
T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer$DFA12.class b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer$DFA12.class
index 3d19018..a45f5f1 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer$DFA12.class and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer$DFA12.class differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.class b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.class
index 09840b3..4ba37d3 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.class and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.class differ
diff --git a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.class b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.class
index 6170fee..5c42d97 100644
Binary files a/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.class and b/org.xtext.unipampa.erdsl.ide/bin/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.class differ
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/AbstractErDslIdeModule.java b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/AbstractErDslIdeModule.java
index f986a4a..ad2d3f1 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/AbstractErDslIdeModule.java
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/AbstractErDslIdeModule.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ide;
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.java b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.java
index f786bea..7f8e175 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.java
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/ErDslParser.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ide.contentassist.antlr;
@@ -33,6 +33,7 @@ public String getRuleName(AbstractElement element) {
private static void init(ImmutableMap.Builder builder, ErDslGrammarAccess grammarAccess) {
builder.put(grammarAccess.getRelationSideAccess().getAlternatives(), "rule__RelationSide__Alternatives");
builder.put(grammarAccess.getRelationSideAccess().getCardinalityAlternatives_0_0_0(), "rule__RelationSide__CardinalityAlternatives_0_0_0");
+ builder.put(grammarAccess.getDataTypeAccess().getAlternatives(), "rule__DataType__Alternatives");
builder.put(grammarAccess.getERModelAccess().getGroup(), "rule__ERModel__Group__0");
builder.put(grammarAccess.getERModelAccess().getGroup_2(), "rule__ERModel__Group_2__0");
builder.put(grammarAccess.getERModelAccess().getGroup_4(), "rule__ERModel__Group_4__0");
@@ -54,7 +55,8 @@ private static void init(ImmutableMap.Builder builder,
builder.put(grammarAccess.getERModelAccess().getRelationsAssignment_6(), "rule__ERModel__RelationsAssignment_6");
builder.put(grammarAccess.getDomainAccess().getNameAssignment_1(), "rule__Domain__NameAssignment_1");
builder.put(grammarAccess.getAttributeAccess().getNameAssignment_0(), "rule__Attribute__NameAssignment_0");
- builder.put(grammarAccess.getAttributeAccess().getIsKeyAssignment_1(), "rule__Attribute__IsKeyAssignment_1");
+ builder.put(grammarAccess.getAttributeAccess().getTypeAssignment_1(), "rule__Attribute__TypeAssignment_1");
+ builder.put(grammarAccess.getAttributeAccess().getIsKeyAssignment_2(), "rule__Attribute__IsKeyAssignment_2");
builder.put(grammarAccess.getEntityAccess().getNameAssignment_0(), "rule__Entity__NameAssignment_0");
builder.put(grammarAccess.getEntityAccess().getIsAssignment_1_1(), "rule__Entity__IsAssignment_1_1");
builder.put(grammarAccess.getEntityAccess().getAttributesAssignment_2_1(), "rule__Entity__AttributesAssignment_2_1");
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/PartialErDslContentAssistParser.java b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/PartialErDslContentAssistParser.java
index e204c10..c0964d9 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/PartialErDslContentAssistParser.java
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/PartialErDslContentAssistParser.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ide.contentassist.antlr;
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
index 2b3af1e..3f4eed1 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.g
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
grammar InternalErDsl;
@@ -199,6 +199,22 @@ finally {
restoreStackSize(stackSize);
}
+// Rule DataType
+ruleDataType
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getDataTypeAccess().getAlternatives()); }
+ (rule__DataType__Alternatives)
+ { after(grammarAccess.getDataTypeAccess().getAlternatives()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
rule__RelationSide__Alternatives
@init {
int stackSize = keepStackSize();
@@ -253,6 +269,57 @@ finally {
restoreStackSize(stackSize);
}
+rule__DataType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0()); }
+ ('int')
+ { after(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1()); }
+ ('double')
+ { after(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2()); }
+ ('money')
+ { after(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3()); }
+ ('string')
+ { after(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4()); }
+ ('boolean')
+ { after(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5()); }
+ ('datetime')
+ { after(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5()); }
+ )
+ |
+ (
+ { before(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6()); }
+ ('file')
+ { after(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
rule__ERModel__Group__0
@init {
int stackSize = keepStackSize();
@@ -779,6 +846,7 @@ rule__Attribute__Group__1
}
:
rule__Attribute__Group__1__Impl
+ rule__Attribute__Group__2
;
finally {
restoreStackSize(stackSize);
@@ -790,9 +858,35 @@ rule__Attribute__Group__1__Impl
}
:
(
- { before(grammarAccess.getAttributeAccess().getIsKeyAssignment_1()); }
- (rule__Attribute__IsKeyAssignment_1)?
- { after(grammarAccess.getAttributeAccess().getIsKeyAssignment_1()); }
+ { before(grammarAccess.getAttributeAccess().getTypeAssignment_1()); }
+ (rule__Attribute__TypeAssignment_1)
+ { after(grammarAccess.getAttributeAccess().getTypeAssignment_1()); }
+)
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+ { before(grammarAccess.getAttributeAccess().getIsKeyAssignment_2()); }
+ (rule__Attribute__IsKeyAssignment_2)?
+ { after(grammarAccess.getAttributeAccess().getIsKeyAssignment_2()); }
)
;
finally {
@@ -1604,19 +1698,34 @@ finally {
restoreStackSize(stackSize);
}
-rule__Attribute__IsKeyAssignment_1
+rule__Attribute__TypeAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ (
+ { before(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0()); }
+ ruleDataType
+ { after(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0()); }
+ )
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__IsKeyAssignment_2
@init {
int stackSize = keepStackSize();
}
:
(
- { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
(
- { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
'isIdentifier'
- { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
)
- { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0()); }
+ { after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0()); }
)
;
finally {
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
index ca0de72..286c2bc 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDsl.tokens
@@ -2,18 +2,25 @@
'(0:N)'=13
'(1:1)'=12
'(1:N)'=14
-','=22
-';'=15
-'Domain'=20
-'Entities'=16
-'Relationships'=19
-'['=23
-']'=25
-'is'=21
-'isIdentifier'=26
-'relates'=24
-'{'=17
-'}'=18
+','=29
+';'=22
+'Domain'=27
+'Entities'=23
+'Relationships'=26
+'['=30
+']'=32
+'boolean'=19
+'datetime'=20
+'double'=16
+'file'=21
+'int'=15
+'is'=28
+'isIdentifier'=33
+'money'=17
+'relates'=31
+'string'=18
+'{'=24
+'}'=25
RULE_ANY_OTHER=10
RULE_ID=4
RULE_INT=5
@@ -37,3 +44,10 @@ T__23=23
T__24=24
T__25=25
T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.java b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.java
index 92db25d..31ce8cd 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.java
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslLexer.java
@@ -20,15 +20,22 @@ public class InternalErDslLexer extends Lexer {
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
+ public static final int T__33=33;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
public static final int RULE_ID=4;
public static final int RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
public static final int RULE_INT=5;
+ public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
public static final int T__23=23;
@@ -139,10 +146,11 @@ public final void mT__15() throws RecognitionException {
try {
int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:15:7: ( ';' )
- // InternalErDsl.g:15:9: ';'
+ // InternalErDsl.g:15:7: ( 'int' )
+ // InternalErDsl.g:15:9: 'int'
{
- match(';');
+ match("int");
+
}
@@ -159,10 +167,10 @@ public final void mT__16() throws RecognitionException {
try {
int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:16:7: ( 'Entities' )
- // InternalErDsl.g:16:9: 'Entities'
+ // InternalErDsl.g:16:7: ( 'double' )
+ // InternalErDsl.g:16:9: 'double'
{
- match("Entities");
+ match("double");
}
@@ -180,10 +188,11 @@ public final void mT__17() throws RecognitionException {
try {
int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:17:7: ( '{' )
- // InternalErDsl.g:17:9: '{'
+ // InternalErDsl.g:17:7: ( 'money' )
+ // InternalErDsl.g:17:9: 'money'
{
- match('{');
+ match("money");
+
}
@@ -200,10 +209,11 @@ public final void mT__18() throws RecognitionException {
try {
int _type = T__18;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:18:7: ( '}' )
- // InternalErDsl.g:18:9: '}'
+ // InternalErDsl.g:18:7: ( 'string' )
+ // InternalErDsl.g:18:9: 'string'
{
- match('}');
+ match("string");
+
}
@@ -220,10 +230,10 @@ public final void mT__19() throws RecognitionException {
try {
int _type = T__19;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:19:7: ( 'Relationships' )
- // InternalErDsl.g:19:9: 'Relationships'
+ // InternalErDsl.g:19:7: ( 'boolean' )
+ // InternalErDsl.g:19:9: 'boolean'
{
- match("Relationships");
+ match("boolean");
}
@@ -241,10 +251,10 @@ public final void mT__20() throws RecognitionException {
try {
int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:20:7: ( 'Domain' )
- // InternalErDsl.g:20:9: 'Domain'
+ // InternalErDsl.g:20:7: ( 'datetime' )
+ // InternalErDsl.g:20:9: 'datetime'
{
- match("Domain");
+ match("datetime");
}
@@ -262,10 +272,10 @@ public final void mT__21() throws RecognitionException {
try {
int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:21:7: ( 'is' )
- // InternalErDsl.g:21:9: 'is'
+ // InternalErDsl.g:21:7: ( 'file' )
+ // InternalErDsl.g:21:9: 'file'
{
- match("is");
+ match("file");
}
@@ -283,10 +293,10 @@ public final void mT__22() throws RecognitionException {
try {
int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:22:7: ( ',' )
- // InternalErDsl.g:22:9: ','
+ // InternalErDsl.g:22:7: ( ';' )
+ // InternalErDsl.g:22:9: ';'
{
- match(',');
+ match(';');
}
@@ -303,10 +313,11 @@ public final void mT__23() throws RecognitionException {
try {
int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:23:7: ( '[' )
- // InternalErDsl.g:23:9: '['
+ // InternalErDsl.g:23:7: ( 'Entities' )
+ // InternalErDsl.g:23:9: 'Entities'
{
- match('[');
+ match("Entities");
+
}
@@ -323,11 +334,10 @@ public final void mT__24() throws RecognitionException {
try {
int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:24:7: ( 'relates' )
- // InternalErDsl.g:24:9: 'relates'
+ // InternalErDsl.g:24:7: ( '{' )
+ // InternalErDsl.g:24:9: '{'
{
- match("relates");
-
+ match('{');
}
@@ -344,10 +354,10 @@ public final void mT__25() throws RecognitionException {
try {
int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:25:7: ( ']' )
- // InternalErDsl.g:25:9: ']'
+ // InternalErDsl.g:25:7: ( '}' )
+ // InternalErDsl.g:25:9: '}'
{
- match(']');
+ match('}');
}
@@ -364,10 +374,10 @@ public final void mT__26() throws RecognitionException {
try {
int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:26:7: ( 'isIdentifier' )
- // InternalErDsl.g:26:9: 'isIdentifier'
+ // InternalErDsl.g:26:7: ( 'Relationships' )
+ // InternalErDsl.g:26:9: 'Relationships'
{
- match("isIdentifier");
+ match("Relationships");
}
@@ -380,15 +390,159 @@ public final void mT__26() throws RecognitionException {
}
// $ANTLR end "T__26"
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:27:7: ( 'Domain' )
+ // InternalErDsl.g:27:9: 'Domain'
+ {
+ match("Domain");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:28:7: ( 'is' )
+ // InternalErDsl.g:28:9: 'is'
+ {
+ match("is");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:29:7: ( ',' )
+ // InternalErDsl.g:29:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:30:7: ( '[' )
+ // InternalErDsl.g:30:9: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:31:7: ( 'relates' )
+ // InternalErDsl.g:31:9: 'relates'
+ {
+ match("relates");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:32:7: ( ']' )
+ // InternalErDsl.g:32:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:33:7: ( 'isIdentifier' )
+ // InternalErDsl.g:33:9: 'isIdentifier'
+ {
+ match("isIdentifier");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
// $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1818:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
- // InternalErDsl.g:1818:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // InternalErDsl.g:1927:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // InternalErDsl.g:1927:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
- // InternalErDsl.g:1818:11: ( '^' )?
+ // InternalErDsl.g:1927:11: ( '^' )?
int alt1=2;
int LA1_0 = input.LA(1);
@@ -397,7 +551,7 @@ public final void mRULE_ID() throws RecognitionException {
}
switch (alt1) {
case 1 :
- // InternalErDsl.g:1818:11: '^'
+ // InternalErDsl.g:1927:11: '^'
{
match('^');
@@ -415,7 +569,7 @@ public final void mRULE_ID() throws RecognitionException {
recover(mse);
throw mse;}
- // InternalErDsl.g:1818:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // InternalErDsl.g:1927:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@@ -464,10 +618,10 @@ public final void mRULE_INT() throws RecognitionException {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1820:10: ( ( '0' .. '9' )+ )
- // InternalErDsl.g:1820:12: ( '0' .. '9' )+
+ // InternalErDsl.g:1929:10: ( ( '0' .. '9' )+ )
+ // InternalErDsl.g:1929:12: ( '0' .. '9' )+
{
- // InternalErDsl.g:1820:12: ( '0' .. '9' )+
+ // InternalErDsl.g:1929:12: ( '0' .. '9' )+
int cnt3=0;
loop3:
do {
@@ -481,7 +635,7 @@ public final void mRULE_INT() throws RecognitionException {
switch (alt3) {
case 1 :
- // InternalErDsl.g:1820:13: '0' .. '9'
+ // InternalErDsl.g:1929:13: '0' .. '9'
{
matchRange('0','9');
@@ -513,10 +667,10 @@ public final void mRULE_STRING() throws RecognitionException {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1822:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
- // InternalErDsl.g:1822:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // InternalErDsl.g:1931:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // InternalErDsl.g:1931:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
- // InternalErDsl.g:1822:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // InternalErDsl.g:1931:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2;
int LA6_0 = input.LA(1);
@@ -534,10 +688,10 @@ else if ( (LA6_0=='\'') ) {
}
switch (alt6) {
case 1 :
- // InternalErDsl.g:1822:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ // InternalErDsl.g:1931:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
- // InternalErDsl.g:1822:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ // InternalErDsl.g:1931:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4:
do {
int alt4=3;
@@ -553,7 +707,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
switch (alt4) {
case 1 :
- // InternalErDsl.g:1822:21: '\\\\' .
+ // InternalErDsl.g:1931:21: '\\\\' .
{
match('\\');
matchAny();
@@ -561,7 +715,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
}
break;
case 2 :
- // InternalErDsl.g:1822:28: ~ ( ( '\\\\' | '\"' ) )
+ // InternalErDsl.g:1931:28: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -586,10 +740,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
}
break;
case 2 :
- // InternalErDsl.g:1822:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ // InternalErDsl.g:1931:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
- // InternalErDsl.g:1822:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ // InternalErDsl.g:1931:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5:
do {
int alt5=3;
@@ -605,7 +759,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
switch (alt5) {
case 1 :
- // InternalErDsl.g:1822:54: '\\\\' .
+ // InternalErDsl.g:1931:54: '\\\\' .
{
match('\\');
matchAny();
@@ -613,7 +767,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
}
break;
case 2 :
- // InternalErDsl.g:1822:61: ~ ( ( '\\\\' | '\\'' ) )
+ // InternalErDsl.g:1931:61: ~ ( ( '\\\\' | '\\'' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -656,12 +810,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1824:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
- // InternalErDsl.g:1824:19: '/*' ( options {greedy=false; } : . )* '*/'
+ // InternalErDsl.g:1933:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // InternalErDsl.g:1933:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
- // InternalErDsl.g:1824:24: ( options {greedy=false; } : . )*
+ // InternalErDsl.g:1933:24: ( options {greedy=false; } : . )*
loop7:
do {
int alt7=2;
@@ -686,7 +840,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
switch (alt7) {
case 1 :
- // InternalErDsl.g:1824:52: .
+ // InternalErDsl.g:1933:52: .
{
matchAny();
@@ -716,12 +870,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1826:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
- // InternalErDsl.g:1826:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ // InternalErDsl.g:1935:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // InternalErDsl.g:1935:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
- // InternalErDsl.g:1826:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ // InternalErDsl.g:1935:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8:
do {
int alt8=2;
@@ -734,7 +888,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
switch (alt8) {
case 1 :
- // InternalErDsl.g:1826:24: ~ ( ( '\\n' | '\\r' ) )
+ // InternalErDsl.g:1935:24: ~ ( ( '\\n' | '\\r' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -754,7 +908,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
} while (true);
- // InternalErDsl.g:1826:40: ( ( '\\r' )? '\\n' )?
+ // InternalErDsl.g:1935:40: ( ( '\\r' )? '\\n' )?
int alt10=2;
int LA10_0 = input.LA(1);
@@ -763,9 +917,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
switch (alt10) {
case 1 :
- // InternalErDsl.g:1826:41: ( '\\r' )? '\\n'
+ // InternalErDsl.g:1935:41: ( '\\r' )? '\\n'
{
- // InternalErDsl.g:1826:41: ( '\\r' )?
+ // InternalErDsl.g:1935:41: ( '\\r' )?
int alt9=2;
int LA9_0 = input.LA(1);
@@ -774,7 +928,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
switch (alt9) {
case 1 :
- // InternalErDsl.g:1826:41: '\\r'
+ // InternalErDsl.g:1935:41: '\\r'
{
match('\r');
@@ -806,10 +960,10 @@ public final void mRULE_WS() throws RecognitionException {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1828:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
- // InternalErDsl.g:1828:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalErDsl.g:1937:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // InternalErDsl.g:1937:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
- // InternalErDsl.g:1828:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalErDsl.g:1937:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt11=0;
loop11:
do {
@@ -863,8 +1017,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:1830:16: ( . )
- // InternalErDsl.g:1830:18: .
+ // InternalErDsl.g:1939:16: ( . )
+ // InternalErDsl.g:1939:18: .
{
matchAny();
@@ -879,8 +1033,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
// $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException {
- // InternalErDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
- int alt12=23;
+ // InternalErDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=30;
alt12 = dfa12.predict(input);
switch (alt12) {
case 1 :
@@ -996,49 +1150,98 @@ public void mTokens() throws RecognitionException {
}
break;
case 17 :
- // InternalErDsl.g:1:106: RULE_ID
+ // InternalErDsl.g:1:106: T__27
{
- mRULE_ID();
+ mT__27();
}
break;
case 18 :
- // InternalErDsl.g:1:114: RULE_INT
+ // InternalErDsl.g:1:112: T__28
{
- mRULE_INT();
+ mT__28();
}
break;
case 19 :
- // InternalErDsl.g:1:123: RULE_STRING
+ // InternalErDsl.g:1:118: T__29
{
- mRULE_STRING();
+ mT__29();
}
break;
case 20 :
- // InternalErDsl.g:1:135: RULE_ML_COMMENT
+ // InternalErDsl.g:1:124: T__30
{
- mRULE_ML_COMMENT();
+ mT__30();
}
break;
case 21 :
- // InternalErDsl.g:1:151: RULE_SL_COMMENT
+ // InternalErDsl.g:1:130: T__31
{
- mRULE_SL_COMMENT();
+ mT__31();
}
break;
case 22 :
- // InternalErDsl.g:1:167: RULE_WS
+ // InternalErDsl.g:1:136: T__32
{
- mRULE_WS();
+ mT__32();
}
break;
case 23 :
- // InternalErDsl.g:1:175: RULE_ANY_OTHER
+ // InternalErDsl.g:1:142: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 24 :
+ // InternalErDsl.g:1:148: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 25 :
+ // InternalErDsl.g:1:156: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 26 :
+ // InternalErDsl.g:1:165: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 27 :
+ // InternalErDsl.g:1:177: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 28 :
+ // InternalErDsl.g:1:193: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 29 :
+ // InternalErDsl.g:1:209: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 30 :
+ // InternalErDsl.g:1:217: RULE_ANY_OTHER
{
mRULE_ANY_OTHER();
@@ -1052,69 +1255,48 @@ public void mTokens() throws RecognitionException {
protected DFA12 dfa12 = new DFA12(this);
static final String DFA12_eotS =
- "\1\uffff\1\24\1\uffff\1\31\2\uffff\3\31\2\uffff\1\31\1\uffff\1\24\2\uffff\3\24\5\uffff\1\31\3\uffff\2\31\1\56\2\uffff\1\31\10\uffff\4\31\1\uffff\1\31\4\uffff\14\31\1\105\4\31\1\uffff\1\31\1\113\1\114\2\31\2\uffff\7\31\1\126\1\127\2\uffff";
+ "\1\uffff\1\31\6\36\1\uffff\1\36\2\uffff\2\36\2\uffff\1\36\1\uffff\1\31\2\uffff\3\31\4\uffff\1\36\1\70\1\uffff\6\36\1\uffff\1\36\2\uffff\2\36\2\uffff\1\36\10\uffff\1\107\1\36\1\uffff\12\36\5\uffff\6\36\1\131\7\36\1\141\2\36\1\uffff\5\36\1\151\1\36\1\uffff\1\153\3\36\1\157\2\36\1\uffff\1\36\1\uffff\1\163\2\36\1\uffff\1\166\1\36\1\170\1\uffff\1\171\1\36\1\uffff\1\36\2\uffff\5\36\1\u0081\1\36\1\uffff\1\u0083\1\uffff";
static final String DFA12_eofS =
- "\130\uffff";
+ "\u0084\uffff";
static final String DFA12_minS =
- "\1\0\1\60\1\uffff\1\156\2\uffff\1\145\1\157\1\163\2\uffff\1\145\1\uffff\1\101\2\uffff\2\0\1\52\2\uffff\2\72\1\uffff\1\164\3\uffff\1\154\1\155\1\60\2\uffff\1\154\6\uffff\2\61\1\151\2\141\1\144\1\uffff\1\141\4\uffff\2\164\1\151\1\145\1\164\2\151\2\156\2\145\1\157\1\60\1\164\2\163\1\156\1\uffff\1\151\2\60\1\163\1\146\2\uffff\1\150\2\151\1\145\1\160\1\162\1\163\2\60\2\uffff";
+ "\1\0\1\60\1\156\1\141\1\157\1\164\1\157\1\151\1\uffff\1\156\2\uffff\1\145\1\157\2\uffff\1\145\1\uffff\1\101\2\uffff\2\0\1\52\2\uffff\2\72\1\164\1\60\1\uffff\1\165\1\164\1\156\1\162\1\157\1\154\1\uffff\1\164\2\uffff\1\154\1\155\2\uffff\1\154\6\uffff\2\61\1\60\1\144\1\uffff\1\142\2\145\1\151\1\154\1\145\1\151\3\141\5\uffff\1\145\1\154\1\164\1\171\1\156\1\145\1\60\2\164\1\151\1\164\1\156\1\145\1\151\1\60\1\147\1\141\1\uffff\2\151\1\156\1\145\1\164\1\60\1\155\1\uffff\1\60\1\156\1\145\1\157\1\60\1\163\1\151\1\uffff\1\145\1\uffff\1\60\1\163\1\156\1\uffff\1\60\1\146\1\60\1\uffff\1\60\1\163\1\uffff\1\151\2\uffff\1\150\1\145\1\151\1\162\1\160\1\60\1\163\1\uffff\1\60\1\uffff";
static final String DFA12_maxS =
- "\1\uffff\1\61\1\uffff\1\156\2\uffff\1\145\1\157\1\163\2\uffff\1\145\1\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\2\72\1\uffff\1\164\3\uffff\1\154\1\155\1\172\2\uffff\1\154\6\uffff\2\116\1\151\2\141\1\144\1\uffff\1\141\4\uffff\2\164\1\151\1\145\1\164\2\151\2\156\2\145\1\157\1\172\1\164\2\163\1\156\1\uffff\1\151\2\172\1\163\1\146\2\uffff\1\150\2\151\1\145\1\160\1\162\1\163\2\172\2\uffff";
+ "\1\uffff\1\61\1\163\2\157\1\164\1\157\1\151\1\uffff\1\156\2\uffff\1\145\1\157\2\uffff\1\145\1\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\2\72\1\164\1\172\1\uffff\1\165\1\164\1\156\1\162\1\157\1\154\1\uffff\1\164\2\uffff\1\154\1\155\2\uffff\1\154\6\uffff\2\116\1\172\1\144\1\uffff\1\142\2\145\1\151\1\154\1\145\1\151\3\141\5\uffff\1\145\1\154\1\164\1\171\1\156\1\145\1\172\2\164\1\151\1\164\1\156\1\145\1\151\1\172\1\147\1\141\1\uffff\2\151\1\156\1\145\1\164\1\172\1\155\1\uffff\1\172\1\156\1\145\1\157\1\172\1\163\1\151\1\uffff\1\145\1\uffff\1\172\1\163\1\156\1\uffff\1\172\1\146\1\172\1\uffff\1\172\1\163\1\uffff\1\151\2\uffff\1\150\1\145\1\151\1\162\1\160\1\172\1\163\1\uffff\1\172\1\uffff";
static final String DFA12_acceptS =
- "\2\uffff\1\5\1\uffff\1\7\1\10\3\uffff\1\14\1\15\1\uffff\1\17\1\uffff\1\21\1\22\3\uffff\1\26\1\27\2\uffff\1\5\1\uffff\1\21\1\7\1\10\3\uffff\1\14\1\15\1\uffff\1\17\1\22\1\23\1\24\1\25\1\26\6\uffff\1\13\1\uffff\1\1\1\3\1\2\1\4\21\uffff\1\12\5\uffff\1\16\1\6\11\uffff\1\20\1\11";
+ "\10\uffff\1\14\1\uffff\1\16\1\17\2\uffff\1\23\1\24\1\uffff\1\26\1\uffff\1\30\1\31\3\uffff\1\35\1\36\4\uffff\1\30\6\uffff\1\14\1\uffff\1\16\1\17\2\uffff\1\23\1\24\1\uffff\1\26\1\31\1\32\1\33\1\34\1\35\4\uffff\1\22\12\uffff\1\1\1\3\1\2\1\4\1\5\21\uffff\1\13\7\uffff\1\7\7\uffff\1\6\1\uffff\1\10\3\uffff\1\21\3\uffff\1\11\2\uffff\1\25\1\uffff\1\12\1\15\7\uffff\1\27\1\uffff\1\20";
static final String DFA12_specialS =
- "\1\0\17\uffff\1\1\1\2\106\uffff}>";
+ "\1\2\24\uffff\1\0\1\1\155\uffff}>";
static final String[] DFA12_transitionS = {
- "\11\24\2\23\2\24\1\23\22\24\1\23\1\24\1\20\4\24\1\21\1\1\3\24\1\11\2\24\1\22\12\17\1\24\1\2\5\24\3\16\1\7\1\3\14\16\1\6\10\16\1\12\1\24\1\14\1\15\1\16\1\24\10\16\1\10\10\16\1\13\10\16\1\4\1\24\1\5\uff82\24",
- "\1\25\1\26",
- "",
- "\1\30",
- "",
- "",
- "\1\34",
- "\1\35",
- "\1\36",
- "",
- "",
+ "\11\31\2\30\2\31\1\30\22\31\1\30\1\31\1\25\4\31\1\26\1\1\3\31\1\16\2\31\1\27\12\24\1\31\1\10\5\31\3\23\1\15\1\11\14\23\1\14\10\23\1\17\1\31\1\21\1\22\1\23\1\31\1\23\1\6\1\23\1\3\1\23\1\7\2\23\1\2\3\23\1\4\4\23\1\20\1\5\7\23\1\12\1\31\1\13\uff82\31",
+ "\1\32\1\33",
+ "\1\34\4\uffff\1\35",
+ "\1\40\15\uffff\1\37",
"\1\41",
+ "\1\42",
+ "\1\43",
+ "\1\44",
"",
- "\32\31\4\uffff\1\31\1\uffff\32\31",
- "",
- "",
- "\0\44",
- "\0\44",
- "\1\45\4\uffff\1\46",
+ "\1\46",
"",
"",
- "\1\50",
"\1\51",
- "",
"\1\52",
"",
"",
+ "\1\55",
"",
- "\1\53",
- "\1\54",
- "\12\31\7\uffff\10\31\1\55\21\31\4\uffff\1\31\1\uffff\32\31",
- "",
- "",
- "\1\57",
+ "\32\36\4\uffff\1\36\1\uffff\32\36",
"",
"",
+ "\0\60",
+ "\0\60",
+ "\1\61\4\uffff\1\62",
"",
"",
- "",
- "",
- "\1\60\34\uffff\1\61",
- "\1\62\34\uffff\1\63",
"\1\64",
"\1\65",
"\1\66",
- "\1\67",
- "",
- "\1\70",
- "",
- "",
- "",
+ "\12\36\7\uffff\10\36\1\67\21\36\4\uffff\1\36\1\uffff\32\36",
"",
"\1\71",
"\1\72",
@@ -1122,35 +1304,100 @@ public void mTokens() throws RecognitionException {
"\1\74",
"\1\75",
"\1\76",
+ "",
"\1\77",
+ "",
+ "",
"\1\100",
"\1\101",
+ "",
+ "",
"\1\102",
- "\1\103",
- "\1\104",
- "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
- "\1\106",
- "\1\107",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\103\34\uffff\1\104",
+ "\1\105\34\uffff\1\106",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
"\1\110",
- "\1\111",
"",
+ "\1\111",
"\1\112",
- "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
- "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
+ "\1\113",
+ "\1\114",
"\1\115",
"\1\116",
- "",
- "",
"\1\117",
"\1\120",
"\1\121",
"\1\122",
+ "",
+ "",
+ "",
+ "",
+ "",
"\1\123",
"\1\124",
"\1\125",
- "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
- "\12\31\7\uffff\32\31\4\uffff\1\31\1\uffff\32\31",
+ "\1\126",
+ "\1\127",
+ "\1\130",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\132",
+ "\1\133",
+ "\1\134",
+ "\1\135",
+ "\1\136",
+ "\1\137",
+ "\1\140",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\142",
+ "\1\143",
+ "",
+ "\1\144",
+ "\1\145",
+ "\1\146",
+ "\1\147",
+ "\1\150",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\152",
+ "",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\154",
+ "\1\155",
+ "\1\156",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\160",
+ "\1\161",
+ "",
+ "\1\162",
"",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\164",
+ "\1\165",
+ "",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\167",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\172",
+ "",
+ "\1\173",
+ "",
+ "",
+ "\1\174",
+ "\1\175",
+ "\1\176",
+ "\1\177",
+ "\1\u0080",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
+ "\1\u0082",
+ "",
+ "\12\36\7\uffff\32\36\4\uffff\1\36\1\uffff\32\36",
""
};
@@ -1184,75 +1431,85 @@ public DFA12(BaseRecognizer recognizer) {
this.transition = DFA12_transition;
}
public String getDescription() {
- return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
+ int LA12_21 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_21>='\u0000' && LA12_21<='\uFFFF')) ) {s = 48;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_22 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_22>='\u0000' && LA12_22<='\uFFFF')) ) {s = 48;}
+
+ else s = 25;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
int LA12_0 = input.LA(1);
s = -1;
if ( (LA12_0=='(') ) {s = 1;}
- else if ( (LA12_0==';') ) {s = 2;}
-
- else if ( (LA12_0=='E') ) {s = 3;}
+ else if ( (LA12_0=='i') ) {s = 2;}
- else if ( (LA12_0=='{') ) {s = 4;}
+ else if ( (LA12_0=='d') ) {s = 3;}
- else if ( (LA12_0=='}') ) {s = 5;}
+ else if ( (LA12_0=='m') ) {s = 4;}
- else if ( (LA12_0=='R') ) {s = 6;}
+ else if ( (LA12_0=='s') ) {s = 5;}
- else if ( (LA12_0=='D') ) {s = 7;}
+ else if ( (LA12_0=='b') ) {s = 6;}
- else if ( (LA12_0=='i') ) {s = 8;}
+ else if ( (LA12_0=='f') ) {s = 7;}
- else if ( (LA12_0==',') ) {s = 9;}
+ else if ( (LA12_0==';') ) {s = 8;}
- else if ( (LA12_0=='[') ) {s = 10;}
+ else if ( (LA12_0=='E') ) {s = 9;}
- else if ( (LA12_0=='r') ) {s = 11;}
+ else if ( (LA12_0=='{') ) {s = 10;}
- else if ( (LA12_0==']') ) {s = 12;}
+ else if ( (LA12_0=='}') ) {s = 11;}
- else if ( (LA12_0=='^') ) {s = 13;}
+ else if ( (LA12_0=='R') ) {s = 12;}
- else if ( ((LA12_0>='A' && LA12_0<='C')||(LA12_0>='F' && LA12_0<='Q')||(LA12_0>='S' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='q')||(LA12_0>='s' && LA12_0<='z')) ) {s = 14;}
+ else if ( (LA12_0=='D') ) {s = 13;}
- else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 15;}
+ else if ( (LA12_0==',') ) {s = 14;}
- else if ( (LA12_0=='\"') ) {s = 16;}
+ else if ( (LA12_0=='[') ) {s = 15;}
- else if ( (LA12_0=='\'') ) {s = 17;}
+ else if ( (LA12_0=='r') ) {s = 16;}
- else if ( (LA12_0=='/') ) {s = 18;}
+ else if ( (LA12_0==']') ) {s = 17;}
- else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 19;}
+ else if ( (LA12_0=='^') ) {s = 18;}
- else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>=')' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 20;}
+ else if ( ((LA12_0>='A' && LA12_0<='C')||(LA12_0>='F' && LA12_0<='Q')||(LA12_0>='S' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='a'||LA12_0=='c'||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='n' && LA12_0<='q')||(LA12_0>='t' && LA12_0<='z')) ) {s = 19;}
- if ( s>=0 ) return s;
- break;
- case 1 :
- int LA12_16 = input.LA(1);
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 20;}
- s = -1;
- if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 36;}
+ else if ( (LA12_0=='\"') ) {s = 21;}
- else s = 20;
+ else if ( (LA12_0=='\'') ) {s = 22;}
- if ( s>=0 ) return s;
- break;
- case 2 :
- int LA12_17 = input.LA(1);
+ else if ( (LA12_0=='/') ) {s = 23;}
- s = -1;
- if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 36;}
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 24;}
- else s = 20;
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>=')' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 25;}
if ( s>=0 ) return s;
break;
diff --git a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.java b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.java
index 5da9fbd..a959557 100644
--- a/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.java
+++ b/org.xtext.unipampa.erdsl.ide/src-gen/org/xtext/unipampa/erdsl/ide/contentassist/antlr/internal/InternalErDslParser.java
@@ -22,7 +22,7 @@
@SuppressWarnings("all")
public class InternalErDslParser extends AbstractInternalContentAssistParser {
public static final String[] tokenNames = new String[] {
- "", "", "", "", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'(0:1)'", "'(1:1)'", "'(0:N)'", "'(1:N)'", "';'", "'Entities'", "'{'", "'}'", "'Relationships'", "'Domain'", "'is'", "','", "'['", "'relates'", "']'", "'isIdentifier'"
+ "", "", "", "", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'(0:1)'", "'(1:1)'", "'(0:N)'", "'(1:N)'", "'int'", "'double'", "'money'", "'string'", "'boolean'", "'datetime'", "'file'", "';'", "'Entities'", "'{'", "'}'", "'Relationships'", "'Domain'", "'is'", "','", "'['", "'relates'", "']'", "'isIdentifier'"
};
public static final int RULE_STRING=6;
public static final int RULE_SL_COMMENT=8;
@@ -32,15 +32,22 @@ public class InternalErDslParser extends AbstractInternalContentAssistParser {
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
+ public static final int T__33=33;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
public static final int RULE_ID=4;
public static final int RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
public static final int RULE_INT=5;
+ public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
public static final int T__23=23;
@@ -546,14 +553,61 @@ public final void ruleRelationSide() throws RecognitionException {
// $ANTLR end "ruleRelationSide"
+ // $ANTLR start "ruleDataType"
+ // InternalErDsl.g:203:1: ruleDataType : ( ( rule__DataType__Alternatives ) ) ;
+ public final void ruleDataType() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalErDsl.g:207:1: ( ( ( rule__DataType__Alternatives ) ) )
+ // InternalErDsl.g:208:2: ( ( rule__DataType__Alternatives ) )
+ {
+ // InternalErDsl.g:208:2: ( ( rule__DataType__Alternatives ) )
+ // InternalErDsl.g:209:3: ( rule__DataType__Alternatives )
+ {
+ before(grammarAccess.getDataTypeAccess().getAlternatives());
+ // InternalErDsl.g:210:3: ( rule__DataType__Alternatives )
+ // InternalErDsl.g:210:4: rule__DataType__Alternatives
+ {
+ pushFollow(FOLLOW_2);
+ rule__DataType__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDataType"
+
+
// $ANTLR start "rule__RelationSide__Alternatives"
- // InternalErDsl.g:202:1: rule__RelationSide__Alternatives : ( ( ( rule__RelationSide__Group_0__0 ) ) | ( ( rule__RelationSide__TargetAssignment_1 ) ) );
+ // InternalErDsl.g:218:1: rule__RelationSide__Alternatives : ( ( ( rule__RelationSide__Group_0__0 ) ) | ( ( rule__RelationSide__TargetAssignment_1 ) ) );
public final void rule__RelationSide__Alternatives() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:206:1: ( ( ( rule__RelationSide__Group_0__0 ) ) | ( ( rule__RelationSide__TargetAssignment_1 ) ) )
+ // InternalErDsl.g:222:1: ( ( ( rule__RelationSide__Group_0__0 ) ) | ( ( rule__RelationSide__TargetAssignment_1 ) ) )
int alt1=2;
int LA1_0 = input.LA(1);
@@ -571,14 +625,14 @@ else if ( (LA1_0==RULE_ID) ) {
}
switch (alt1) {
case 1 :
- // InternalErDsl.g:207:2: ( ( rule__RelationSide__Group_0__0 ) )
+ // InternalErDsl.g:223:2: ( ( rule__RelationSide__Group_0__0 ) )
{
- // InternalErDsl.g:207:2: ( ( rule__RelationSide__Group_0__0 ) )
- // InternalErDsl.g:208:3: ( rule__RelationSide__Group_0__0 )
+ // InternalErDsl.g:223:2: ( ( rule__RelationSide__Group_0__0 ) )
+ // InternalErDsl.g:224:3: ( rule__RelationSide__Group_0__0 )
{
before(grammarAccess.getRelationSideAccess().getGroup_0());
- // InternalErDsl.g:209:3: ( rule__RelationSide__Group_0__0 )
- // InternalErDsl.g:209:4: rule__RelationSide__Group_0__0
+ // InternalErDsl.g:225:3: ( rule__RelationSide__Group_0__0 )
+ // InternalErDsl.g:225:4: rule__RelationSide__Group_0__0
{
pushFollow(FOLLOW_2);
rule__RelationSide__Group_0__0();
@@ -596,14 +650,14 @@ else if ( (LA1_0==RULE_ID) ) {
}
break;
case 2 :
- // InternalErDsl.g:213:2: ( ( rule__RelationSide__TargetAssignment_1 ) )
+ // InternalErDsl.g:229:2: ( ( rule__RelationSide__TargetAssignment_1 ) )
{
- // InternalErDsl.g:213:2: ( ( rule__RelationSide__TargetAssignment_1 ) )
- // InternalErDsl.g:214:3: ( rule__RelationSide__TargetAssignment_1 )
+ // InternalErDsl.g:229:2: ( ( rule__RelationSide__TargetAssignment_1 ) )
+ // InternalErDsl.g:230:3: ( rule__RelationSide__TargetAssignment_1 )
{
before(grammarAccess.getRelationSideAccess().getTargetAssignment_1());
- // InternalErDsl.g:215:3: ( rule__RelationSide__TargetAssignment_1 )
- // InternalErDsl.g:215:4: rule__RelationSide__TargetAssignment_1
+ // InternalErDsl.g:231:3: ( rule__RelationSide__TargetAssignment_1 )
+ // InternalErDsl.g:231:4: rule__RelationSide__TargetAssignment_1
{
pushFollow(FOLLOW_2);
rule__RelationSide__TargetAssignment_1();
@@ -638,13 +692,13 @@ else if ( (LA1_0==RULE_ID) ) {
// $ANTLR start "rule__RelationSide__CardinalityAlternatives_0_0_0"
- // InternalErDsl.g:223:1: rule__RelationSide__CardinalityAlternatives_0_0_0 : ( ( '(0:1)' ) | ( '(1:1)' ) | ( '(0:N)' ) | ( '(1:N)' ) );
+ // InternalErDsl.g:239:1: rule__RelationSide__CardinalityAlternatives_0_0_0 : ( ( '(0:1)' ) | ( '(1:1)' ) | ( '(0:N)' ) | ( '(1:N)' ) );
public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:227:1: ( ( '(0:1)' ) | ( '(1:1)' ) | ( '(0:N)' ) | ( '(1:N)' ) )
+ // InternalErDsl.g:243:1: ( ( '(0:1)' ) | ( '(1:1)' ) | ( '(0:N)' ) | ( '(1:N)' ) )
int alt2=4;
switch ( input.LA(1) ) {
case 11:
@@ -676,10 +730,10 @@ public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws Rec
switch (alt2) {
case 1 :
- // InternalErDsl.g:228:2: ( '(0:1)' )
+ // InternalErDsl.g:244:2: ( '(0:1)' )
{
- // InternalErDsl.g:228:2: ( '(0:1)' )
- // InternalErDsl.g:229:3: '(0:1)'
+ // InternalErDsl.g:244:2: ( '(0:1)' )
+ // InternalErDsl.g:245:3: '(0:1)'
{
before(grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
match(input,11,FOLLOW_2);
@@ -691,10 +745,10 @@ public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws Rec
}
break;
case 2 :
- // InternalErDsl.g:234:2: ( '(1:1)' )
+ // InternalErDsl.g:250:2: ( '(1:1)' )
{
- // InternalErDsl.g:234:2: ( '(1:1)' )
- // InternalErDsl.g:235:3: '(1:1)'
+ // InternalErDsl.g:250:2: ( '(1:1)' )
+ // InternalErDsl.g:251:3: '(1:1)'
{
before(grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
match(input,12,FOLLOW_2);
@@ -706,10 +760,10 @@ public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws Rec
}
break;
case 3 :
- // InternalErDsl.g:240:2: ( '(0:N)' )
+ // InternalErDsl.g:256:2: ( '(0:N)' )
{
- // InternalErDsl.g:240:2: ( '(0:N)' )
- // InternalErDsl.g:241:3: '(0:N)'
+ // InternalErDsl.g:256:2: ( '(0:N)' )
+ // InternalErDsl.g:257:3: '(0:N)'
{
before(grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
match(input,13,FOLLOW_2);
@@ -721,10 +775,10 @@ public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws Rec
}
break;
case 4 :
- // InternalErDsl.g:246:2: ( '(1:N)' )
+ // InternalErDsl.g:262:2: ( '(1:N)' )
{
- // InternalErDsl.g:246:2: ( '(1:N)' )
- // InternalErDsl.g:247:3: '(1:N)'
+ // InternalErDsl.g:262:2: ( '(1:N)' )
+ // InternalErDsl.g:263:3: '(1:N)'
{
before(grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
match(input,14,FOLLOW_2);
@@ -752,15 +806,232 @@ public final void rule__RelationSide__CardinalityAlternatives_0_0_0() throws Rec
// $ANTLR end "rule__RelationSide__CardinalityAlternatives_0_0_0"
+ // $ANTLR start "rule__DataType__Alternatives"
+ // InternalErDsl.g:272:1: rule__DataType__Alternatives : ( ( ( 'int' ) ) | ( ( 'double' ) ) | ( ( 'money' ) ) | ( ( 'string' ) ) | ( ( 'boolean' ) ) | ( ( 'datetime' ) ) | ( ( 'file' ) ) );
+ public final void rule__DataType__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalErDsl.g:276:1: ( ( ( 'int' ) ) | ( ( 'double' ) ) | ( ( 'money' ) ) | ( ( 'string' ) ) | ( ( 'boolean' ) ) | ( ( 'datetime' ) ) | ( ( 'file' ) ) )
+ int alt3=7;
+ switch ( input.LA(1) ) {
+ case 15:
+ {
+ alt3=1;
+ }
+ break;
+ case 16:
+ {
+ alt3=2;
+ }
+ break;
+ case 17:
+ {
+ alt3=3;
+ }
+ break;
+ case 18:
+ {
+ alt3=4;
+ }
+ break;
+ case 19:
+ {
+ alt3=5;
+ }
+ break;
+ case 20:
+ {
+ alt3=6;
+ }
+ break;
+ case 21:
+ {
+ alt3=7;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt3) {
+ case 1 :
+ // InternalErDsl.g:277:2: ( ( 'int' ) )
+ {
+ // InternalErDsl.g:277:2: ( ( 'int' ) )
+ // InternalErDsl.g:278:3: ( 'int' )
+ {
+ before(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0());
+ // InternalErDsl.g:279:3: ( 'int' )
+ // InternalErDsl.g:279:4: 'int'
+ {
+ match(input,15,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // InternalErDsl.g:283:2: ( ( 'double' ) )
+ {
+ // InternalErDsl.g:283:2: ( ( 'double' ) )
+ // InternalErDsl.g:284:3: ( 'double' )
+ {
+ before(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1());
+ // InternalErDsl.g:285:3: ( 'double' )
+ // InternalErDsl.g:285:4: 'double'
+ {
+ match(input,16,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // InternalErDsl.g:289:2: ( ( 'money' ) )
+ {
+ // InternalErDsl.g:289:2: ( ( 'money' ) )
+ // InternalErDsl.g:290:3: ( 'money' )
+ {
+ before(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2());
+ // InternalErDsl.g:291:3: ( 'money' )
+ // InternalErDsl.g:291:4: 'money'
+ {
+ match(input,17,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2());
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // InternalErDsl.g:295:2: ( ( 'string' ) )
+ {
+ // InternalErDsl.g:295:2: ( ( 'string' ) )
+ // InternalErDsl.g:296:3: ( 'string' )
+ {
+ before(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3());
+ // InternalErDsl.g:297:3: ( 'string' )
+ // InternalErDsl.g:297:4: 'string'
+ {
+ match(input,18,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3());
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // InternalErDsl.g:301:2: ( ( 'boolean' ) )
+ {
+ // InternalErDsl.g:301:2: ( ( 'boolean' ) )
+ // InternalErDsl.g:302:3: ( 'boolean' )
+ {
+ before(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4());
+ // InternalErDsl.g:303:3: ( 'boolean' )
+ // InternalErDsl.g:303:4: 'boolean'
+ {
+ match(input,19,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4());
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // InternalErDsl.g:307:2: ( ( 'datetime' ) )
+ {
+ // InternalErDsl.g:307:2: ( ( 'datetime' ) )
+ // InternalErDsl.g:308:3: ( 'datetime' )
+ {
+ before(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5());
+ // InternalErDsl.g:309:3: ( 'datetime' )
+ // InternalErDsl.g:309:4: 'datetime'
+ {
+ match(input,20,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5());
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // InternalErDsl.g:313:2: ( ( 'file' ) )
+ {
+ // InternalErDsl.g:313:2: ( ( 'file' ) )
+ // InternalErDsl.g:314:3: ( 'file' )
+ {
+ before(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6());
+ // InternalErDsl.g:315:3: ( 'file' )
+ // InternalErDsl.g:315:4: 'file'
+ {
+ match(input,21,FOLLOW_2);
+
+ }
+
+ after(grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DataType__Alternatives"
+
+
// $ANTLR start "rule__ERModel__Group__0"
- // InternalErDsl.g:256:1: rule__ERModel__Group__0 : rule__ERModel__Group__0__Impl rule__ERModel__Group__1 ;
+ // InternalErDsl.g:323:1: rule__ERModel__Group__0 : rule__ERModel__Group__0__Impl rule__ERModel__Group__1 ;
public final void rule__ERModel__Group__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:260:1: ( rule__ERModel__Group__0__Impl rule__ERModel__Group__1 )
- // InternalErDsl.g:261:2: rule__ERModel__Group__0__Impl rule__ERModel__Group__1
+ // InternalErDsl.g:327:1: ( rule__ERModel__Group__0__Impl rule__ERModel__Group__1 )
+ // InternalErDsl.g:328:2: rule__ERModel__Group__0__Impl rule__ERModel__Group__1
{
pushFollow(FOLLOW_3);
rule__ERModel__Group__0__Impl();
@@ -791,21 +1062,21 @@ public final void rule__ERModel__Group__0() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__0__Impl"
- // InternalErDsl.g:268:1: rule__ERModel__Group__0__Impl : ( ( rule__ERModel__DomainAssignment_0 ) ) ;
+ // InternalErDsl.g:335:1: rule__ERModel__Group__0__Impl : ( ( rule__ERModel__DomainAssignment_0 ) ) ;
public final void rule__ERModel__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:272:1: ( ( ( rule__ERModel__DomainAssignment_0 ) ) )
- // InternalErDsl.g:273:1: ( ( rule__ERModel__DomainAssignment_0 ) )
+ // InternalErDsl.g:339:1: ( ( ( rule__ERModel__DomainAssignment_0 ) ) )
+ // InternalErDsl.g:340:1: ( ( rule__ERModel__DomainAssignment_0 ) )
{
- // InternalErDsl.g:273:1: ( ( rule__ERModel__DomainAssignment_0 ) )
- // InternalErDsl.g:274:2: ( rule__ERModel__DomainAssignment_0 )
+ // InternalErDsl.g:340:1: ( ( rule__ERModel__DomainAssignment_0 ) )
+ // InternalErDsl.g:341:2: ( rule__ERModel__DomainAssignment_0 )
{
before(grammarAccess.getERModelAccess().getDomainAssignment_0());
- // InternalErDsl.g:275:2: ( rule__ERModel__DomainAssignment_0 )
- // InternalErDsl.g:275:3: rule__ERModel__DomainAssignment_0
+ // InternalErDsl.g:342:2: ( rule__ERModel__DomainAssignment_0 )
+ // InternalErDsl.g:342:3: rule__ERModel__DomainAssignment_0
{
pushFollow(FOLLOW_2);
rule__ERModel__DomainAssignment_0();
@@ -838,14 +1109,14 @@ public final void rule__ERModel__Group__0__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__1"
- // InternalErDsl.g:283:1: rule__ERModel__Group__1 : rule__ERModel__Group__1__Impl rule__ERModel__Group__2 ;
+ // InternalErDsl.g:350:1: rule__ERModel__Group__1 : rule__ERModel__Group__1__Impl rule__ERModel__Group__2 ;
public final void rule__ERModel__Group__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:287:1: ( rule__ERModel__Group__1__Impl rule__ERModel__Group__2 )
- // InternalErDsl.g:288:2: rule__ERModel__Group__1__Impl rule__ERModel__Group__2
+ // InternalErDsl.g:354:1: ( rule__ERModel__Group__1__Impl rule__ERModel__Group__2 )
+ // InternalErDsl.g:355:2: rule__ERModel__Group__1__Impl rule__ERModel__Group__2
{
pushFollow(FOLLOW_4);
rule__ERModel__Group__1__Impl();
@@ -876,20 +1147,20 @@ public final void rule__ERModel__Group__1() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__1__Impl"
- // InternalErDsl.g:295:1: rule__ERModel__Group__1__Impl : ( ';' ) ;
+ // InternalErDsl.g:362:1: rule__ERModel__Group__1__Impl : ( ';' ) ;
public final void rule__ERModel__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:299:1: ( ( ';' ) )
- // InternalErDsl.g:300:1: ( ';' )
+ // InternalErDsl.g:366:1: ( ( ';' ) )
+ // InternalErDsl.g:367:1: ( ';' )
{
- // InternalErDsl.g:300:1: ( ';' )
- // InternalErDsl.g:301:2: ';'
+ // InternalErDsl.g:367:1: ( ';' )
+ // InternalErDsl.g:368:2: ';'
{
before(grammarAccess.getERModelAccess().getSemicolonKeyword_1());
- match(input,15,FOLLOW_2);
+ match(input,22,FOLLOW_2);
after(grammarAccess.getERModelAccess().getSemicolonKeyword_1());
}
@@ -913,14 +1184,14 @@ public final void rule__ERModel__Group__1__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__2"
- // InternalErDsl.g:310:1: rule__ERModel__Group__2 : rule__ERModel__Group__2__Impl rule__ERModel__Group__3 ;
+ // InternalErDsl.g:377:1: rule__ERModel__Group__2 : rule__ERModel__Group__2__Impl rule__ERModel__Group__3 ;
public final void rule__ERModel__Group__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:314:1: ( rule__ERModel__Group__2__Impl rule__ERModel__Group__3 )
- // InternalErDsl.g:315:2: rule__ERModel__Group__2__Impl rule__ERModel__Group__3
+ // InternalErDsl.g:381:1: ( rule__ERModel__Group__2__Impl rule__ERModel__Group__3 )
+ // InternalErDsl.g:382:2: rule__ERModel__Group__2__Impl rule__ERModel__Group__3
{
pushFollow(FOLLOW_5);
rule__ERModel__Group__2__Impl();
@@ -951,21 +1222,21 @@ public final void rule__ERModel__Group__2() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__2__Impl"
- // InternalErDsl.g:322:1: rule__ERModel__Group__2__Impl : ( ( rule__ERModel__Group_2__0 ) ) ;
+ // InternalErDsl.g:389:1: rule__ERModel__Group__2__Impl : ( ( rule__ERModel__Group_2__0 ) ) ;
public final void rule__ERModel__Group__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:326:1: ( ( ( rule__ERModel__Group_2__0 ) ) )
- // InternalErDsl.g:327:1: ( ( rule__ERModel__Group_2__0 ) )
+ // InternalErDsl.g:393:1: ( ( ( rule__ERModel__Group_2__0 ) ) )
+ // InternalErDsl.g:394:1: ( ( rule__ERModel__Group_2__0 ) )
{
- // InternalErDsl.g:327:1: ( ( rule__ERModel__Group_2__0 ) )
- // InternalErDsl.g:328:2: ( rule__ERModel__Group_2__0 )
+ // InternalErDsl.g:394:1: ( ( rule__ERModel__Group_2__0 ) )
+ // InternalErDsl.g:395:2: ( rule__ERModel__Group_2__0 )
{
before(grammarAccess.getERModelAccess().getGroup_2());
- // InternalErDsl.g:329:2: ( rule__ERModel__Group_2__0 )
- // InternalErDsl.g:329:3: rule__ERModel__Group_2__0
+ // InternalErDsl.g:396:2: ( rule__ERModel__Group_2__0 )
+ // InternalErDsl.g:396:3: rule__ERModel__Group_2__0
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_2__0();
@@ -998,14 +1269,14 @@ public final void rule__ERModel__Group__2__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__3"
- // InternalErDsl.g:337:1: rule__ERModel__Group__3 : rule__ERModel__Group__3__Impl rule__ERModel__Group__4 ;
+ // InternalErDsl.g:404:1: rule__ERModel__Group__3 : rule__ERModel__Group__3__Impl rule__ERModel__Group__4 ;
public final void rule__ERModel__Group__3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:341:1: ( rule__ERModel__Group__3__Impl rule__ERModel__Group__4 )
- // InternalErDsl.g:342:2: rule__ERModel__Group__3__Impl rule__ERModel__Group__4
+ // InternalErDsl.g:408:1: ( rule__ERModel__Group__3__Impl rule__ERModel__Group__4 )
+ // InternalErDsl.g:409:2: rule__ERModel__Group__3__Impl rule__ERModel__Group__4
{
pushFollow(FOLLOW_6);
rule__ERModel__Group__3__Impl();
@@ -1036,24 +1307,24 @@ public final void rule__ERModel__Group__3() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__3__Impl"
- // InternalErDsl.g:349:1: rule__ERModel__Group__3__Impl : ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) ) ;
+ // InternalErDsl.g:416:1: rule__ERModel__Group__3__Impl : ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) ) ;
public final void rule__ERModel__Group__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:353:1: ( ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) ) )
- // InternalErDsl.g:354:1: ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) )
+ // InternalErDsl.g:420:1: ( ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) ) )
+ // InternalErDsl.g:421:1: ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) )
{
- // InternalErDsl.g:354:1: ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) )
- // InternalErDsl.g:355:2: ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* )
+ // InternalErDsl.g:421:1: ( ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* ) )
+ // InternalErDsl.g:422:2: ( ( rule__ERModel__EntitiesAssignment_3 ) ) ( ( rule__ERModel__EntitiesAssignment_3 )* )
{
- // InternalErDsl.g:355:2: ( ( rule__ERModel__EntitiesAssignment_3 ) )
- // InternalErDsl.g:356:3: ( rule__ERModel__EntitiesAssignment_3 )
+ // InternalErDsl.g:422:2: ( ( rule__ERModel__EntitiesAssignment_3 ) )
+ // InternalErDsl.g:423:3: ( rule__ERModel__EntitiesAssignment_3 )
{
before(grammarAccess.getERModelAccess().getEntitiesAssignment_3());
- // InternalErDsl.g:357:3: ( rule__ERModel__EntitiesAssignment_3 )
- // InternalErDsl.g:357:4: rule__ERModel__EntitiesAssignment_3
+ // InternalErDsl.g:424:3: ( rule__ERModel__EntitiesAssignment_3 )
+ // InternalErDsl.g:424:4: rule__ERModel__EntitiesAssignment_3
{
pushFollow(FOLLOW_7);
rule__ERModel__EntitiesAssignment_3();
@@ -1067,24 +1338,24 @@ public final void rule__ERModel__Group__3__Impl() throws RecognitionException {
}
- // InternalErDsl.g:360:2: ( ( rule__ERModel__EntitiesAssignment_3 )* )
- // InternalErDsl.g:361:3: ( rule__ERModel__EntitiesAssignment_3 )*
+ // InternalErDsl.g:427:2: ( ( rule__ERModel__EntitiesAssignment_3 )* )
+ // InternalErDsl.g:428:3: ( rule__ERModel__EntitiesAssignment_3 )*
{
before(grammarAccess.getERModelAccess().getEntitiesAssignment_3());
- // InternalErDsl.g:362:3: ( rule__ERModel__EntitiesAssignment_3 )*
- loop3:
+ // InternalErDsl.g:429:3: ( rule__ERModel__EntitiesAssignment_3 )*
+ loop4:
do {
- int alt3=2;
- int LA3_0 = input.LA(1);
+ int alt4=2;
+ int LA4_0 = input.LA(1);
- if ( (LA3_0==RULE_ID) ) {
- alt3=1;
+ if ( (LA4_0==RULE_ID) ) {
+ alt4=1;
}
- switch (alt3) {
+ switch (alt4) {
case 1 :
- // InternalErDsl.g:362:4: rule__ERModel__EntitiesAssignment_3
+ // InternalErDsl.g:429:4: rule__ERModel__EntitiesAssignment_3
{
pushFollow(FOLLOW_7);
rule__ERModel__EntitiesAssignment_3();
@@ -1096,7 +1367,7 @@ public final void rule__ERModel__Group__3__Impl() throws RecognitionException {
break;
default :
- break loop3;
+ break loop4;
}
} while (true);
@@ -1126,14 +1397,14 @@ public final void rule__ERModel__Group__3__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__4"
- // InternalErDsl.g:371:1: rule__ERModel__Group__4 : rule__ERModel__Group__4__Impl rule__ERModel__Group__5 ;
+ // InternalErDsl.g:438:1: rule__ERModel__Group__4 : rule__ERModel__Group__4__Impl rule__ERModel__Group__5 ;
public final void rule__ERModel__Group__4() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:375:1: ( rule__ERModel__Group__4__Impl rule__ERModel__Group__5 )
- // InternalErDsl.g:376:2: rule__ERModel__Group__4__Impl rule__ERModel__Group__5
+ // InternalErDsl.g:442:1: ( rule__ERModel__Group__4__Impl rule__ERModel__Group__5 )
+ // InternalErDsl.g:443:2: rule__ERModel__Group__4__Impl rule__ERModel__Group__5
{
pushFollow(FOLLOW_8);
rule__ERModel__Group__4__Impl();
@@ -1164,21 +1435,21 @@ public final void rule__ERModel__Group__4() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__4__Impl"
- // InternalErDsl.g:383:1: rule__ERModel__Group__4__Impl : ( ( rule__ERModel__Group_4__0 ) ) ;
+ // InternalErDsl.g:450:1: rule__ERModel__Group__4__Impl : ( ( rule__ERModel__Group_4__0 ) ) ;
public final void rule__ERModel__Group__4__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:387:1: ( ( ( rule__ERModel__Group_4__0 ) ) )
- // InternalErDsl.g:388:1: ( ( rule__ERModel__Group_4__0 ) )
+ // InternalErDsl.g:454:1: ( ( ( rule__ERModel__Group_4__0 ) ) )
+ // InternalErDsl.g:455:1: ( ( rule__ERModel__Group_4__0 ) )
{
- // InternalErDsl.g:388:1: ( ( rule__ERModel__Group_4__0 ) )
- // InternalErDsl.g:389:2: ( rule__ERModel__Group_4__0 )
+ // InternalErDsl.g:455:1: ( ( rule__ERModel__Group_4__0 ) )
+ // InternalErDsl.g:456:2: ( rule__ERModel__Group_4__0 )
{
before(grammarAccess.getERModelAccess().getGroup_4());
- // InternalErDsl.g:390:2: ( rule__ERModel__Group_4__0 )
- // InternalErDsl.g:390:3: rule__ERModel__Group_4__0
+ // InternalErDsl.g:457:2: ( rule__ERModel__Group_4__0 )
+ // InternalErDsl.g:457:3: rule__ERModel__Group_4__0
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_4__0();
@@ -1211,14 +1482,14 @@ public final void rule__ERModel__Group__4__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__5"
- // InternalErDsl.g:398:1: rule__ERModel__Group__5 : rule__ERModel__Group__5__Impl rule__ERModel__Group__6 ;
+ // InternalErDsl.g:465:1: rule__ERModel__Group__5 : rule__ERModel__Group__5__Impl rule__ERModel__Group__6 ;
public final void rule__ERModel__Group__5() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:402:1: ( rule__ERModel__Group__5__Impl rule__ERModel__Group__6 )
- // InternalErDsl.g:403:2: rule__ERModel__Group__5__Impl rule__ERModel__Group__6
+ // InternalErDsl.g:469:1: ( rule__ERModel__Group__5__Impl rule__ERModel__Group__6 )
+ // InternalErDsl.g:470:2: rule__ERModel__Group__5__Impl rule__ERModel__Group__6
{
pushFollow(FOLLOW_9);
rule__ERModel__Group__5__Impl();
@@ -1249,21 +1520,21 @@ public final void rule__ERModel__Group__5() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__5__Impl"
- // InternalErDsl.g:410:1: rule__ERModel__Group__5__Impl : ( ( rule__ERModel__Group_5__0 ) ) ;
+ // InternalErDsl.g:477:1: rule__ERModel__Group__5__Impl : ( ( rule__ERModel__Group_5__0 ) ) ;
public final void rule__ERModel__Group__5__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:414:1: ( ( ( rule__ERModel__Group_5__0 ) ) )
- // InternalErDsl.g:415:1: ( ( rule__ERModel__Group_5__0 ) )
+ // InternalErDsl.g:481:1: ( ( ( rule__ERModel__Group_5__0 ) ) )
+ // InternalErDsl.g:482:1: ( ( rule__ERModel__Group_5__0 ) )
{
- // InternalErDsl.g:415:1: ( ( rule__ERModel__Group_5__0 ) )
- // InternalErDsl.g:416:2: ( rule__ERModel__Group_5__0 )
+ // InternalErDsl.g:482:1: ( ( rule__ERModel__Group_5__0 ) )
+ // InternalErDsl.g:483:2: ( rule__ERModel__Group_5__0 )
{
before(grammarAccess.getERModelAccess().getGroup_5());
- // InternalErDsl.g:417:2: ( rule__ERModel__Group_5__0 )
- // InternalErDsl.g:417:3: rule__ERModel__Group_5__0
+ // InternalErDsl.g:484:2: ( rule__ERModel__Group_5__0 )
+ // InternalErDsl.g:484:3: rule__ERModel__Group_5__0
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_5__0();
@@ -1296,14 +1567,14 @@ public final void rule__ERModel__Group__5__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__6"
- // InternalErDsl.g:425:1: rule__ERModel__Group__6 : rule__ERModel__Group__6__Impl rule__ERModel__Group__7 ;
+ // InternalErDsl.g:492:1: rule__ERModel__Group__6 : rule__ERModel__Group__6__Impl rule__ERModel__Group__7 ;
public final void rule__ERModel__Group__6() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:429:1: ( rule__ERModel__Group__6__Impl rule__ERModel__Group__7 )
- // InternalErDsl.g:430:2: rule__ERModel__Group__6__Impl rule__ERModel__Group__7
+ // InternalErDsl.g:496:1: ( rule__ERModel__Group__6__Impl rule__ERModel__Group__7 )
+ // InternalErDsl.g:497:2: rule__ERModel__Group__6__Impl rule__ERModel__Group__7
{
pushFollow(FOLLOW_9);
rule__ERModel__Group__6__Impl();
@@ -1334,33 +1605,33 @@ public final void rule__ERModel__Group__6() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__6__Impl"
- // InternalErDsl.g:437:1: rule__ERModel__Group__6__Impl : ( ( rule__ERModel__RelationsAssignment_6 )* ) ;
+ // InternalErDsl.g:504:1: rule__ERModel__Group__6__Impl : ( ( rule__ERModel__RelationsAssignment_6 )* ) ;
public final void rule__ERModel__Group__6__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:441:1: ( ( ( rule__ERModel__RelationsAssignment_6 )* ) )
- // InternalErDsl.g:442:1: ( ( rule__ERModel__RelationsAssignment_6 )* )
+ // InternalErDsl.g:508:1: ( ( ( rule__ERModel__RelationsAssignment_6 )* ) )
+ // InternalErDsl.g:509:1: ( ( rule__ERModel__RelationsAssignment_6 )* )
{
- // InternalErDsl.g:442:1: ( ( rule__ERModel__RelationsAssignment_6 )* )
- // InternalErDsl.g:443:2: ( rule__ERModel__RelationsAssignment_6 )*
+ // InternalErDsl.g:509:1: ( ( rule__ERModel__RelationsAssignment_6 )* )
+ // InternalErDsl.g:510:2: ( rule__ERModel__RelationsAssignment_6 )*
{
before(grammarAccess.getERModelAccess().getRelationsAssignment_6());
- // InternalErDsl.g:444:2: ( rule__ERModel__RelationsAssignment_6 )*
- loop4:
+ // InternalErDsl.g:511:2: ( rule__ERModel__RelationsAssignment_6 )*
+ loop5:
do {
- int alt4=2;
- int LA4_0 = input.LA(1);
+ int alt5=2;
+ int LA5_0 = input.LA(1);
- if ( (LA4_0==RULE_ID||LA4_0==23) ) {
- alt4=1;
+ if ( (LA5_0==RULE_ID||LA5_0==30) ) {
+ alt5=1;
}
- switch (alt4) {
+ switch (alt5) {
case 1 :
- // InternalErDsl.g:444:3: rule__ERModel__RelationsAssignment_6
+ // InternalErDsl.g:511:3: rule__ERModel__RelationsAssignment_6
{
pushFollow(FOLLOW_10);
rule__ERModel__RelationsAssignment_6();
@@ -1372,7 +1643,7 @@ public final void rule__ERModel__Group__6__Impl() throws RecognitionException {
break;
default :
- break loop4;
+ break loop5;
}
} while (true);
@@ -1399,14 +1670,14 @@ public final void rule__ERModel__Group__6__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__7"
- // InternalErDsl.g:452:1: rule__ERModel__Group__7 : rule__ERModel__Group__7__Impl ;
+ // InternalErDsl.g:519:1: rule__ERModel__Group__7 : rule__ERModel__Group__7__Impl ;
public final void rule__ERModel__Group__7() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:456:1: ( rule__ERModel__Group__7__Impl )
- // InternalErDsl.g:457:2: rule__ERModel__Group__7__Impl
+ // InternalErDsl.g:523:1: ( rule__ERModel__Group__7__Impl )
+ // InternalErDsl.g:524:2: rule__ERModel__Group__7__Impl
{
pushFollow(FOLLOW_2);
rule__ERModel__Group__7__Impl();
@@ -1432,21 +1703,21 @@ public final void rule__ERModel__Group__7() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group__7__Impl"
- // InternalErDsl.g:463:1: rule__ERModel__Group__7__Impl : ( ( rule__ERModel__Group_7__0 ) ) ;
+ // InternalErDsl.g:530:1: rule__ERModel__Group__7__Impl : ( ( rule__ERModel__Group_7__0 ) ) ;
public final void rule__ERModel__Group__7__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:467:1: ( ( ( rule__ERModel__Group_7__0 ) ) )
- // InternalErDsl.g:468:1: ( ( rule__ERModel__Group_7__0 ) )
+ // InternalErDsl.g:534:1: ( ( ( rule__ERModel__Group_7__0 ) ) )
+ // InternalErDsl.g:535:1: ( ( rule__ERModel__Group_7__0 ) )
{
- // InternalErDsl.g:468:1: ( ( rule__ERModel__Group_7__0 ) )
- // InternalErDsl.g:469:2: ( rule__ERModel__Group_7__0 )
+ // InternalErDsl.g:535:1: ( ( rule__ERModel__Group_7__0 ) )
+ // InternalErDsl.g:536:2: ( rule__ERModel__Group_7__0 )
{
before(grammarAccess.getERModelAccess().getGroup_7());
- // InternalErDsl.g:470:2: ( rule__ERModel__Group_7__0 )
- // InternalErDsl.g:470:3: rule__ERModel__Group_7__0
+ // InternalErDsl.g:537:2: ( rule__ERModel__Group_7__0 )
+ // InternalErDsl.g:537:3: rule__ERModel__Group_7__0
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_7__0();
@@ -1479,14 +1750,14 @@ public final void rule__ERModel__Group__7__Impl() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_2__0"
- // InternalErDsl.g:479:1: rule__ERModel__Group_2__0 : rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1 ;
+ // InternalErDsl.g:546:1: rule__ERModel__Group_2__0 : rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1 ;
public final void rule__ERModel__Group_2__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:483:1: ( rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1 )
- // InternalErDsl.g:484:2: rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1
+ // InternalErDsl.g:550:1: ( rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1 )
+ // InternalErDsl.g:551:2: rule__ERModel__Group_2__0__Impl rule__ERModel__Group_2__1
{
pushFollow(FOLLOW_11);
rule__ERModel__Group_2__0__Impl();
@@ -1517,20 +1788,20 @@ public final void rule__ERModel__Group_2__0() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_2__0__Impl"
- // InternalErDsl.g:491:1: rule__ERModel__Group_2__0__Impl : ( 'Entities' ) ;
+ // InternalErDsl.g:558:1: rule__ERModel__Group_2__0__Impl : ( 'Entities' ) ;
public final void rule__ERModel__Group_2__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:495:1: ( ( 'Entities' ) )
- // InternalErDsl.g:496:1: ( 'Entities' )
+ // InternalErDsl.g:562:1: ( ( 'Entities' ) )
+ // InternalErDsl.g:563:1: ( 'Entities' )
{
- // InternalErDsl.g:496:1: ( 'Entities' )
- // InternalErDsl.g:497:2: 'Entities'
+ // InternalErDsl.g:563:1: ( 'Entities' )
+ // InternalErDsl.g:564:2: 'Entities'
{
before(grammarAccess.getERModelAccess().getEntitiesKeyword_2_0());
- match(input,16,FOLLOW_2);
+ match(input,23,FOLLOW_2);
after(grammarAccess.getERModelAccess().getEntitiesKeyword_2_0());
}
@@ -1554,14 +1825,14 @@ public final void rule__ERModel__Group_2__0__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_2__1"
- // InternalErDsl.g:506:1: rule__ERModel__Group_2__1 : rule__ERModel__Group_2__1__Impl ;
+ // InternalErDsl.g:573:1: rule__ERModel__Group_2__1 : rule__ERModel__Group_2__1__Impl ;
public final void rule__ERModel__Group_2__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:510:1: ( rule__ERModel__Group_2__1__Impl )
- // InternalErDsl.g:511:2: rule__ERModel__Group_2__1__Impl
+ // InternalErDsl.g:577:1: ( rule__ERModel__Group_2__1__Impl )
+ // InternalErDsl.g:578:2: rule__ERModel__Group_2__1__Impl
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_2__1__Impl();
@@ -1587,20 +1858,20 @@ public final void rule__ERModel__Group_2__1() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_2__1__Impl"
- // InternalErDsl.g:517:1: rule__ERModel__Group_2__1__Impl : ( '{' ) ;
+ // InternalErDsl.g:584:1: rule__ERModel__Group_2__1__Impl : ( '{' ) ;
public final void rule__ERModel__Group_2__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:521:1: ( ( '{' ) )
- // InternalErDsl.g:522:1: ( '{' )
+ // InternalErDsl.g:588:1: ( ( '{' ) )
+ // InternalErDsl.g:589:1: ( '{' )
{
- // InternalErDsl.g:522:1: ( '{' )
- // InternalErDsl.g:523:2: '{'
+ // InternalErDsl.g:589:1: ( '{' )
+ // InternalErDsl.g:590:2: '{'
{
before(grammarAccess.getERModelAccess().getLeftCurlyBracketKeyword_2_1());
- match(input,17,FOLLOW_2);
+ match(input,24,FOLLOW_2);
after(grammarAccess.getERModelAccess().getLeftCurlyBracketKeyword_2_1());
}
@@ -1624,14 +1895,14 @@ public final void rule__ERModel__Group_2__1__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_4__0"
- // InternalErDsl.g:533:1: rule__ERModel__Group_4__0 : rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1 ;
+ // InternalErDsl.g:600:1: rule__ERModel__Group_4__0 : rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1 ;
public final void rule__ERModel__Group_4__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:537:1: ( rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1 )
- // InternalErDsl.g:538:2: rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1
+ // InternalErDsl.g:604:1: ( rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1 )
+ // InternalErDsl.g:605:2: rule__ERModel__Group_4__0__Impl rule__ERModel__Group_4__1
{
pushFollow(FOLLOW_3);
rule__ERModel__Group_4__0__Impl();
@@ -1662,20 +1933,20 @@ public final void rule__ERModel__Group_4__0() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_4__0__Impl"
- // InternalErDsl.g:545:1: rule__ERModel__Group_4__0__Impl : ( '}' ) ;
+ // InternalErDsl.g:612:1: rule__ERModel__Group_4__0__Impl : ( '}' ) ;
public final void rule__ERModel__Group_4__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:549:1: ( ( '}' ) )
- // InternalErDsl.g:550:1: ( '}' )
+ // InternalErDsl.g:616:1: ( ( '}' ) )
+ // InternalErDsl.g:617:1: ( '}' )
{
- // InternalErDsl.g:550:1: ( '}' )
- // InternalErDsl.g:551:2: '}'
+ // InternalErDsl.g:617:1: ( '}' )
+ // InternalErDsl.g:618:2: '}'
{
before(grammarAccess.getERModelAccess().getRightCurlyBracketKeyword_4_0());
- match(input,18,FOLLOW_2);
+ match(input,25,FOLLOW_2);
after(grammarAccess.getERModelAccess().getRightCurlyBracketKeyword_4_0());
}
@@ -1699,14 +1970,14 @@ public final void rule__ERModel__Group_4__0__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_4__1"
- // InternalErDsl.g:560:1: rule__ERModel__Group_4__1 : rule__ERModel__Group_4__1__Impl ;
+ // InternalErDsl.g:627:1: rule__ERModel__Group_4__1 : rule__ERModel__Group_4__1__Impl ;
public final void rule__ERModel__Group_4__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:564:1: ( rule__ERModel__Group_4__1__Impl )
- // InternalErDsl.g:565:2: rule__ERModel__Group_4__1__Impl
+ // InternalErDsl.g:631:1: ( rule__ERModel__Group_4__1__Impl )
+ // InternalErDsl.g:632:2: rule__ERModel__Group_4__1__Impl
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_4__1__Impl();
@@ -1732,20 +2003,20 @@ public final void rule__ERModel__Group_4__1() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_4__1__Impl"
- // InternalErDsl.g:571:1: rule__ERModel__Group_4__1__Impl : ( ';' ) ;
+ // InternalErDsl.g:638:1: rule__ERModel__Group_4__1__Impl : ( ';' ) ;
public final void rule__ERModel__Group_4__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:575:1: ( ( ';' ) )
- // InternalErDsl.g:576:1: ( ';' )
+ // InternalErDsl.g:642:1: ( ( ';' ) )
+ // InternalErDsl.g:643:1: ( ';' )
{
- // InternalErDsl.g:576:1: ( ';' )
- // InternalErDsl.g:577:2: ';'
+ // InternalErDsl.g:643:1: ( ';' )
+ // InternalErDsl.g:644:2: ';'
{
before(grammarAccess.getERModelAccess().getSemicolonKeyword_4_1());
- match(input,15,FOLLOW_2);
+ match(input,22,FOLLOW_2);
after(grammarAccess.getERModelAccess().getSemicolonKeyword_4_1());
}
@@ -1769,14 +2040,14 @@ public final void rule__ERModel__Group_4__1__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_5__0"
- // InternalErDsl.g:587:1: rule__ERModel__Group_5__0 : rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1 ;
+ // InternalErDsl.g:654:1: rule__ERModel__Group_5__0 : rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1 ;
public final void rule__ERModel__Group_5__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:591:1: ( rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1 )
- // InternalErDsl.g:592:2: rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1
+ // InternalErDsl.g:658:1: ( rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1 )
+ // InternalErDsl.g:659:2: rule__ERModel__Group_5__0__Impl rule__ERModel__Group_5__1
{
pushFollow(FOLLOW_11);
rule__ERModel__Group_5__0__Impl();
@@ -1807,20 +2078,20 @@ public final void rule__ERModel__Group_5__0() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_5__0__Impl"
- // InternalErDsl.g:599:1: rule__ERModel__Group_5__0__Impl : ( 'Relationships' ) ;
+ // InternalErDsl.g:666:1: rule__ERModel__Group_5__0__Impl : ( 'Relationships' ) ;
public final void rule__ERModel__Group_5__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:603:1: ( ( 'Relationships' ) )
- // InternalErDsl.g:604:1: ( 'Relationships' )
+ // InternalErDsl.g:670:1: ( ( 'Relationships' ) )
+ // InternalErDsl.g:671:1: ( 'Relationships' )
{
- // InternalErDsl.g:604:1: ( 'Relationships' )
- // InternalErDsl.g:605:2: 'Relationships'
+ // InternalErDsl.g:671:1: ( 'Relationships' )
+ // InternalErDsl.g:672:2: 'Relationships'
{
before(grammarAccess.getERModelAccess().getRelationshipsKeyword_5_0());
- match(input,19,FOLLOW_2);
+ match(input,26,FOLLOW_2);
after(grammarAccess.getERModelAccess().getRelationshipsKeyword_5_0());
}
@@ -1844,14 +2115,14 @@ public final void rule__ERModel__Group_5__0__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_5__1"
- // InternalErDsl.g:614:1: rule__ERModel__Group_5__1 : rule__ERModel__Group_5__1__Impl ;
+ // InternalErDsl.g:681:1: rule__ERModel__Group_5__1 : rule__ERModel__Group_5__1__Impl ;
public final void rule__ERModel__Group_5__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:618:1: ( rule__ERModel__Group_5__1__Impl )
- // InternalErDsl.g:619:2: rule__ERModel__Group_5__1__Impl
+ // InternalErDsl.g:685:1: ( rule__ERModel__Group_5__1__Impl )
+ // InternalErDsl.g:686:2: rule__ERModel__Group_5__1__Impl
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_5__1__Impl();
@@ -1877,20 +2148,20 @@ public final void rule__ERModel__Group_5__1() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_5__1__Impl"
- // InternalErDsl.g:625:1: rule__ERModel__Group_5__1__Impl : ( '{' ) ;
+ // InternalErDsl.g:692:1: rule__ERModel__Group_5__1__Impl : ( '{' ) ;
public final void rule__ERModel__Group_5__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:629:1: ( ( '{' ) )
- // InternalErDsl.g:630:1: ( '{' )
+ // InternalErDsl.g:696:1: ( ( '{' ) )
+ // InternalErDsl.g:697:1: ( '{' )
{
- // InternalErDsl.g:630:1: ( '{' )
- // InternalErDsl.g:631:2: '{'
+ // InternalErDsl.g:697:1: ( '{' )
+ // InternalErDsl.g:698:2: '{'
{
before(grammarAccess.getERModelAccess().getLeftCurlyBracketKeyword_5_1());
- match(input,17,FOLLOW_2);
+ match(input,24,FOLLOW_2);
after(grammarAccess.getERModelAccess().getLeftCurlyBracketKeyword_5_1());
}
@@ -1914,14 +2185,14 @@ public final void rule__ERModel__Group_5__1__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_7__0"
- // InternalErDsl.g:641:1: rule__ERModel__Group_7__0 : rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1 ;
+ // InternalErDsl.g:708:1: rule__ERModel__Group_7__0 : rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1 ;
public final void rule__ERModel__Group_7__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:645:1: ( rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1 )
- // InternalErDsl.g:646:2: rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1
+ // InternalErDsl.g:712:1: ( rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1 )
+ // InternalErDsl.g:713:2: rule__ERModel__Group_7__0__Impl rule__ERModel__Group_7__1
{
pushFollow(FOLLOW_3);
rule__ERModel__Group_7__0__Impl();
@@ -1952,20 +2223,20 @@ public final void rule__ERModel__Group_7__0() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_7__0__Impl"
- // InternalErDsl.g:653:1: rule__ERModel__Group_7__0__Impl : ( '}' ) ;
+ // InternalErDsl.g:720:1: rule__ERModel__Group_7__0__Impl : ( '}' ) ;
public final void rule__ERModel__Group_7__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:657:1: ( ( '}' ) )
- // InternalErDsl.g:658:1: ( '}' )
+ // InternalErDsl.g:724:1: ( ( '}' ) )
+ // InternalErDsl.g:725:1: ( '}' )
{
- // InternalErDsl.g:658:1: ( '}' )
- // InternalErDsl.g:659:2: '}'
+ // InternalErDsl.g:725:1: ( '}' )
+ // InternalErDsl.g:726:2: '}'
{
before(grammarAccess.getERModelAccess().getRightCurlyBracketKeyword_7_0());
- match(input,18,FOLLOW_2);
+ match(input,25,FOLLOW_2);
after(grammarAccess.getERModelAccess().getRightCurlyBracketKeyword_7_0());
}
@@ -1989,14 +2260,14 @@ public final void rule__ERModel__Group_7__0__Impl() throws RecognitionException
// $ANTLR start "rule__ERModel__Group_7__1"
- // InternalErDsl.g:668:1: rule__ERModel__Group_7__1 : rule__ERModel__Group_7__1__Impl ;
+ // InternalErDsl.g:735:1: rule__ERModel__Group_7__1 : rule__ERModel__Group_7__1__Impl ;
public final void rule__ERModel__Group_7__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:672:1: ( rule__ERModel__Group_7__1__Impl )
- // InternalErDsl.g:673:2: rule__ERModel__Group_7__1__Impl
+ // InternalErDsl.g:739:1: ( rule__ERModel__Group_7__1__Impl )
+ // InternalErDsl.g:740:2: rule__ERModel__Group_7__1__Impl
{
pushFollow(FOLLOW_2);
rule__ERModel__Group_7__1__Impl();
@@ -2022,20 +2293,20 @@ public final void rule__ERModel__Group_7__1() throws RecognitionException {
// $ANTLR start "rule__ERModel__Group_7__1__Impl"
- // InternalErDsl.g:679:1: rule__ERModel__Group_7__1__Impl : ( ';' ) ;
+ // InternalErDsl.g:746:1: rule__ERModel__Group_7__1__Impl : ( ';' ) ;
public final void rule__ERModel__Group_7__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:683:1: ( ( ';' ) )
- // InternalErDsl.g:684:1: ( ';' )
+ // InternalErDsl.g:750:1: ( ( ';' ) )
+ // InternalErDsl.g:751:1: ( ';' )
{
- // InternalErDsl.g:684:1: ( ';' )
- // InternalErDsl.g:685:2: ';'
+ // InternalErDsl.g:751:1: ( ';' )
+ // InternalErDsl.g:752:2: ';'
{
before(grammarAccess.getERModelAccess().getSemicolonKeyword_7_1());
- match(input,15,FOLLOW_2);
+ match(input,22,FOLLOW_2);
after(grammarAccess.getERModelAccess().getSemicolonKeyword_7_1());
}
@@ -2059,14 +2330,14 @@ public final void rule__ERModel__Group_7__1__Impl() throws RecognitionException
// $ANTLR start "rule__Domain__Group__0"
- // InternalErDsl.g:695:1: rule__Domain__Group__0 : rule__Domain__Group__0__Impl rule__Domain__Group__1 ;
+ // InternalErDsl.g:762:1: rule__Domain__Group__0 : rule__Domain__Group__0__Impl rule__Domain__Group__1 ;
public final void rule__Domain__Group__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:699:1: ( rule__Domain__Group__0__Impl rule__Domain__Group__1 )
- // InternalErDsl.g:700:2: rule__Domain__Group__0__Impl rule__Domain__Group__1
+ // InternalErDsl.g:766:1: ( rule__Domain__Group__0__Impl rule__Domain__Group__1 )
+ // InternalErDsl.g:767:2: rule__Domain__Group__0__Impl rule__Domain__Group__1
{
pushFollow(FOLLOW_5);
rule__Domain__Group__0__Impl();
@@ -2097,20 +2368,20 @@ public final void rule__Domain__Group__0() throws RecognitionException {
// $ANTLR start "rule__Domain__Group__0__Impl"
- // InternalErDsl.g:707:1: rule__Domain__Group__0__Impl : ( 'Domain' ) ;
+ // InternalErDsl.g:774:1: rule__Domain__Group__0__Impl : ( 'Domain' ) ;
public final void rule__Domain__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:711:1: ( ( 'Domain' ) )
- // InternalErDsl.g:712:1: ( 'Domain' )
+ // InternalErDsl.g:778:1: ( ( 'Domain' ) )
+ // InternalErDsl.g:779:1: ( 'Domain' )
{
- // InternalErDsl.g:712:1: ( 'Domain' )
- // InternalErDsl.g:713:2: 'Domain'
+ // InternalErDsl.g:779:1: ( 'Domain' )
+ // InternalErDsl.g:780:2: 'Domain'
{
before(grammarAccess.getDomainAccess().getDomainKeyword_0());
- match(input,20,FOLLOW_2);
+ match(input,27,FOLLOW_2);
after(grammarAccess.getDomainAccess().getDomainKeyword_0());
}
@@ -2134,14 +2405,14 @@ public final void rule__Domain__Group__0__Impl() throws RecognitionException {
// $ANTLR start "rule__Domain__Group__1"
- // InternalErDsl.g:722:1: rule__Domain__Group__1 : rule__Domain__Group__1__Impl ;
+ // InternalErDsl.g:789:1: rule__Domain__Group__1 : rule__Domain__Group__1__Impl ;
public final void rule__Domain__Group__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:726:1: ( rule__Domain__Group__1__Impl )
- // InternalErDsl.g:727:2: rule__Domain__Group__1__Impl
+ // InternalErDsl.g:793:1: ( rule__Domain__Group__1__Impl )
+ // InternalErDsl.g:794:2: rule__Domain__Group__1__Impl
{
pushFollow(FOLLOW_2);
rule__Domain__Group__1__Impl();
@@ -2167,21 +2438,21 @@ public final void rule__Domain__Group__1() throws RecognitionException {
// $ANTLR start "rule__Domain__Group__1__Impl"
- // InternalErDsl.g:733:1: rule__Domain__Group__1__Impl : ( ( rule__Domain__NameAssignment_1 ) ) ;
+ // InternalErDsl.g:800:1: rule__Domain__Group__1__Impl : ( ( rule__Domain__NameAssignment_1 ) ) ;
public final void rule__Domain__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:737:1: ( ( ( rule__Domain__NameAssignment_1 ) ) )
- // InternalErDsl.g:738:1: ( ( rule__Domain__NameAssignment_1 ) )
+ // InternalErDsl.g:804:1: ( ( ( rule__Domain__NameAssignment_1 ) ) )
+ // InternalErDsl.g:805:1: ( ( rule__Domain__NameAssignment_1 ) )
{
- // InternalErDsl.g:738:1: ( ( rule__Domain__NameAssignment_1 ) )
- // InternalErDsl.g:739:2: ( rule__Domain__NameAssignment_1 )
+ // InternalErDsl.g:805:1: ( ( rule__Domain__NameAssignment_1 ) )
+ // InternalErDsl.g:806:2: ( rule__Domain__NameAssignment_1 )
{
before(grammarAccess.getDomainAccess().getNameAssignment_1());
- // InternalErDsl.g:740:2: ( rule__Domain__NameAssignment_1 )
- // InternalErDsl.g:740:3: rule__Domain__NameAssignment_1
+ // InternalErDsl.g:807:2: ( rule__Domain__NameAssignment_1 )
+ // InternalErDsl.g:807:3: rule__Domain__NameAssignment_1
{
pushFollow(FOLLOW_2);
rule__Domain__NameAssignment_1();
@@ -2214,14 +2485,14 @@ public final void rule__Domain__Group__1__Impl() throws RecognitionException {
// $ANTLR start "rule__Attribute__Group__0"
- // InternalErDsl.g:749:1: rule__Attribute__Group__0 : rule__Attribute__Group__0__Impl rule__Attribute__Group__1 ;
+ // InternalErDsl.g:816:1: rule__Attribute__Group__0 : rule__Attribute__Group__0__Impl rule__Attribute__Group__1 ;
public final void rule__Attribute__Group__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:753:1: ( rule__Attribute__Group__0__Impl rule__Attribute__Group__1 )
- // InternalErDsl.g:754:2: rule__Attribute__Group__0__Impl rule__Attribute__Group__1
+ // InternalErDsl.g:820:1: ( rule__Attribute__Group__0__Impl rule__Attribute__Group__1 )
+ // InternalErDsl.g:821:2: rule__Attribute__Group__0__Impl rule__Attribute__Group__1
{
pushFollow(FOLLOW_12);
rule__Attribute__Group__0__Impl();
@@ -2252,21 +2523,21 @@ public final void rule__Attribute__Group__0() throws RecognitionException {
// $ANTLR start "rule__Attribute__Group__0__Impl"
- // InternalErDsl.g:761:1: rule__Attribute__Group__0__Impl : ( ( rule__Attribute__NameAssignment_0 ) ) ;
+ // InternalErDsl.g:828:1: rule__Attribute__Group__0__Impl : ( ( rule__Attribute__NameAssignment_0 ) ) ;
public final void rule__Attribute__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:765:1: ( ( ( rule__Attribute__NameAssignment_0 ) ) )
- // InternalErDsl.g:766:1: ( ( rule__Attribute__NameAssignment_0 ) )
+ // InternalErDsl.g:832:1: ( ( ( rule__Attribute__NameAssignment_0 ) ) )
+ // InternalErDsl.g:833:1: ( ( rule__Attribute__NameAssignment_0 ) )
{
- // InternalErDsl.g:766:1: ( ( rule__Attribute__NameAssignment_0 ) )
- // InternalErDsl.g:767:2: ( rule__Attribute__NameAssignment_0 )
+ // InternalErDsl.g:833:1: ( ( rule__Attribute__NameAssignment_0 ) )
+ // InternalErDsl.g:834:2: ( rule__Attribute__NameAssignment_0 )
{
before(grammarAccess.getAttributeAccess().getNameAssignment_0());
- // InternalErDsl.g:768:2: ( rule__Attribute__NameAssignment_0 )
- // InternalErDsl.g:768:3: rule__Attribute__NameAssignment_0
+ // InternalErDsl.g:835:2: ( rule__Attribute__NameAssignment_0 )
+ // InternalErDsl.g:835:3: rule__Attribute__NameAssignment_0
{
pushFollow(FOLLOW_2);
rule__Attribute__NameAssignment_0();
@@ -2299,20 +2570,25 @@ public final void rule__Attribute__Group__0__Impl() throws RecognitionException
// $ANTLR start "rule__Attribute__Group__1"
- // InternalErDsl.g:776:1: rule__Attribute__Group__1 : rule__Attribute__Group__1__Impl ;
+ // InternalErDsl.g:843:1: rule__Attribute__Group__1 : rule__Attribute__Group__1__Impl rule__Attribute__Group__2 ;
public final void rule__Attribute__Group__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:780:1: ( rule__Attribute__Group__1__Impl )
- // InternalErDsl.g:781:2: rule__Attribute__Group__1__Impl
+ // InternalErDsl.g:847:1: ( rule__Attribute__Group__1__Impl rule__Attribute__Group__2 )
+ // InternalErDsl.g:848:2: rule__Attribute__Group__1__Impl rule__Attribute__Group__2
{
- pushFollow(FOLLOW_2);
+ pushFollow(FOLLOW_13);
rule__Attribute__Group__1__Impl();
state._fsp--;
+ pushFollow(FOLLOW_2);
+ rule__Attribute__Group__2();
+
+ state._fsp--;
+
}
@@ -2332,32 +2608,112 @@ public final void rule__Attribute__Group__1() throws RecognitionException {
// $ANTLR start "rule__Attribute__Group__1__Impl"
- // InternalErDsl.g:787:1: rule__Attribute__Group__1__Impl : ( ( rule__Attribute__IsKeyAssignment_1 )? ) ;
+ // InternalErDsl.g:855:1: rule__Attribute__Group__1__Impl : ( ( rule__Attribute__TypeAssignment_1 ) ) ;
public final void rule__Attribute__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:791:1: ( ( ( rule__Attribute__IsKeyAssignment_1 )? ) )
- // InternalErDsl.g:792:1: ( ( rule__Attribute__IsKeyAssignment_1 )? )
+ // InternalErDsl.g:859:1: ( ( ( rule__Attribute__TypeAssignment_1 ) ) )
+ // InternalErDsl.g:860:1: ( ( rule__Attribute__TypeAssignment_1 ) )
+ {
+ // InternalErDsl.g:860:1: ( ( rule__Attribute__TypeAssignment_1 ) )
+ // InternalErDsl.g:861:2: ( rule__Attribute__TypeAssignment_1 )
+ {
+ before(grammarAccess.getAttributeAccess().getTypeAssignment_1());
+ // InternalErDsl.g:862:2: ( rule__Attribute__TypeAssignment_1 )
+ // InternalErDsl.g:862:3: rule__Attribute__TypeAssignment_1
{
- // InternalErDsl.g:792:1: ( ( rule__Attribute__IsKeyAssignment_1 )? )
- // InternalErDsl.g:793:2: ( rule__Attribute__IsKeyAssignment_1 )?
+ pushFollow(FOLLOW_2);
+ rule__Attribute__TypeAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getAttributeAccess().getTypeAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Attribute__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Attribute__Group__2"
+ // InternalErDsl.g:870:1: rule__Attribute__Group__2 : rule__Attribute__Group__2__Impl ;
+ public final void rule__Attribute__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalErDsl.g:874:1: ( rule__Attribute__Group__2__Impl )
+ // InternalErDsl.g:875:2: rule__Attribute__Group__2__Impl
{
- before(grammarAccess.getAttributeAccess().getIsKeyAssignment_1());
- // InternalErDsl.g:794:2: ( rule__Attribute__IsKeyAssignment_1 )?
- int alt5=2;
- int LA5_0 = input.LA(1);
+ pushFollow(FOLLOW_2);
+ rule__Attribute__Group__2__Impl();
+
+ state._fsp--;
+
- if ( (LA5_0==26) ) {
- alt5=1;
}
- switch (alt5) {
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Attribute__Group__2"
+
+
+ // $ANTLR start "rule__Attribute__Group__2__Impl"
+ // InternalErDsl.g:881:1: rule__Attribute__Group__2__Impl : ( ( rule__Attribute__IsKeyAssignment_2 )? ) ;
+ public final void rule__Attribute__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalErDsl.g:885:1: ( ( ( rule__Attribute__IsKeyAssignment_2 )? ) )
+ // InternalErDsl.g:886:1: ( ( rule__Attribute__IsKeyAssignment_2 )? )
+ {
+ // InternalErDsl.g:886:1: ( ( rule__Attribute__IsKeyAssignment_2 )? )
+ // InternalErDsl.g:887:2: ( rule__Attribute__IsKeyAssignment_2 )?
+ {
+ before(grammarAccess.getAttributeAccess().getIsKeyAssignment_2());
+ // InternalErDsl.g:888:2: ( rule__Attribute__IsKeyAssignment_2 )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==33) ) {
+ alt6=1;
+ }
+ switch (alt6) {
case 1 :
- // InternalErDsl.g:794:3: rule__Attribute__IsKeyAssignment_1
+ // InternalErDsl.g:888:3: rule__Attribute__IsKeyAssignment_2
{
pushFollow(FOLLOW_2);
- rule__Attribute__IsKeyAssignment_1();
+ rule__Attribute__IsKeyAssignment_2();
state._fsp--;
@@ -2367,7 +2723,7 @@ public final void rule__Attribute__Group__1__Impl() throws RecognitionException
}
- after(grammarAccess.getAttributeAccess().getIsKeyAssignment_1());
+ after(grammarAccess.getAttributeAccess().getIsKeyAssignment_2());
}
@@ -2386,20 +2742,20 @@ public final void rule__Attribute__Group__1__Impl() throws RecognitionException
}
return ;
}
- // $ANTLR end "rule__Attribute__Group__1__Impl"
+ // $ANTLR end "rule__Attribute__Group__2__Impl"
// $ANTLR start "rule__Entity__Group__0"
- // InternalErDsl.g:803:1: rule__Entity__Group__0 : rule__Entity__Group__0__Impl rule__Entity__Group__1 ;
+ // InternalErDsl.g:897:1: rule__Entity__Group__0 : rule__Entity__Group__0__Impl rule__Entity__Group__1 ;
public final void rule__Entity__Group__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:807:1: ( rule__Entity__Group__0__Impl rule__Entity__Group__1 )
- // InternalErDsl.g:808:2: rule__Entity__Group__0__Impl rule__Entity__Group__1
+ // InternalErDsl.g:901:1: ( rule__Entity__Group__0__Impl rule__Entity__Group__1 )
+ // InternalErDsl.g:902:2: rule__Entity__Group__0__Impl rule__Entity__Group__1
{
- pushFollow(FOLLOW_13);
+ pushFollow(FOLLOW_14);
rule__Entity__Group__0__Impl();
state._fsp--;
@@ -2428,21 +2784,21 @@ public final void rule__Entity__Group__0() throws RecognitionException {
// $ANTLR start "rule__Entity__Group__0__Impl"
- // InternalErDsl.g:815:1: rule__Entity__Group__0__Impl : ( ( rule__Entity__NameAssignment_0 ) ) ;
+ // InternalErDsl.g:909:1: rule__Entity__Group__0__Impl : ( ( rule__Entity__NameAssignment_0 ) ) ;
public final void rule__Entity__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:819:1: ( ( ( rule__Entity__NameAssignment_0 ) ) )
- // InternalErDsl.g:820:1: ( ( rule__Entity__NameAssignment_0 ) )
+ // InternalErDsl.g:913:1: ( ( ( rule__Entity__NameAssignment_0 ) ) )
+ // InternalErDsl.g:914:1: ( ( rule__Entity__NameAssignment_0 ) )
{
- // InternalErDsl.g:820:1: ( ( rule__Entity__NameAssignment_0 ) )
- // InternalErDsl.g:821:2: ( rule__Entity__NameAssignment_0 )
+ // InternalErDsl.g:914:1: ( ( rule__Entity__NameAssignment_0 ) )
+ // InternalErDsl.g:915:2: ( rule__Entity__NameAssignment_0 )
{
before(grammarAccess.getEntityAccess().getNameAssignment_0());
- // InternalErDsl.g:822:2: ( rule__Entity__NameAssignment_0 )
- // InternalErDsl.g:822:3: rule__Entity__NameAssignment_0
+ // InternalErDsl.g:916:2: ( rule__Entity__NameAssignment_0 )
+ // InternalErDsl.g:916:3: rule__Entity__NameAssignment_0
{
pushFollow(FOLLOW_2);
rule__Entity__NameAssignment_0();
@@ -2475,16 +2831,16 @@ public final void rule__Entity__Group__0__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group__1"
- // InternalErDsl.g:830:1: rule__Entity__Group__1 : rule__Entity__Group__1__Impl rule__Entity__Group__2 ;
+ // InternalErDsl.g:924:1: rule__Entity__Group__1 : rule__Entity__Group__1__Impl rule__Entity__Group__2 ;
public final void rule__Entity__Group__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:834:1: ( rule__Entity__Group__1__Impl rule__Entity__Group__2 )
- // InternalErDsl.g:835:2: rule__Entity__Group__1__Impl rule__Entity__Group__2
+ // InternalErDsl.g:928:1: ( rule__Entity__Group__1__Impl rule__Entity__Group__2 )
+ // InternalErDsl.g:929:2: rule__Entity__Group__1__Impl rule__Entity__Group__2
{
- pushFollow(FOLLOW_13);
+ pushFollow(FOLLOW_14);
rule__Entity__Group__1__Impl();
state._fsp--;
@@ -2513,35 +2869,35 @@ public final void rule__Entity__Group__1() throws RecognitionException {
// $ANTLR start "rule__Entity__Group__1__Impl"
- // InternalErDsl.g:842:1: rule__Entity__Group__1__Impl : ( ( rule__Entity__Group_1__0 )* ) ;
+ // InternalErDsl.g:936:1: rule__Entity__Group__1__Impl : ( ( rule__Entity__Group_1__0 )* ) ;
public final void rule__Entity__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:846:1: ( ( ( rule__Entity__Group_1__0 )* ) )
- // InternalErDsl.g:847:1: ( ( rule__Entity__Group_1__0 )* )
+ // InternalErDsl.g:940:1: ( ( ( rule__Entity__Group_1__0 )* ) )
+ // InternalErDsl.g:941:1: ( ( rule__Entity__Group_1__0 )* )
{
- // InternalErDsl.g:847:1: ( ( rule__Entity__Group_1__0 )* )
- // InternalErDsl.g:848:2: ( rule__Entity__Group_1__0 )*
+ // InternalErDsl.g:941:1: ( ( rule__Entity__Group_1__0 )* )
+ // InternalErDsl.g:942:2: ( rule__Entity__Group_1__0 )*
{
before(grammarAccess.getEntityAccess().getGroup_1());
- // InternalErDsl.g:849:2: ( rule__Entity__Group_1__0 )*
- loop6:
+ // InternalErDsl.g:943:2: ( rule__Entity__Group_1__0 )*
+ loop7:
do {
- int alt6=2;
- int LA6_0 = input.LA(1);
+ int alt7=2;
+ int LA7_0 = input.LA(1);
- if ( (LA6_0==21) ) {
- alt6=1;
+ if ( (LA7_0==28) ) {
+ alt7=1;
}
- switch (alt6) {
+ switch (alt7) {
case 1 :
- // InternalErDsl.g:849:3: rule__Entity__Group_1__0
+ // InternalErDsl.g:943:3: rule__Entity__Group_1__0
{
- pushFollow(FOLLOW_14);
+ pushFollow(FOLLOW_15);
rule__Entity__Group_1__0();
state._fsp--;
@@ -2551,7 +2907,7 @@ public final void rule__Entity__Group__1__Impl() throws RecognitionException {
break;
default :
- break loop6;
+ break loop7;
}
} while (true);
@@ -2578,14 +2934,14 @@ public final void rule__Entity__Group__1__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group__2"
- // InternalErDsl.g:857:1: rule__Entity__Group__2 : rule__Entity__Group__2__Impl ;
+ // InternalErDsl.g:951:1: rule__Entity__Group__2 : rule__Entity__Group__2__Impl ;
public final void rule__Entity__Group__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:861:1: ( rule__Entity__Group__2__Impl )
- // InternalErDsl.g:862:2: rule__Entity__Group__2__Impl
+ // InternalErDsl.g:955:1: ( rule__Entity__Group__2__Impl )
+ // InternalErDsl.g:956:2: rule__Entity__Group__2__Impl
{
pushFollow(FOLLOW_2);
rule__Entity__Group__2__Impl();
@@ -2611,29 +2967,29 @@ public final void rule__Entity__Group__2() throws RecognitionException {
// $ANTLR start "rule__Entity__Group__2__Impl"
- // InternalErDsl.g:868:1: rule__Entity__Group__2__Impl : ( ( rule__Entity__Group_2__0 )? ) ;
+ // InternalErDsl.g:962:1: rule__Entity__Group__2__Impl : ( ( rule__Entity__Group_2__0 )? ) ;
public final void rule__Entity__Group__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:872:1: ( ( ( rule__Entity__Group_2__0 )? ) )
- // InternalErDsl.g:873:1: ( ( rule__Entity__Group_2__0 )? )
+ // InternalErDsl.g:966:1: ( ( ( rule__Entity__Group_2__0 )? ) )
+ // InternalErDsl.g:967:1: ( ( rule__Entity__Group_2__0 )? )
{
- // InternalErDsl.g:873:1: ( ( rule__Entity__Group_2__0 )? )
- // InternalErDsl.g:874:2: ( rule__Entity__Group_2__0 )?
+ // InternalErDsl.g:967:1: ( ( rule__Entity__Group_2__0 )? )
+ // InternalErDsl.g:968:2: ( rule__Entity__Group_2__0 )?
{
before(grammarAccess.getEntityAccess().getGroup_2());
- // InternalErDsl.g:875:2: ( rule__Entity__Group_2__0 )?
- int alt7=2;
- int LA7_0 = input.LA(1);
+ // InternalErDsl.g:969:2: ( rule__Entity__Group_2__0 )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
- if ( (LA7_0==17) ) {
- alt7=1;
+ if ( (LA8_0==24) ) {
+ alt8=1;
}
- switch (alt7) {
+ switch (alt8) {
case 1 :
- // InternalErDsl.g:875:3: rule__Entity__Group_2__0
+ // InternalErDsl.g:969:3: rule__Entity__Group_2__0
{
pushFollow(FOLLOW_2);
rule__Entity__Group_2__0();
@@ -2669,14 +3025,14 @@ public final void rule__Entity__Group__2__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_1__0"
- // InternalErDsl.g:884:1: rule__Entity__Group_1__0 : rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1 ;
+ // InternalErDsl.g:978:1: rule__Entity__Group_1__0 : rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1 ;
public final void rule__Entity__Group_1__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:888:1: ( rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1 )
- // InternalErDsl.g:889:2: rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1
+ // InternalErDsl.g:982:1: ( rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1 )
+ // InternalErDsl.g:983:2: rule__Entity__Group_1__0__Impl rule__Entity__Group_1__1
{
pushFollow(FOLLOW_5);
rule__Entity__Group_1__0__Impl();
@@ -2707,20 +3063,20 @@ public final void rule__Entity__Group_1__0() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_1__0__Impl"
- // InternalErDsl.g:896:1: rule__Entity__Group_1__0__Impl : ( 'is' ) ;
+ // InternalErDsl.g:990:1: rule__Entity__Group_1__0__Impl : ( 'is' ) ;
public final void rule__Entity__Group_1__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:900:1: ( ( 'is' ) )
- // InternalErDsl.g:901:1: ( 'is' )
+ // InternalErDsl.g:994:1: ( ( 'is' ) )
+ // InternalErDsl.g:995:1: ( 'is' )
{
- // InternalErDsl.g:901:1: ( 'is' )
- // InternalErDsl.g:902:2: 'is'
+ // InternalErDsl.g:995:1: ( 'is' )
+ // InternalErDsl.g:996:2: 'is'
{
before(grammarAccess.getEntityAccess().getIsKeyword_1_0());
- match(input,21,FOLLOW_2);
+ match(input,28,FOLLOW_2);
after(grammarAccess.getEntityAccess().getIsKeyword_1_0());
}
@@ -2744,14 +3100,14 @@ public final void rule__Entity__Group_1__0__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_1__1"
- // InternalErDsl.g:911:1: rule__Entity__Group_1__1 : rule__Entity__Group_1__1__Impl ;
+ // InternalErDsl.g:1005:1: rule__Entity__Group_1__1 : rule__Entity__Group_1__1__Impl ;
public final void rule__Entity__Group_1__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:915:1: ( rule__Entity__Group_1__1__Impl )
- // InternalErDsl.g:916:2: rule__Entity__Group_1__1__Impl
+ // InternalErDsl.g:1009:1: ( rule__Entity__Group_1__1__Impl )
+ // InternalErDsl.g:1010:2: rule__Entity__Group_1__1__Impl
{
pushFollow(FOLLOW_2);
rule__Entity__Group_1__1__Impl();
@@ -2777,21 +3133,21 @@ public final void rule__Entity__Group_1__1() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_1__1__Impl"
- // InternalErDsl.g:922:1: rule__Entity__Group_1__1__Impl : ( ( rule__Entity__IsAssignment_1_1 ) ) ;
+ // InternalErDsl.g:1016:1: rule__Entity__Group_1__1__Impl : ( ( rule__Entity__IsAssignment_1_1 ) ) ;
public final void rule__Entity__Group_1__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:926:1: ( ( ( rule__Entity__IsAssignment_1_1 ) ) )
- // InternalErDsl.g:927:1: ( ( rule__Entity__IsAssignment_1_1 ) )
+ // InternalErDsl.g:1020:1: ( ( ( rule__Entity__IsAssignment_1_1 ) ) )
+ // InternalErDsl.g:1021:1: ( ( rule__Entity__IsAssignment_1_1 ) )
{
- // InternalErDsl.g:927:1: ( ( rule__Entity__IsAssignment_1_1 ) )
- // InternalErDsl.g:928:2: ( rule__Entity__IsAssignment_1_1 )
+ // InternalErDsl.g:1021:1: ( ( rule__Entity__IsAssignment_1_1 ) )
+ // InternalErDsl.g:1022:2: ( rule__Entity__IsAssignment_1_1 )
{
before(grammarAccess.getEntityAccess().getIsAssignment_1_1());
- // InternalErDsl.g:929:2: ( rule__Entity__IsAssignment_1_1 )
- // InternalErDsl.g:929:3: rule__Entity__IsAssignment_1_1
+ // InternalErDsl.g:1023:2: ( rule__Entity__IsAssignment_1_1 )
+ // InternalErDsl.g:1023:3: rule__Entity__IsAssignment_1_1
{
pushFollow(FOLLOW_2);
rule__Entity__IsAssignment_1_1();
@@ -2824,14 +3180,14 @@ public final void rule__Entity__Group_1__1__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__0"
- // InternalErDsl.g:938:1: rule__Entity__Group_2__0 : rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 ;
+ // InternalErDsl.g:1032:1: rule__Entity__Group_2__0 : rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 ;
public final void rule__Entity__Group_2__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:942:1: ( rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 )
- // InternalErDsl.g:943:2: rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1
+ // InternalErDsl.g:1036:1: ( rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1 )
+ // InternalErDsl.g:1037:2: rule__Entity__Group_2__0__Impl rule__Entity__Group_2__1
{
pushFollow(FOLLOW_5);
rule__Entity__Group_2__0__Impl();
@@ -2862,20 +3218,20 @@ public final void rule__Entity__Group_2__0() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__0__Impl"
- // InternalErDsl.g:950:1: rule__Entity__Group_2__0__Impl : ( '{' ) ;
+ // InternalErDsl.g:1044:1: rule__Entity__Group_2__0__Impl : ( '{' ) ;
public final void rule__Entity__Group_2__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:954:1: ( ( '{' ) )
- // InternalErDsl.g:955:1: ( '{' )
+ // InternalErDsl.g:1048:1: ( ( '{' ) )
+ // InternalErDsl.g:1049:1: ( '{' )
{
- // InternalErDsl.g:955:1: ( '{' )
- // InternalErDsl.g:956:2: '{'
+ // InternalErDsl.g:1049:1: ( '{' )
+ // InternalErDsl.g:1050:2: '{'
{
before(grammarAccess.getEntityAccess().getLeftCurlyBracketKeyword_2_0());
- match(input,17,FOLLOW_2);
+ match(input,24,FOLLOW_2);
after(grammarAccess.getEntityAccess().getLeftCurlyBracketKeyword_2_0());
}
@@ -2899,16 +3255,16 @@ public final void rule__Entity__Group_2__0__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__1"
- // InternalErDsl.g:965:1: rule__Entity__Group_2__1 : rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2 ;
+ // InternalErDsl.g:1059:1: rule__Entity__Group_2__1 : rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2 ;
public final void rule__Entity__Group_2__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:969:1: ( rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2 )
- // InternalErDsl.g:970:2: rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2
+ // InternalErDsl.g:1063:1: ( rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2 )
+ // InternalErDsl.g:1064:2: rule__Entity__Group_2__1__Impl rule__Entity__Group_2__2
{
- pushFollow(FOLLOW_15);
+ pushFollow(FOLLOW_16);
rule__Entity__Group_2__1__Impl();
state._fsp--;
@@ -2937,21 +3293,21 @@ public final void rule__Entity__Group_2__1() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__1__Impl"
- // InternalErDsl.g:977:1: rule__Entity__Group_2__1__Impl : ( ( rule__Entity__AttributesAssignment_2_1 ) ) ;
+ // InternalErDsl.g:1071:1: rule__Entity__Group_2__1__Impl : ( ( rule__Entity__AttributesAssignment_2_1 ) ) ;
public final void rule__Entity__Group_2__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:981:1: ( ( ( rule__Entity__AttributesAssignment_2_1 ) ) )
- // InternalErDsl.g:982:1: ( ( rule__Entity__AttributesAssignment_2_1 ) )
+ // InternalErDsl.g:1075:1: ( ( ( rule__Entity__AttributesAssignment_2_1 ) ) )
+ // InternalErDsl.g:1076:1: ( ( rule__Entity__AttributesAssignment_2_1 ) )
{
- // InternalErDsl.g:982:1: ( ( rule__Entity__AttributesAssignment_2_1 ) )
- // InternalErDsl.g:983:2: ( rule__Entity__AttributesAssignment_2_1 )
+ // InternalErDsl.g:1076:1: ( ( rule__Entity__AttributesAssignment_2_1 ) )
+ // InternalErDsl.g:1077:2: ( rule__Entity__AttributesAssignment_2_1 )
{
before(grammarAccess.getEntityAccess().getAttributesAssignment_2_1());
- // InternalErDsl.g:984:2: ( rule__Entity__AttributesAssignment_2_1 )
- // InternalErDsl.g:984:3: rule__Entity__AttributesAssignment_2_1
+ // InternalErDsl.g:1078:2: ( rule__Entity__AttributesAssignment_2_1 )
+ // InternalErDsl.g:1078:3: rule__Entity__AttributesAssignment_2_1
{
pushFollow(FOLLOW_2);
rule__Entity__AttributesAssignment_2_1();
@@ -2984,16 +3340,16 @@ public final void rule__Entity__Group_2__1__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__2"
- // InternalErDsl.g:992:1: rule__Entity__Group_2__2 : rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3 ;
+ // InternalErDsl.g:1086:1: rule__Entity__Group_2__2 : rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3 ;
public final void rule__Entity__Group_2__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:996:1: ( rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3 )
- // InternalErDsl.g:997:2: rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3
+ // InternalErDsl.g:1090:1: ( rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3 )
+ // InternalErDsl.g:1091:2: rule__Entity__Group_2__2__Impl rule__Entity__Group_2__3
{
- pushFollow(FOLLOW_15);
+ pushFollow(FOLLOW_16);
rule__Entity__Group_2__2__Impl();
state._fsp--;
@@ -3022,35 +3378,35 @@ public final void rule__Entity__Group_2__2() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__2__Impl"
- // InternalErDsl.g:1004:1: rule__Entity__Group_2__2__Impl : ( ( rule__Entity__Group_2_2__0 )* ) ;
+ // InternalErDsl.g:1098:1: rule__Entity__Group_2__2__Impl : ( ( rule__Entity__Group_2_2__0 )* ) ;
public final void rule__Entity__Group_2__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1008:1: ( ( ( rule__Entity__Group_2_2__0 )* ) )
- // InternalErDsl.g:1009:1: ( ( rule__Entity__Group_2_2__0 )* )
+ // InternalErDsl.g:1102:1: ( ( ( rule__Entity__Group_2_2__0 )* ) )
+ // InternalErDsl.g:1103:1: ( ( rule__Entity__Group_2_2__0 )* )
{
- // InternalErDsl.g:1009:1: ( ( rule__Entity__Group_2_2__0 )* )
- // InternalErDsl.g:1010:2: ( rule__Entity__Group_2_2__0 )*
+ // InternalErDsl.g:1103:1: ( ( rule__Entity__Group_2_2__0 )* )
+ // InternalErDsl.g:1104:2: ( rule__Entity__Group_2_2__0 )*
{
before(grammarAccess.getEntityAccess().getGroup_2_2());
- // InternalErDsl.g:1011:2: ( rule__Entity__Group_2_2__0 )*
- loop8:
+ // InternalErDsl.g:1105:2: ( rule__Entity__Group_2_2__0 )*
+ loop9:
do {
- int alt8=2;
- int LA8_0 = input.LA(1);
+ int alt9=2;
+ int LA9_0 = input.LA(1);
- if ( (LA8_0==22) ) {
- alt8=1;
+ if ( (LA9_0==29) ) {
+ alt9=1;
}
- switch (alt8) {
+ switch (alt9) {
case 1 :
- // InternalErDsl.g:1011:3: rule__Entity__Group_2_2__0
+ // InternalErDsl.g:1105:3: rule__Entity__Group_2_2__0
{
- pushFollow(FOLLOW_16);
+ pushFollow(FOLLOW_17);
rule__Entity__Group_2_2__0();
state._fsp--;
@@ -3060,7 +3416,7 @@ public final void rule__Entity__Group_2__2__Impl() throws RecognitionException {
break;
default :
- break loop8;
+ break loop9;
}
} while (true);
@@ -3087,14 +3443,14 @@ public final void rule__Entity__Group_2__2__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__3"
- // InternalErDsl.g:1019:1: rule__Entity__Group_2__3 : rule__Entity__Group_2__3__Impl ;
+ // InternalErDsl.g:1113:1: rule__Entity__Group_2__3 : rule__Entity__Group_2__3__Impl ;
public final void rule__Entity__Group_2__3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1023:1: ( rule__Entity__Group_2__3__Impl )
- // InternalErDsl.g:1024:2: rule__Entity__Group_2__3__Impl
+ // InternalErDsl.g:1117:1: ( rule__Entity__Group_2__3__Impl )
+ // InternalErDsl.g:1118:2: rule__Entity__Group_2__3__Impl
{
pushFollow(FOLLOW_2);
rule__Entity__Group_2__3__Impl();
@@ -3120,20 +3476,20 @@ public final void rule__Entity__Group_2__3() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2__3__Impl"
- // InternalErDsl.g:1030:1: rule__Entity__Group_2__3__Impl : ( '}' ) ;
+ // InternalErDsl.g:1124:1: rule__Entity__Group_2__3__Impl : ( '}' ) ;
public final void rule__Entity__Group_2__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1034:1: ( ( '}' ) )
- // InternalErDsl.g:1035:1: ( '}' )
+ // InternalErDsl.g:1128:1: ( ( '}' ) )
+ // InternalErDsl.g:1129:1: ( '}' )
{
- // InternalErDsl.g:1035:1: ( '}' )
- // InternalErDsl.g:1036:2: '}'
+ // InternalErDsl.g:1129:1: ( '}' )
+ // InternalErDsl.g:1130:2: '}'
{
before(grammarAccess.getEntityAccess().getRightCurlyBracketKeyword_2_3());
- match(input,18,FOLLOW_2);
+ match(input,25,FOLLOW_2);
after(grammarAccess.getEntityAccess().getRightCurlyBracketKeyword_2_3());
}
@@ -3157,14 +3513,14 @@ public final void rule__Entity__Group_2__3__Impl() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2_2__0"
- // InternalErDsl.g:1046:1: rule__Entity__Group_2_2__0 : rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1 ;
+ // InternalErDsl.g:1140:1: rule__Entity__Group_2_2__0 : rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1 ;
public final void rule__Entity__Group_2_2__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1050:1: ( rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1 )
- // InternalErDsl.g:1051:2: rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1
+ // InternalErDsl.g:1144:1: ( rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1 )
+ // InternalErDsl.g:1145:2: rule__Entity__Group_2_2__0__Impl rule__Entity__Group_2_2__1
{
pushFollow(FOLLOW_5);
rule__Entity__Group_2_2__0__Impl();
@@ -3195,20 +3551,20 @@ public final void rule__Entity__Group_2_2__0() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2_2__0__Impl"
- // InternalErDsl.g:1058:1: rule__Entity__Group_2_2__0__Impl : ( ',' ) ;
+ // InternalErDsl.g:1152:1: rule__Entity__Group_2_2__0__Impl : ( ',' ) ;
public final void rule__Entity__Group_2_2__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1062:1: ( ( ',' ) )
- // InternalErDsl.g:1063:1: ( ',' )
+ // InternalErDsl.g:1156:1: ( ( ',' ) )
+ // InternalErDsl.g:1157:1: ( ',' )
{
- // InternalErDsl.g:1063:1: ( ',' )
- // InternalErDsl.g:1064:2: ','
+ // InternalErDsl.g:1157:1: ( ',' )
+ // InternalErDsl.g:1158:2: ','
{
before(grammarAccess.getEntityAccess().getCommaKeyword_2_2_0());
- match(input,22,FOLLOW_2);
+ match(input,29,FOLLOW_2);
after(grammarAccess.getEntityAccess().getCommaKeyword_2_2_0());
}
@@ -3232,14 +3588,14 @@ public final void rule__Entity__Group_2_2__0__Impl() throws RecognitionException
// $ANTLR start "rule__Entity__Group_2_2__1"
- // InternalErDsl.g:1073:1: rule__Entity__Group_2_2__1 : rule__Entity__Group_2_2__1__Impl ;
+ // InternalErDsl.g:1167:1: rule__Entity__Group_2_2__1 : rule__Entity__Group_2_2__1__Impl ;
public final void rule__Entity__Group_2_2__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1077:1: ( rule__Entity__Group_2_2__1__Impl )
- // InternalErDsl.g:1078:2: rule__Entity__Group_2_2__1__Impl
+ // InternalErDsl.g:1171:1: ( rule__Entity__Group_2_2__1__Impl )
+ // InternalErDsl.g:1172:2: rule__Entity__Group_2_2__1__Impl
{
pushFollow(FOLLOW_2);
rule__Entity__Group_2_2__1__Impl();
@@ -3265,21 +3621,21 @@ public final void rule__Entity__Group_2_2__1() throws RecognitionException {
// $ANTLR start "rule__Entity__Group_2_2__1__Impl"
- // InternalErDsl.g:1084:1: rule__Entity__Group_2_2__1__Impl : ( ( rule__Entity__AttributesAssignment_2_2_1 ) ) ;
+ // InternalErDsl.g:1178:1: rule__Entity__Group_2_2__1__Impl : ( ( rule__Entity__AttributesAssignment_2_2_1 ) ) ;
public final void rule__Entity__Group_2_2__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1088:1: ( ( ( rule__Entity__AttributesAssignment_2_2_1 ) ) )
- // InternalErDsl.g:1089:1: ( ( rule__Entity__AttributesAssignment_2_2_1 ) )
+ // InternalErDsl.g:1182:1: ( ( ( rule__Entity__AttributesAssignment_2_2_1 ) ) )
+ // InternalErDsl.g:1183:1: ( ( rule__Entity__AttributesAssignment_2_2_1 ) )
{
- // InternalErDsl.g:1089:1: ( ( rule__Entity__AttributesAssignment_2_2_1 ) )
- // InternalErDsl.g:1090:2: ( rule__Entity__AttributesAssignment_2_2_1 )
+ // InternalErDsl.g:1183:1: ( ( rule__Entity__AttributesAssignment_2_2_1 ) )
+ // InternalErDsl.g:1184:2: ( rule__Entity__AttributesAssignment_2_2_1 )
{
before(grammarAccess.getEntityAccess().getAttributesAssignment_2_2_1());
- // InternalErDsl.g:1091:2: ( rule__Entity__AttributesAssignment_2_2_1 )
- // InternalErDsl.g:1091:3: rule__Entity__AttributesAssignment_2_2_1
+ // InternalErDsl.g:1185:2: ( rule__Entity__AttributesAssignment_2_2_1 )
+ // InternalErDsl.g:1185:3: rule__Entity__AttributesAssignment_2_2_1
{
pushFollow(FOLLOW_2);
rule__Entity__AttributesAssignment_2_2_1();
@@ -3312,16 +3668,16 @@ public final void rule__Entity__Group_2_2__1__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group__0"
- // InternalErDsl.g:1100:1: rule__Relation__Group__0 : rule__Relation__Group__0__Impl rule__Relation__Group__1 ;
+ // InternalErDsl.g:1194:1: rule__Relation__Group__0 : rule__Relation__Group__0__Impl rule__Relation__Group__1 ;
public final void rule__Relation__Group__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1104:1: ( rule__Relation__Group__0__Impl rule__Relation__Group__1 )
- // InternalErDsl.g:1105:2: rule__Relation__Group__0__Impl rule__Relation__Group__1
+ // InternalErDsl.g:1198:1: ( rule__Relation__Group__0__Impl rule__Relation__Group__1 )
+ // InternalErDsl.g:1199:2: rule__Relation__Group__0__Impl rule__Relation__Group__1
{
- pushFollow(FOLLOW_17);
+ pushFollow(FOLLOW_18);
rule__Relation__Group__0__Impl();
state._fsp--;
@@ -3350,29 +3706,29 @@ public final void rule__Relation__Group__0() throws RecognitionException {
// $ANTLR start "rule__Relation__Group__0__Impl"
- // InternalErDsl.g:1112:1: rule__Relation__Group__0__Impl : ( ( rule__Relation__NameAssignment_0 )? ) ;
+ // InternalErDsl.g:1206:1: rule__Relation__Group__0__Impl : ( ( rule__Relation__NameAssignment_0 )? ) ;
public final void rule__Relation__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1116:1: ( ( ( rule__Relation__NameAssignment_0 )? ) )
- // InternalErDsl.g:1117:1: ( ( rule__Relation__NameAssignment_0 )? )
+ // InternalErDsl.g:1210:1: ( ( ( rule__Relation__NameAssignment_0 )? ) )
+ // InternalErDsl.g:1211:1: ( ( rule__Relation__NameAssignment_0 )? )
{
- // InternalErDsl.g:1117:1: ( ( rule__Relation__NameAssignment_0 )? )
- // InternalErDsl.g:1118:2: ( rule__Relation__NameAssignment_0 )?
+ // InternalErDsl.g:1211:1: ( ( rule__Relation__NameAssignment_0 )? )
+ // InternalErDsl.g:1212:2: ( rule__Relation__NameAssignment_0 )?
{
before(grammarAccess.getRelationAccess().getNameAssignment_0());
- // InternalErDsl.g:1119:2: ( rule__Relation__NameAssignment_0 )?
- int alt9=2;
- int LA9_0 = input.LA(1);
+ // InternalErDsl.g:1213:2: ( rule__Relation__NameAssignment_0 )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
- if ( (LA9_0==RULE_ID) ) {
- alt9=1;
+ if ( (LA10_0==RULE_ID) ) {
+ alt10=1;
}
- switch (alt9) {
+ switch (alt10) {
case 1 :
- // InternalErDsl.g:1119:3: rule__Relation__NameAssignment_0
+ // InternalErDsl.g:1213:3: rule__Relation__NameAssignment_0
{
pushFollow(FOLLOW_2);
rule__Relation__NameAssignment_0();
@@ -3408,14 +3764,14 @@ public final void rule__Relation__Group__0__Impl() throws RecognitionException {
// $ANTLR start "rule__Relation__Group__1"
- // InternalErDsl.g:1127:1: rule__Relation__Group__1 : rule__Relation__Group__1__Impl rule__Relation__Group__2 ;
+ // InternalErDsl.g:1221:1: rule__Relation__Group__1 : rule__Relation__Group__1__Impl rule__Relation__Group__2 ;
public final void rule__Relation__Group__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1131:1: ( rule__Relation__Group__1__Impl rule__Relation__Group__2 )
- // InternalErDsl.g:1132:2: rule__Relation__Group__1__Impl rule__Relation__Group__2
+ // InternalErDsl.g:1225:1: ( rule__Relation__Group__1__Impl rule__Relation__Group__2 )
+ // InternalErDsl.g:1226:2: rule__Relation__Group__1__Impl rule__Relation__Group__2
{
pushFollow(FOLLOW_11);
rule__Relation__Group__1__Impl();
@@ -3446,21 +3802,21 @@ public final void rule__Relation__Group__1() throws RecognitionException {
// $ANTLR start "rule__Relation__Group__1__Impl"
- // InternalErDsl.g:1139:1: rule__Relation__Group__1__Impl : ( ( rule__Relation__Group_1__0 ) ) ;
+ // InternalErDsl.g:1233:1: rule__Relation__Group__1__Impl : ( ( rule__Relation__Group_1__0 ) ) ;
public final void rule__Relation__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1143:1: ( ( ( rule__Relation__Group_1__0 ) ) )
- // InternalErDsl.g:1144:1: ( ( rule__Relation__Group_1__0 ) )
+ // InternalErDsl.g:1237:1: ( ( ( rule__Relation__Group_1__0 ) ) )
+ // InternalErDsl.g:1238:1: ( ( rule__Relation__Group_1__0 ) )
{
- // InternalErDsl.g:1144:1: ( ( rule__Relation__Group_1__0 ) )
- // InternalErDsl.g:1145:2: ( rule__Relation__Group_1__0 )
+ // InternalErDsl.g:1238:1: ( ( rule__Relation__Group_1__0 ) )
+ // InternalErDsl.g:1239:2: ( rule__Relation__Group_1__0 )
{
before(grammarAccess.getRelationAccess().getGroup_1());
- // InternalErDsl.g:1146:2: ( rule__Relation__Group_1__0 )
- // InternalErDsl.g:1146:3: rule__Relation__Group_1__0
+ // InternalErDsl.g:1240:2: ( rule__Relation__Group_1__0 )
+ // InternalErDsl.g:1240:3: rule__Relation__Group_1__0
{
pushFollow(FOLLOW_2);
rule__Relation__Group_1__0();
@@ -3493,14 +3849,14 @@ public final void rule__Relation__Group__1__Impl() throws RecognitionException {
// $ANTLR start "rule__Relation__Group__2"
- // InternalErDsl.g:1154:1: rule__Relation__Group__2 : rule__Relation__Group__2__Impl ;
+ // InternalErDsl.g:1248:1: rule__Relation__Group__2 : rule__Relation__Group__2__Impl ;
public final void rule__Relation__Group__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1158:1: ( rule__Relation__Group__2__Impl )
- // InternalErDsl.g:1159:2: rule__Relation__Group__2__Impl
+ // InternalErDsl.g:1252:1: ( rule__Relation__Group__2__Impl )
+ // InternalErDsl.g:1253:2: rule__Relation__Group__2__Impl
{
pushFollow(FOLLOW_2);
rule__Relation__Group__2__Impl();
@@ -3526,35 +3882,35 @@ public final void rule__Relation__Group__2() throws RecognitionException {
// $ANTLR start "rule__Relation__Group__2__Impl"
- // InternalErDsl.g:1165:1: rule__Relation__Group__2__Impl : ( ( rule__Relation__Group_2__0 )* ) ;
+ // InternalErDsl.g:1259:1: rule__Relation__Group__2__Impl : ( ( rule__Relation__Group_2__0 )* ) ;
public final void rule__Relation__Group__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1169:1: ( ( ( rule__Relation__Group_2__0 )* ) )
- // InternalErDsl.g:1170:1: ( ( rule__Relation__Group_2__0 )* )
+ // InternalErDsl.g:1263:1: ( ( ( rule__Relation__Group_2__0 )* ) )
+ // InternalErDsl.g:1264:1: ( ( rule__Relation__Group_2__0 )* )
{
- // InternalErDsl.g:1170:1: ( ( rule__Relation__Group_2__0 )* )
- // InternalErDsl.g:1171:2: ( rule__Relation__Group_2__0 )*
+ // InternalErDsl.g:1264:1: ( ( rule__Relation__Group_2__0 )* )
+ // InternalErDsl.g:1265:2: ( rule__Relation__Group_2__0 )*
{
before(grammarAccess.getRelationAccess().getGroup_2());
- // InternalErDsl.g:1172:2: ( rule__Relation__Group_2__0 )*
- loop10:
+ // InternalErDsl.g:1266:2: ( rule__Relation__Group_2__0 )*
+ loop11:
do {
- int alt10=2;
- int LA10_0 = input.LA(1);
+ int alt11=2;
+ int LA11_0 = input.LA(1);
- if ( (LA10_0==17) ) {
- alt10=1;
+ if ( (LA11_0==24) ) {
+ alt11=1;
}
- switch (alt10) {
+ switch (alt11) {
case 1 :
- // InternalErDsl.g:1172:3: rule__Relation__Group_2__0
+ // InternalErDsl.g:1266:3: rule__Relation__Group_2__0
{
- pushFollow(FOLLOW_18);
+ pushFollow(FOLLOW_19);
rule__Relation__Group_2__0();
state._fsp--;
@@ -3564,7 +3920,7 @@ public final void rule__Relation__Group__2__Impl() throws RecognitionException {
break;
default :
- break loop10;
+ break loop11;
}
} while (true);
@@ -3591,16 +3947,16 @@ public final void rule__Relation__Group__2__Impl() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__0"
- // InternalErDsl.g:1181:1: rule__Relation__Group_1__0 : rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1 ;
+ // InternalErDsl.g:1275:1: rule__Relation__Group_1__0 : rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1 ;
public final void rule__Relation__Group_1__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1185:1: ( rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1 )
- // InternalErDsl.g:1186:2: rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1
+ // InternalErDsl.g:1279:1: ( rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1 )
+ // InternalErDsl.g:1280:2: rule__Relation__Group_1__0__Impl rule__Relation__Group_1__1
{
- pushFollow(FOLLOW_19);
+ pushFollow(FOLLOW_20);
rule__Relation__Group_1__0__Impl();
state._fsp--;
@@ -3629,20 +3985,20 @@ public final void rule__Relation__Group_1__0() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__0__Impl"
- // InternalErDsl.g:1193:1: rule__Relation__Group_1__0__Impl : ( '[' ) ;
+ // InternalErDsl.g:1287:1: rule__Relation__Group_1__0__Impl : ( '[' ) ;
public final void rule__Relation__Group_1__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1197:1: ( ( '[' ) )
- // InternalErDsl.g:1198:1: ( '[' )
+ // InternalErDsl.g:1291:1: ( ( '[' ) )
+ // InternalErDsl.g:1292:1: ( '[' )
{
- // InternalErDsl.g:1198:1: ( '[' )
- // InternalErDsl.g:1199:2: '['
+ // InternalErDsl.g:1292:1: ( '[' )
+ // InternalErDsl.g:1293:2: '['
{
before(grammarAccess.getRelationAccess().getLeftSquareBracketKeyword_1_0());
- match(input,23,FOLLOW_2);
+ match(input,30,FOLLOW_2);
after(grammarAccess.getRelationAccess().getLeftSquareBracketKeyword_1_0());
}
@@ -3666,16 +4022,16 @@ public final void rule__Relation__Group_1__0__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_1__1"
- // InternalErDsl.g:1208:1: rule__Relation__Group_1__1 : rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2 ;
+ // InternalErDsl.g:1302:1: rule__Relation__Group_1__1 : rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2 ;
public final void rule__Relation__Group_1__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1212:1: ( rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2 )
- // InternalErDsl.g:1213:2: rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2
+ // InternalErDsl.g:1306:1: ( rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2 )
+ // InternalErDsl.g:1307:2: rule__Relation__Group_1__1__Impl rule__Relation__Group_1__2
{
- pushFollow(FOLLOW_20);
+ pushFollow(FOLLOW_21);
rule__Relation__Group_1__1__Impl();
state._fsp--;
@@ -3704,21 +4060,21 @@ public final void rule__Relation__Group_1__1() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__1__Impl"
- // InternalErDsl.g:1220:1: rule__Relation__Group_1__1__Impl : ( ( rule__Relation__LeftEndingAssignment_1_1 ) ) ;
+ // InternalErDsl.g:1314:1: rule__Relation__Group_1__1__Impl : ( ( rule__Relation__LeftEndingAssignment_1_1 ) ) ;
public final void rule__Relation__Group_1__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1224:1: ( ( ( rule__Relation__LeftEndingAssignment_1_1 ) ) )
- // InternalErDsl.g:1225:1: ( ( rule__Relation__LeftEndingAssignment_1_1 ) )
+ // InternalErDsl.g:1318:1: ( ( ( rule__Relation__LeftEndingAssignment_1_1 ) ) )
+ // InternalErDsl.g:1319:1: ( ( rule__Relation__LeftEndingAssignment_1_1 ) )
{
- // InternalErDsl.g:1225:1: ( ( rule__Relation__LeftEndingAssignment_1_1 ) )
- // InternalErDsl.g:1226:2: ( rule__Relation__LeftEndingAssignment_1_1 )
+ // InternalErDsl.g:1319:1: ( ( rule__Relation__LeftEndingAssignment_1_1 ) )
+ // InternalErDsl.g:1320:2: ( rule__Relation__LeftEndingAssignment_1_1 )
{
before(grammarAccess.getRelationAccess().getLeftEndingAssignment_1_1());
- // InternalErDsl.g:1227:2: ( rule__Relation__LeftEndingAssignment_1_1 )
- // InternalErDsl.g:1227:3: rule__Relation__LeftEndingAssignment_1_1
+ // InternalErDsl.g:1321:2: ( rule__Relation__LeftEndingAssignment_1_1 )
+ // InternalErDsl.g:1321:3: rule__Relation__LeftEndingAssignment_1_1
{
pushFollow(FOLLOW_2);
rule__Relation__LeftEndingAssignment_1_1();
@@ -3751,16 +4107,16 @@ public final void rule__Relation__Group_1__1__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_1__2"
- // InternalErDsl.g:1235:1: rule__Relation__Group_1__2 : rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3 ;
+ // InternalErDsl.g:1329:1: rule__Relation__Group_1__2 : rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3 ;
public final void rule__Relation__Group_1__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1239:1: ( rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3 )
- // InternalErDsl.g:1240:2: rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3
+ // InternalErDsl.g:1333:1: ( rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3 )
+ // InternalErDsl.g:1334:2: rule__Relation__Group_1__2__Impl rule__Relation__Group_1__3
{
- pushFollow(FOLLOW_19);
+ pushFollow(FOLLOW_20);
rule__Relation__Group_1__2__Impl();
state._fsp--;
@@ -3789,20 +4145,20 @@ public final void rule__Relation__Group_1__2() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__2__Impl"
- // InternalErDsl.g:1247:1: rule__Relation__Group_1__2__Impl : ( 'relates' ) ;
+ // InternalErDsl.g:1341:1: rule__Relation__Group_1__2__Impl : ( 'relates' ) ;
public final void rule__Relation__Group_1__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1251:1: ( ( 'relates' ) )
- // InternalErDsl.g:1252:1: ( 'relates' )
+ // InternalErDsl.g:1345:1: ( ( 'relates' ) )
+ // InternalErDsl.g:1346:1: ( 'relates' )
{
- // InternalErDsl.g:1252:1: ( 'relates' )
- // InternalErDsl.g:1253:2: 'relates'
+ // InternalErDsl.g:1346:1: ( 'relates' )
+ // InternalErDsl.g:1347:2: 'relates'
{
before(grammarAccess.getRelationAccess().getRelatesKeyword_1_2());
- match(input,24,FOLLOW_2);
+ match(input,31,FOLLOW_2);
after(grammarAccess.getRelationAccess().getRelatesKeyword_1_2());
}
@@ -3826,16 +4182,16 @@ public final void rule__Relation__Group_1__2__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_1__3"
- // InternalErDsl.g:1262:1: rule__Relation__Group_1__3 : rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4 ;
+ // InternalErDsl.g:1356:1: rule__Relation__Group_1__3 : rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4 ;
public final void rule__Relation__Group_1__3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1266:1: ( rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4 )
- // InternalErDsl.g:1267:2: rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4
+ // InternalErDsl.g:1360:1: ( rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4 )
+ // InternalErDsl.g:1361:2: rule__Relation__Group_1__3__Impl rule__Relation__Group_1__4
{
- pushFollow(FOLLOW_21);
+ pushFollow(FOLLOW_22);
rule__Relation__Group_1__3__Impl();
state._fsp--;
@@ -3864,21 +4220,21 @@ public final void rule__Relation__Group_1__3() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__3__Impl"
- // InternalErDsl.g:1274:1: rule__Relation__Group_1__3__Impl : ( ( rule__Relation__RightEndingAssignment_1_3 ) ) ;
+ // InternalErDsl.g:1368:1: rule__Relation__Group_1__3__Impl : ( ( rule__Relation__RightEndingAssignment_1_3 ) ) ;
public final void rule__Relation__Group_1__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1278:1: ( ( ( rule__Relation__RightEndingAssignment_1_3 ) ) )
- // InternalErDsl.g:1279:1: ( ( rule__Relation__RightEndingAssignment_1_3 ) )
+ // InternalErDsl.g:1372:1: ( ( ( rule__Relation__RightEndingAssignment_1_3 ) ) )
+ // InternalErDsl.g:1373:1: ( ( rule__Relation__RightEndingAssignment_1_3 ) )
{
- // InternalErDsl.g:1279:1: ( ( rule__Relation__RightEndingAssignment_1_3 ) )
- // InternalErDsl.g:1280:2: ( rule__Relation__RightEndingAssignment_1_3 )
+ // InternalErDsl.g:1373:1: ( ( rule__Relation__RightEndingAssignment_1_3 ) )
+ // InternalErDsl.g:1374:2: ( rule__Relation__RightEndingAssignment_1_3 )
{
before(grammarAccess.getRelationAccess().getRightEndingAssignment_1_3());
- // InternalErDsl.g:1281:2: ( rule__Relation__RightEndingAssignment_1_3 )
- // InternalErDsl.g:1281:3: rule__Relation__RightEndingAssignment_1_3
+ // InternalErDsl.g:1375:2: ( rule__Relation__RightEndingAssignment_1_3 )
+ // InternalErDsl.g:1375:3: rule__Relation__RightEndingAssignment_1_3
{
pushFollow(FOLLOW_2);
rule__Relation__RightEndingAssignment_1_3();
@@ -3911,14 +4267,14 @@ public final void rule__Relation__Group_1__3__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_1__4"
- // InternalErDsl.g:1289:1: rule__Relation__Group_1__4 : rule__Relation__Group_1__4__Impl ;
+ // InternalErDsl.g:1383:1: rule__Relation__Group_1__4 : rule__Relation__Group_1__4__Impl ;
public final void rule__Relation__Group_1__4() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1293:1: ( rule__Relation__Group_1__4__Impl )
- // InternalErDsl.g:1294:2: rule__Relation__Group_1__4__Impl
+ // InternalErDsl.g:1387:1: ( rule__Relation__Group_1__4__Impl )
+ // InternalErDsl.g:1388:2: rule__Relation__Group_1__4__Impl
{
pushFollow(FOLLOW_2);
rule__Relation__Group_1__4__Impl();
@@ -3944,20 +4300,20 @@ public final void rule__Relation__Group_1__4() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_1__4__Impl"
- // InternalErDsl.g:1300:1: rule__Relation__Group_1__4__Impl : ( ']' ) ;
+ // InternalErDsl.g:1394:1: rule__Relation__Group_1__4__Impl : ( ']' ) ;
public final void rule__Relation__Group_1__4__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1304:1: ( ( ']' ) )
- // InternalErDsl.g:1305:1: ( ']' )
+ // InternalErDsl.g:1398:1: ( ( ']' ) )
+ // InternalErDsl.g:1399:1: ( ']' )
{
- // InternalErDsl.g:1305:1: ( ']' )
- // InternalErDsl.g:1306:2: ']'
+ // InternalErDsl.g:1399:1: ( ']' )
+ // InternalErDsl.g:1400:2: ']'
{
before(grammarAccess.getRelationAccess().getRightSquareBracketKeyword_1_4());
- match(input,25,FOLLOW_2);
+ match(input,32,FOLLOW_2);
after(grammarAccess.getRelationAccess().getRightSquareBracketKeyword_1_4());
}
@@ -3981,14 +4337,14 @@ public final void rule__Relation__Group_1__4__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_2__0"
- // InternalErDsl.g:1316:1: rule__Relation__Group_2__0 : rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1 ;
+ // InternalErDsl.g:1410:1: rule__Relation__Group_2__0 : rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1 ;
public final void rule__Relation__Group_2__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1320:1: ( rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1 )
- // InternalErDsl.g:1321:2: rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1
+ // InternalErDsl.g:1414:1: ( rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1 )
+ // InternalErDsl.g:1415:2: rule__Relation__Group_2__0__Impl rule__Relation__Group_2__1
{
pushFollow(FOLLOW_5);
rule__Relation__Group_2__0__Impl();
@@ -4019,20 +4375,20 @@ public final void rule__Relation__Group_2__0() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2__0__Impl"
- // InternalErDsl.g:1328:1: rule__Relation__Group_2__0__Impl : ( '{' ) ;
+ // InternalErDsl.g:1422:1: rule__Relation__Group_2__0__Impl : ( '{' ) ;
public final void rule__Relation__Group_2__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1332:1: ( ( '{' ) )
- // InternalErDsl.g:1333:1: ( '{' )
+ // InternalErDsl.g:1426:1: ( ( '{' ) )
+ // InternalErDsl.g:1427:1: ( '{' )
{
- // InternalErDsl.g:1333:1: ( '{' )
- // InternalErDsl.g:1334:2: '{'
+ // InternalErDsl.g:1427:1: ( '{' )
+ // InternalErDsl.g:1428:2: '{'
{
before(grammarAccess.getRelationAccess().getLeftCurlyBracketKeyword_2_0());
- match(input,17,FOLLOW_2);
+ match(input,24,FOLLOW_2);
after(grammarAccess.getRelationAccess().getLeftCurlyBracketKeyword_2_0());
}
@@ -4056,16 +4412,16 @@ public final void rule__Relation__Group_2__0__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_2__1"
- // InternalErDsl.g:1343:1: rule__Relation__Group_2__1 : rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2 ;
+ // InternalErDsl.g:1437:1: rule__Relation__Group_2__1 : rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2 ;
public final void rule__Relation__Group_2__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1347:1: ( rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2 )
- // InternalErDsl.g:1348:2: rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2
+ // InternalErDsl.g:1441:1: ( rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2 )
+ // InternalErDsl.g:1442:2: rule__Relation__Group_2__1__Impl rule__Relation__Group_2__2
{
- pushFollow(FOLLOW_15);
+ pushFollow(FOLLOW_16);
rule__Relation__Group_2__1__Impl();
state._fsp--;
@@ -4094,21 +4450,21 @@ public final void rule__Relation__Group_2__1() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2__1__Impl"
- // InternalErDsl.g:1355:1: rule__Relation__Group_2__1__Impl : ( ( rule__Relation__AttributesAssignment_2_1 ) ) ;
+ // InternalErDsl.g:1449:1: rule__Relation__Group_2__1__Impl : ( ( rule__Relation__AttributesAssignment_2_1 ) ) ;
public final void rule__Relation__Group_2__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1359:1: ( ( ( rule__Relation__AttributesAssignment_2_1 ) ) )
- // InternalErDsl.g:1360:1: ( ( rule__Relation__AttributesAssignment_2_1 ) )
+ // InternalErDsl.g:1453:1: ( ( ( rule__Relation__AttributesAssignment_2_1 ) ) )
+ // InternalErDsl.g:1454:1: ( ( rule__Relation__AttributesAssignment_2_1 ) )
{
- // InternalErDsl.g:1360:1: ( ( rule__Relation__AttributesAssignment_2_1 ) )
- // InternalErDsl.g:1361:2: ( rule__Relation__AttributesAssignment_2_1 )
+ // InternalErDsl.g:1454:1: ( ( rule__Relation__AttributesAssignment_2_1 ) )
+ // InternalErDsl.g:1455:2: ( rule__Relation__AttributesAssignment_2_1 )
{
before(grammarAccess.getRelationAccess().getAttributesAssignment_2_1());
- // InternalErDsl.g:1362:2: ( rule__Relation__AttributesAssignment_2_1 )
- // InternalErDsl.g:1362:3: rule__Relation__AttributesAssignment_2_1
+ // InternalErDsl.g:1456:2: ( rule__Relation__AttributesAssignment_2_1 )
+ // InternalErDsl.g:1456:3: rule__Relation__AttributesAssignment_2_1
{
pushFollow(FOLLOW_2);
rule__Relation__AttributesAssignment_2_1();
@@ -4141,16 +4497,16 @@ public final void rule__Relation__Group_2__1__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_2__2"
- // InternalErDsl.g:1370:1: rule__Relation__Group_2__2 : rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3 ;
+ // InternalErDsl.g:1464:1: rule__Relation__Group_2__2 : rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3 ;
public final void rule__Relation__Group_2__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1374:1: ( rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3 )
- // InternalErDsl.g:1375:2: rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3
+ // InternalErDsl.g:1468:1: ( rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3 )
+ // InternalErDsl.g:1469:2: rule__Relation__Group_2__2__Impl rule__Relation__Group_2__3
{
- pushFollow(FOLLOW_15);
+ pushFollow(FOLLOW_16);
rule__Relation__Group_2__2__Impl();
state._fsp--;
@@ -4179,35 +4535,35 @@ public final void rule__Relation__Group_2__2() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2__2__Impl"
- // InternalErDsl.g:1382:1: rule__Relation__Group_2__2__Impl : ( ( rule__Relation__Group_2_2__0 )* ) ;
+ // InternalErDsl.g:1476:1: rule__Relation__Group_2__2__Impl : ( ( rule__Relation__Group_2_2__0 )* ) ;
public final void rule__Relation__Group_2__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1386:1: ( ( ( rule__Relation__Group_2_2__0 )* ) )
- // InternalErDsl.g:1387:1: ( ( rule__Relation__Group_2_2__0 )* )
+ // InternalErDsl.g:1480:1: ( ( ( rule__Relation__Group_2_2__0 )* ) )
+ // InternalErDsl.g:1481:1: ( ( rule__Relation__Group_2_2__0 )* )
{
- // InternalErDsl.g:1387:1: ( ( rule__Relation__Group_2_2__0 )* )
- // InternalErDsl.g:1388:2: ( rule__Relation__Group_2_2__0 )*
+ // InternalErDsl.g:1481:1: ( ( rule__Relation__Group_2_2__0 )* )
+ // InternalErDsl.g:1482:2: ( rule__Relation__Group_2_2__0 )*
{
before(grammarAccess.getRelationAccess().getGroup_2_2());
- // InternalErDsl.g:1389:2: ( rule__Relation__Group_2_2__0 )*
- loop11:
+ // InternalErDsl.g:1483:2: ( rule__Relation__Group_2_2__0 )*
+ loop12:
do {
- int alt11=2;
- int LA11_0 = input.LA(1);
+ int alt12=2;
+ int LA12_0 = input.LA(1);
- if ( (LA11_0==22) ) {
- alt11=1;
+ if ( (LA12_0==29) ) {
+ alt12=1;
}
- switch (alt11) {
+ switch (alt12) {
case 1 :
- // InternalErDsl.g:1389:3: rule__Relation__Group_2_2__0
+ // InternalErDsl.g:1483:3: rule__Relation__Group_2_2__0
{
- pushFollow(FOLLOW_16);
+ pushFollow(FOLLOW_17);
rule__Relation__Group_2_2__0();
state._fsp--;
@@ -4217,7 +4573,7 @@ public final void rule__Relation__Group_2__2__Impl() throws RecognitionException
break;
default :
- break loop11;
+ break loop12;
}
} while (true);
@@ -4244,14 +4600,14 @@ public final void rule__Relation__Group_2__2__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_2__3"
- // InternalErDsl.g:1397:1: rule__Relation__Group_2__3 : rule__Relation__Group_2__3__Impl ;
+ // InternalErDsl.g:1491:1: rule__Relation__Group_2__3 : rule__Relation__Group_2__3__Impl ;
public final void rule__Relation__Group_2__3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1401:1: ( rule__Relation__Group_2__3__Impl )
- // InternalErDsl.g:1402:2: rule__Relation__Group_2__3__Impl
+ // InternalErDsl.g:1495:1: ( rule__Relation__Group_2__3__Impl )
+ // InternalErDsl.g:1496:2: rule__Relation__Group_2__3__Impl
{
pushFollow(FOLLOW_2);
rule__Relation__Group_2__3__Impl();
@@ -4277,20 +4633,20 @@ public final void rule__Relation__Group_2__3() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2__3__Impl"
- // InternalErDsl.g:1408:1: rule__Relation__Group_2__3__Impl : ( '}' ) ;
+ // InternalErDsl.g:1502:1: rule__Relation__Group_2__3__Impl : ( '}' ) ;
public final void rule__Relation__Group_2__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1412:1: ( ( '}' ) )
- // InternalErDsl.g:1413:1: ( '}' )
+ // InternalErDsl.g:1506:1: ( ( '}' ) )
+ // InternalErDsl.g:1507:1: ( '}' )
{
- // InternalErDsl.g:1413:1: ( '}' )
- // InternalErDsl.g:1414:2: '}'
+ // InternalErDsl.g:1507:1: ( '}' )
+ // InternalErDsl.g:1508:2: '}'
{
before(grammarAccess.getRelationAccess().getRightCurlyBracketKeyword_2_3());
- match(input,18,FOLLOW_2);
+ match(input,25,FOLLOW_2);
after(grammarAccess.getRelationAccess().getRightCurlyBracketKeyword_2_3());
}
@@ -4314,14 +4670,14 @@ public final void rule__Relation__Group_2__3__Impl() throws RecognitionException
// $ANTLR start "rule__Relation__Group_2_2__0"
- // InternalErDsl.g:1424:1: rule__Relation__Group_2_2__0 : rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1 ;
+ // InternalErDsl.g:1518:1: rule__Relation__Group_2_2__0 : rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1 ;
public final void rule__Relation__Group_2_2__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1428:1: ( rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1 )
- // InternalErDsl.g:1429:2: rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1
+ // InternalErDsl.g:1522:1: ( rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1 )
+ // InternalErDsl.g:1523:2: rule__Relation__Group_2_2__0__Impl rule__Relation__Group_2_2__1
{
pushFollow(FOLLOW_5);
rule__Relation__Group_2_2__0__Impl();
@@ -4352,20 +4708,20 @@ public final void rule__Relation__Group_2_2__0() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2_2__0__Impl"
- // InternalErDsl.g:1436:1: rule__Relation__Group_2_2__0__Impl : ( ',' ) ;
+ // InternalErDsl.g:1530:1: rule__Relation__Group_2_2__0__Impl : ( ',' ) ;
public final void rule__Relation__Group_2_2__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1440:1: ( ( ',' ) )
- // InternalErDsl.g:1441:1: ( ',' )
+ // InternalErDsl.g:1534:1: ( ( ',' ) )
+ // InternalErDsl.g:1535:1: ( ',' )
{
- // InternalErDsl.g:1441:1: ( ',' )
- // InternalErDsl.g:1442:2: ','
+ // InternalErDsl.g:1535:1: ( ',' )
+ // InternalErDsl.g:1536:2: ','
{
before(grammarAccess.getRelationAccess().getCommaKeyword_2_2_0());
- match(input,22,FOLLOW_2);
+ match(input,29,FOLLOW_2);
after(grammarAccess.getRelationAccess().getCommaKeyword_2_2_0());
}
@@ -4389,14 +4745,14 @@ public final void rule__Relation__Group_2_2__0__Impl() throws RecognitionExcepti
// $ANTLR start "rule__Relation__Group_2_2__1"
- // InternalErDsl.g:1451:1: rule__Relation__Group_2_2__1 : rule__Relation__Group_2_2__1__Impl ;
+ // InternalErDsl.g:1545:1: rule__Relation__Group_2_2__1 : rule__Relation__Group_2_2__1__Impl ;
public final void rule__Relation__Group_2_2__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1455:1: ( rule__Relation__Group_2_2__1__Impl )
- // InternalErDsl.g:1456:2: rule__Relation__Group_2_2__1__Impl
+ // InternalErDsl.g:1549:1: ( rule__Relation__Group_2_2__1__Impl )
+ // InternalErDsl.g:1550:2: rule__Relation__Group_2_2__1__Impl
{
pushFollow(FOLLOW_2);
rule__Relation__Group_2_2__1__Impl();
@@ -4422,21 +4778,21 @@ public final void rule__Relation__Group_2_2__1() throws RecognitionException {
// $ANTLR start "rule__Relation__Group_2_2__1__Impl"
- // InternalErDsl.g:1462:1: rule__Relation__Group_2_2__1__Impl : ( ( rule__Relation__AttributesAssignment_2_2_1 ) ) ;
+ // InternalErDsl.g:1556:1: rule__Relation__Group_2_2__1__Impl : ( ( rule__Relation__AttributesAssignment_2_2_1 ) ) ;
public final void rule__Relation__Group_2_2__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1466:1: ( ( ( rule__Relation__AttributesAssignment_2_2_1 ) ) )
- // InternalErDsl.g:1467:1: ( ( rule__Relation__AttributesAssignment_2_2_1 ) )
+ // InternalErDsl.g:1560:1: ( ( ( rule__Relation__AttributesAssignment_2_2_1 ) ) )
+ // InternalErDsl.g:1561:1: ( ( rule__Relation__AttributesAssignment_2_2_1 ) )
{
- // InternalErDsl.g:1467:1: ( ( rule__Relation__AttributesAssignment_2_2_1 ) )
- // InternalErDsl.g:1468:2: ( rule__Relation__AttributesAssignment_2_2_1 )
+ // InternalErDsl.g:1561:1: ( ( rule__Relation__AttributesAssignment_2_2_1 ) )
+ // InternalErDsl.g:1562:2: ( rule__Relation__AttributesAssignment_2_2_1 )
{
before(grammarAccess.getRelationAccess().getAttributesAssignment_2_2_1());
- // InternalErDsl.g:1469:2: ( rule__Relation__AttributesAssignment_2_2_1 )
- // InternalErDsl.g:1469:3: rule__Relation__AttributesAssignment_2_2_1
+ // InternalErDsl.g:1563:2: ( rule__Relation__AttributesAssignment_2_2_1 )
+ // InternalErDsl.g:1563:3: rule__Relation__AttributesAssignment_2_2_1
{
pushFollow(FOLLOW_2);
rule__Relation__AttributesAssignment_2_2_1();
@@ -4469,14 +4825,14 @@ public final void rule__Relation__Group_2_2__1__Impl() throws RecognitionExcepti
// $ANTLR start "rule__RelationSide__Group_0__0"
- // InternalErDsl.g:1478:1: rule__RelationSide__Group_0__0 : rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1 ;
+ // InternalErDsl.g:1572:1: rule__RelationSide__Group_0__0 : rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1 ;
public final void rule__RelationSide__Group_0__0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1482:1: ( rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1 )
- // InternalErDsl.g:1483:2: rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1
+ // InternalErDsl.g:1576:1: ( rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1 )
+ // InternalErDsl.g:1577:2: rule__RelationSide__Group_0__0__Impl rule__RelationSide__Group_0__1
{
pushFollow(FOLLOW_5);
rule__RelationSide__Group_0__0__Impl();
@@ -4507,21 +4863,21 @@ public final void rule__RelationSide__Group_0__0() throws RecognitionException {
// $ANTLR start "rule__RelationSide__Group_0__0__Impl"
- // InternalErDsl.g:1490:1: rule__RelationSide__Group_0__0__Impl : ( ( rule__RelationSide__CardinalityAssignment_0_0 ) ) ;
+ // InternalErDsl.g:1584:1: rule__RelationSide__Group_0__0__Impl : ( ( rule__RelationSide__CardinalityAssignment_0_0 ) ) ;
public final void rule__RelationSide__Group_0__0__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1494:1: ( ( ( rule__RelationSide__CardinalityAssignment_0_0 ) ) )
- // InternalErDsl.g:1495:1: ( ( rule__RelationSide__CardinalityAssignment_0_0 ) )
+ // InternalErDsl.g:1588:1: ( ( ( rule__RelationSide__CardinalityAssignment_0_0 ) ) )
+ // InternalErDsl.g:1589:1: ( ( rule__RelationSide__CardinalityAssignment_0_0 ) )
{
- // InternalErDsl.g:1495:1: ( ( rule__RelationSide__CardinalityAssignment_0_0 ) )
- // InternalErDsl.g:1496:2: ( rule__RelationSide__CardinalityAssignment_0_0 )
+ // InternalErDsl.g:1589:1: ( ( rule__RelationSide__CardinalityAssignment_0_0 ) )
+ // InternalErDsl.g:1590:2: ( rule__RelationSide__CardinalityAssignment_0_0 )
{
before(grammarAccess.getRelationSideAccess().getCardinalityAssignment_0_0());
- // InternalErDsl.g:1497:2: ( rule__RelationSide__CardinalityAssignment_0_0 )
- // InternalErDsl.g:1497:3: rule__RelationSide__CardinalityAssignment_0_0
+ // InternalErDsl.g:1591:2: ( rule__RelationSide__CardinalityAssignment_0_0 )
+ // InternalErDsl.g:1591:3: rule__RelationSide__CardinalityAssignment_0_0
{
pushFollow(FOLLOW_2);
rule__RelationSide__CardinalityAssignment_0_0();
@@ -4554,14 +4910,14 @@ public final void rule__RelationSide__Group_0__0__Impl() throws RecognitionExcep
// $ANTLR start "rule__RelationSide__Group_0__1"
- // InternalErDsl.g:1505:1: rule__RelationSide__Group_0__1 : rule__RelationSide__Group_0__1__Impl ;
+ // InternalErDsl.g:1599:1: rule__RelationSide__Group_0__1 : rule__RelationSide__Group_0__1__Impl ;
public final void rule__RelationSide__Group_0__1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1509:1: ( rule__RelationSide__Group_0__1__Impl )
- // InternalErDsl.g:1510:2: rule__RelationSide__Group_0__1__Impl
+ // InternalErDsl.g:1603:1: ( rule__RelationSide__Group_0__1__Impl )
+ // InternalErDsl.g:1604:2: rule__RelationSide__Group_0__1__Impl
{
pushFollow(FOLLOW_2);
rule__RelationSide__Group_0__1__Impl();
@@ -4587,21 +4943,21 @@ public final void rule__RelationSide__Group_0__1() throws RecognitionException {
// $ANTLR start "rule__RelationSide__Group_0__1__Impl"
- // InternalErDsl.g:1516:1: rule__RelationSide__Group_0__1__Impl : ( ( rule__RelationSide__TargetAssignment_0_1 ) ) ;
+ // InternalErDsl.g:1610:1: rule__RelationSide__Group_0__1__Impl : ( ( rule__RelationSide__TargetAssignment_0_1 ) ) ;
public final void rule__RelationSide__Group_0__1__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1520:1: ( ( ( rule__RelationSide__TargetAssignment_0_1 ) ) )
- // InternalErDsl.g:1521:1: ( ( rule__RelationSide__TargetAssignment_0_1 ) )
+ // InternalErDsl.g:1614:1: ( ( ( rule__RelationSide__TargetAssignment_0_1 ) ) )
+ // InternalErDsl.g:1615:1: ( ( rule__RelationSide__TargetAssignment_0_1 ) )
{
- // InternalErDsl.g:1521:1: ( ( rule__RelationSide__TargetAssignment_0_1 ) )
- // InternalErDsl.g:1522:2: ( rule__RelationSide__TargetAssignment_0_1 )
+ // InternalErDsl.g:1615:1: ( ( rule__RelationSide__TargetAssignment_0_1 ) )
+ // InternalErDsl.g:1616:2: ( rule__RelationSide__TargetAssignment_0_1 )
{
before(grammarAccess.getRelationSideAccess().getTargetAssignment_0_1());
- // InternalErDsl.g:1523:2: ( rule__RelationSide__TargetAssignment_0_1 )
- // InternalErDsl.g:1523:3: rule__RelationSide__TargetAssignment_0_1
+ // InternalErDsl.g:1617:2: ( rule__RelationSide__TargetAssignment_0_1 )
+ // InternalErDsl.g:1617:3: rule__RelationSide__TargetAssignment_0_1
{
pushFollow(FOLLOW_2);
rule__RelationSide__TargetAssignment_0_1();
@@ -4634,17 +4990,17 @@ public final void rule__RelationSide__Group_0__1__Impl() throws RecognitionExcep
// $ANTLR start "rule__ERModel__DomainAssignment_0"
- // InternalErDsl.g:1532:1: rule__ERModel__DomainAssignment_0 : ( ruleDomain ) ;
+ // InternalErDsl.g:1626:1: rule__ERModel__DomainAssignment_0 : ( ruleDomain ) ;
public final void rule__ERModel__DomainAssignment_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1536:1: ( ( ruleDomain ) )
- // InternalErDsl.g:1537:2: ( ruleDomain )
+ // InternalErDsl.g:1630:1: ( ( ruleDomain ) )
+ // InternalErDsl.g:1631:2: ( ruleDomain )
{
- // InternalErDsl.g:1537:2: ( ruleDomain )
- // InternalErDsl.g:1538:3: ruleDomain
+ // InternalErDsl.g:1631:2: ( ruleDomain )
+ // InternalErDsl.g:1632:3: ruleDomain
{
before(grammarAccess.getERModelAccess().getDomainDomainParserRuleCall_0_0());
pushFollow(FOLLOW_2);
@@ -4675,17 +5031,17 @@ public final void rule__ERModel__DomainAssignment_0() throws RecognitionExceptio
// $ANTLR start "rule__ERModel__EntitiesAssignment_3"
- // InternalErDsl.g:1547:1: rule__ERModel__EntitiesAssignment_3 : ( ruleEntity ) ;
+ // InternalErDsl.g:1641:1: rule__ERModel__EntitiesAssignment_3 : ( ruleEntity ) ;
public final void rule__ERModel__EntitiesAssignment_3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1551:1: ( ( ruleEntity ) )
- // InternalErDsl.g:1552:2: ( ruleEntity )
+ // InternalErDsl.g:1645:1: ( ( ruleEntity ) )
+ // InternalErDsl.g:1646:2: ( ruleEntity )
{
- // InternalErDsl.g:1552:2: ( ruleEntity )
- // InternalErDsl.g:1553:3: ruleEntity
+ // InternalErDsl.g:1646:2: ( ruleEntity )
+ // InternalErDsl.g:1647:3: ruleEntity
{
before(grammarAccess.getERModelAccess().getEntitiesEntityParserRuleCall_3_0());
pushFollow(FOLLOW_2);
@@ -4716,17 +5072,17 @@ public final void rule__ERModel__EntitiesAssignment_3() throws RecognitionExcept
// $ANTLR start "rule__ERModel__RelationsAssignment_6"
- // InternalErDsl.g:1562:1: rule__ERModel__RelationsAssignment_6 : ( ruleRelation ) ;
+ // InternalErDsl.g:1656:1: rule__ERModel__RelationsAssignment_6 : ( ruleRelation ) ;
public final void rule__ERModel__RelationsAssignment_6() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1566:1: ( ( ruleRelation ) )
- // InternalErDsl.g:1567:2: ( ruleRelation )
+ // InternalErDsl.g:1660:1: ( ( ruleRelation ) )
+ // InternalErDsl.g:1661:2: ( ruleRelation )
{
- // InternalErDsl.g:1567:2: ( ruleRelation )
- // InternalErDsl.g:1568:3: ruleRelation
+ // InternalErDsl.g:1661:2: ( ruleRelation )
+ // InternalErDsl.g:1662:3: ruleRelation
{
before(grammarAccess.getERModelAccess().getRelationsRelationParserRuleCall_6_0());
pushFollow(FOLLOW_2);
@@ -4757,17 +5113,17 @@ public final void rule__ERModel__RelationsAssignment_6() throws RecognitionExcep
// $ANTLR start "rule__Domain__NameAssignment_1"
- // InternalErDsl.g:1577:1: rule__Domain__NameAssignment_1 : ( RULE_ID ) ;
+ // InternalErDsl.g:1671:1: rule__Domain__NameAssignment_1 : ( RULE_ID ) ;
public final void rule__Domain__NameAssignment_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1581:1: ( ( RULE_ID ) )
- // InternalErDsl.g:1582:2: ( RULE_ID )
+ // InternalErDsl.g:1675:1: ( ( RULE_ID ) )
+ // InternalErDsl.g:1676:2: ( RULE_ID )
{
- // InternalErDsl.g:1582:2: ( RULE_ID )
- // InternalErDsl.g:1583:3: RULE_ID
+ // InternalErDsl.g:1676:2: ( RULE_ID )
+ // InternalErDsl.g:1677:3: RULE_ID
{
before(grammarAccess.getDomainAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2);
@@ -4794,17 +5150,17 @@ public final void rule__Domain__NameAssignment_1() throws RecognitionException {
// $ANTLR start "rule__Attribute__NameAssignment_0"
- // InternalErDsl.g:1592:1: rule__Attribute__NameAssignment_0 : ( RULE_ID ) ;
+ // InternalErDsl.g:1686:1: rule__Attribute__NameAssignment_0 : ( RULE_ID ) ;
public final void rule__Attribute__NameAssignment_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1596:1: ( ( RULE_ID ) )
- // InternalErDsl.g:1597:2: ( RULE_ID )
+ // InternalErDsl.g:1690:1: ( ( RULE_ID ) )
+ // InternalErDsl.g:1691:2: ( RULE_ID )
{
- // InternalErDsl.g:1597:2: ( RULE_ID )
- // InternalErDsl.g:1598:3: RULE_ID
+ // InternalErDsl.g:1691:2: ( RULE_ID )
+ // InternalErDsl.g:1692:3: RULE_ID
{
before(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_0_0());
match(input,RULE_ID,FOLLOW_2);
@@ -4830,30 +5186,71 @@ public final void rule__Attribute__NameAssignment_0() throws RecognitionExceptio
// $ANTLR end "rule__Attribute__NameAssignment_0"
- // $ANTLR start "rule__Attribute__IsKeyAssignment_1"
- // InternalErDsl.g:1607:1: rule__Attribute__IsKeyAssignment_1 : ( ( 'isIdentifier' ) ) ;
- public final void rule__Attribute__IsKeyAssignment_1() throws RecognitionException {
+ // $ANTLR start "rule__Attribute__TypeAssignment_1"
+ // InternalErDsl.g:1701:1: rule__Attribute__TypeAssignment_1 : ( ruleDataType ) ;
+ public final void rule__Attribute__TypeAssignment_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1611:1: ( ( ( 'isIdentifier' ) ) )
- // InternalErDsl.g:1612:2: ( ( 'isIdentifier' ) )
+ // InternalErDsl.g:1705:1: ( ( ruleDataType ) )
+ // InternalErDsl.g:1706:2: ( ruleDataType )
{
- // InternalErDsl.g:1612:2: ( ( 'isIdentifier' ) )
- // InternalErDsl.g:1613:3: ( 'isIdentifier' )
+ // InternalErDsl.g:1706:2: ( ruleDataType )
+ // InternalErDsl.g:1707:3: ruleDataType
{
- before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
- // InternalErDsl.g:1614:3: ( 'isIdentifier' )
- // InternalErDsl.g:1615:4: 'isIdentifier'
+ before(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0());
+ pushFollow(FOLLOW_2);
+ ruleDataType();
+
+ state._fsp--;
+
+ after(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Attribute__TypeAssignment_1"
+
+
+ // $ANTLR start "rule__Attribute__IsKeyAssignment_2"
+ // InternalErDsl.g:1716:1: rule__Attribute__IsKeyAssignment_2 : ( ( 'isIdentifier' ) ) ;
+ public final void rule__Attribute__IsKeyAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // InternalErDsl.g:1720:1: ( ( ( 'isIdentifier' ) ) )
+ // InternalErDsl.g:1721:2: ( ( 'isIdentifier' ) )
{
- before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
- match(input,26,FOLLOW_2);
- after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
+ // InternalErDsl.g:1721:2: ( ( 'isIdentifier' ) )
+ // InternalErDsl.g:1722:3: ( 'isIdentifier' )
+ {
+ before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
+ // InternalErDsl.g:1723:3: ( 'isIdentifier' )
+ // InternalErDsl.g:1724:4: 'isIdentifier'
+ {
+ before(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
+ match(input,33,FOLLOW_2);
+ after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
}
- after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
+ after(grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
}
@@ -4872,21 +5269,21 @@ public final void rule__Attribute__IsKeyAssignment_1() throws RecognitionExcepti
}
return ;
}
- // $ANTLR end "rule__Attribute__IsKeyAssignment_1"
+ // $ANTLR end "rule__Attribute__IsKeyAssignment_2"
// $ANTLR start "rule__Entity__NameAssignment_0"
- // InternalErDsl.g:1626:1: rule__Entity__NameAssignment_0 : ( RULE_ID ) ;
+ // InternalErDsl.g:1735:1: rule__Entity__NameAssignment_0 : ( RULE_ID ) ;
public final void rule__Entity__NameAssignment_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1630:1: ( ( RULE_ID ) )
- // InternalErDsl.g:1631:2: ( RULE_ID )
+ // InternalErDsl.g:1739:1: ( ( RULE_ID ) )
+ // InternalErDsl.g:1740:2: ( RULE_ID )
{
- // InternalErDsl.g:1631:2: ( RULE_ID )
- // InternalErDsl.g:1632:3: RULE_ID
+ // InternalErDsl.g:1740:2: ( RULE_ID )
+ // InternalErDsl.g:1741:3: RULE_ID
{
before(grammarAccess.getEntityAccess().getNameIDTerminalRuleCall_0_0());
match(input,RULE_ID,FOLLOW_2);
@@ -4913,21 +5310,21 @@ public final void rule__Entity__NameAssignment_0() throws RecognitionException {
// $ANTLR start "rule__Entity__IsAssignment_1_1"
- // InternalErDsl.g:1641:1: rule__Entity__IsAssignment_1_1 : ( ( RULE_ID ) ) ;
+ // InternalErDsl.g:1750:1: rule__Entity__IsAssignment_1_1 : ( ( RULE_ID ) ) ;
public final void rule__Entity__IsAssignment_1_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1645:1: ( ( ( RULE_ID ) ) )
- // InternalErDsl.g:1646:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1754:1: ( ( ( RULE_ID ) ) )
+ // InternalErDsl.g:1755:2: ( ( RULE_ID ) )
{
- // InternalErDsl.g:1646:2: ( ( RULE_ID ) )
- // InternalErDsl.g:1647:3: ( RULE_ID )
+ // InternalErDsl.g:1755:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1756:3: ( RULE_ID )
{
before(grammarAccess.getEntityAccess().getIsEntityCrossReference_1_1_0());
- // InternalErDsl.g:1648:3: ( RULE_ID )
- // InternalErDsl.g:1649:4: RULE_ID
+ // InternalErDsl.g:1757:3: ( RULE_ID )
+ // InternalErDsl.g:1758:4: RULE_ID
{
before(grammarAccess.getEntityAccess().getIsEntityIDTerminalRuleCall_1_1_0_1());
match(input,RULE_ID,FOLLOW_2);
@@ -4958,17 +5355,17 @@ public final void rule__Entity__IsAssignment_1_1() throws RecognitionException {
// $ANTLR start "rule__Entity__AttributesAssignment_2_1"
- // InternalErDsl.g:1660:1: rule__Entity__AttributesAssignment_2_1 : ( ruleAttribute ) ;
+ // InternalErDsl.g:1769:1: rule__Entity__AttributesAssignment_2_1 : ( ruleAttribute ) ;
public final void rule__Entity__AttributesAssignment_2_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1664:1: ( ( ruleAttribute ) )
- // InternalErDsl.g:1665:2: ( ruleAttribute )
+ // InternalErDsl.g:1773:1: ( ( ruleAttribute ) )
+ // InternalErDsl.g:1774:2: ( ruleAttribute )
{
- // InternalErDsl.g:1665:2: ( ruleAttribute )
- // InternalErDsl.g:1666:3: ruleAttribute
+ // InternalErDsl.g:1774:2: ( ruleAttribute )
+ // InternalErDsl.g:1775:3: ruleAttribute
{
before(grammarAccess.getEntityAccess().getAttributesAttributeParserRuleCall_2_1_0());
pushFollow(FOLLOW_2);
@@ -4999,17 +5396,17 @@ public final void rule__Entity__AttributesAssignment_2_1() throws RecognitionExc
// $ANTLR start "rule__Entity__AttributesAssignment_2_2_1"
- // InternalErDsl.g:1675:1: rule__Entity__AttributesAssignment_2_2_1 : ( ruleAttribute ) ;
+ // InternalErDsl.g:1784:1: rule__Entity__AttributesAssignment_2_2_1 : ( ruleAttribute ) ;
public final void rule__Entity__AttributesAssignment_2_2_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1679:1: ( ( ruleAttribute ) )
- // InternalErDsl.g:1680:2: ( ruleAttribute )
+ // InternalErDsl.g:1788:1: ( ( ruleAttribute ) )
+ // InternalErDsl.g:1789:2: ( ruleAttribute )
{
- // InternalErDsl.g:1680:2: ( ruleAttribute )
- // InternalErDsl.g:1681:3: ruleAttribute
+ // InternalErDsl.g:1789:2: ( ruleAttribute )
+ // InternalErDsl.g:1790:3: ruleAttribute
{
before(grammarAccess.getEntityAccess().getAttributesAttributeParserRuleCall_2_2_1_0());
pushFollow(FOLLOW_2);
@@ -5040,17 +5437,17 @@ public final void rule__Entity__AttributesAssignment_2_2_1() throws RecognitionE
// $ANTLR start "rule__Relation__NameAssignment_0"
- // InternalErDsl.g:1690:1: rule__Relation__NameAssignment_0 : ( RULE_ID ) ;
+ // InternalErDsl.g:1799:1: rule__Relation__NameAssignment_0 : ( RULE_ID ) ;
public final void rule__Relation__NameAssignment_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1694:1: ( ( RULE_ID ) )
- // InternalErDsl.g:1695:2: ( RULE_ID )
+ // InternalErDsl.g:1803:1: ( ( RULE_ID ) )
+ // InternalErDsl.g:1804:2: ( RULE_ID )
{
- // InternalErDsl.g:1695:2: ( RULE_ID )
- // InternalErDsl.g:1696:3: RULE_ID
+ // InternalErDsl.g:1804:2: ( RULE_ID )
+ // InternalErDsl.g:1805:3: RULE_ID
{
before(grammarAccess.getRelationAccess().getNameIDTerminalRuleCall_0_0());
match(input,RULE_ID,FOLLOW_2);
@@ -5077,17 +5474,17 @@ public final void rule__Relation__NameAssignment_0() throws RecognitionException
// $ANTLR start "rule__Relation__LeftEndingAssignment_1_1"
- // InternalErDsl.g:1705:1: rule__Relation__LeftEndingAssignment_1_1 : ( ruleRelationSide ) ;
+ // InternalErDsl.g:1814:1: rule__Relation__LeftEndingAssignment_1_1 : ( ruleRelationSide ) ;
public final void rule__Relation__LeftEndingAssignment_1_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1709:1: ( ( ruleRelationSide ) )
- // InternalErDsl.g:1710:2: ( ruleRelationSide )
+ // InternalErDsl.g:1818:1: ( ( ruleRelationSide ) )
+ // InternalErDsl.g:1819:2: ( ruleRelationSide )
{
- // InternalErDsl.g:1710:2: ( ruleRelationSide )
- // InternalErDsl.g:1711:3: ruleRelationSide
+ // InternalErDsl.g:1819:2: ( ruleRelationSide )
+ // InternalErDsl.g:1820:3: ruleRelationSide
{
before(grammarAccess.getRelationAccess().getLeftEndingRelationSideParserRuleCall_1_1_0());
pushFollow(FOLLOW_2);
@@ -5118,17 +5515,17 @@ public final void rule__Relation__LeftEndingAssignment_1_1() throws RecognitionE
// $ANTLR start "rule__Relation__RightEndingAssignment_1_3"
- // InternalErDsl.g:1720:1: rule__Relation__RightEndingAssignment_1_3 : ( ruleRelationSide ) ;
+ // InternalErDsl.g:1829:1: rule__Relation__RightEndingAssignment_1_3 : ( ruleRelationSide ) ;
public final void rule__Relation__RightEndingAssignment_1_3() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1724:1: ( ( ruleRelationSide ) )
- // InternalErDsl.g:1725:2: ( ruleRelationSide )
+ // InternalErDsl.g:1833:1: ( ( ruleRelationSide ) )
+ // InternalErDsl.g:1834:2: ( ruleRelationSide )
{
- // InternalErDsl.g:1725:2: ( ruleRelationSide )
- // InternalErDsl.g:1726:3: ruleRelationSide
+ // InternalErDsl.g:1834:2: ( ruleRelationSide )
+ // InternalErDsl.g:1835:3: ruleRelationSide
{
before(grammarAccess.getRelationAccess().getRightEndingRelationSideParserRuleCall_1_3_0());
pushFollow(FOLLOW_2);
@@ -5159,17 +5556,17 @@ public final void rule__Relation__RightEndingAssignment_1_3() throws Recognition
// $ANTLR start "rule__Relation__AttributesAssignment_2_1"
- // InternalErDsl.g:1735:1: rule__Relation__AttributesAssignment_2_1 : ( ruleAttribute ) ;
+ // InternalErDsl.g:1844:1: rule__Relation__AttributesAssignment_2_1 : ( ruleAttribute ) ;
public final void rule__Relation__AttributesAssignment_2_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1739:1: ( ( ruleAttribute ) )
- // InternalErDsl.g:1740:2: ( ruleAttribute )
+ // InternalErDsl.g:1848:1: ( ( ruleAttribute ) )
+ // InternalErDsl.g:1849:2: ( ruleAttribute )
{
- // InternalErDsl.g:1740:2: ( ruleAttribute )
- // InternalErDsl.g:1741:3: ruleAttribute
+ // InternalErDsl.g:1849:2: ( ruleAttribute )
+ // InternalErDsl.g:1850:3: ruleAttribute
{
before(grammarAccess.getRelationAccess().getAttributesAttributeParserRuleCall_2_1_0());
pushFollow(FOLLOW_2);
@@ -5200,17 +5597,17 @@ public final void rule__Relation__AttributesAssignment_2_1() throws RecognitionE
// $ANTLR start "rule__Relation__AttributesAssignment_2_2_1"
- // InternalErDsl.g:1750:1: rule__Relation__AttributesAssignment_2_2_1 : ( ruleAttribute ) ;
+ // InternalErDsl.g:1859:1: rule__Relation__AttributesAssignment_2_2_1 : ( ruleAttribute ) ;
public final void rule__Relation__AttributesAssignment_2_2_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1754:1: ( ( ruleAttribute ) )
- // InternalErDsl.g:1755:2: ( ruleAttribute )
+ // InternalErDsl.g:1863:1: ( ( ruleAttribute ) )
+ // InternalErDsl.g:1864:2: ( ruleAttribute )
{
- // InternalErDsl.g:1755:2: ( ruleAttribute )
- // InternalErDsl.g:1756:3: ruleAttribute
+ // InternalErDsl.g:1864:2: ( ruleAttribute )
+ // InternalErDsl.g:1865:3: ruleAttribute
{
before(grammarAccess.getRelationAccess().getAttributesAttributeParserRuleCall_2_2_1_0());
pushFollow(FOLLOW_2);
@@ -5241,21 +5638,21 @@ public final void rule__Relation__AttributesAssignment_2_2_1() throws Recognitio
// $ANTLR start "rule__RelationSide__CardinalityAssignment_0_0"
- // InternalErDsl.g:1765:1: rule__RelationSide__CardinalityAssignment_0_0 : ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) ) ;
+ // InternalErDsl.g:1874:1: rule__RelationSide__CardinalityAssignment_0_0 : ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) ) ;
public final void rule__RelationSide__CardinalityAssignment_0_0() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1769:1: ( ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) ) )
- // InternalErDsl.g:1770:2: ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) )
+ // InternalErDsl.g:1878:1: ( ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) ) )
+ // InternalErDsl.g:1879:2: ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) )
{
- // InternalErDsl.g:1770:2: ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) )
- // InternalErDsl.g:1771:3: ( rule__RelationSide__CardinalityAlternatives_0_0_0 )
+ // InternalErDsl.g:1879:2: ( ( rule__RelationSide__CardinalityAlternatives_0_0_0 ) )
+ // InternalErDsl.g:1880:3: ( rule__RelationSide__CardinalityAlternatives_0_0_0 )
{
before(grammarAccess.getRelationSideAccess().getCardinalityAlternatives_0_0_0());
- // InternalErDsl.g:1772:3: ( rule__RelationSide__CardinalityAlternatives_0_0_0 )
- // InternalErDsl.g:1772:4: rule__RelationSide__CardinalityAlternatives_0_0_0
+ // InternalErDsl.g:1881:3: ( rule__RelationSide__CardinalityAlternatives_0_0_0 )
+ // InternalErDsl.g:1881:4: rule__RelationSide__CardinalityAlternatives_0_0_0
{
pushFollow(FOLLOW_2);
rule__RelationSide__CardinalityAlternatives_0_0_0();
@@ -5288,21 +5685,21 @@ public final void rule__RelationSide__CardinalityAssignment_0_0() throws Recogni
// $ANTLR start "rule__RelationSide__TargetAssignment_0_1"
- // InternalErDsl.g:1780:1: rule__RelationSide__TargetAssignment_0_1 : ( ( RULE_ID ) ) ;
+ // InternalErDsl.g:1889:1: rule__RelationSide__TargetAssignment_0_1 : ( ( RULE_ID ) ) ;
public final void rule__RelationSide__TargetAssignment_0_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1784:1: ( ( ( RULE_ID ) ) )
- // InternalErDsl.g:1785:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1893:1: ( ( ( RULE_ID ) ) )
+ // InternalErDsl.g:1894:2: ( ( RULE_ID ) )
{
- // InternalErDsl.g:1785:2: ( ( RULE_ID ) )
- // InternalErDsl.g:1786:3: ( RULE_ID )
+ // InternalErDsl.g:1894:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1895:3: ( RULE_ID )
{
before(grammarAccess.getRelationSideAccess().getTargetEntityCrossReference_0_1_0());
- // InternalErDsl.g:1787:3: ( RULE_ID )
- // InternalErDsl.g:1788:4: RULE_ID
+ // InternalErDsl.g:1896:3: ( RULE_ID )
+ // InternalErDsl.g:1897:4: RULE_ID
{
before(grammarAccess.getRelationSideAccess().getTargetEntityIDTerminalRuleCall_0_1_0_1());
match(input,RULE_ID,FOLLOW_2);
@@ -5333,21 +5730,21 @@ public final void rule__RelationSide__TargetAssignment_0_1() throws RecognitionE
// $ANTLR start "rule__RelationSide__TargetAssignment_1"
- // InternalErDsl.g:1799:1: rule__RelationSide__TargetAssignment_1 : ( ( RULE_ID ) ) ;
+ // InternalErDsl.g:1908:1: rule__RelationSide__TargetAssignment_1 : ( ( RULE_ID ) ) ;
public final void rule__RelationSide__TargetAssignment_1() throws RecognitionException {
int stackSize = keepStackSize();
try {
- // InternalErDsl.g:1803:1: ( ( ( RULE_ID ) ) )
- // InternalErDsl.g:1804:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1912:1: ( ( ( RULE_ID ) ) )
+ // InternalErDsl.g:1913:2: ( ( RULE_ID ) )
{
- // InternalErDsl.g:1804:2: ( ( RULE_ID ) )
- // InternalErDsl.g:1805:3: ( RULE_ID )
+ // InternalErDsl.g:1913:2: ( ( RULE_ID ) )
+ // InternalErDsl.g:1914:3: ( RULE_ID )
{
before(grammarAccess.getRelationSideAccess().getTargetRelationCrossReference_1_0());
- // InternalErDsl.g:1806:3: ( RULE_ID )
- // InternalErDsl.g:1807:4: RULE_ID
+ // InternalErDsl.g:1915:3: ( RULE_ID )
+ // InternalErDsl.g:1916:4: RULE_ID
{
before(grammarAccess.getRelationSideAccess().getTargetRelationIDTerminalRuleCall_1_0_1());
match(input,RULE_ID,FOLLOW_2);
@@ -5383,24 +5780,25 @@ public final void rule__RelationSide__TargetAssignment_1() throws RecognitionExc
public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000008000L});
- public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000012L});
- public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000080000L});
- public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000840010L});
- public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000800012L});
- public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000020000L});
- public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000004000000L});
- public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000220000L});
- public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000200002L});
- public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000440000L});
- public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000400002L});
- public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000800010L});
- public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000020002L});
- public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000007810L});
- public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000001000000L});
- public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000042000010L});
+ public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000040000012L});
+ public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x00000000003F8000L});
+ public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000200000000L});
+ public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000011000000L});
+ public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000022000000L});
+ public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000020000002L});
+ public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040000010L});
+ public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000007810L});
+ public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000080000000L});
+ public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000100000000L});
}
\ No newline at end of file
diff --git a/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin b/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin
index 847803c..3671727 100644
Binary files a/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin and b/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin b/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin
index 196c199..97d9200 100644
Binary files a/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin and b/org.xtext.unipampa.erdsl.ide/xtend-gen/org/xtext/unipampa/erdsl/ide/.ErDslIdeSetup.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.tests/src-gen/org/xtext/unipampa/erdsl/tests/ErDslInjectorProvider.java b/org.xtext.unipampa.erdsl.tests/src-gen/org/xtext/unipampa/erdsl/tests/ErDslInjectorProvider.java
index 5ab8a8a..f4cfe04 100644
--- a/org.xtext.unipampa.erdsl.tests/src-gen/org/xtext/unipampa/erdsl/tests/ErDslInjectorProvider.java
+++ b/org.xtext.unipampa.erdsl.tests/src-gen/org/xtext/unipampa/erdsl/tests/ErDslInjectorProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.tests;
diff --git a/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin b/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin
index b6241b4..73c9945 100644
Binary files a/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin and b/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/ErDslParsingTest.xtend b/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/ErDslParsingTest.xtend
deleted file mode 100644
index 44b3334..0000000
--- a/org.xtext.unipampa.erdsl.tests/test-bin/org/xtext/unipampa/erdsl/tests/ErDslParsingTest.xtend
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-//package org.xtext.unipampa.erdsl.tests
-//
-//import com.google.inject.Inject
-//import org.eclipse.xtext.testing.InjectWith
-//import org.eclipse.xtext.testing.extensions.InjectionExtension
-//import org.eclipse.xtext.testing.util.ParseHelper
-//import org.junit.jupiter.api.Assertions
-//import org.junit.jupiter.api.Test
-//import org.junit.jupiter.api.^extension.ExtendWith
-//import org.xtext.unipampa.erdsl.erDsl.Model
-//
-//@ExtendWith(InjectionExtension)
-//@InjectWith(ErDslInjectorProvider)
-//class ErDslParsingTest {
-// @Inject
-// ParseHelper parseHelper
-//
-// @Test
-// def void loadModel() {
-// val result = parseHelper.parse('''
-// Hello Xtext!
-// ''')
-// Assertions.assertNotNull(result)
-// val errors = result.eResource.errors
-// Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''')
-// }
-//}
diff --git a/org.xtext.unipampa.erdsl.tests/xtend-gen/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin b/org.xtext.unipampa.erdsl.tests/xtend-gen/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin
index b6241b4..73c9945 100644
Binary files a/org.xtext.unipampa.erdsl.tests/xtend-gen/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin and b/org.xtext.unipampa.erdsl.tests/xtend-gen/org/xtext/unipampa/erdsl/tests/.ErDslParsingTest.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui.tests/META-INF/MANIFEST.MF b/org.xtext.unipampa.erdsl.ui.tests/META-INF/MANIFEST.MF
index c159646..3687d5f 100644
--- a/org.xtext.unipampa.erdsl.ui.tests/META-INF/MANIFEST.MF
+++ b/org.xtext.unipampa.erdsl.ui.tests/META-INF/MANIFEST.MF
@@ -13,6 +13,7 @@ Require-Bundle: org.xtext.unipampa.erdsl.ui,
org.eclipse.xtext.junit4,
org.eclipse.xtext.xbase.junit,
org.eclipse.core.runtime,
- org.eclipse.ui.workbench;resolution:=optional
+ org.eclipse.ui.workbench;resolution:=optional,
+ org.eclipse.xtext.ui.testing
Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.xtext.unipampa.erdsl.ui.tests;x-internal=true
diff --git a/org.xtext.unipampa.erdsl.ui.tests/src-gen/org/xtext/unipampa/erdsl/ui/tests/ErDslUiInjectorProvider.java b/org.xtext.unipampa.erdsl.ui.tests/src-gen/org/xtext/unipampa/erdsl/ui/tests/ErDslUiInjectorProvider.java
index 39ee1ce..e1d750d 100644
--- a/org.xtext.unipampa.erdsl.ui.tests/src-gen/org/xtext/unipampa/erdsl/ui/tests/ErDslUiInjectorProvider.java
+++ b/org.xtext.unipampa.erdsl.ui.tests/src-gen/org/xtext/unipampa/erdsl/ui/tests/ErDslUiInjectorProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ui.tests;
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin
index 598e679..0f07a30 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/ErDslUiModule.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/ErDslUiModule.xtend
deleted file mode 100644
index a579a51..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/ErDslUiModule.xtend
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui
-
-import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
-
-/**
- * Use this class to register components to be used within the Eclipse IDE.
- */
-@FinalFieldsConstructor
-class ErDslUiModule extends AbstractErDslUiModule {
-}
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin
index 3054850..530a0af 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.class b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.class
index 130e370..b260c33 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.class and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.class differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/ErDslProposalProvider.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/ErDslProposalProvider.xtend
deleted file mode 100644
index 9083c34..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/contentassist/ErDslProposalProvider.xtend
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui.contentassist
-
-
-/**
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist
- * on how to customize the content assistant.
- */
-class ErDslProposalProvider extends AbstractErDslProposalProvider {
-}
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin
index bdf974b..1929d34 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin
index e8c3b8c..03666cb 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslDescriptionLabelProvider.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslDescriptionLabelProvider.xtend
deleted file mode 100644
index 9acb727..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslDescriptionLabelProvider.xtend
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui.labeling
-
-import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider
-
-/**
- * Provides labels for IEObjectDescriptions and IResourceDescriptions.
- *
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
- */
-class ErDslDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
-
- // Labels and icons can be computed like this:
-
-// override text(IEObjectDescription ele) {
-// ele.name.toString
-// }
-//
-// override image(IEObjectDescription ele) {
-// ele.EClass.name + '.gif'
-// }
-}
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslLabelProvider.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslLabelProvider.xtend
deleted file mode 100644
index 8327669..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/labeling/ErDslLabelProvider.xtend
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui.labeling
-
-import com.google.inject.Inject
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
-import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
-
-/**
- * Provides labels for EObjects.
- *
- * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider
- */
-class ErDslLabelProvider extends DefaultEObjectLabelProvider {
-
- @Inject
- new(AdapterFactoryLabelProvider delegate) {
- super(delegate);
- }
-
- // Labels and icons can be computed like this:
-
-// def text(Greeting ele) {
-// 'A greeting to ' + ele.name
-// }
-//
-// def image(Greeting ele) {
-// 'Greeting.gif'
-// }
-}
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin
index d177826..08db0bc 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/ErDslOutlineTreeProvider.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/ErDslOutlineTreeProvider.xtend
deleted file mode 100644
index 5395328..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/outline/ErDslOutlineTreeProvider.xtend
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui.outline
-
-import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider
-
-/**
- * Customization of the default outline structure.
- *
- * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline
- */
-class ErDslOutlineTreeProvider extends DefaultOutlineTreeProvider {
-
-}
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin
index de07caf..6e8ce55 100644
Binary files a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/ErDslQuickfixProvider.xtend b/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/ErDslQuickfixProvider.xtend
deleted file mode 100644
index 4879c35..0000000
--- a/org.xtext.unipampa.erdsl.ui/bin/org/xtext/unipampa/erdsl/ui/quickfix/ErDslQuickfixProvider.xtend
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.ui.quickfix
-
-import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
-
-/**
- * Custom quickfixes.
- *
- * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
- */
-class ErDslQuickfixProvider extends DefaultQuickfixProvider {
-
-// @Fix(ErDslValidator.INVALID_NAME)
-// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
-// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
-// context |
-// val xtextDocument = context.xtextDocument
-// val firstLetter = xtextDocument.get(issue.offset, 1)
-// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
-// ]
-// }
-}
diff --git a/org.xtext.unipampa.erdsl.ui/plugin.xml_gen b/org.xtext.unipampa.erdsl.ui/plugin.xml_gen
new file mode 100644
index 0000000..fb79744
--- /dev/null
+++ b/org.xtext.unipampa.erdsl.ui/plugin.xml_gen
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/AbstractErDslUiModule.java b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/AbstractErDslUiModule.java
index 9dcc9ba..0bfa40d 100644
--- a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/AbstractErDslUiModule.java
+++ b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/AbstractErDslUiModule.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ui;
diff --git a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/ErDslExecutableExtensionFactory.java b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/ErDslExecutableExtensionFactory.java
index 730261a..5292ec2 100644
--- a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/ErDslExecutableExtensionFactory.java
+++ b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/ErDslExecutableExtensionFactory.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ui;
diff --git a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.java b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.java
index 9a94365..94570c7 100644
--- a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.java
+++ b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/contentassist/AbstractErDslProposalProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ui.contentassist;
@@ -33,6 +33,9 @@ public void completeDomain_Name(EObject model, Assignment assignment, ContentAss
public void completeAttribute_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
+ public void completeAttribute_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
public void completeAttribute_IsKey(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
@@ -85,4 +88,7 @@ public void complete_Relation(EObject model, RuleCall ruleCall, ContentAssistCon
public void complete_RelationSide(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
+ public void complete_DataType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
}
diff --git a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/internal/ErdslActivator.java b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/internal/ErdslActivator.java
index fc410da..d464919 100644
--- a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/internal/ErdslActivator.java
+++ b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/ui/internal/ErdslActivator.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.ui.internal;
diff --git a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/validation/ErDslValidatorConfigurationBlock.java b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/validation/ErDslValidatorConfigurationBlock.java
index 2dae311..e493285 100644
--- a/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/validation/ErDslValidatorConfigurationBlock.java
+++ b/org.xtext.unipampa.erdsl.ui/src-gen/org/xtext/unipampa/erdsl/validation/ErDslValidatorConfigurationBlock.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.validation;
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin
index 598e679..0f07a30 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/.ErDslUiModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin
index 3054850..530a0af 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/contentassist/.ErDslProposalProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin
index bdf974b..1929d34 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslDescriptionLabelProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin
index e8c3b8c..03666cb 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/labeling/.ErDslLabelProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin
index d177826..08db0bc 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/outline/.ErDslOutlineTreeProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin
index de07caf..6e8ce55 100644
Binary files a/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin and b/org.xtext.unipampa.erdsl.ui/xtend-gen/org/xtext/unipampa/erdsl/ui/quickfix/.ErDslQuickfixProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/.launch/Launch Runtime Eclipse.launch b/org.xtext.unipampa.erdsl/.launch/Launch Runtime Eclipse.launch
index 2720ffb..6c187af 100644
--- a/org.xtext.unipampa.erdsl/.launch/Launch Runtime Eclipse.launch
+++ b/org.xtext.unipampa.erdsl/.launch/Launch Runtime Eclipse.launch
@@ -1,34 +1,35 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin
index be79612..79e54a7 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin
index 894b918..2235eb5 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtext b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtext
index b58a315..47a55d9 100644
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtext
+++ b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtext
@@ -6,60 +6,26 @@ ERModel:
domain=Domain ';'
('Entities' '{') entities+=Entity+ ('}' ';')
('Relationships' '{') relations+=Relation* ('}' ';');
-
Domain:
'Domain' name=ID;
-
Attribute:
- name=ID (isKey?='isIdentifier')?;
-
-
+ name=ID type=DataType (isKey?='isIdentifier')?;
Entity:
- name=ID ('is' is+=[Entity])*
- ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
-
+ name=ID ('is' is=[Entity])*
+ ('{' attributes+=Attribute
+ (',' attributes+=Attribute)* '}')?;
Relation:
- (name=ID)? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
- attributes+=Attribute (',' attributes+=Attribute)* '}')*;
-
-
+ (name=ID)? ('[' leftEnding=RelationSide
+ 'relates'
+ rightEnding=RelationSide ']')
+ ('{' attributes+=Attribute
+ (',' attributes+=Attribute)* '}')*;
RelationSide:
- Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
-
-
-//grammar org.xtext.unipampa.erdsl.ErDsl with org.eclipse.xtext.common.Terminals
-//
-//generate erDsl "http://www.xtext.org/unipampa/erdsl/ErDsl"
-//
-//ERModel:
-// domain=Domain ';'
-// ('Entities{') entities+=Entity+ ('};')
-// ('Relationships{') relations+=Relation* ('};');
-//
-//Domain:
-// 'Domain' name=ID;
-//
-//Attribute:
-// name=ID ':' type=DataType (isKey?='isIdentifier')?;
-//
-//enum DataType:
-// INT='int' | DOUBLE='double' | MONEY='money' | STRING='string' | BOOLEAN='boolean' | DATETIME='datetime' | BLOB='file';
-//
-//Entity:
-// name=ID ('is' is+=[Entity])*
-// ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
-//
-//Relation:
-// (name=ID)? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
-// attributes+=Attribute (',' attributes+=Attribute)* '}')*;
-//
-//
-//RelationSide:
-// Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
-//
-//RelationSide:
-// ((minimalCardinality?='zero')?) maximumCardinality=CardinalityType target=[Entity] | target=[Relation];
-//
-//enum CardinalityType:
-// One='one' | Many='many';
+ cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)')
+ target=[Entity] | target=[Relation];
+enum DataType:
+ INT='int' | DOUBLE='double' |
+ MONEY='money' | STRING='string' |
+ BOOLEAN='boolean' | DATETIME='datetime' |
+ BLOB='file';
\ No newline at end of file
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtextbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtextbin
index f5d20c8..ddb203d 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtextbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDsl.xtextbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslRuntimeModule.xtend b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslRuntimeModule.xtend
deleted file mode 100644
index 866bda3..0000000
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslRuntimeModule.xtend
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl
-
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-class ErDslRuntimeModule extends AbstractErDslRuntimeModule {
-}
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslStandaloneSetup.xtend b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslStandaloneSetup.xtend
deleted file mode 100644
index 4208441..0000000
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/ErDslStandaloneSetup.xtend
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl
-
-
-/**
- * Initialization support for running Xtext languages without Equinox extension registry.
- */
-class ErDslStandaloneSetup extends ErDslStandaloneSetupGenerated {
-
- def static void doSetup() {
- new ErDslStandaloneSetup().createInjectorAndDoEMFRegistration()
- }
-}
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Attribute.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Attribute.class
index 48f2770..5b6d470 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Attribute.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Attribute.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/DataType.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/DataType.class
new file mode 100644
index 0000000..5e428a5
Binary files /dev/null and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/DataType.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Entity.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Entity.class
index dca9e68..0e8f28c 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Entity.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/Entity.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage$Literals.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage$Literals.class
index 9dfbe94..94eda2e 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage$Literals.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage$Literals.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.class
index 054f10c..228d6bc 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.class
index bc35ac9..d4c0b28 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.class
index 0a93e0c..160c796 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.class
index be98eee..f282119 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.class
index e0f8d4a..6aba913 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.class
index 386d3b7..1c10b3d 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.class
index bb3ba2c..fdefac4 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace
index 7121335..841ad84 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin
index 3be60ca..8459d4d 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.class
index f7f9ee6..b1346a9 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend
deleted file mode 100644
index dcdd069..0000000
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.generator
-
-import org.eclipse.emf.ecore.resource.Resource
-import org.eclipse.xtext.generator.AbstractGenerator
-import org.eclipse.xtext.generator.IFileSystemAccess2
-import org.eclipse.xtext.generator.IGeneratorContext
-import org.xtext.unipampa.erdsl.erDsl.ERModel
-
-/**
- * Generates code from your model files on save.
- *
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
- */
-class ErDslGenerator extends AbstractGenerator {
-
- override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
-// fsa.generateFile('greetings.txt', 'People to greet: ' +
-// resource.allContents
-// .filter(Greeting)
-// .map[name]
-// .join(', '))
-val modeloER = resource.contents.get(0) as ERModel
- fsa.generateFile('LogicalSchema_'+modeloER.domain.name+'.html',
- '''
-
-
-
-DOMÍNIO
-«modeloER.domain.name»
-TABELAS LÓGICAS
-«FOR entity : modeloER.entities SEPARATOR ')' AFTER ')' »«entity.name» (
- «FOR parent : entity.is»«IF entity.is !== null»«FOR chavePai : parent.attributes»«IF chavePai.isIsKey»«chavePai.name»* [Referência para: «parent.name»], «ENDIF»«ENDFOR»«ENDIF»«ENDFOR»
- «FOR attribute : entity.attributes SEPARATOR ', '»
- «IF attribute.isIsKey»«attribute.name»*«ELSE»«attribute.name»«ENDIF»«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS UM PARA MUITOS E MUITOS PARA UM
-«««############################################################################################################################################
-«««############################################################################################################################################
- «FOR relationAux : modeloER.relations»
- «IF (relationAux.leftEnding.cardinality == "(0:1)" || relationAux.leftEnding.cardinality == "(1:1)") && (relationAux.rightEnding.cardinality == "(0:N)" || relationAux.rightEnding.cardinality == "(1:N)")»
- «FOR entityAux : modeloER.entities»
- «IF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey»«attributeAux.name»«ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey»
- «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «IF relationAux.attributes !== null»
- «FOR relationMapeada : relationAux.attributes SEPARATOR ','»«relationMapeada.name»«ENDFOR»
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF (relationAux.leftEnding.cardinality == "(0:N)" || relationAux.leftEnding.cardinality == "(1:N)") && (relationAux.rightEnding.cardinality == "(0:1)" || relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.rightEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey», «attributeAux.name»«ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey»
- «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «IF relationAux.attributes !== null»
- «FOR relationMapeada : relationAux.attributes SEPARATOR ','»«relationMapeada.name»
- «ENDFOR»
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS 0:1 && 1:1 || 1:1 && 0:1 (ADIÇÃO DE COLUNA)
-«««############################################################################################################################################
-«««############################################################################################################################################
- «FOR relationAux : modeloER.relations»
- «IF (relationAux.leftEnding.cardinality == "(0:1)" && relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey»«attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey» «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(1:1)" && relationAux.rightEnding.cardinality == "(0:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.rightEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey» «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(0:1)" && relationAux.rightEnding.cardinality == "(0:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes»
- «IF atributoPai.isIsKey», «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(1:1)" && relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes»
- «IF atributoPai.isIsKey», «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
-«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS MUITOS PARA MUITOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-«FOR relationAux : modeloER.relations SEPARATOR ') 'AFTER ''»
- «IF ((relationAux.leftEnding.cardinality == "(0:N)" || relationAux.leftEnding.cardinality == "(1:N)")
- && (relationAux.rightEnding.cardinality == "(0:N)" || relationAux.rightEnding.cardinality == "(1:N)"))»
- «IF (relationAux.name == '' || relationAux.name === null) »
-«relationAux.leftEnding.target»«relationAux.rightEnding.target» (
- «FOR entityAux : modeloER.entities»
- «IF entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*!«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*@«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*#«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.rightEnding.target.toString»*$«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSE»
-«relationAux.name» (
- «FOR entityAux : modeloER.entities»
- «IF entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF (relationAux.attributes !== null)»
- «FOR atributoRelacaoMuitosParaMuitos : relationAux.attributes SEPARATOR ','»«atributoRelacaoMuitosParaMuitos.name»
- «IF atributoRelacaoMuitosParaMuitos.isIsKey»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDIF»
-«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS TERNÁRIOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DAS REFERÊNCIAS DERIVADAS DOS RELACIONAMENTOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-CHAVES REFERENCIAIS
-«FOR relation : modeloER.relations»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE RELAÇÃO 0:1 || 1:1 PARA 0:N || 1:N
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF ((relation.leftEnding.cardinality == "(0:1)" || relation.leftEnding.cardinality == "(1:1)") && (relation.rightEnding.cardinality == "(0:N)" || relation.rightEnding.cardinality == "(1:N)"))»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF ((relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)"))»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "«attribute.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE RELAÇÃO 0:N ou 1:N PARA 0:1 ou 1:1
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF (relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString) && (relation.leftEnding.target.toString != relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "«attribute.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF (relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:N)" || relation.rightEnding.cardinality == "(1:N)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "«attribute.name»" EM "«relation.name»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ELSE»
-Atributo "«attribute.name»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE ENTIDADE DA ESQUERDA EM RELACIONAMENTO MUITOS PARA MUITOS COM E SEM IDENTIFICADOR NA RELAÇÃO
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "«attribute.name»" EM "«relation.name»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ELSE»
-Atributo "«attribute.name»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes SEPARATOR ', '»
- «IF chavePai.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.name»" REFERENCIA "«parent.name.toString»"
-Atributo "«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.name»" REFERENCIA "«parent.name.toString»"
- «ELSE»
-Atributo "«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«parent.name.toString»"
-Atributo "«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«parent.name.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE AUTORELACIONAMENTO
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF (relation.leftEnding.cardinality == "(0:1)" || relation.leftEnding.cardinality == "(1:1)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString) && entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "«relation.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "«relation.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString) && !(entity.name.equalsIgnoreCase(relation.rightEnding.target.toString))»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF relation.name === null || relation.name == ''»
-Atributo "«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ELSE»
-Atributo "«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "«chavePai.name»«relation.leftEnding.target»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«ENDFOR»
-«««RELAÇÕES MODELADAS
-««««FOR relation : modeloER.relations»
-«««[«relation.name»] «relation.leftEnding.cardinality» «relation.leftEnding.target» relates «relation.rightEnding.target» «relation.rightEnding.cardinality»
-««««ENDFOR»
-«««
-«««
- '''
- )
-
- }
-}
-
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
index 254c2fd..b63f8e6 100644
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
+++ b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
grammar InternalErDsl;
@@ -23,6 +23,7 @@ import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
@@ -257,9 +258,28 @@ ruleAttribute returns [EObject current=null]
)
(
(
- lv_isKey_1_0='isIdentifier'
{
- newLeafNode(lv_isKey_1_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
+ newCompositeNode(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0());
+ }
+ lv_type_1_0=ruleDataType
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_1_0,
+ "org.xtext.unipampa.erdsl.ErDsl.DataType");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ (
+ (
+ lv_isKey_2_0='isIdentifier'
+ {
+ newLeafNode(lv_isKey_2_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
}
{
if ($current==null) {
@@ -545,48 +565,48 @@ ruleRelationSide returns [EObject current=null]
(
(
(
- lv_Cardinality_0_1='(0:1)'
+ lv_cardinality_0_1='(0:1)'
{
- newLeafNode(lv_Cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
+ newLeafNode(lv_cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_1, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_1, null);
}
|
- lv_Cardinality_0_2='(1:1)'
+ lv_cardinality_0_2='(1:1)'
{
- newLeafNode(lv_Cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
+ newLeafNode(lv_cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_2, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_2, null);
}
|
- lv_Cardinality_0_3='(0:N)'
+ lv_cardinality_0_3='(0:N)'
{
- newLeafNode(lv_Cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
+ newLeafNode(lv_cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_3, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_3, null);
}
|
- lv_Cardinality_0_4='(1:N)'
+ lv_cardinality_0_4='(1:N)'
{
- newLeafNode(lv_Cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
+ newLeafNode(lv_cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_4, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_4, null);
}
)
)
@@ -622,6 +642,73 @@ ruleRelationSide returns [EObject current=null]
)
;
+// Rule DataType
+ruleDataType returns [Enumerator current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ (
+ enumLiteral_0='int'
+ {
+ $current = grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0());
+ }
+ )
+ |
+ (
+ enumLiteral_1='double'
+ {
+ $current = grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1());
+ }
+ )
+ |
+ (
+ enumLiteral_2='money'
+ {
+ $current = grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2());
+ }
+ )
+ |
+ (
+ enumLiteral_3='string'
+ {
+ $current = grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3());
+ }
+ )
+ |
+ (
+ enumLiteral_4='boolean'
+ {
+ $current = grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4());
+ }
+ )
+ |
+ (
+ enumLiteral_5='datetime'
+ {
+ $current = grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5());
+ }
+ )
+ |
+ (
+ enumLiteral_6='file'
+ {
+ $current = grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6());
+ }
+ )
+ )
+;
+
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
RULE_INT : ('0'..'9')+;
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
index 61a7bc5..30c68d6 100644
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
+++ b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
@@ -9,9 +9,16 @@
'Relationships'=15
'['=20
']'=22
+'boolean'=31
+'datetime'=32
+'double'=28
+'file'=33
+'int'=27
'is'=18
'isIdentifier'=17
+'money'=29
'relates'=21
+'string'=30
'{'=13
'}'=14
RULE_ANY_OTHER=10
@@ -37,3 +44,10 @@ T__23=23
T__24=24
T__25=25
T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer$DFA12.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer$DFA12.class
index cdcde47..972856f 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer$DFA12.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer$DFA12.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.class
index cd9b430..4f0f37c 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.class
index 7089ca8..40d0409 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin
index 43e12be..11f116c 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/ErDslScopeProvider.xtend b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/ErDslScopeProvider.xtend
deleted file mode 100644
index ffd1cd6..0000000
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/scoping/ErDslScopeProvider.xtend
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.scoping
-
-import org.eclipse.xtext.scoping.IScope
-import org.eclipse.emf.ecore.EObject
-import org.eclipse.emf.ecore.EReference
-import org.eclipse.xtext.scoping.Scopes
-import org.xtext.unipampa.erdsl.erDsl.ERModel
-import org.xtext.unipampa.erdsl.erDsl.Entity
-
-/**
- * This class contains custom scoping description.
- *
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
- * on how and when to use it.
- */
-class ErDslScopeProvider extends AbstractErDslScopeProvider {
-
- override IScope getScope(EObject context, EReference reference) {
- if (context instanceof Entity) {
- return Scopes.scopeFor(
- (context.eContainer as ERModel).entities.filter[x | x != context]
- )
- }
- return super.getScope(context, reference)
- }
-
-}
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$AttributeElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$AttributeElements.class
index e754f29..edab8bd 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$AttributeElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$AttributeElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DataTypeElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DataTypeElements.class
new file mode 100644
index 0000000..c6d1de6
Binary files /dev/null and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DataTypeElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DomainElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DomainElements.class
index ebcdb72..caf64e7 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DomainElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$DomainElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$ERModelElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$ERModelElements.class
index 731865a..b2765ce 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$ERModelElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$ERModelElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$EntityElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$EntityElements.class
index 1787598..a0103f1 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$EntityElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$EntityElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationElements.class
index 0e1c6bb..f30d529 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationSideElements.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationSideElements.class
index 1c7f575..2714e77 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationSideElements.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess$RelationSideElements.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.class b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.class
index 17d5a5f..78c5763 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.class and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.class differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin
index d697d2b..f1356d5 100644
Binary files a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin and b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/ErDslValidator.xtend b/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/ErDslValidator.xtend
deleted file mode 100644
index 9d63962..0000000
--- a/org.xtext.unipampa.erdsl/bin/org/xtext/unipampa/erdsl/validation/ErDslValidator.xtend
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * generated by Xtext 2.17.0
- */
-package org.xtext.unipampa.erdsl.validation
-
-
-/**
- * This class contains custom validation rules.
- *
- * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
- */
-class ErDslValidator extends AbstractErDslValidator {
-
-// public static val INVALID_NAME = 'invalidName'
-//
-// @Check
-// def checkGreetingStartsWithCapital(Greeting greeting) {
-// if (!Character.isUpperCase(greeting.name.charAt(0))) {
-// warning('Name should start with a capital',
-// ErDslPackage.Literals.GREETING__NAME,
-// INVALID_NAME)
-// }
-// }
-
-}
diff --git a/org.xtext.unipampa.erdsl/model/generated/ErDsl.ecore b/org.xtext.unipampa.erdsl/model/generated/ErDsl.ecore
index 09708ed..26c8ddb 100644
--- a/org.xtext.unipampa.erdsl/model/generated/ErDsl.ecore
+++ b/org.xtext.unipampa.erdsl/model/generated/ErDsl.ecore
@@ -14,12 +14,12 @@
+
-
+
@@ -33,7 +33,16 @@
eType="#//Attribute" containment="true"/>
-
+
+
+
+
+
+
+
+
+
+
diff --git a/org.xtext.unipampa.erdsl/model/generated/ErDsl.genmodel b/org.xtext.unipampa.erdsl/model/generated/ErDsl.genmodel
index 7818945..5a6db36 100644
--- a/org.xtext.unipampa.erdsl/model/generated/ErDsl.genmodel
+++ b/org.xtext.unipampa.erdsl/model/generated/ErDsl.genmodel
@@ -1,11 +1,20 @@
+ complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20">
+
+
+
+
+
+
+
+
+
@@ -16,6 +25,7 @@
+
@@ -30,7 +40,7 @@
-
+
diff --git a/org.xtext.unipampa.erdsl/plugin.xml_gen b/org.xtext.unipampa.erdsl/plugin.xml_gen
new file mode 100644
index 0000000..f4ede3a
--- /dev/null
+++ b/org.xtext.unipampa.erdsl/plugin.xml_gen
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/AbstractErDslRuntimeModule.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/AbstractErDslRuntimeModule.java
index 84cca44..062b2a1 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/AbstractErDslRuntimeModule.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/AbstractErDslRuntimeModule.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDsl.xtextbin b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDsl.xtextbin
index f5d20c8..ddb203d 100644
Binary files a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDsl.xtextbin and b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDsl.xtextbin differ
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDslStandaloneSetupGenerated.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDslStandaloneSetupGenerated.java
index 63e09f9..582ff1b 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDslStandaloneSetupGenerated.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/ErDslStandaloneSetupGenerated.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Attribute.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Attribute.java
index e9629e2..4eb0676 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Attribute.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Attribute.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
@@ -15,6 +15,7 @@
*
*
* - {@link org.xtext.unipampa.erdsl.erDsl.Attribute#getName Name}
+ * - {@link org.xtext.unipampa.erdsl.erDsl.Attribute#getType Type}
* - {@link org.xtext.unipampa.erdsl.erDsl.Attribute#isIsKey Is Key}
*
*
@@ -46,6 +47,31 @@ public interface Attribute extends EObject
*/
void setName(String value);
+ /**
+ * Returns the value of the 'Type' attribute.
+ * The literals are from the enumeration {@link org.xtext.unipampa.erdsl.erDsl.DataType}.
+ *
+ *
+ * @return the value of the 'Type' attribute.
+ * @see org.xtext.unipampa.erdsl.erDsl.DataType
+ * @see #setType(DataType)
+ * @see org.xtext.unipampa.erdsl.erDsl.ErDslPackage#getAttribute_Type()
+ * @model
+ * @generated
+ */
+ DataType getType();
+
+ /**
+ * Sets the value of the '{@link org.xtext.unipampa.erdsl.erDsl.Attribute#getType Type}' attribute.
+ *
+ *
+ * @param value the new value of the 'Type' attribute.
+ * @see org.xtext.unipampa.erdsl.erDsl.DataType
+ * @see #getType()
+ * @generated
+ */
+ void setType(DataType value);
+
/**
* Returns the value of the 'Is Key' attribute.
*
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/DataType.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/DataType.java
new file mode 100644
index 0000000..02e5a28
--- /dev/null
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/DataType.java
@@ -0,0 +1,340 @@
+/**
+ * generated by Xtext 2.21.0
+ */
+package org.xtext.unipampa.erdsl.erDsl;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ *
+ * A representation of the literals of the enumeration 'Data Type',
+ * and utility methods for working with them.
+ *
+ * @see org.xtext.unipampa.erdsl.erDsl.ErDslPackage#getDataType()
+ * @model
+ * @generated
+ */
+public enum DataType implements Enumerator
+{
+ /**
+ * The 'INT' literal object.
+ *
+ *
+ * @see #INT_VALUE
+ * @generated
+ * @ordered
+ */
+ INT(0, "INT", "int"),
+
+ /**
+ * The 'DOUBLE' literal object.
+ *
+ *
+ * @see #DOUBLE_VALUE
+ * @generated
+ * @ordered
+ */
+ DOUBLE(1, "DOUBLE", "double"),
+
+ /**
+ * The 'MONEY' literal object.
+ *
+ *
+ * @see #MONEY_VALUE
+ * @generated
+ * @ordered
+ */
+ MONEY(2, "MONEY", "money"),
+
+ /**
+ * The 'STRING' literal object.
+ *
+ *
+ * @see #STRING_VALUE
+ * @generated
+ * @ordered
+ */
+ STRING(3, "STRING", "string"),
+
+ /**
+ * The 'BOOLEAN' literal object.
+ *
+ *
+ * @see #BOOLEAN_VALUE
+ * @generated
+ * @ordered
+ */
+ BOOLEAN(4, "BOOLEAN", "boolean"),
+
+ /**
+ * The 'DATETIME' literal object.
+ *
+ *
+ * @see #DATETIME_VALUE
+ * @generated
+ * @ordered
+ */
+ DATETIME(5, "DATETIME", "datetime"),
+
+ /**
+ * The 'BLOB' literal object.
+ *
+ *
+ * @see #BLOB_VALUE
+ * @generated
+ * @ordered
+ */
+ BLOB(6, "BLOB", "file");
+
+ /**
+ * The 'INT' literal value.
+ *
+ *
+ * @see #INT
+ * @model literal="int"
+ * @generated
+ * @ordered
+ */
+ public static final int INT_VALUE = 0;
+
+ /**
+ * The 'DOUBLE' literal value.
+ *
+ *
+ * @see #DOUBLE
+ * @model literal="double"
+ * @generated
+ * @ordered
+ */
+ public static final int DOUBLE_VALUE = 1;
+
+ /**
+ * The 'MONEY' literal value.
+ *
+ *
+ * @see #MONEY
+ * @model literal="money"
+ * @generated
+ * @ordered
+ */
+ public static final int MONEY_VALUE = 2;
+
+ /**
+ * The 'STRING' literal value.
+ *
+ *
+ * @see #STRING
+ * @model literal="string"
+ * @generated
+ * @ordered
+ */
+ public static final int STRING_VALUE = 3;
+
+ /**
+ * The 'BOOLEAN' literal value.
+ *
+ *
+ * @see #BOOLEAN
+ * @model literal="boolean"
+ * @generated
+ * @ordered
+ */
+ public static final int BOOLEAN_VALUE = 4;
+
+ /**
+ * The 'DATETIME' literal value.
+ *
+ *
+ * @see #DATETIME
+ * @model literal="datetime"
+ * @generated
+ * @ordered
+ */
+ public static final int DATETIME_VALUE = 5;
+
+ /**
+ * The 'BLOB' literal value.
+ *
+ *
+ * @see #BLOB
+ * @model literal="file"
+ * @generated
+ * @ordered
+ */
+ public static final int BLOB_VALUE = 6;
+
+ /**
+ * An array of all the 'Data Type' enumerators.
+ *
+ *
+ * @generated
+ */
+ private static final DataType[] VALUES_ARRAY =
+ new DataType[]
+ {
+ INT,
+ DOUBLE,
+ MONEY,
+ STRING,
+ BOOLEAN,
+ DATETIME,
+ BLOB,
+ };
+
+ /**
+ * A public read-only list of all the 'Data Type' enumerators.
+ *
+ *
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the 'Data Type' literal with the specified literal value.
+ *
+ *
+ * @param literal the literal.
+ * @return the matching enumerator or null
.
+ * @generated
+ */
+ public static DataType get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ DataType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the 'Data Type' literal with the specified name.
+ *
+ *
+ * @param name the name.
+ * @return the matching enumerator or null
.
+ * @generated
+ */
+ public static DataType getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ DataType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the 'Data Type' literal with the specified integer value.
+ *
+ *
+ * @param value the integer value.
+ * @return the matching enumerator or null
.
+ * @generated
+ */
+ public static DataType get(int value)
+ {
+ switch (value)
+ {
+ case INT_VALUE: return INT;
+ case DOUBLE_VALUE: return DOUBLE;
+ case MONEY_VALUE: return MONEY;
+ case STRING_VALUE: return STRING;
+ case BOOLEAN_VALUE: return BOOLEAN;
+ case DATETIME_VALUE: return DATETIME;
+ case BLOB_VALUE: return BLOB;
+ }
+ return null;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ *
+ *
+ * @generated
+ */
+ private DataType(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //DataType
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Domain.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Domain.java
index cfbad51..fadbd27 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Domain.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Domain.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ERModel.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ERModel.java
index a5588cf..1955cf5 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ERModel.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ERModel.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Entity.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Entity.java
index d0bfa70..3dd698c 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Entity.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Entity.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
@@ -50,16 +50,26 @@ public interface Entity extends EObject
void setName(String value);
/**
- * Returns the value of the 'Is' reference list.
- * The list contents are of type {@link org.xtext.unipampa.erdsl.erDsl.Entity}.
+ * Returns the value of the 'Is' reference.
*
*
- * @return the value of the 'Is' reference list.
+ * @return the value of the 'Is' reference.
+ * @see #setIs(Entity)
* @see org.xtext.unipampa.erdsl.erDsl.ErDslPackage#getEntity_Is()
* @model
* @generated
*/
- EList getIs();
+ Entity getIs();
+
+ /**
+ * Sets the value of the '{@link org.xtext.unipampa.erdsl.erDsl.Entity#getIs Is}' reference.
+ *
+ *
+ * @param value the new value of the 'Is' reference.
+ * @see #getIs()
+ * @generated
+ */
+ void setIs(Entity value);
/**
* Returns the value of the 'Attributes' containment reference list.
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslFactory.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslFactory.java
index b7119d3..39d8e6a 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslFactory.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslFactory.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.java
index 05172df..e8f957e 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/ErDslPackage.java
@@ -1,10 +1,11 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
@@ -150,6 +151,15 @@ public interface ErDslPackage extends EPackage
*/
int ATTRIBUTE__NAME = 0;
+ /**
+ * The feature id for the 'Type' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__TYPE = 1;
+
/**
* The feature id for the 'Is Key' attribute.
*
@@ -157,7 +167,7 @@ public interface ErDslPackage extends EPackage
* @generated
* @ordered
*/
- int ATTRIBUTE__IS_KEY = 1;
+ int ATTRIBUTE__IS_KEY = 2;
/**
* The number of structural features of the 'Attribute' class.
@@ -166,7 +176,7 @@ public interface ErDslPackage extends EPackage
* @generated
* @ordered
*/
- int ATTRIBUTE_FEATURE_COUNT = 2;
+ int ATTRIBUTE_FEATURE_COUNT = 3;
/**
* The meta object id for the '{@link org.xtext.unipampa.erdsl.erDsl.impl.EntityImpl Entity}' class.
@@ -188,7 +198,7 @@ public interface ErDslPackage extends EPackage
int ENTITY__NAME = 0;
/**
- * The feature id for the 'Is' reference list.
+ * The feature id for the 'Is' reference.
*
*
* @generated
@@ -306,6 +316,16 @@ public interface ErDslPackage extends EPackage
*/
int RELATION_SIDE_FEATURE_COUNT = 2;
+ /**
+ * The meta object id for the '{@link org.xtext.unipampa.erdsl.erDsl.DataType Data Type}' enum.
+ *
+ *
+ * @see org.xtext.unipampa.erdsl.erDsl.DataType
+ * @see org.xtext.unipampa.erdsl.erDsl.impl.ErDslPackageImpl#getDataType()
+ * @generated
+ */
+ int DATA_TYPE = 6;
+
/**
* Returns the meta object for class '{@link org.xtext.unipampa.erdsl.erDsl.ERModel ER Model}'.
@@ -392,6 +412,17 @@ public interface ErDslPackage extends EPackage
*/
EAttribute getAttribute_Name();
+ /**
+ * Returns the meta object for the attribute '{@link org.xtext.unipampa.erdsl.erDsl.Attribute#getType Type}'.
+ *
+ *
+ * @return the meta object for the attribute 'Type'.
+ * @see org.xtext.unipampa.erdsl.erDsl.Attribute#getType()
+ * @see #getAttribute()
+ * @generated
+ */
+ EAttribute getAttribute_Type();
+
/**
* Returns the meta object for the attribute '{@link org.xtext.unipampa.erdsl.erDsl.Attribute#isIsKey Is Key}'.
*
@@ -425,10 +456,10 @@ public interface ErDslPackage extends EPackage
EAttribute getEntity_Name();
/**
- * Returns the meta object for the reference list '{@link org.xtext.unipampa.erdsl.erDsl.Entity#getIs Is}'.
+ * Returns the meta object for the reference '{@link org.xtext.unipampa.erdsl.erDsl.Entity#getIs Is}'.
*
*
- * @return the meta object for the reference list 'Is'.
+ * @return the meta object for the reference 'Is'.
* @see org.xtext.unipampa.erdsl.erDsl.Entity#getIs()
* @see #getEntity()
* @generated
@@ -532,6 +563,16 @@ public interface ErDslPackage extends EPackage
*/
EReference getRelationSide_Target();
+ /**
+ * Returns the meta object for enum '{@link org.xtext.unipampa.erdsl.erDsl.DataType Data Type}'.
+ *
+ *
+ * @return the meta object for enum 'Data Type'.
+ * @see org.xtext.unipampa.erdsl.erDsl.DataType
+ * @generated
+ */
+ EEnum getDataType();
+
/**
* Returns the factory that creates the instances of the model.
*
@@ -625,6 +666,14 @@ interface Literals
*/
EAttribute ATTRIBUTE__NAME = eINSTANCE.getAttribute_Name();
+ /**
+ * The meta object literal for the 'Type' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute ATTRIBUTE__TYPE = eINSTANCE.getAttribute_Type();
+
/**
* The meta object literal for the 'Is Key' attribute feature.
*
@@ -652,7 +701,7 @@ interface Literals
EAttribute ENTITY__NAME = eINSTANCE.getEntity_Name();
/**
- * The meta object literal for the 'Is' reference list feature.
+ * The meta object literal for the 'Is' reference feature.
*
*
* @generated
@@ -735,6 +784,16 @@ interface Literals
*/
EReference RELATION_SIDE__TARGET = eINSTANCE.getRelationSide_Target();
+ /**
+ * The meta object literal for the '{@link org.xtext.unipampa.erdsl.erDsl.DataType Data Type}' enum.
+ *
+ *
+ * @see org.xtext.unipampa.erdsl.erDsl.DataType
+ * @see org.xtext.unipampa.erdsl.erDsl.impl.ErDslPackageImpl#getDataType()
+ * @generated
+ */
+ EEnum DATA_TYPE = eINSTANCE.getDataType();
+
}
} //ErDslPackage
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Relation.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Relation.java
index 992034c..f4bb5a5 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Relation.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/Relation.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/RelationSide.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/RelationSide.java
index 15152f2..0370588 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/RelationSide.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/RelationSide.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.java
index 926a1a5..894a93b 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/AttributeImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
@@ -11,6 +11,7 @@
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.xtext.unipampa.erdsl.erDsl.Attribute;
+import org.xtext.unipampa.erdsl.erDsl.DataType;
import org.xtext.unipampa.erdsl.erDsl.ErDslPackage;
/**
@@ -22,6 +23,7 @@
*
*
* - {@link org.xtext.unipampa.erdsl.erDsl.impl.AttributeImpl#getName Name}
+ * - {@link org.xtext.unipampa.erdsl.erDsl.impl.AttributeImpl#getType Type}
* - {@link org.xtext.unipampa.erdsl.erDsl.impl.AttributeImpl#isIsKey Is Key}
*
*
@@ -49,6 +51,26 @@ public class AttributeImpl extends MinimalEObjectImpl.Container implements Attri
*/
protected String name = NAME_EDEFAULT;
+ /**
+ * The default value of the '{@link #getType() Type}' attribute.
+ *
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final DataType TYPE_EDEFAULT = DataType.INT;
+
+ /**
+ * The cached value of the '{@link #getType() Type}' attribute.
+ *
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected DataType type = TYPE_EDEFAULT;
+
/**
* The default value of the '{@link #isIsKey() Is Key}' attribute.
*
@@ -115,6 +137,31 @@ public void setName(String newName)
eNotify(new ENotificationImpl(this, Notification.SET, ErDslPackage.ATTRIBUTE__NAME, oldName, name));
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public DataType getType()
+ {
+ return type;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setType(DataType newType)
+ {
+ DataType oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErDslPackage.ATTRIBUTE__TYPE, oldType, type));
+ }
+
/**
*
*
@@ -152,6 +199,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
{
case ErDslPackage.ATTRIBUTE__NAME:
return getName();
+ case ErDslPackage.ATTRIBUTE__TYPE:
+ return getType();
case ErDslPackage.ATTRIBUTE__IS_KEY:
return isIsKey();
}
@@ -171,6 +220,9 @@ public void eSet(int featureID, Object newValue)
case ErDslPackage.ATTRIBUTE__NAME:
setName((String)newValue);
return;
+ case ErDslPackage.ATTRIBUTE__TYPE:
+ setType((DataType)newValue);
+ return;
case ErDslPackage.ATTRIBUTE__IS_KEY:
setIsKey((Boolean)newValue);
return;
@@ -191,6 +243,9 @@ public void eUnset(int featureID)
case ErDslPackage.ATTRIBUTE__NAME:
setName(NAME_EDEFAULT);
return;
+ case ErDslPackage.ATTRIBUTE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
case ErDslPackage.ATTRIBUTE__IS_KEY:
setIsKey(IS_KEY_EDEFAULT);
return;
@@ -210,6 +265,8 @@ public boolean eIsSet(int featureID)
{
case ErDslPackage.ATTRIBUTE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ErDslPackage.ATTRIBUTE__TYPE:
+ return type != TYPE_EDEFAULT;
case ErDslPackage.ATTRIBUTE__IS_KEY:
return isKey != IS_KEY_EDEFAULT;
}
@@ -229,6 +286,8 @@ public String toString()
StringBuilder result = new StringBuilder(super.toString());
result.append(" (name: ");
result.append(name);
+ result.append(", type: ");
+ result.append(type);
result.append(", isKey: ");
result.append(isKey);
result.append(')');
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/DomainImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/DomainImpl.java
index 3376a6b..6252635 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/DomainImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/DomainImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ERModelImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ERModelImpl.java
index dbb949e..3c68289 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ERModelImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ERModelImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.java
index 199c721..45ec8d2 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/EntityImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
@@ -17,7 +17,6 @@
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.xtext.unipampa.erdsl.erDsl.Attribute;
@@ -62,14 +61,14 @@ public class EntityImpl extends MinimalEObjectImpl.Container implements Entity
protected String name = NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getIs() Is}' reference list.
+ * The cached value of the '{@link #getIs() Is}' reference.
*
*
* @see #getIs()
* @generated
* @ordered
*/
- protected EList is;
+ protected Entity is;
/**
* The cached value of the '{@link #getAttributes() Attributes}' containment reference list.
@@ -133,15 +132,45 @@ public void setName(String newName)
* @generated
*/
@Override
- public EList getIs()
+ public Entity getIs()
{
- if (is == null)
+ if (is != null && is.eIsProxy())
{
- is = new EObjectResolvingEList(Entity.class, this, ErDslPackage.ENTITY__IS);
+ InternalEObject oldIs = (InternalEObject)is;
+ is = (Entity)eResolveProxy(oldIs);
+ if (is != oldIs)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ErDslPackage.ENTITY__IS, oldIs, is));
+ }
}
return is;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public Entity basicGetIs()
+ {
+ return is;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setIs(Entity newIs)
+ {
+ Entity oldIs = is;
+ is = newIs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ErDslPackage.ENTITY__IS, oldIs, is));
+ }
+
/**
*
*
@@ -186,7 +215,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType)
case ErDslPackage.ENTITY__NAME:
return getName();
case ErDslPackage.ENTITY__IS:
- return getIs();
+ if (resolve) return getIs();
+ return basicGetIs();
case ErDslPackage.ENTITY__ATTRIBUTES:
return getAttributes();
}
@@ -208,8 +238,7 @@ public void eSet(int featureID, Object newValue)
setName((String)newValue);
return;
case ErDslPackage.ENTITY__IS:
- getIs().clear();
- getIs().addAll((Collection extends Entity>)newValue);
+ setIs((Entity)newValue);
return;
case ErDslPackage.ENTITY__ATTRIBUTES:
getAttributes().clear();
@@ -233,7 +262,7 @@ public void eUnset(int featureID)
setName(NAME_EDEFAULT);
return;
case ErDslPackage.ENTITY__IS:
- getIs().clear();
+ setIs((Entity)null);
return;
case ErDslPackage.ENTITY__ATTRIBUTES:
getAttributes().clear();
@@ -255,7 +284,7 @@ public boolean eIsSet(int featureID)
case ErDslPackage.ENTITY__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case ErDslPackage.ENTITY__IS:
- return is != null && !is.isEmpty();
+ return is != null;
case ErDslPackage.ENTITY__ATTRIBUTES:
return attributes != null && !attributes.isEmpty();
}
@@ -272,9 +301,12 @@ public String toString()
{
if (eIsProxy()) return super.toString();
- StringBuilder result = new StringBuilder();
- result.append(name);
- return result.toString();
+ StringBuilder result = new StringBuilder(super.toString());
+// result.append(" (name: ");
+// result.append(name);
+// result.append(')');
+// return result.toString();
+ return name;
}
} //EntityImpl
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.java
index d9d1b69..d5adcd7 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslFactoryImpl.java
@@ -1,9 +1,10 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
@@ -76,6 +77,40 @@ public EObject create(EClass eClass)
}
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case ErDslPackage.DATA_TYPE:
+ return createDataTypeFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case ErDslPackage.DATA_TYPE:
+ return convertDataTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
/**
*
*
@@ -148,6 +183,28 @@ public RelationSide createRelationSide()
return relationSide;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ public DataType createDataTypeFromString(EDataType eDataType, String initialValue)
+ {
+ DataType result = DataType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String convertDataTypeToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
/**
*
*
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.java
index 118e244..bc50cdb 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/ErDslPackageImpl.java
@@ -1,16 +1,18 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.xtext.unipampa.erdsl.erDsl.Attribute;
+import org.xtext.unipampa.erdsl.erDsl.DataType;
import org.xtext.unipampa.erdsl.erDsl.Domain;
import org.xtext.unipampa.erdsl.erDsl.ERModel;
import org.xtext.unipampa.erdsl.erDsl.Entity;
@@ -69,6 +71,13 @@ public class ErDslPackageImpl extends EPackageImpl implements ErDslPackage
*/
private EClass relationSideEClass = null;
+ /**
+ *
+ *
+ * @generated
+ */
+ private EEnum dataTypeEEnum = null;
+
/**
* Creates an instance of the model Package, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
@@ -226,11 +235,22 @@ public EAttribute getAttribute_Name()
* @generated
*/
@Override
- public EAttribute getAttribute_IsKey()
+ public EAttribute getAttribute_Type()
{
return (EAttribute)attributeEClass.getEStructuralFeatures().get(1);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAttribute_IsKey()
+ {
+ return (EAttribute)attributeEClass.getEStructuralFeatures().get(2);
+ }
+
/**
*
*
@@ -363,6 +383,17 @@ public EReference getRelationSide_Target()
return (EReference)relationSideEClass.getEStructuralFeatures().get(1);
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getDataType()
+ {
+ return dataTypeEEnum;
+ }
+
/**
*
*
@@ -404,6 +435,7 @@ public void createPackageContents()
attributeEClass = createEClass(ATTRIBUTE);
createEAttribute(attributeEClass, ATTRIBUTE__NAME);
+ createEAttribute(attributeEClass, ATTRIBUTE__TYPE);
createEAttribute(attributeEClass, ATTRIBUTE__IS_KEY);
entityEClass = createEClass(ENTITY);
@@ -420,6 +452,9 @@ public void createPackageContents()
relationSideEClass = createEClass(RELATION_SIDE);
createEAttribute(relationSideEClass, RELATION_SIDE__CARDINALITY);
createEReference(relationSideEClass, RELATION_SIDE__TARGET);
+
+ // Create enums
+ dataTypeEEnum = createEEnum(DATA_TYPE);
}
/**
@@ -463,11 +498,12 @@ public void initializePackageContents()
initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAttribute_Type(), this.getDataType(), "type", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAttribute_IsKey(), ecorePackage.getEBoolean(), "isKey", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(entityEClass, Entity.class, "Entity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getEntity_Name(), ecorePackage.getEString(), "name", null, 0, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getEntity_Is(), this.getEntity(), null, "is", null, 0, -1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEntity_Is(), this.getEntity(), null, "is", null, 0, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getEntity_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(relationEClass, Relation.class, "Relation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -477,9 +513,19 @@ public void initializePackageContents()
initEReference(getRelation_Attributes(), this.getAttribute(), null, "attributes", null, 0, -1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(relationSideEClass, RelationSide.class, "RelationSide", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getRelationSide_Cardinality(), ecorePackage.getEString(), "Cardinality", null, 0, 1, RelationSide.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelationSide_Cardinality(), ecorePackage.getEString(), "cardinality", null, 0, 1, RelationSide.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRelationSide_Target(), ecorePackage.getEObject(), null, "target", null, 0, 1, RelationSide.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ // Initialize enums and add enum literals
+ initEEnum(dataTypeEEnum, DataType.class, "DataType");
+ addEEnumLiteral(dataTypeEEnum, DataType.INT);
+ addEEnumLiteral(dataTypeEEnum, DataType.DOUBLE);
+ addEEnumLiteral(dataTypeEEnum, DataType.MONEY);
+ addEEnumLiteral(dataTypeEEnum, DataType.STRING);
+ addEEnumLiteral(dataTypeEEnum, DataType.BOOLEAN);
+ addEEnumLiteral(dataTypeEEnum, DataType.DATETIME);
+ addEEnumLiteral(dataTypeEEnum, DataType.BLOB);
+
// Create resource
createResource(eNS_URI);
}
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.java
index dce5481..75a4b1c 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
@@ -381,9 +381,12 @@ public String toString()
{
if (eIsProxy()) return super.toString();
- StringBuilder result = new StringBuilder();
- result.append(name);
- return result.toString();
+ StringBuilder result = new StringBuilder(super.toString());
+// result.append(" (name: ");
+// result.append(name);
+// result.append(')');
+// return result.toString();
+ return name;
}
} //RelationImpl
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.java
index 6553445..eeae758 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/impl/RelationSideImpl.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.impl;
@@ -240,10 +240,11 @@ public String toString()
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
- result.append(" (Cardinality: ");
- result.append(cardinality);
- result.append(')');
- return result.toString();
+// result.append(" (cardinality: ");
+// result.append(cardinality);
+// result.append(')');
+// return result.toString();
+ return cardinality;
}
} //RelationSideImpl
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslAdapterFactory.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslAdapterFactory.java
index 8d52dac..61930a9 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslAdapterFactory.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslAdapterFactory.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.util;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslSwitch.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslSwitch.java
index cbbcc91..a0bec88 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslSwitch.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/erDsl/util/ErDslSwitch.java
@@ -1,5 +1,5 @@
/**
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.erDsl.util;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslAntlrTokenFileProvider.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslAntlrTokenFileProvider.java
index 4277685..75c03fe 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslAntlrTokenFileProvider.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslAntlrTokenFileProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.parser.antlr;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslParser.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslParser.java
index 405ff26..213848d 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslParser.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/ErDslParser.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.parser.antlr;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
index 254c2fd..b63f8e6 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.g
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
grammar InternalErDsl;
@@ -23,6 +23,7 @@ import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
@@ -257,9 +258,28 @@ ruleAttribute returns [EObject current=null]
)
(
(
- lv_isKey_1_0='isIdentifier'
{
- newLeafNode(lv_isKey_1_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
+ newCompositeNode(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0());
+ }
+ lv_type_1_0=ruleDataType
+ {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_1_0,
+ "org.xtext.unipampa.erdsl.ErDsl.DataType");
+ afterParserOrEnumRuleCall();
+ }
+ )
+ )
+ (
+ (
+ lv_isKey_2_0='isIdentifier'
+ {
+ newLeafNode(lv_isKey_2_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
}
{
if ($current==null) {
@@ -545,48 +565,48 @@ ruleRelationSide returns [EObject current=null]
(
(
(
- lv_Cardinality_0_1='(0:1)'
+ lv_cardinality_0_1='(0:1)'
{
- newLeafNode(lv_Cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
+ newLeafNode(lv_cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_1, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_1, null);
}
|
- lv_Cardinality_0_2='(1:1)'
+ lv_cardinality_0_2='(1:1)'
{
- newLeafNode(lv_Cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
+ newLeafNode(lv_cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_2, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_2, null);
}
|
- lv_Cardinality_0_3='(0:N)'
+ lv_cardinality_0_3='(0:N)'
{
- newLeafNode(lv_Cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
+ newLeafNode(lv_cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_3, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_3, null);
}
|
- lv_Cardinality_0_4='(1:N)'
+ lv_cardinality_0_4='(1:N)'
{
- newLeafNode(lv_Cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
+ newLeafNode(lv_cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
}
{
if ($current==null) {
$current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed($current, "Cardinality", lv_Cardinality_0_4, null);
+ setWithLastConsumed($current, "cardinality", lv_cardinality_0_4, null);
}
)
)
@@ -622,6 +642,73 @@ ruleRelationSide returns [EObject current=null]
)
;
+// Rule DataType
+ruleDataType returns [Enumerator current=null]
+@init {
+ enterRule();
+}
+@after {
+ leaveRule();
+}:
+ (
+ (
+ enumLiteral_0='int'
+ {
+ $current = grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0());
+ }
+ )
+ |
+ (
+ enumLiteral_1='double'
+ {
+ $current = grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1());
+ }
+ )
+ |
+ (
+ enumLiteral_2='money'
+ {
+ $current = grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2());
+ }
+ )
+ |
+ (
+ enumLiteral_3='string'
+ {
+ $current = grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3());
+ }
+ )
+ |
+ (
+ enumLiteral_4='boolean'
+ {
+ $current = grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4());
+ }
+ )
+ |
+ (
+ enumLiteral_5='datetime'
+ {
+ $current = grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5());
+ }
+ )
+ |
+ (
+ enumLiteral_6='file'
+ {
+ $current = grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6());
+ }
+ )
+ )
+;
+
RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
RULE_INT : ('0'..'9')+;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
index 61a7bc5..30c68d6 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDsl.tokens
@@ -9,9 +9,16 @@
'Relationships'=15
'['=20
']'=22
+'boolean'=31
+'datetime'=32
+'double'=28
+'file'=33
+'int'=27
'is'=18
'isIdentifier'=17
+'money'=29
'relates'=21
+'string'=30
'{'=13
'}'=14
RULE_ANY_OTHER=10
@@ -37,3 +44,10 @@ T__23=23
T__24=24
T__25=25
T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
+T__32=32
+T__33=33
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.java
index 3c4e7fd..bd6d845 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslLexer.java
@@ -20,15 +20,22 @@ public class InternalErDslLexer extends Lexer {
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
+ public static final int T__33=33;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
public static final int RULE_ID=4;
public static final int RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
public static final int RULE_INT=5;
+ public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
public static final int T__23=23;
@@ -380,15 +387,162 @@ public final void mT__26() throws RecognitionException {
}
// $ANTLR end "T__26"
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:27:7: ( 'int' )
+ // InternalErDsl.g:27:9: 'int'
+ {
+ match("int");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:28:7: ( 'double' )
+ // InternalErDsl.g:28:9: 'double'
+ {
+ match("double");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:29:7: ( 'money' )
+ // InternalErDsl.g:29:9: 'money'
+ {
+ match("money");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:30:7: ( 'string' )
+ // InternalErDsl.g:30:9: 'string'
+ {
+ match("string");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:31:7: ( 'boolean' )
+ // InternalErDsl.g:31:9: 'boolean'
+ {
+ match("boolean");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:32:7: ( 'datetime' )
+ // InternalErDsl.g:32:9: 'datetime'
+ {
+ match("datetime");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // InternalErDsl.g:33:7: ( 'file' )
+ // InternalErDsl.g:33:9: 'file'
+ {
+ match("file");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
// $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:625:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
- // InternalErDsl.g:625:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // InternalErDsl.g:712:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // InternalErDsl.g:712:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
- // InternalErDsl.g:625:11: ( '^' )?
+ // InternalErDsl.g:712:11: ( '^' )?
int alt1=2;
int LA1_0 = input.LA(1);
@@ -397,7 +551,7 @@ public final void mRULE_ID() throws RecognitionException {
}
switch (alt1) {
case 1 :
- // InternalErDsl.g:625:11: '^'
+ // InternalErDsl.g:712:11: '^'
{
match('^');
@@ -415,7 +569,7 @@ public final void mRULE_ID() throws RecognitionException {
recover(mse);
throw mse;}
- // InternalErDsl.g:625:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // InternalErDsl.g:712:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@@ -464,10 +618,10 @@ public final void mRULE_INT() throws RecognitionException {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:627:10: ( ( '0' .. '9' )+ )
- // InternalErDsl.g:627:12: ( '0' .. '9' )+
+ // InternalErDsl.g:714:10: ( ( '0' .. '9' )+ )
+ // InternalErDsl.g:714:12: ( '0' .. '9' )+
{
- // InternalErDsl.g:627:12: ( '0' .. '9' )+
+ // InternalErDsl.g:714:12: ( '0' .. '9' )+
int cnt3=0;
loop3:
do {
@@ -481,7 +635,7 @@ public final void mRULE_INT() throws RecognitionException {
switch (alt3) {
case 1 :
- // InternalErDsl.g:627:13: '0' .. '9'
+ // InternalErDsl.g:714:13: '0' .. '9'
{
matchRange('0','9');
@@ -513,10 +667,10 @@ public final void mRULE_STRING() throws RecognitionException {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:629:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
- // InternalErDsl.g:629:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // InternalErDsl.g:716:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // InternalErDsl.g:716:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
- // InternalErDsl.g:629:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // InternalErDsl.g:716:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2;
int LA6_0 = input.LA(1);
@@ -534,10 +688,10 @@ else if ( (LA6_0=='\'') ) {
}
switch (alt6) {
case 1 :
- // InternalErDsl.g:629:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ // InternalErDsl.g:716:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
- // InternalErDsl.g:629:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+ // InternalErDsl.g:716:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4:
do {
int alt4=3;
@@ -553,7 +707,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
switch (alt4) {
case 1 :
- // InternalErDsl.g:629:21: '\\\\' .
+ // InternalErDsl.g:716:21: '\\\\' .
{
match('\\');
matchAny();
@@ -561,7 +715,7 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
}
break;
case 2 :
- // InternalErDsl.g:629:28: ~ ( ( '\\\\' | '\"' ) )
+ // InternalErDsl.g:716:28: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -586,10 +740,10 @@ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=
}
break;
case 2 :
- // InternalErDsl.g:629:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ // InternalErDsl.g:716:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
- // InternalErDsl.g:629:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+ // InternalErDsl.g:716:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5:
do {
int alt5=3;
@@ -605,7 +759,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
switch (alt5) {
case 1 :
- // InternalErDsl.g:629:54: '\\\\' .
+ // InternalErDsl.g:716:54: '\\\\' .
{
match('\\');
matchAny();
@@ -613,7 +767,7 @@ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=
}
break;
case 2 :
- // InternalErDsl.g:629:61: ~ ( ( '\\\\' | '\\'' ) )
+ // InternalErDsl.g:716:61: ~ ( ( '\\\\' | '\\'' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -656,12 +810,12 @@ public final void mRULE_ML_COMMENT() throws RecognitionException {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:631:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
- // InternalErDsl.g:631:19: '/*' ( options {greedy=false; } : . )* '*/'
+ // InternalErDsl.g:718:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // InternalErDsl.g:718:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
- // InternalErDsl.g:631:24: ( options {greedy=false; } : . )*
+ // InternalErDsl.g:718:24: ( options {greedy=false; } : . )*
loop7:
do {
int alt7=2;
@@ -686,7 +840,7 @@ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
switch (alt7) {
case 1 :
- // InternalErDsl.g:631:52: .
+ // InternalErDsl.g:718:52: .
{
matchAny();
@@ -716,12 +870,12 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:633:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
- // InternalErDsl.g:633:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ // InternalErDsl.g:720:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // InternalErDsl.g:720:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
- // InternalErDsl.g:633:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ // InternalErDsl.g:720:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8:
do {
int alt8=2;
@@ -734,7 +888,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
switch (alt8) {
case 1 :
- // InternalErDsl.g:633:24: ~ ( ( '\\n' | '\\r' ) )
+ // InternalErDsl.g:720:24: ~ ( ( '\\n' | '\\r' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -754,7 +908,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
} while (true);
- // InternalErDsl.g:633:40: ( ( '\\r' )? '\\n' )?
+ // InternalErDsl.g:720:40: ( ( '\\r' )? '\\n' )?
int alt10=2;
int LA10_0 = input.LA(1);
@@ -763,9 +917,9 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
switch (alt10) {
case 1 :
- // InternalErDsl.g:633:41: ( '\\r' )? '\\n'
+ // InternalErDsl.g:720:41: ( '\\r' )? '\\n'
{
- // InternalErDsl.g:633:41: ( '\\r' )?
+ // InternalErDsl.g:720:41: ( '\\r' )?
int alt9=2;
int LA9_0 = input.LA(1);
@@ -774,7 +928,7 @@ public final void mRULE_SL_COMMENT() throws RecognitionException {
}
switch (alt9) {
case 1 :
- // InternalErDsl.g:633:41: '\\r'
+ // InternalErDsl.g:720:41: '\\r'
{
match('\r');
@@ -806,10 +960,10 @@ public final void mRULE_WS() throws RecognitionException {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:635:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
- // InternalErDsl.g:635:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalErDsl.g:722:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // InternalErDsl.g:722:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
- // InternalErDsl.g:635:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // InternalErDsl.g:722:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt11=0;
loop11:
do {
@@ -863,8 +1017,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // InternalErDsl.g:637:16: ( . )
- // InternalErDsl.g:637:18: .
+ // InternalErDsl.g:724:16: ( . )
+ // InternalErDsl.g:724:18: .
{
matchAny();
@@ -879,8 +1033,8 @@ public final void mRULE_ANY_OTHER() throws RecognitionException {
// $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException {
- // InternalErDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
- int alt12=23;
+ // InternalErDsl.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=30;
alt12 = dfa12.predict(input);
switch (alt12) {
case 1 :
@@ -996,49 +1150,98 @@ public void mTokens() throws RecognitionException {
}
break;
case 17 :
- // InternalErDsl.g:1:106: RULE_ID
+ // InternalErDsl.g:1:106: T__27
{
- mRULE_ID();
+ mT__27();
}
break;
case 18 :
- // InternalErDsl.g:1:114: RULE_INT
+ // InternalErDsl.g:1:112: T__28
{
- mRULE_INT();
+ mT__28();
}
break;
case 19 :
- // InternalErDsl.g:1:123: RULE_STRING
+ // InternalErDsl.g:1:118: T__29
{
- mRULE_STRING();
+ mT__29();
}
break;
case 20 :
- // InternalErDsl.g:1:135: RULE_ML_COMMENT
+ // InternalErDsl.g:1:124: T__30
{
- mRULE_ML_COMMENT();
+ mT__30();
}
break;
case 21 :
- // InternalErDsl.g:1:151: RULE_SL_COMMENT
+ // InternalErDsl.g:1:130: T__31
{
- mRULE_SL_COMMENT();
+ mT__31();
}
break;
case 22 :
- // InternalErDsl.g:1:167: RULE_WS
+ // InternalErDsl.g:1:136: T__32
{
- mRULE_WS();
+ mT__32();
}
break;
case 23 :
- // InternalErDsl.g:1:175: RULE_ANY_OTHER
+ // InternalErDsl.g:1:142: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 24 :
+ // InternalErDsl.g:1:148: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 25 :
+ // InternalErDsl.g:1:156: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 26 :
+ // InternalErDsl.g:1:165: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 27 :
+ // InternalErDsl.g:1:177: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 28 :
+ // InternalErDsl.g:1:193: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 29 :
+ // InternalErDsl.g:1:209: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 30 :
+ // InternalErDsl.g:1:217: RULE_ANY_OTHER
{
mRULE_ANY_OTHER();
@@ -1052,95 +1255,81 @@ public void mTokens() throws RecognitionException {
protected DFA12 dfa12 = new DFA12(this);
static final String DFA12_eotS =
- "\2\uffff\1\27\2\uffff\3\27\2\uffff\1\27\1\uffff\2\24\2\uffff\3\24\3\uffff\1\27\3\uffff\2\27\1\54\2\uffff\1\27\10\uffff\4\27\1\uffff\1\27\2\uffff\5\27\4\uffff\7\27\1\105\4\27\1\uffff\1\27\1\113\1\114\2\27\2\uffff\7\27\1\126\1\127\2\uffff";
+ "\2\uffff\1\34\2\uffff\3\34\2\uffff\1\34\1\uffff\1\31\5\34\1\31\2\uffff\3\31\3\uffff\1\34\3\uffff\2\34\1\70\1\34\2\uffff\1\34\3\uffff\6\34\5\uffff\4\34\1\uffff\1\107\1\34\2\uffff\12\34\1\uffff\1\34\4\uffff\5\34\1\135\7\34\1\145\2\34\1\uffff\2\34\1\152\2\34\1\155\1\34\1\uffff\1\157\3\34\1\uffff\1\34\1\164\1\uffff\1\34\1\uffff\1\166\1\167\2\34\1\uffff\1\172\2\uffff\2\34\1\uffff\5\34\1\u0082\1\u0083\2\uffff";
static final String DFA12_eofS =
- "\130\uffff";
+ "\u0084\uffff";
static final String DFA12_minS =
- "\1\0\1\uffff\1\156\2\uffff\1\145\1\157\1\163\2\uffff\1\145\1\uffff\1\60\1\101\2\uffff\2\0\1\52\3\uffff\1\164\3\uffff\1\154\1\155\1\60\2\uffff\1\154\1\uffff\2\72\5\uffff\1\151\2\141\1\144\1\uffff\1\141\2\61\2\164\1\151\1\145\1\164\4\uffff\2\151\2\156\2\145\1\157\1\60\1\164\2\163\1\156\1\uffff\1\151\2\60\1\163\1\146\2\uffff\1\150\2\151\1\145\1\160\1\162\1\163\2\60\2\uffff";
+ "\1\0\1\uffff\1\156\2\uffff\1\145\1\157\1\156\2\uffff\1\145\1\uffff\1\60\1\141\1\157\1\164\1\157\1\151\1\101\2\uffff\2\0\1\52\3\uffff\1\164\3\uffff\1\154\1\155\1\60\1\164\2\uffff\1\154\1\uffff\2\72\1\165\1\164\1\156\1\162\1\157\1\154\5\uffff\1\151\2\141\1\144\1\uffff\1\60\1\141\2\61\1\142\2\145\1\151\1\154\1\145\2\164\1\151\1\145\1\uffff\1\164\4\uffff\1\154\1\164\1\171\1\156\1\145\1\60\2\151\2\156\2\145\1\151\1\60\1\147\1\141\1\uffff\1\145\1\157\1\60\1\164\1\163\1\60\1\155\1\uffff\1\60\1\156\1\163\1\156\1\uffff\1\151\1\60\1\uffff\1\145\1\uffff\2\60\1\163\1\146\1\uffff\1\60\2\uffff\1\150\1\151\1\uffff\1\151\1\145\1\160\1\162\1\163\2\60\2\uffff";
static final String DFA12_maxS =
- "\1\uffff\1\uffff\1\156\2\uffff\1\145\1\157\1\163\2\uffff\1\145\1\uffff\1\61\1\172\2\uffff\2\uffff\1\57\3\uffff\1\164\3\uffff\1\154\1\155\1\172\2\uffff\1\154\1\uffff\2\72\5\uffff\1\151\2\141\1\144\1\uffff\1\141\2\116\2\164\1\151\1\145\1\164\4\uffff\2\151\2\156\2\145\1\157\1\172\1\164\2\163\1\156\1\uffff\1\151\2\172\1\163\1\146\2\uffff\1\150\2\151\1\145\1\160\1\162\1\163\2\172\2\uffff";
+ "\1\uffff\1\uffff\1\156\2\uffff\1\145\1\157\1\163\2\uffff\1\145\1\uffff\1\61\2\157\1\164\1\157\1\151\1\172\2\uffff\2\uffff\1\57\3\uffff\1\164\3\uffff\1\154\1\155\1\172\1\164\2\uffff\1\154\1\uffff\2\72\1\165\1\164\1\156\1\162\1\157\1\154\5\uffff\1\151\2\141\1\144\1\uffff\1\172\1\141\2\116\1\142\2\145\1\151\1\154\1\145\2\164\1\151\1\145\1\uffff\1\164\4\uffff\1\154\1\164\1\171\1\156\1\145\1\172\2\151\2\156\2\145\1\151\1\172\1\147\1\141\1\uffff\1\145\1\157\1\172\1\164\1\163\1\172\1\155\1\uffff\1\172\1\156\1\163\1\156\1\uffff\1\151\1\172\1\uffff\1\145\1\uffff\2\172\1\163\1\146\1\uffff\1\172\2\uffff\1\150\1\151\1\uffff\1\151\1\145\1\160\1\162\1\163\2\172\2\uffff";
static final String DFA12_acceptS =
- "\1\uffff\1\1\1\uffff\1\3\1\4\3\uffff\1\11\1\12\1\uffff\1\14\2\uffff\1\21\1\22\3\uffff\1\26\1\27\1\1\1\uffff\1\21\1\3\1\4\3\uffff\1\11\1\12\1\uffff\1\14\2\uffff\1\22\1\23\1\24\1\25\1\26\4\uffff\1\10\10\uffff\1\15\1\17\1\16\1\20\14\uffff\1\6\5\uffff\1\13\1\2\11\uffff\1\7\1\5";
+ "\1\uffff\1\1\1\uffff\1\3\1\4\3\uffff\1\11\1\12\1\uffff\1\14\7\uffff\1\30\1\31\3\uffff\1\35\1\36\1\1\1\uffff\1\30\1\3\1\4\4\uffff\1\11\1\12\1\uffff\1\14\10\uffff\1\31\1\32\1\33\1\34\1\35\4\uffff\1\10\16\uffff\1\21\1\uffff\1\15\1\17\1\16\1\20\20\uffff\1\27\7\uffff\1\23\4\uffff\1\6\2\uffff\1\22\1\uffff\1\24\4\uffff\1\13\1\uffff\1\25\1\2\2\uffff\1\26\7\uffff\1\7\1\5";
static final String DFA12_specialS =
- "\1\2\17\uffff\1\0\1\1\106\uffff}>";
+ "\1\1\24\uffff\1\0\1\2\155\uffff}>";
static final String[] DFA12_transitionS = {
- "\11\24\2\23\2\24\1\23\22\24\1\23\1\24\1\20\4\24\1\21\1\14\3\24\1\10\2\24\1\22\12\17\1\24\1\1\5\24\3\16\1\6\1\2\14\16\1\5\10\16\1\11\1\24\1\13\1\15\1\16\1\24\10\16\1\7\10\16\1\12\10\16\1\3\1\24\1\4\uff82\24",
+ "\11\31\2\30\2\31\1\30\22\31\1\30\1\31\1\25\4\31\1\26\1\14\3\31\1\10\2\31\1\27\12\24\1\31\1\1\5\31\3\23\1\6\1\2\14\23\1\5\10\23\1\11\1\31\1\13\1\22\1\23\1\31\1\23\1\20\1\23\1\15\1\23\1\21\2\23\1\7\3\23\1\16\4\23\1\12\1\17\7\23\1\3\1\31\1\4\uff82\31",
"",
- "\1\26",
- "",
- "",
- "\1\32",
"\1\33",
- "\1\34",
"",
"",
"\1\37",
- "",
- "\1\41\1\42",
- "\32\27\4\uffff\1\27\1\uffff\32\27",
- "",
- "",
- "\0\44",
- "\0\44",
- "\1\45\4\uffff\1\46",
- "",
+ "\1\40",
+ "\1\42\4\uffff\1\41",
"",
"",
- "\1\50",
- "",
+ "\1\45",
"",
+ "\1\47\1\50",
+ "\1\52\15\uffff\1\51",
+ "\1\53",
+ "\1\54",
+ "\1\55",
+ "\1\56",
+ "\32\34\4\uffff\1\34\1\uffff\32\34",
"",
- "\1\51",
- "\1\52",
- "\12\27\7\uffff\10\27\1\53\21\27\4\uffff\1\27\1\uffff\32\27",
"",
+ "\0\60",
+ "\0\60",
+ "\1\61\4\uffff\1\62",
"",
- "\1\55",
"",
- "\1\56",
- "\1\57",
"",
+ "\1\64",
"",
"",
"",
+ "\1\65",
+ "\1\66",
+ "\12\34\7\uffff\10\34\1\67\21\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\71",
"",
- "\1\60",
- "\1\61",
- "\1\62",
- "\1\63",
"",
- "\1\64",
- "\1\65\34\uffff\1\66",
- "\1\67\34\uffff\1\70",
- "\1\71",
"\1\72",
+ "",
"\1\73",
"\1\74",
"\1\75",
- "",
- "",
- "",
- "",
"\1\76",
"\1\77",
"\1\100",
"\1\101",
"\1\102",
+ "",
+ "",
+ "",
+ "",
+ "",
"\1\103",
"\1\104",
- "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\105",
"\1\106",
- "\1\107",
- "\1\110",
- "\1\111",
"",
- "\1\112",
- "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
- "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\110",
+ "\1\111\34\uffff\1\112",
+ "\1\113\34\uffff\1\114",
"\1\115",
"\1\116",
- "",
- "",
"\1\117",
"\1\120",
"\1\121",
@@ -1148,8 +1337,66 @@ public void mTokens() throws RecognitionException {
"\1\123",
"\1\124",
"\1\125",
- "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
- "\12\27\7\uffff\32\27\4\uffff\1\27\1\uffff\32\27",
+ "\1\126",
+ "",
+ "\1\127",
+ "",
+ "",
+ "",
+ "",
+ "\1\130",
+ "\1\131",
+ "\1\132",
+ "\1\133",
+ "\1\134",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\136",
+ "\1\137",
+ "\1\140",
+ "\1\141",
+ "\1\142",
+ "\1\143",
+ "\1\144",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\146",
+ "\1\147",
+ "",
+ "\1\150",
+ "\1\151",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\153",
+ "\1\154",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\156",
+ "",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\160",
+ "\1\161",
+ "\1\162",
+ "",
+ "\1\163",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "",
+ "\1\165",
+ "",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\1\170",
+ "\1\171",
+ "",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "",
+ "",
+ "\1\173",
+ "\1\174",
+ "",
+ "\1\175",
+ "\1\176",
+ "\1\177",
+ "\1\u0080",
+ "\1\u0081",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
+ "\12\34\7\uffff\32\34\4\uffff\1\34\1\uffff\32\34",
"",
""
};
@@ -1184,33 +1431,23 @@ public DFA12(BaseRecognizer recognizer) {
this.transition = DFA12_transition;
}
public String getDescription() {
- return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
- int LA12_16 = input.LA(1);
+ int LA12_21 = input.LA(1);
s = -1;
- if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 36;}
+ if ( ((LA12_21>='\u0000' && LA12_21<='\uFFFF')) ) {s = 48;}
- else s = 20;
+ else s = 25;
if ( s>=0 ) return s;
break;
case 1 :
- int LA12_17 = input.LA(1);
-
- s = -1;
- if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 36;}
-
- else s = 20;
-
- if ( s>=0 ) return s;
- break;
- case 2 :
int LA12_0 = input.LA(1);
s = -1;
@@ -1238,21 +1475,41 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc
else if ( (LA12_0=='(') ) {s = 12;}
- else if ( (LA12_0=='^') ) {s = 13;}
+ else if ( (LA12_0=='d') ) {s = 13;}
- else if ( ((LA12_0>='A' && LA12_0<='C')||(LA12_0>='F' && LA12_0<='Q')||(LA12_0>='S' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='q')||(LA12_0>='s' && LA12_0<='z')) ) {s = 14;}
+ else if ( (LA12_0=='m') ) {s = 14;}
- else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 15;}
+ else if ( (LA12_0=='s') ) {s = 15;}
- else if ( (LA12_0=='\"') ) {s = 16;}
+ else if ( (LA12_0=='b') ) {s = 16;}
- else if ( (LA12_0=='\'') ) {s = 17;}
+ else if ( (LA12_0=='f') ) {s = 17;}
- else if ( (LA12_0=='/') ) {s = 18;}
+ else if ( (LA12_0=='^') ) {s = 18;}
- else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 19;}
+ else if ( ((LA12_0>='A' && LA12_0<='C')||(LA12_0>='F' && LA12_0<='Q')||(LA12_0>='S' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='a'||LA12_0=='c'||LA12_0=='e'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='l')||(LA12_0>='n' && LA12_0<='q')||(LA12_0>='t' && LA12_0<='z')) ) {s = 19;}
+
+ else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 20;}
+
+ else if ( (LA12_0=='\"') ) {s = 21;}
+
+ else if ( (LA12_0=='\'') ) {s = 22;}
+
+ else if ( (LA12_0=='/') ) {s = 23;}
+
+ else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 24;}
+
+ else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>=')' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 25;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_22 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_22>='\u0000' && LA12_22<='\uFFFF')) ) {s = 48;}
- else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>=')' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 20;}
+ else s = 25;
if ( s>=0 ) return s;
break;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.java
index e3bf731..dd37c07 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/parser/antlr/internal/InternalErDslParser.java
@@ -5,6 +5,7 @@
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
@@ -21,7 +22,7 @@
@SuppressWarnings("all")
public class InternalErDslParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
- "", "", "", "", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "';'", "'Entities'", "'{'", "'}'", "'Relationships'", "'Domain'", "'isIdentifier'", "'is'", "','", "'['", "'relates'", "']'", "'(0:1)'", "'(1:1)'", "'(0:N)'", "'(1:N)'"
+ "", "", "", "", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "';'", "'Entities'", "'{'", "'}'", "'Relationships'", "'Domain'", "'isIdentifier'", "'is'", "','", "'['", "'relates'", "']'", "'(0:1)'", "'(1:1)'", "'(0:N)'", "'(1:N)'", "'int'", "'double'", "'money'", "'string'", "'boolean'", "'datetime'", "'file'"
};
public static final int RULE_STRING=6;
public static final int RULE_SL_COMMENT=8;
@@ -31,15 +32,22 @@ public class InternalErDslParser extends AbstractInternalAntlrParser {
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
+ public static final int T__33=33;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int EOF=-1;
+ public static final int T__30=30;
+ public static final int T__31=31;
+ public static final int T__32=32;
public static final int RULE_ID=4;
public static final int RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__26=26;
+ public static final int T__27=27;
+ public static final int T__28=28;
public static final int RULE_INT=5;
+ public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
public static final int T__23=23;
@@ -88,7 +96,7 @@ protected ErDslGrammarAccess getGrammarAccess() {
// $ANTLR start "entryRuleERModel"
- // InternalErDsl.g:64:1: entryRuleERModel returns [EObject current=null] : iv_ruleERModel= ruleERModel EOF ;
+ // InternalErDsl.g:65:1: entryRuleERModel returns [EObject current=null] : iv_ruleERModel= ruleERModel EOF ;
public final EObject entryRuleERModel() throws RecognitionException {
EObject current = null;
@@ -96,8 +104,8 @@ public final EObject entryRuleERModel() throws RecognitionException {
try {
- // InternalErDsl.g:64:48: (iv_ruleERModel= ruleERModel EOF )
- // InternalErDsl.g:65:2: iv_ruleERModel= ruleERModel EOF
+ // InternalErDsl.g:65:48: (iv_ruleERModel= ruleERModel EOF )
+ // InternalErDsl.g:66:2: iv_ruleERModel= ruleERModel EOF
{
newCompositeNode(grammarAccess.getERModelRule());
pushFollow(FOLLOW_1);
@@ -124,7 +132,7 @@ public final EObject entryRuleERModel() throws RecognitionException {
// $ANTLR start "ruleERModel"
- // InternalErDsl.g:71:1: ruleERModel returns [EObject current=null] : ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) ) ;
+ // InternalErDsl.g:72:1: ruleERModel returns [EObject current=null] : ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) ) ;
public final EObject ruleERModel() throws RecognitionException {
EObject current = null;
@@ -148,17 +156,17 @@ public final EObject ruleERModel() throws RecognitionException {
enterRule();
try {
- // InternalErDsl.g:77:2: ( ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) ) )
- // InternalErDsl.g:78:2: ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) )
+ // InternalErDsl.g:78:2: ( ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) ) )
+ // InternalErDsl.g:79:2: ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) )
{
- // InternalErDsl.g:78:2: ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) )
- // InternalErDsl.g:79:3: ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' )
+ // InternalErDsl.g:79:2: ( ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' ) )
+ // InternalErDsl.g:80:3: ( (lv_domain_0_0= ruleDomain ) ) otherlv_1= ';' (otherlv_2= 'Entities' otherlv_3= '{' ) ( (lv_entities_4_0= ruleEntity ) )+ (otherlv_5= '}' otherlv_6= ';' ) (otherlv_7= 'Relationships' otherlv_8= '{' ) ( (lv_relations_9_0= ruleRelation ) )* (otherlv_10= '}' otherlv_11= ';' )
{
- // InternalErDsl.g:79:3: ( (lv_domain_0_0= ruleDomain ) )
- // InternalErDsl.g:80:4: (lv_domain_0_0= ruleDomain )
+ // InternalErDsl.g:80:3: ( (lv_domain_0_0= ruleDomain ) )
+ // InternalErDsl.g:81:4: (lv_domain_0_0= ruleDomain )
{
- // InternalErDsl.g:80:4: (lv_domain_0_0= ruleDomain )
- // InternalErDsl.g:81:5: lv_domain_0_0= ruleDomain
+ // InternalErDsl.g:81:4: (lv_domain_0_0= ruleDomain )
+ // InternalErDsl.g:82:5: lv_domain_0_0= ruleDomain
{
newCompositeNode(grammarAccess.getERModelAccess().getDomainDomainParserRuleCall_0_0());
@@ -189,8 +197,8 @@ public final EObject ruleERModel() throws RecognitionException {
newLeafNode(otherlv_1, grammarAccess.getERModelAccess().getSemicolonKeyword_1());
- // InternalErDsl.g:102:3: (otherlv_2= 'Entities' otherlv_3= '{' )
- // InternalErDsl.g:103:4: otherlv_2= 'Entities' otherlv_3= '{'
+ // InternalErDsl.g:103:3: (otherlv_2= 'Entities' otherlv_3= '{' )
+ // InternalErDsl.g:104:4: otherlv_2= 'Entities' otherlv_3= '{'
{
otherlv_2=(Token)match(input,12,FOLLOW_5);
@@ -203,7 +211,7 @@ public final EObject ruleERModel() throws RecognitionException {
}
- // InternalErDsl.g:112:3: ( (lv_entities_4_0= ruleEntity ) )+
+ // InternalErDsl.g:113:3: ( (lv_entities_4_0= ruleEntity ) )+
int cnt1=0;
loop1:
do {
@@ -217,10 +225,10 @@ public final EObject ruleERModel() throws RecognitionException {
switch (alt1) {
case 1 :
- // InternalErDsl.g:113:4: (lv_entities_4_0= ruleEntity )
+ // InternalErDsl.g:114:4: (lv_entities_4_0= ruleEntity )
{
- // InternalErDsl.g:113:4: (lv_entities_4_0= ruleEntity )
- // InternalErDsl.g:114:5: lv_entities_4_0= ruleEntity
+ // InternalErDsl.g:114:4: (lv_entities_4_0= ruleEntity )
+ // InternalErDsl.g:115:5: lv_entities_4_0= ruleEntity
{
newCompositeNode(grammarAccess.getERModelAccess().getEntitiesEntityParserRuleCall_3_0());
@@ -257,8 +265,8 @@ public final EObject ruleERModel() throws RecognitionException {
cnt1++;
} while (true);
- // InternalErDsl.g:131:3: (otherlv_5= '}' otherlv_6= ';' )
- // InternalErDsl.g:132:4: otherlv_5= '}' otherlv_6= ';'
+ // InternalErDsl.g:132:3: (otherlv_5= '}' otherlv_6= ';' )
+ // InternalErDsl.g:133:4: otherlv_5= '}' otherlv_6= ';'
{
otherlv_5=(Token)match(input,14,FOLLOW_3);
@@ -271,8 +279,8 @@ public final EObject ruleERModel() throws RecognitionException {
}
- // InternalErDsl.g:141:3: (otherlv_7= 'Relationships' otherlv_8= '{' )
- // InternalErDsl.g:142:4: otherlv_7= 'Relationships' otherlv_8= '{'
+ // InternalErDsl.g:142:3: (otherlv_7= 'Relationships' otherlv_8= '{' )
+ // InternalErDsl.g:143:4: otherlv_7= 'Relationships' otherlv_8= '{'
{
otherlv_7=(Token)match(input,15,FOLLOW_5);
@@ -285,7 +293,7 @@ public final EObject ruleERModel() throws RecognitionException {
}
- // InternalErDsl.g:151:3: ( (lv_relations_9_0= ruleRelation ) )*
+ // InternalErDsl.g:152:3: ( (lv_relations_9_0= ruleRelation ) )*
loop2:
do {
int alt2=2;
@@ -298,10 +306,10 @@ public final EObject ruleERModel() throws RecognitionException {
switch (alt2) {
case 1 :
- // InternalErDsl.g:152:4: (lv_relations_9_0= ruleRelation )
+ // InternalErDsl.g:153:4: (lv_relations_9_0= ruleRelation )
{
- // InternalErDsl.g:152:4: (lv_relations_9_0= ruleRelation )
- // InternalErDsl.g:153:5: lv_relations_9_0= ruleRelation
+ // InternalErDsl.g:153:4: (lv_relations_9_0= ruleRelation )
+ // InternalErDsl.g:154:5: lv_relations_9_0= ruleRelation
{
newCompositeNode(grammarAccess.getERModelAccess().getRelationsRelationParserRuleCall_6_0());
@@ -334,8 +342,8 @@ public final EObject ruleERModel() throws RecognitionException {
}
} while (true);
- // InternalErDsl.g:170:3: (otherlv_10= '}' otherlv_11= ';' )
- // InternalErDsl.g:171:4: otherlv_10= '}' otherlv_11= ';'
+ // InternalErDsl.g:171:3: (otherlv_10= '}' otherlv_11= ';' )
+ // InternalErDsl.g:172:4: otherlv_10= '}' otherlv_11= ';'
{
otherlv_10=(Token)match(input,14,FOLLOW_3);
@@ -371,7 +379,7 @@ public final EObject ruleERModel() throws RecognitionException {
// $ANTLR start "entryRuleDomain"
- // InternalErDsl.g:184:1: entryRuleDomain returns [EObject current=null] : iv_ruleDomain= ruleDomain EOF ;
+ // InternalErDsl.g:185:1: entryRuleDomain returns [EObject current=null] : iv_ruleDomain= ruleDomain EOF ;
public final EObject entryRuleDomain() throws RecognitionException {
EObject current = null;
@@ -379,8 +387,8 @@ public final EObject entryRuleDomain() throws RecognitionException {
try {
- // InternalErDsl.g:184:47: (iv_ruleDomain= ruleDomain EOF )
- // InternalErDsl.g:185:2: iv_ruleDomain= ruleDomain EOF
+ // InternalErDsl.g:185:47: (iv_ruleDomain= ruleDomain EOF )
+ // InternalErDsl.g:186:2: iv_ruleDomain= ruleDomain EOF
{
newCompositeNode(grammarAccess.getDomainRule());
pushFollow(FOLLOW_1);
@@ -407,7 +415,7 @@ public final EObject entryRuleDomain() throws RecognitionException {
// $ANTLR start "ruleDomain"
- // InternalErDsl.g:191:1: ruleDomain returns [EObject current=null] : (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) ) ;
+ // InternalErDsl.g:192:1: ruleDomain returns [EObject current=null] : (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) ) ;
public final EObject ruleDomain() throws RecognitionException {
EObject current = null;
@@ -418,21 +426,21 @@ public final EObject ruleDomain() throws RecognitionException {
enterRule();
try {
- // InternalErDsl.g:197:2: ( (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) ) )
- // InternalErDsl.g:198:2: (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) )
+ // InternalErDsl.g:198:2: ( (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) ) )
+ // InternalErDsl.g:199:2: (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) )
{
- // InternalErDsl.g:198:2: (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) )
- // InternalErDsl.g:199:3: otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) )
+ // InternalErDsl.g:199:2: (otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) ) )
+ // InternalErDsl.g:200:3: otherlv_0= 'Domain' ( (lv_name_1_0= RULE_ID ) )
{
otherlv_0=(Token)match(input,16,FOLLOW_6);
newLeafNode(otherlv_0, grammarAccess.getDomainAccess().getDomainKeyword_0());
- // InternalErDsl.g:203:3: ( (lv_name_1_0= RULE_ID ) )
- // InternalErDsl.g:204:4: (lv_name_1_0= RULE_ID )
+ // InternalErDsl.g:204:3: ( (lv_name_1_0= RULE_ID ) )
+ // InternalErDsl.g:205:4: (lv_name_1_0= RULE_ID )
{
- // InternalErDsl.g:204:4: (lv_name_1_0= RULE_ID )
- // InternalErDsl.g:205:5: lv_name_1_0= RULE_ID
+ // InternalErDsl.g:205:4: (lv_name_1_0= RULE_ID )
+ // InternalErDsl.g:206:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_2);
@@ -477,7 +485,7 @@ public final EObject ruleDomain() throws RecognitionException {
// $ANTLR start "entryRuleAttribute"
- // InternalErDsl.g:225:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ;
+ // InternalErDsl.g:226:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ;
public final EObject entryRuleAttribute() throws RecognitionException {
EObject current = null;
@@ -485,8 +493,8 @@ public final EObject entryRuleAttribute() throws RecognitionException {
try {
- // InternalErDsl.g:225:50: (iv_ruleAttribute= ruleAttribute EOF )
- // InternalErDsl.g:226:2: iv_ruleAttribute= ruleAttribute EOF
+ // InternalErDsl.g:226:50: (iv_ruleAttribute= ruleAttribute EOF )
+ // InternalErDsl.g:227:2: iv_ruleAttribute= ruleAttribute EOF
{
newCompositeNode(grammarAccess.getAttributeRule());
pushFollow(FOLLOW_1);
@@ -513,28 +521,30 @@ public final EObject entryRuleAttribute() throws RecognitionException {
// $ANTLR start "ruleAttribute"
- // InternalErDsl.g:232:1: ruleAttribute returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_isKey_1_0= 'isIdentifier' ) )? ) ;
+ // InternalErDsl.g:233:1: ruleAttribute returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_type_1_0= ruleDataType ) ) ( (lv_isKey_2_0= 'isIdentifier' ) )? ) ;
public final EObject ruleAttribute() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
- Token lv_isKey_1_0=null;
+ Token lv_isKey_2_0=null;
+ Enumerator lv_type_1_0 = null;
+
enterRule();
try {
- // InternalErDsl.g:238:2: ( ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_isKey_1_0= 'isIdentifier' ) )? ) )
- // InternalErDsl.g:239:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_isKey_1_0= 'isIdentifier' ) )? )
+ // InternalErDsl.g:239:2: ( ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_type_1_0= ruleDataType ) ) ( (lv_isKey_2_0= 'isIdentifier' ) )? ) )
+ // InternalErDsl.g:240:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_type_1_0= ruleDataType ) ) ( (lv_isKey_2_0= 'isIdentifier' ) )? )
{
- // InternalErDsl.g:239:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_isKey_1_0= 'isIdentifier' ) )? )
- // InternalErDsl.g:240:3: ( (lv_name_0_0= RULE_ID ) ) ( (lv_isKey_1_0= 'isIdentifier' ) )?
+ // InternalErDsl.g:240:2: ( ( (lv_name_0_0= RULE_ID ) ) ( (lv_type_1_0= ruleDataType ) ) ( (lv_isKey_2_0= 'isIdentifier' ) )? )
+ // InternalErDsl.g:241:3: ( (lv_name_0_0= RULE_ID ) ) ( (lv_type_1_0= ruleDataType ) ) ( (lv_isKey_2_0= 'isIdentifier' ) )?
{
- // InternalErDsl.g:240:3: ( (lv_name_0_0= RULE_ID ) )
- // InternalErDsl.g:241:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:241:3: ( (lv_name_0_0= RULE_ID ) )
+ // InternalErDsl.g:242:4: (lv_name_0_0= RULE_ID )
{
- // InternalErDsl.g:241:4: (lv_name_0_0= RULE_ID )
- // InternalErDsl.g:242:5: lv_name_0_0= RULE_ID
+ // InternalErDsl.g:242:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:243:5: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_10);
@@ -556,7 +566,38 @@ public final EObject ruleAttribute() throws RecognitionException {
}
- // InternalErDsl.g:258:3: ( (lv_isKey_1_0= 'isIdentifier' ) )?
+ // InternalErDsl.g:259:3: ( (lv_type_1_0= ruleDataType ) )
+ // InternalErDsl.g:260:4: (lv_type_1_0= ruleDataType )
+ {
+ // InternalErDsl.g:260:4: (lv_type_1_0= ruleDataType )
+ // InternalErDsl.g:261:5: lv_type_1_0= ruleDataType
+ {
+
+ newCompositeNode(grammarAccess.getAttributeAccess().getTypeDataTypeEnumRuleCall_1_0());
+
+ pushFollow(FOLLOW_11);
+ lv_type_1_0=ruleDataType();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ current,
+ "type",
+ lv_type_1_0,
+ "org.xtext.unipampa.erdsl.ErDsl.DataType");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // InternalErDsl.g:278:3: ( (lv_isKey_2_0= 'isIdentifier' ) )?
int alt3=2;
int LA3_0 = input.LA(1);
@@ -565,14 +606,14 @@ public final EObject ruleAttribute() throws RecognitionException {
}
switch (alt3) {
case 1 :
- // InternalErDsl.g:259:4: (lv_isKey_1_0= 'isIdentifier' )
+ // InternalErDsl.g:279:4: (lv_isKey_2_0= 'isIdentifier' )
{
- // InternalErDsl.g:259:4: (lv_isKey_1_0= 'isIdentifier' )
- // InternalErDsl.g:260:5: lv_isKey_1_0= 'isIdentifier'
+ // InternalErDsl.g:279:4: (lv_isKey_2_0= 'isIdentifier' )
+ // InternalErDsl.g:280:5: lv_isKey_2_0= 'isIdentifier'
{
- lv_isKey_1_0=(Token)match(input,17,FOLLOW_2);
+ lv_isKey_2_0=(Token)match(input,17,FOLLOW_2);
- newLeafNode(lv_isKey_1_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_1_0());
+ newLeafNode(lv_isKey_2_0, grammarAccess.getAttributeAccess().getIsKeyIsIdentifierKeyword_2_0());
if (current==null) {
@@ -612,7 +653,7 @@ public final EObject ruleAttribute() throws RecognitionException {
// $ANTLR start "entryRuleEntity"
- // InternalErDsl.g:276:1: entryRuleEntity returns [EObject current=null] : iv_ruleEntity= ruleEntity EOF ;
+ // InternalErDsl.g:296:1: entryRuleEntity returns [EObject current=null] : iv_ruleEntity= ruleEntity EOF ;
public final EObject entryRuleEntity() throws RecognitionException {
EObject current = null;
@@ -620,8 +661,8 @@ public final EObject entryRuleEntity() throws RecognitionException {
try {
- // InternalErDsl.g:276:47: (iv_ruleEntity= ruleEntity EOF )
- // InternalErDsl.g:277:2: iv_ruleEntity= ruleEntity EOF
+ // InternalErDsl.g:296:47: (iv_ruleEntity= ruleEntity EOF )
+ // InternalErDsl.g:297:2: iv_ruleEntity= ruleEntity EOF
{
newCompositeNode(grammarAccess.getEntityRule());
pushFollow(FOLLOW_1);
@@ -648,7 +689,7 @@ public final EObject entryRuleEntity() throws RecognitionException {
// $ANTLR start "ruleEntity"
- // InternalErDsl.g:283:1: ruleEntity returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? ) ;
+ // InternalErDsl.g:303:1: ruleEntity returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? ) ;
public final EObject ruleEntity() throws RecognitionException {
EObject current = null;
@@ -667,19 +708,19 @@ public final EObject ruleEntity() throws RecognitionException {
enterRule();
try {
- // InternalErDsl.g:289:2: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? ) )
- // InternalErDsl.g:290:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? )
+ // InternalErDsl.g:309:2: ( ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? ) )
+ // InternalErDsl.g:310:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? )
{
- // InternalErDsl.g:290:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? )
- // InternalErDsl.g:291:3: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )?
+ // InternalErDsl.g:310:2: ( ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )? )
+ // InternalErDsl.g:311:3: ( (lv_name_0_0= RULE_ID ) ) (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )?
{
- // InternalErDsl.g:291:3: ( (lv_name_0_0= RULE_ID ) )
- // InternalErDsl.g:292:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:311:3: ( (lv_name_0_0= RULE_ID ) )
+ // InternalErDsl.g:312:4: (lv_name_0_0= RULE_ID )
{
- // InternalErDsl.g:292:4: (lv_name_0_0= RULE_ID )
- // InternalErDsl.g:293:5: lv_name_0_0= RULE_ID
+ // InternalErDsl.g:312:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:313:5: lv_name_0_0= RULE_ID
{
- lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_11);
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_12);
newLeafNode(lv_name_0_0, grammarAccess.getEntityAccess().getNameIDTerminalRuleCall_0_0());
@@ -699,7 +740,7 @@ public final EObject ruleEntity() throws RecognitionException {
}
- // InternalErDsl.g:309:3: (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )*
+ // InternalErDsl.g:329:3: (otherlv_1= 'is' ( (otherlv_2= RULE_ID ) ) )*
loop4:
do {
int alt4=2;
@@ -712,24 +753,24 @@ public final EObject ruleEntity() throws RecognitionException {
switch (alt4) {
case 1 :
- // InternalErDsl.g:310:4: otherlv_1= 'is' ( (otherlv_2= RULE_ID ) )
+ // InternalErDsl.g:330:4: otherlv_1= 'is' ( (otherlv_2= RULE_ID ) )
{
otherlv_1=(Token)match(input,18,FOLLOW_6);
newLeafNode(otherlv_1, grammarAccess.getEntityAccess().getIsKeyword_1_0());
- // InternalErDsl.g:314:4: ( (otherlv_2= RULE_ID ) )
- // InternalErDsl.g:315:5: (otherlv_2= RULE_ID )
+ // InternalErDsl.g:334:4: ( (otherlv_2= RULE_ID ) )
+ // InternalErDsl.g:335:5: (otherlv_2= RULE_ID )
{
- // InternalErDsl.g:315:5: (otherlv_2= RULE_ID )
- // InternalErDsl.g:316:6: otherlv_2= RULE_ID
+ // InternalErDsl.g:335:5: (otherlv_2= RULE_ID )
+ // InternalErDsl.g:336:6: otherlv_2= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getEntityRule());
}
- otherlv_2=(Token)match(input,RULE_ID,FOLLOW_11);
+ otherlv_2=(Token)match(input,RULE_ID,FOLLOW_12);
newLeafNode(otherlv_2, grammarAccess.getEntityAccess().getIsEntityCrossReference_1_1_0());
@@ -748,7 +789,7 @@ public final EObject ruleEntity() throws RecognitionException {
}
} while (true);
- // InternalErDsl.g:328:3: (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )?
+ // InternalErDsl.g:348:3: (otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}' )?
int alt6=2;
int LA6_0 = input.LA(1);
@@ -757,22 +798,22 @@ public final EObject ruleEntity() throws RecognitionException {
}
switch (alt6) {
case 1 :
- // InternalErDsl.g:329:4: otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}'
+ // InternalErDsl.g:349:4: otherlv_3= '{' ( (lv_attributes_4_0= ruleAttribute ) ) (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )* otherlv_7= '}'
{
otherlv_3=(Token)match(input,13,FOLLOW_6);
newLeafNode(otherlv_3, grammarAccess.getEntityAccess().getLeftCurlyBracketKeyword_2_0());
- // InternalErDsl.g:333:4: ( (lv_attributes_4_0= ruleAttribute ) )
- // InternalErDsl.g:334:5: (lv_attributes_4_0= ruleAttribute )
+ // InternalErDsl.g:353:4: ( (lv_attributes_4_0= ruleAttribute ) )
+ // InternalErDsl.g:354:5: (lv_attributes_4_0= ruleAttribute )
{
- // InternalErDsl.g:334:5: (lv_attributes_4_0= ruleAttribute )
- // InternalErDsl.g:335:6: lv_attributes_4_0= ruleAttribute
+ // InternalErDsl.g:354:5: (lv_attributes_4_0= ruleAttribute )
+ // InternalErDsl.g:355:6: lv_attributes_4_0= ruleAttribute
{
newCompositeNode(grammarAccess.getEntityAccess().getAttributesAttributeParserRuleCall_2_1_0());
- pushFollow(FOLLOW_12);
+ pushFollow(FOLLOW_13);
lv_attributes_4_0=ruleAttribute();
state._fsp--;
@@ -794,7 +835,7 @@ public final EObject ruleEntity() throws RecognitionException {
}
- // InternalErDsl.g:352:4: (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )*
+ // InternalErDsl.g:372:4: (otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) ) )*
loop5:
do {
int alt5=2;
@@ -807,22 +848,22 @@ public final EObject ruleEntity() throws RecognitionException {
switch (alt5) {
case 1 :
- // InternalErDsl.g:353:5: otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) )
+ // InternalErDsl.g:373:5: otherlv_5= ',' ( (lv_attributes_6_0= ruleAttribute ) )
{
otherlv_5=(Token)match(input,19,FOLLOW_6);
newLeafNode(otherlv_5, grammarAccess.getEntityAccess().getCommaKeyword_2_2_0());
- // InternalErDsl.g:357:5: ( (lv_attributes_6_0= ruleAttribute ) )
- // InternalErDsl.g:358:6: (lv_attributes_6_0= ruleAttribute )
+ // InternalErDsl.g:377:5: ( (lv_attributes_6_0= ruleAttribute ) )
+ // InternalErDsl.g:378:6: (lv_attributes_6_0= ruleAttribute )
{
- // InternalErDsl.g:358:6: (lv_attributes_6_0= ruleAttribute )
- // InternalErDsl.g:359:7: lv_attributes_6_0= ruleAttribute
+ // InternalErDsl.g:378:6: (lv_attributes_6_0= ruleAttribute )
+ // InternalErDsl.g:379:7: lv_attributes_6_0= ruleAttribute
{
newCompositeNode(grammarAccess.getEntityAccess().getAttributesAttributeParserRuleCall_2_2_1_0());
- pushFollow(FOLLOW_12);
+ pushFollow(FOLLOW_13);
lv_attributes_6_0=ruleAttribute();
state._fsp--;
@@ -886,7 +927,7 @@ public final EObject ruleEntity() throws RecognitionException {
// $ANTLR start "entryRuleRelation"
- // InternalErDsl.g:386:1: entryRuleRelation returns [EObject current=null] : iv_ruleRelation= ruleRelation EOF ;
+ // InternalErDsl.g:406:1: entryRuleRelation returns [EObject current=null] : iv_ruleRelation= ruleRelation EOF ;
public final EObject entryRuleRelation() throws RecognitionException {
EObject current = null;
@@ -894,8 +935,8 @@ public final EObject entryRuleRelation() throws RecognitionException {
try {
- // InternalErDsl.g:386:49: (iv_ruleRelation= ruleRelation EOF )
- // InternalErDsl.g:387:2: iv_ruleRelation= ruleRelation EOF
+ // InternalErDsl.g:406:49: (iv_ruleRelation= ruleRelation EOF )
+ // InternalErDsl.g:407:2: iv_ruleRelation= ruleRelation EOF
{
newCompositeNode(grammarAccess.getRelationRule());
pushFollow(FOLLOW_1);
@@ -922,7 +963,7 @@ public final EObject entryRuleRelation() throws RecognitionException {
// $ANTLR start "ruleRelation"
- // InternalErDsl.g:393:1: ruleRelation returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* ) ;
+ // InternalErDsl.g:413:1: ruleRelation returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* ) ;
public final EObject ruleRelation() throws RecognitionException {
EObject current = null;
@@ -946,13 +987,13 @@ public final EObject ruleRelation() throws RecognitionException {
enterRule();
try {
- // InternalErDsl.g:399:2: ( ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* ) )
- // InternalErDsl.g:400:2: ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* )
+ // InternalErDsl.g:419:2: ( ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* ) )
+ // InternalErDsl.g:420:2: ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* )
{
- // InternalErDsl.g:400:2: ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* )
- // InternalErDsl.g:401:3: ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )*
+ // InternalErDsl.g:420:2: ( ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )* )
+ // InternalErDsl.g:421:3: ( (lv_name_0_0= RULE_ID ) )? (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' ) (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )*
{
- // InternalErDsl.g:401:3: ( (lv_name_0_0= RULE_ID ) )?
+ // InternalErDsl.g:421:3: ( (lv_name_0_0= RULE_ID ) )?
int alt7=2;
int LA7_0 = input.LA(1);
@@ -961,12 +1002,12 @@ public final EObject ruleRelation() throws RecognitionException {
}
switch (alt7) {
case 1 :
- // InternalErDsl.g:402:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:422:4: (lv_name_0_0= RULE_ID )
{
- // InternalErDsl.g:402:4: (lv_name_0_0= RULE_ID )
- // InternalErDsl.g:403:5: lv_name_0_0= RULE_ID
+ // InternalErDsl.g:422:4: (lv_name_0_0= RULE_ID )
+ // InternalErDsl.g:423:5: lv_name_0_0= RULE_ID
{
- lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_13);
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_14);
newLeafNode(lv_name_0_0, grammarAccess.getRelationAccess().getNameIDTerminalRuleCall_0_0());
@@ -989,23 +1030,23 @@ public final EObject ruleRelation() throws RecognitionException {
}
- // InternalErDsl.g:419:3: (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' )
- // InternalErDsl.g:420:4: otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']'
+ // InternalErDsl.g:439:3: (otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']' )
+ // InternalErDsl.g:440:4: otherlv_1= '[' ( (lv_leftEnding_2_0= ruleRelationSide ) ) otherlv_3= 'relates' ( (lv_rightEnding_4_0= ruleRelationSide ) ) otherlv_5= ']'
{
- otherlv_1=(Token)match(input,20,FOLLOW_14);
+ otherlv_1=(Token)match(input,20,FOLLOW_15);
newLeafNode(otherlv_1, grammarAccess.getRelationAccess().getLeftSquareBracketKeyword_1_0());
- // InternalErDsl.g:424:4: ( (lv_leftEnding_2_0= ruleRelationSide ) )
- // InternalErDsl.g:425:5: (lv_leftEnding_2_0= ruleRelationSide )
+ // InternalErDsl.g:444:4: ( (lv_leftEnding_2_0= ruleRelationSide ) )
+ // InternalErDsl.g:445:5: (lv_leftEnding_2_0= ruleRelationSide )
{
- // InternalErDsl.g:425:5: (lv_leftEnding_2_0= ruleRelationSide )
- // InternalErDsl.g:426:6: lv_leftEnding_2_0= ruleRelationSide
+ // InternalErDsl.g:445:5: (lv_leftEnding_2_0= ruleRelationSide )
+ // InternalErDsl.g:446:6: lv_leftEnding_2_0= ruleRelationSide
{
newCompositeNode(grammarAccess.getRelationAccess().getLeftEndingRelationSideParserRuleCall_1_1_0());
- pushFollow(FOLLOW_15);
+ pushFollow(FOLLOW_16);
lv_leftEnding_2_0=ruleRelationSide();
state._fsp--;
@@ -1027,20 +1068,20 @@ public final EObject ruleRelation() throws RecognitionException {
}
- otherlv_3=(Token)match(input,21,FOLLOW_14);
+ otherlv_3=(Token)match(input,21,FOLLOW_15);
newLeafNode(otherlv_3, grammarAccess.getRelationAccess().getRelatesKeyword_1_2());
- // InternalErDsl.g:447:4: ( (lv_rightEnding_4_0= ruleRelationSide ) )
- // InternalErDsl.g:448:5: (lv_rightEnding_4_0= ruleRelationSide )
+ // InternalErDsl.g:467:4: ( (lv_rightEnding_4_0= ruleRelationSide ) )
+ // InternalErDsl.g:468:5: (lv_rightEnding_4_0= ruleRelationSide )
{
- // InternalErDsl.g:448:5: (lv_rightEnding_4_0= ruleRelationSide )
- // InternalErDsl.g:449:6: lv_rightEnding_4_0= ruleRelationSide
+ // InternalErDsl.g:468:5: (lv_rightEnding_4_0= ruleRelationSide )
+ // InternalErDsl.g:469:6: lv_rightEnding_4_0= ruleRelationSide
{
newCompositeNode(grammarAccess.getRelationAccess().getRightEndingRelationSideParserRuleCall_1_3_0());
- pushFollow(FOLLOW_16);
+ pushFollow(FOLLOW_17);
lv_rightEnding_4_0=ruleRelationSide();
state._fsp--;
@@ -1062,14 +1103,14 @@ public final EObject ruleRelation() throws RecognitionException {
}
- otherlv_5=(Token)match(input,22,FOLLOW_17);
+ otherlv_5=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_5, grammarAccess.getRelationAccess().getRightSquareBracketKeyword_1_4());
}
- // InternalErDsl.g:471:3: (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )*
+ // InternalErDsl.g:491:3: (otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}' )*
loop9:
do {
int alt9=2;
@@ -1082,22 +1123,22 @@ public final EObject ruleRelation() throws RecognitionException {
switch (alt9) {
case 1 :
- // InternalErDsl.g:472:4: otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}'
+ // InternalErDsl.g:492:4: otherlv_6= '{' ( (lv_attributes_7_0= ruleAttribute ) ) (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )* otherlv_10= '}'
{
otherlv_6=(Token)match(input,13,FOLLOW_6);
newLeafNode(otherlv_6, grammarAccess.getRelationAccess().getLeftCurlyBracketKeyword_2_0());
- // InternalErDsl.g:476:4: ( (lv_attributes_7_0= ruleAttribute ) )
- // InternalErDsl.g:477:5: (lv_attributes_7_0= ruleAttribute )
+ // InternalErDsl.g:496:4: ( (lv_attributes_7_0= ruleAttribute ) )
+ // InternalErDsl.g:497:5: (lv_attributes_7_0= ruleAttribute )
{
- // InternalErDsl.g:477:5: (lv_attributes_7_0= ruleAttribute )
- // InternalErDsl.g:478:6: lv_attributes_7_0= ruleAttribute
+ // InternalErDsl.g:497:5: (lv_attributes_7_0= ruleAttribute )
+ // InternalErDsl.g:498:6: lv_attributes_7_0= ruleAttribute
{
newCompositeNode(grammarAccess.getRelationAccess().getAttributesAttributeParserRuleCall_2_1_0());
- pushFollow(FOLLOW_12);
+ pushFollow(FOLLOW_13);
lv_attributes_7_0=ruleAttribute();
state._fsp--;
@@ -1119,7 +1160,7 @@ public final EObject ruleRelation() throws RecognitionException {
}
- // InternalErDsl.g:495:4: (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )*
+ // InternalErDsl.g:515:4: (otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) ) )*
loop8:
do {
int alt8=2;
@@ -1132,22 +1173,22 @@ public final EObject ruleRelation() throws RecognitionException {
switch (alt8) {
case 1 :
- // InternalErDsl.g:496:5: otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) )
+ // InternalErDsl.g:516:5: otherlv_8= ',' ( (lv_attributes_9_0= ruleAttribute ) )
{
otherlv_8=(Token)match(input,19,FOLLOW_6);
newLeafNode(otherlv_8, grammarAccess.getRelationAccess().getCommaKeyword_2_2_0());
- // InternalErDsl.g:500:5: ( (lv_attributes_9_0= ruleAttribute ) )
- // InternalErDsl.g:501:6: (lv_attributes_9_0= ruleAttribute )
+ // InternalErDsl.g:520:5: ( (lv_attributes_9_0= ruleAttribute ) )
+ // InternalErDsl.g:521:6: (lv_attributes_9_0= ruleAttribute )
{
- // InternalErDsl.g:501:6: (lv_attributes_9_0= ruleAttribute )
- // InternalErDsl.g:502:7: lv_attributes_9_0= ruleAttribute
+ // InternalErDsl.g:521:6: (lv_attributes_9_0= ruleAttribute )
+ // InternalErDsl.g:522:7: lv_attributes_9_0= ruleAttribute
{
newCompositeNode(grammarAccess.getRelationAccess().getAttributesAttributeParserRuleCall_2_2_1_0());
- pushFollow(FOLLOW_12);
+ pushFollow(FOLLOW_13);
lv_attributes_9_0=ruleAttribute();
state._fsp--;
@@ -1178,7 +1219,7 @@ public final EObject ruleRelation() throws RecognitionException {
}
} while (true);
- otherlv_10=(Token)match(input,14,FOLLOW_17);
+ otherlv_10=(Token)match(input,14,FOLLOW_18);
newLeafNode(otherlv_10, grammarAccess.getRelationAccess().getRightCurlyBracketKeyword_2_3());
@@ -1214,7 +1255,7 @@ public final EObject ruleRelation() throws RecognitionException {
// $ANTLR start "entryRuleRelationSide"
- // InternalErDsl.g:529:1: entryRuleRelationSide returns [EObject current=null] : iv_ruleRelationSide= ruleRelationSide EOF ;
+ // InternalErDsl.g:549:1: entryRuleRelationSide returns [EObject current=null] : iv_ruleRelationSide= ruleRelationSide EOF ;
public final EObject entryRuleRelationSide() throws RecognitionException {
EObject current = null;
@@ -1222,8 +1263,8 @@ public final EObject entryRuleRelationSide() throws RecognitionException {
try {
- // InternalErDsl.g:529:53: (iv_ruleRelationSide= ruleRelationSide EOF )
- // InternalErDsl.g:530:2: iv_ruleRelationSide= ruleRelationSide EOF
+ // InternalErDsl.g:549:53: (iv_ruleRelationSide= ruleRelationSide EOF )
+ // InternalErDsl.g:550:2: iv_ruleRelationSide= ruleRelationSide EOF
{
newCompositeNode(grammarAccess.getRelationSideRule());
pushFollow(FOLLOW_1);
@@ -1250,14 +1291,14 @@ public final EObject entryRuleRelationSide() throws RecognitionException {
// $ANTLR start "ruleRelationSide"
- // InternalErDsl.g:536:1: ruleRelationSide returns [EObject current=null] : ( ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) ) ;
+ // InternalErDsl.g:556:1: ruleRelationSide returns [EObject current=null] : ( ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) ) ;
public final EObject ruleRelationSide() throws RecognitionException {
EObject current = null;
- Token lv_Cardinality_0_1=null;
- Token lv_Cardinality_0_2=null;
- Token lv_Cardinality_0_3=null;
- Token lv_Cardinality_0_4=null;
+ Token lv_cardinality_0_1=null;
+ Token lv_cardinality_0_2=null;
+ Token lv_cardinality_0_3=null;
+ Token lv_cardinality_0_4=null;
Token otherlv_1=null;
Token otherlv_2=null;
@@ -1265,10 +1306,10 @@ public final EObject ruleRelationSide() throws RecognitionException {
enterRule();
try {
- // InternalErDsl.g:542:2: ( ( ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) ) )
- // InternalErDsl.g:543:2: ( ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) )
+ // InternalErDsl.g:562:2: ( ( ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) ) )
+ // InternalErDsl.g:563:2: ( ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) )
{
- // InternalErDsl.g:543:2: ( ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) )
+ // InternalErDsl.g:563:2: ( ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) ) | ( (otherlv_2= RULE_ID ) ) )
int alt11=2;
int LA11_0 = input.LA(1);
@@ -1286,18 +1327,18 @@ else if ( (LA11_0==RULE_ID) ) {
}
switch (alt11) {
case 1 :
- // InternalErDsl.g:544:3: ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) )
+ // InternalErDsl.g:564:3: ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) )
{
- // InternalErDsl.g:544:3: ( ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) )
- // InternalErDsl.g:545:4: ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) )
+ // InternalErDsl.g:564:3: ( ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) ) )
+ // InternalErDsl.g:565:4: ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) ) ( (otherlv_1= RULE_ID ) )
{
- // InternalErDsl.g:545:4: ( ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) ) )
- // InternalErDsl.g:546:5: ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) )
+ // InternalErDsl.g:565:4: ( ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) ) )
+ // InternalErDsl.g:566:5: ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) )
{
- // InternalErDsl.g:546:5: ( (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' ) )
- // InternalErDsl.g:547:6: (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' )
+ // InternalErDsl.g:566:5: ( (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' ) )
+ // InternalErDsl.g:567:6: (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' )
{
- // InternalErDsl.g:547:6: (lv_Cardinality_0_1= '(0:1)' | lv_Cardinality_0_2= '(1:1)' | lv_Cardinality_0_3= '(0:N)' | lv_Cardinality_0_4= '(1:N)' )
+ // InternalErDsl.g:567:6: (lv_cardinality_0_1= '(0:1)' | lv_cardinality_0_2= '(1:1)' | lv_cardinality_0_3= '(0:N)' | lv_cardinality_0_4= '(1:N)' )
int alt10=4;
switch ( input.LA(1) ) {
case 23:
@@ -1329,65 +1370,65 @@ else if ( (LA11_0==RULE_ID) ) {
switch (alt10) {
case 1 :
- // InternalErDsl.g:548:7: lv_Cardinality_0_1= '(0:1)'
+ // InternalErDsl.g:568:7: lv_cardinality_0_1= '(0:1)'
{
- lv_Cardinality_0_1=(Token)match(input,23,FOLLOW_6);
+ lv_cardinality_0_1=(Token)match(input,23,FOLLOW_6);
- newLeafNode(lv_Cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
+ newLeafNode(lv_cardinality_0_1, grammarAccess.getRelationSideAccess().getCardinality01Keyword_0_0_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed(current, "Cardinality", lv_Cardinality_0_1, null);
+ setWithLastConsumed(current, "cardinality", lv_cardinality_0_1, null);
}
break;
case 2 :
- // InternalErDsl.g:559:7: lv_Cardinality_0_2= '(1:1)'
+ // InternalErDsl.g:579:7: lv_cardinality_0_2= '(1:1)'
{
- lv_Cardinality_0_2=(Token)match(input,24,FOLLOW_6);
+ lv_cardinality_0_2=(Token)match(input,24,FOLLOW_6);
- newLeafNode(lv_Cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
+ newLeafNode(lv_cardinality_0_2, grammarAccess.getRelationSideAccess().getCardinality11Keyword_0_0_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed(current, "Cardinality", lv_Cardinality_0_2, null);
+ setWithLastConsumed(current, "cardinality", lv_cardinality_0_2, null);
}
break;
case 3 :
- // InternalErDsl.g:570:7: lv_Cardinality_0_3= '(0:N)'
+ // InternalErDsl.g:590:7: lv_cardinality_0_3= '(0:N)'
{
- lv_Cardinality_0_3=(Token)match(input,25,FOLLOW_6);
+ lv_cardinality_0_3=(Token)match(input,25,FOLLOW_6);
- newLeafNode(lv_Cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
+ newLeafNode(lv_cardinality_0_3, grammarAccess.getRelationSideAccess().getCardinality0NKeyword_0_0_0_2());
if (current==null) {
current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed(current, "Cardinality", lv_Cardinality_0_3, null);
+ setWithLastConsumed(current, "cardinality", lv_cardinality_0_3, null);
}
break;
case 4 :
- // InternalErDsl.g:581:7: lv_Cardinality_0_4= '(1:N)'
+ // InternalErDsl.g:601:7: lv_cardinality_0_4= '(1:N)'
{
- lv_Cardinality_0_4=(Token)match(input,26,FOLLOW_6);
+ lv_cardinality_0_4=(Token)match(input,26,FOLLOW_6);
- newLeafNode(lv_Cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
+ newLeafNode(lv_cardinality_0_4, grammarAccess.getRelationSideAccess().getCardinality1NKeyword_0_0_0_3());
if (current==null) {
current = createModelElement(grammarAccess.getRelationSideRule());
}
- setWithLastConsumed(current, "Cardinality", lv_Cardinality_0_4, null);
+ setWithLastConsumed(current, "cardinality", lv_cardinality_0_4, null);
}
@@ -1401,11 +1442,11 @@ else if ( (LA11_0==RULE_ID) ) {
}
- // InternalErDsl.g:594:4: ( (otherlv_1= RULE_ID ) )
- // InternalErDsl.g:595:5: (otherlv_1= RULE_ID )
+ // InternalErDsl.g:614:4: ( (otherlv_1= RULE_ID ) )
+ // InternalErDsl.g:615:5: (otherlv_1= RULE_ID )
{
- // InternalErDsl.g:595:5: (otherlv_1= RULE_ID )
- // InternalErDsl.g:596:6: otherlv_1= RULE_ID
+ // InternalErDsl.g:615:5: (otherlv_1= RULE_ID )
+ // InternalErDsl.g:616:6: otherlv_1= RULE_ID
{
if (current==null) {
@@ -1429,13 +1470,13 @@ else if ( (LA11_0==RULE_ID) ) {
}
break;
case 2 :
- // InternalErDsl.g:609:3: ( (otherlv_2= RULE_ID ) )
+ // InternalErDsl.g:629:3: ( (otherlv_2= RULE_ID ) )
{
- // InternalErDsl.g:609:3: ( (otherlv_2= RULE_ID ) )
- // InternalErDsl.g:610:4: (otherlv_2= RULE_ID )
+ // InternalErDsl.g:629:3: ( (otherlv_2= RULE_ID ) )
+ // InternalErDsl.g:630:4: (otherlv_2= RULE_ID )
{
- // InternalErDsl.g:610:4: (otherlv_2= RULE_ID )
- // InternalErDsl.g:611:5: otherlv_2= RULE_ID
+ // InternalErDsl.g:630:4: (otherlv_2= RULE_ID )
+ // InternalErDsl.g:631:5: otherlv_2= RULE_ID
{
if (current==null) {
@@ -1476,6 +1517,213 @@ else if ( (LA11_0==RULE_ID) ) {
}
// $ANTLR end "ruleRelationSide"
+
+ // $ANTLR start "ruleDataType"
+ // InternalErDsl.g:646:1: ruleDataType returns [Enumerator current=null] : ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'double' ) | (enumLiteral_2= 'money' ) | (enumLiteral_3= 'string' ) | (enumLiteral_4= 'boolean' ) | (enumLiteral_5= 'datetime' ) | (enumLiteral_6= 'file' ) ) ;
+ public final Enumerator ruleDataType() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+ Token enumLiteral_3=null;
+ Token enumLiteral_4=null;
+ Token enumLiteral_5=null;
+ Token enumLiteral_6=null;
+
+
+ enterRule();
+
+ try {
+ // InternalErDsl.g:652:2: ( ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'double' ) | (enumLiteral_2= 'money' ) | (enumLiteral_3= 'string' ) | (enumLiteral_4= 'boolean' ) | (enumLiteral_5= 'datetime' ) | (enumLiteral_6= 'file' ) ) )
+ // InternalErDsl.g:653:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'double' ) | (enumLiteral_2= 'money' ) | (enumLiteral_3= 'string' ) | (enumLiteral_4= 'boolean' ) | (enumLiteral_5= 'datetime' ) | (enumLiteral_6= 'file' ) )
+ {
+ // InternalErDsl.g:653:2: ( (enumLiteral_0= 'int' ) | (enumLiteral_1= 'double' ) | (enumLiteral_2= 'money' ) | (enumLiteral_3= 'string' ) | (enumLiteral_4= 'boolean' ) | (enumLiteral_5= 'datetime' ) | (enumLiteral_6= 'file' ) )
+ int alt12=7;
+ switch ( input.LA(1) ) {
+ case 27:
+ {
+ alt12=1;
+ }
+ break;
+ case 28:
+ {
+ alt12=2;
+ }
+ break;
+ case 29:
+ {
+ alt12=3;
+ }
+ break;
+ case 30:
+ {
+ alt12=4;
+ }
+ break;
+ case 31:
+ {
+ alt12=5;
+ }
+ break;
+ case 32:
+ {
+ alt12=6;
+ }
+ break;
+ case 33:
+ {
+ alt12=7;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 12, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt12) {
+ case 1 :
+ // InternalErDsl.g:654:3: (enumLiteral_0= 'int' )
+ {
+ // InternalErDsl.g:654:3: (enumLiteral_0= 'int' )
+ // InternalErDsl.g:655:4: enumLiteral_0= 'int'
+ {
+ enumLiteral_0=(Token)match(input,27,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getDataTypeAccess().getINTEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // InternalErDsl.g:662:3: (enumLiteral_1= 'double' )
+ {
+ // InternalErDsl.g:662:3: (enumLiteral_1= 'double' )
+ // InternalErDsl.g:663:4: enumLiteral_1= 'double'
+ {
+ enumLiteral_1=(Token)match(input,28,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getDataTypeAccess().getDOUBLEEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // InternalErDsl.g:670:3: (enumLiteral_2= 'money' )
+ {
+ // InternalErDsl.g:670:3: (enumLiteral_2= 'money' )
+ // InternalErDsl.g:671:4: enumLiteral_2= 'money'
+ {
+ enumLiteral_2=(Token)match(input,29,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getDataTypeAccess().getMONEYEnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // InternalErDsl.g:678:3: (enumLiteral_3= 'string' )
+ {
+ // InternalErDsl.g:678:3: (enumLiteral_3= 'string' )
+ // InternalErDsl.g:679:4: enumLiteral_3= 'string'
+ {
+ enumLiteral_3=(Token)match(input,30,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getDataTypeAccess().getSTRINGEnumLiteralDeclaration_3());
+
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // InternalErDsl.g:686:3: (enumLiteral_4= 'boolean' )
+ {
+ // InternalErDsl.g:686:3: (enumLiteral_4= 'boolean' )
+ // InternalErDsl.g:687:4: enumLiteral_4= 'boolean'
+ {
+ enumLiteral_4=(Token)match(input,31,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getDataTypeAccess().getBOOLEANEnumLiteralDeclaration_4());
+
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // InternalErDsl.g:694:3: (enumLiteral_5= 'datetime' )
+ {
+ // InternalErDsl.g:694:3: (enumLiteral_5= 'datetime' )
+ // InternalErDsl.g:695:4: enumLiteral_5= 'datetime'
+ {
+ enumLiteral_5=(Token)match(input,32,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getDataTypeAccess().getDATETIMEEnumLiteralDeclaration_5());
+
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // InternalErDsl.g:702:3: (enumLiteral_6= 'file' )
+ {
+ // InternalErDsl.g:702:3: (enumLiteral_6= 'file' )
+ // InternalErDsl.g:703:4: enumLiteral_6= 'file'
+ {
+ enumLiteral_6=(Token)match(input,33,FOLLOW_2);
+
+ current = grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getDataTypeAccess().getBLOBEnumLiteralDeclaration_6());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ leaveRule();
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDataType"
+
// Delegated rules
@@ -1490,13 +1738,14 @@ else if ( (LA11_0==RULE_ID) ) {
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000004010L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000104010L});
- public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000020002L});
- public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000042002L});
- public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000084000L});
- public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000100000L});
- public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000007800010L});
- public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000200000L});
- public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000002002L});
+ public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x00000003F8000000L});
+ public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000020002L});
+ public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000042002L});
+ public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000084000L});
+ public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000007800010L});
+ public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000002002L});
}
\ No newline at end of file
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/scoping/AbstractErDslScopeProvider.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/scoping/AbstractErDslScopeProvider.java
index 6a24054..26a3512 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/scoping/AbstractErDslScopeProvider.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/scoping/AbstractErDslScopeProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.scoping;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSemanticSequencer.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSemanticSequencer.java
index 04a7a33..ed34e77 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSemanticSequencer.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSemanticSequencer.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.serializer;
@@ -65,7 +65,7 @@ public void sequence(ISerializationContext context, EObject semanticObject) {
* Attribute returns Attribute
*
* Constraint:
- * (name=ID isKey?='isIdentifier'?)
+ * (name=ID type=DataType isKey?='isIdentifier'?)
*/
protected void sequence_Attribute(ISerializationContext context, Attribute semanticObject) {
genericSequencer.createSequence(context, semanticObject);
@@ -107,7 +107,7 @@ protected void sequence_ERModel(ISerializationContext context, ERModel semanticO
* Entity returns Entity
*
* Constraint:
- * (name=ID is+=[Entity|ID]* (attributes+=Attribute attributes+=Attribute*)?)
+ * (name=ID is=[Entity|ID]* (attributes+=Attribute attributes+=Attribute*)?)
*/
protected void sequence_Entity(ISerializationContext context, Entity semanticObject) {
genericSequencer.createSequence(context, semanticObject);
@@ -119,7 +119,7 @@ protected void sequence_Entity(ISerializationContext context, Entity semanticObj
* RelationSide returns RelationSide
*
* Constraint:
- * (((Cardinality='(0:1)' | Cardinality='(1:1)' | Cardinality='(0:N)' | Cardinality='(1:N)') target=[Entity|ID]) | target=[Relation|ID])
+ * (((cardinality='(0:1)' | cardinality='(1:1)' | cardinality='(0:N)' | cardinality='(1:N)') target=[Entity|ID]) | target=[Relation|ID])
*/
protected void sequence_RelationSide(ISerializationContext context, RelationSide semanticObject) {
genericSequencer.createSequence(context, semanticObject);
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSyntacticSequencer.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSyntacticSequencer.java
index 646d059..7390ae9 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSyntacticSequencer.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/serializer/ErDslSyntacticSequencer.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.serializer;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.java
index b5cbdf4..abf6ba9 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/services/ErDslGrammarAccess.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.services;
@@ -9,6 +9,8 @@
import org.eclipse.xtext.Alternatives;
import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.CrossReference;
+import org.eclipse.xtext.EnumLiteralDeclaration;
+import org.eclipse.xtext.EnumRule;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.GrammarUtil;
import org.eclipse.xtext.Group;
@@ -17,6 +19,7 @@
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.TerminalRule;
import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+import org.eclipse.xtext.service.AbstractElementFinder.AbstractEnumRuleElementFinder;
import org.eclipse.xtext.service.AbstractElementFinder.AbstractGrammarElementFinder;
import org.eclipse.xtext.service.GrammarProvider;
@@ -62,7 +65,7 @@ public class ERModelElements extends AbstractParserRuleElementFinder {
//';'
public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
- //'Entities' '{'
+ //('Entities' '{')
public Group getGroup_2() { return cGroup_2; }
//'Entities'
@@ -77,7 +80,7 @@ public class ERModelElements extends AbstractParserRuleElementFinder {
//Entity
public RuleCall getEntitiesEntityParserRuleCall_3_0() { return cEntitiesEntityParserRuleCall_3_0; }
- //'}' ';'
+ //('}' ';')
public Group getGroup_4() { return cGroup_4; }
//'}'
@@ -86,7 +89,7 @@ public class ERModelElements extends AbstractParserRuleElementFinder {
//';'
public Keyword getSemicolonKeyword_4_1() { return cSemicolonKeyword_4_1; }
- //'Relationships' '{'
+ //('Relationships' '{')
public Group getGroup_5() { return cGroup_5; }
//'Relationships'
@@ -101,7 +104,7 @@ public class ERModelElements extends AbstractParserRuleElementFinder {
//Relation
public RuleCall getRelationsRelationParserRuleCall_6_0() { return cRelationsRelationParserRuleCall_6_0; }
- //'}' ';'
+ //('}' ';')
public Group getGroup_7() { return cGroup_7; }
//'}'
@@ -138,14 +141,16 @@ public class AttributeElements extends AbstractParserRuleElementFinder {
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
- private final Assignment cIsKeyAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final Keyword cIsKeyIsIdentifierKeyword_1_0 = (Keyword)cIsKeyAssignment_1.eContents().get(0);
+ private final Assignment cTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cTypeDataTypeEnumRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
+ private final Assignment cIsKeyAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final Keyword cIsKeyIsIdentifierKeyword_2_0 = (Keyword)cIsKeyAssignment_2.eContents().get(0);
//Attribute:
- // name=ID isKey?='isIdentifier'?;
+ // name=ID type=DataType isKey?='isIdentifier'?;
@Override public ParserRule getRule() { return rule; }
- //name=ID isKey?='isIdentifier'?
+ //name=ID type=DataType isKey?='isIdentifier'?
public Group getGroup() { return cGroup; }
//name=ID
@@ -154,11 +159,17 @@ public class AttributeElements extends AbstractParserRuleElementFinder {
//ID
public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+ //type=DataType
+ public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
+
+ //DataType
+ public RuleCall getTypeDataTypeEnumRuleCall_1_0() { return cTypeDataTypeEnumRuleCall_1_0; }
+
//isKey?='isIdentifier'?
- public Assignment getIsKeyAssignment_1() { return cIsKeyAssignment_1; }
+ public Assignment getIsKeyAssignment_2() { return cIsKeyAssignment_2; }
//'isIdentifier'
- public Keyword getIsKeyIsIdentifierKeyword_1_0() { return cIsKeyIsIdentifierKeyword_1_0; }
+ public Keyword getIsKeyIsIdentifierKeyword_2_0() { return cIsKeyIsIdentifierKeyword_2_0; }
}
public class EntityElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "org.xtext.unipampa.erdsl.ErDsl.Entity");
@@ -181,10 +192,10 @@ public class EntityElements extends AbstractParserRuleElementFinder {
private final Keyword cRightCurlyBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
//Entity:
- // name=ID ('is' is+=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
+ // name=ID ('is' is=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
@Override public ParserRule getRule() { return rule; }
- //name=ID ('is' is+=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?
+ //name=ID ('is' is=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?
public Group getGroup() { return cGroup; }
//name=ID
@@ -193,13 +204,13 @@ public class EntityElements extends AbstractParserRuleElementFinder {
//ID
public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
- //('is' is+=[Entity])*
+ //('is' is=[Entity])*
public Group getGroup_1() { return cGroup_1; }
//'is'
public Keyword getIsKeyword_1_0() { return cIsKeyword_1_0; }
- //is+=[Entity]
+ //is=[Entity]
public Assignment getIsAssignment_1_1() { return cIsAssignment_1_1; }
//[Entity]
@@ -259,8 +270,9 @@ public class RelationElements extends AbstractParserRuleElementFinder {
private final Keyword cRightCurlyBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3);
//Relation:
- // name=ID? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
- // attributes+=Attribute (',' attributes+=Attribute)* '}')*;
+ // name=ID? ('[' leftEnding=RelationSide
+ // 'relates'
+ // rightEnding=RelationSide ']') ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')*;
@Override public ParserRule getRule() { return rule; }
//name=ID? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{' attributes+=Attribute (','
@@ -273,7 +285,7 @@ public class RelationElements extends AbstractParserRuleElementFinder {
//ID
public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
- //'[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']'
+ //('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']')
public Group getGroup_1() { return cGroup_1; }
//'['
@@ -342,16 +354,16 @@ public class RelationSideElements extends AbstractParserRuleElementFinder {
private final RuleCall cTargetRelationIDTerminalRuleCall_1_0_1 = (RuleCall)cTargetRelationCrossReference_1_0.eContents().get(1);
//RelationSide:
- // Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
+ // cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
@Override public ParserRule getRule() { return rule; }
- //Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation]
+ //cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation]
public Alternatives getAlternatives() { return cAlternatives; }
- //Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity]
+ //cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity]
public Group getGroup_0() { return cGroup_0; }
- //Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)')
+ //cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)')
public Assignment getCardinalityAssignment_0_0() { return cCardinalityAssignment_0_0; }
//('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)')
@@ -388,6 +400,76 @@ public class RelationSideElements extends AbstractParserRuleElementFinder {
public RuleCall getTargetRelationIDTerminalRuleCall_1_0_1() { return cTargetRelationIDTerminalRuleCall_1_0_1; }
}
+ public class DataTypeElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "org.xtext.unipampa.erdsl.ErDsl.DataType");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cINTIntKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cDOUBLEEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cDOUBLEDoubleKeyword_1_0 = (Keyword)cDOUBLEEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cMONEYEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cMONEYMoneyKeyword_2_0 = (Keyword)cMONEYEnumLiteralDeclaration_2.eContents().get(0);
+ private final EnumLiteralDeclaration cSTRINGEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+ private final Keyword cSTRINGStringKeyword_3_0 = (Keyword)cSTRINGEnumLiteralDeclaration_3.eContents().get(0);
+ private final EnumLiteralDeclaration cBOOLEANEnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
+ private final Keyword cBOOLEANBooleanKeyword_4_0 = (Keyword)cBOOLEANEnumLiteralDeclaration_4.eContents().get(0);
+ private final EnumLiteralDeclaration cDATETIMEEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
+ private final Keyword cDATETIMEDatetimeKeyword_5_0 = (Keyword)cDATETIMEEnumLiteralDeclaration_5.eContents().get(0);
+ private final EnumLiteralDeclaration cBLOBEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
+ private final Keyword cBLOBFileKeyword_6_0 = (Keyword)cBLOBEnumLiteralDeclaration_6.eContents().get(0);
+
+ //enum DataType:
+ // INT='int' | DOUBLE='double' |
+ // MONEY='money' | STRING='string' |
+ // BOOLEAN='boolean' | DATETIME='datetime' |
+ // BLOB='file';
+ public EnumRule getRule() { return rule; }
+
+ //INT='int' | DOUBLE='double' | MONEY='money' | STRING='string' | BOOLEAN='boolean' | DATETIME='datetime' | BLOB='file'
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //INT='int'
+ public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; }
+
+ //'int'
+ public Keyword getINTIntKeyword_0_0() { return cINTIntKeyword_0_0; }
+
+ //DOUBLE='double'
+ public EnumLiteralDeclaration getDOUBLEEnumLiteralDeclaration_1() { return cDOUBLEEnumLiteralDeclaration_1; }
+
+ //'double'
+ public Keyword getDOUBLEDoubleKeyword_1_0() { return cDOUBLEDoubleKeyword_1_0; }
+
+ //MONEY='money'
+ public EnumLiteralDeclaration getMONEYEnumLiteralDeclaration_2() { return cMONEYEnumLiteralDeclaration_2; }
+
+ //'money'
+ public Keyword getMONEYMoneyKeyword_2_0() { return cMONEYMoneyKeyword_2_0; }
+
+ //STRING='string'
+ public EnumLiteralDeclaration getSTRINGEnumLiteralDeclaration_3() { return cSTRINGEnumLiteralDeclaration_3; }
+
+ //'string'
+ public Keyword getSTRINGStringKeyword_3_0() { return cSTRINGStringKeyword_3_0; }
+
+ //BOOLEAN='boolean'
+ public EnumLiteralDeclaration getBOOLEANEnumLiteralDeclaration_4() { return cBOOLEANEnumLiteralDeclaration_4; }
+
+ //'boolean'
+ public Keyword getBOOLEANBooleanKeyword_4_0() { return cBOOLEANBooleanKeyword_4_0; }
+
+ //DATETIME='datetime'
+ public EnumLiteralDeclaration getDATETIMEEnumLiteralDeclaration_5() { return cDATETIMEEnumLiteralDeclaration_5; }
+
+ //'datetime'
+ public Keyword getDATETIMEDatetimeKeyword_5_0() { return cDATETIMEDatetimeKeyword_5_0; }
+
+ //BLOB='file'
+ public EnumLiteralDeclaration getBLOBEnumLiteralDeclaration_6() { return cBLOBEnumLiteralDeclaration_6; }
+
+ //'file'
+ public Keyword getBLOBFileKeyword_6_0() { return cBLOBFileKeyword_6_0; }
+ }
private final ERModelElements pERModel;
private final DomainElements pDomain;
@@ -395,6 +477,7 @@ public class RelationSideElements extends AbstractParserRuleElementFinder {
private final EntityElements pEntity;
private final RelationElements pRelation;
private final RelationSideElements pRelationSide;
+ private final DataTypeElements eDataType;
private final Grammar grammar;
@@ -411,6 +494,7 @@ public ErDslGrammarAccess(GrammarProvider grammarProvider,
this.pEntity = new EntityElements();
this.pRelation = new RelationElements();
this.pRelationSide = new RelationSideElements();
+ this.eDataType = new DataTypeElements();
}
protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -461,7 +545,7 @@ public ParserRule getDomainRule() {
}
//Attribute:
- // name=ID isKey?='isIdentifier'?;
+ // name=ID type=DataType isKey?='isIdentifier'?;
public AttributeElements getAttributeAccess() {
return pAttribute;
}
@@ -471,7 +555,7 @@ public ParserRule getAttributeRule() {
}
//Entity:
- // name=ID ('is' is+=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
+ // name=ID ('is' is=[Entity])* ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
public EntityElements getEntityAccess() {
return pEntity;
}
@@ -481,8 +565,9 @@ public ParserRule getEntityRule() {
}
//Relation:
- // name=ID? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
- // attributes+=Attribute (',' attributes+=Attribute)* '}')*;
+ // name=ID? ('[' leftEnding=RelationSide
+ // 'relates'
+ // rightEnding=RelationSide ']') ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')*;
public RelationElements getRelationAccess() {
return pRelation;
}
@@ -492,7 +577,7 @@ public ParserRule getRelationRule() {
}
//RelationSide:
- // Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
+ // cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
public RelationSideElements getRelationSideAccess() {
return pRelationSide;
}
@@ -501,6 +586,19 @@ public ParserRule getRelationSideRule() {
return getRelationSideAccess().getRule();
}
+ //enum DataType:
+ // INT='int' | DOUBLE='double' |
+ // MONEY='money' | STRING='string' |
+ // BOOLEAN='boolean' | DATETIME='datetime' |
+ // BLOB='file';
+ public DataTypeElements getDataTypeAccess() {
+ return eDataType;
+ }
+
+ public EnumRule getDataTypeRule() {
+ return getDataTypeAccess().getRule();
+ }
+
//terminal ID:
// '^'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
public TerminalRule getIDRule() {
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/AbstractErDslValidator.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/AbstractErDslValidator.java
index 95ba879..433d39d 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/AbstractErDslValidator.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/AbstractErDslValidator.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.validation;
diff --git a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/ErDslConfigurableIssueCodesProvider.java b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/ErDslConfigurableIssueCodesProvider.java
index 7c31744..e3f8d10 100644
--- a/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/ErDslConfigurableIssueCodesProvider.java
+++ b/org.xtext.unipampa.erdsl/src-gen/org/xtext/unipampa/erdsl/validation/ErDslConfigurableIssueCodesProvider.java
@@ -1,5 +1,5 @@
/*
- * generated by Xtext 2.18.0.M3
+ * generated by Xtext 2.21.0
*/
package org.xtext.unipampa.erdsl.validation;
diff --git a/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/ErDsl.xtext b/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/ErDsl.xtext
index b58a315..47a55d9 100644
--- a/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/ErDsl.xtext
+++ b/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/ErDsl.xtext
@@ -6,60 +6,26 @@ ERModel:
domain=Domain ';'
('Entities' '{') entities+=Entity+ ('}' ';')
('Relationships' '{') relations+=Relation* ('}' ';');
-
Domain:
'Domain' name=ID;
-
Attribute:
- name=ID (isKey?='isIdentifier')?;
-
-
+ name=ID type=DataType (isKey?='isIdentifier')?;
Entity:
- name=ID ('is' is+=[Entity])*
- ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
-
+ name=ID ('is' is=[Entity])*
+ ('{' attributes+=Attribute
+ (',' attributes+=Attribute)* '}')?;
Relation:
- (name=ID)? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
- attributes+=Attribute (',' attributes+=Attribute)* '}')*;
-
-
+ (name=ID)? ('[' leftEnding=RelationSide
+ 'relates'
+ rightEnding=RelationSide ']')
+ ('{' attributes+=Attribute
+ (',' attributes+=Attribute)* '}')*;
RelationSide:
- Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
-
-
-//grammar org.xtext.unipampa.erdsl.ErDsl with org.eclipse.xtext.common.Terminals
-//
-//generate erDsl "http://www.xtext.org/unipampa/erdsl/ErDsl"
-//
-//ERModel:
-// domain=Domain ';'
-// ('Entities{') entities+=Entity+ ('};')
-// ('Relationships{') relations+=Relation* ('};');
-//
-//Domain:
-// 'Domain' name=ID;
-//
-//Attribute:
-// name=ID ':' type=DataType (isKey?='isIdentifier')?;
-//
-//enum DataType:
-// INT='int' | DOUBLE='double' | MONEY='money' | STRING='string' | BOOLEAN='boolean' | DATETIME='datetime' | BLOB='file';
-//
-//Entity:
-// name=ID ('is' is+=[Entity])*
-// ('{' attributes+=Attribute (',' attributes+=Attribute)* '}')?;
-//
-//Relation:
-// (name=ID)? ('[' leftEnding=RelationSide 'relates' rightEnding=RelationSide ']') ('{'
-// attributes+=Attribute (',' attributes+=Attribute)* '}')*;
-//
-//
-//RelationSide:
-// Cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)') target=[Entity] | target=[Relation];
-//
-//RelationSide:
-// ((minimalCardinality?='zero')?) maximumCardinality=CardinalityType target=[Entity] | target=[Relation];
-//
-//enum CardinalityType:
-// One='one' | Many='many';
+ cardinality=('(0:1)' | '(1:1)' | '(0:N)' | '(1:N)')
+ target=[Entity] | target=[Relation];
+enum DataType:
+ INT='int' | DOUBLE='double' |
+ MONEY='money' | STRING='string' |
+ BOOLEAN='boolean' | DATETIME='datetime' |
+ BLOB='file';
\ No newline at end of file
diff --git a/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend b/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend
index dcdd069..75faaed 100644
--- a/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend
+++ b/org.xtext.unipampa.erdsl/src/org/xtext/unipampa/erdsl/generator/ErDslGenerator.xtend
@@ -16,415 +16,145 @@ import org.xtext.unipampa.erdsl.erDsl.ERModel
*/
class ErDslGenerator extends AbstractGenerator {
+
override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
-// fsa.generateFile('greetings.txt', 'People to greet: ' +
-// resource.allContents
-// .filter(Greeting)
-// .map[name]
-// .join(', '))
-val modeloER = resource.contents.get(0) as ERModel
- fsa.generateFile('LogicalSchema_'+modeloER.domain.name+'.html',
+ val modeloER = resource.contents.get(0) as ERModel fsa.generateFile('LogicalSchema_'+modeloER.domain.name+'.html',
'''
-
-
-
-DOMÍNIO
-«modeloER.domain.name»
-TABELAS LÓGICAS
-«FOR entity : modeloER.entities SEPARATOR ')' AFTER ')' »«entity.name» (
- «FOR parent : entity.is»«IF entity.is !== null»«FOR chavePai : parent.attributes»«IF chavePai.isIsKey»«chavePai.name»* [Referência para: «parent.name»], «ENDIF»«ENDFOR»«ENDIF»«ENDFOR»
- «FOR attribute : entity.attributes SEPARATOR ', '»
- «IF attribute.isIsKey»«attribute.name»*«ELSE»«attribute.name»«ENDIF»«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS UM PARA MUITOS E MUITOS PARA UM
-«««############################################################################################################################################
-«««############################################################################################################################################
- «FOR relationAux : modeloER.relations»
- «IF (relationAux.leftEnding.cardinality == "(0:1)" || relationAux.leftEnding.cardinality == "(1:1)") && (relationAux.rightEnding.cardinality == "(0:N)" || relationAux.rightEnding.cardinality == "(1:N)")»
- «FOR entityAux : modeloER.entities»
- «IF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey»«attributeAux.name»«ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey»
- «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «IF relationAux.attributes !== null»
- «FOR relationMapeada : relationAux.attributes SEPARATOR ','»«relationMapeada.name»«ENDFOR»
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF (relationAux.leftEnding.cardinality == "(0:N)" || relationAux.leftEnding.cardinality == "(1:N)") && (relationAux.rightEnding.cardinality == "(0:1)" || relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.rightEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey», «attributeAux.name»«ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey»
- «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «IF relationAux.attributes !== null»
- «FOR relationMapeada : relationAux.attributes SEPARATOR ','»«relationMapeada.name»
- «ENDFOR»
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS 0:1 && 1:1 || 1:1 && 0:1 (ADIÇÃO DE COLUNA)
-«««############################################################################################################################################
-«««############################################################################################################################################
- «FOR relationAux : modeloER.relations»
- «IF (relationAux.leftEnding.cardinality == "(0:1)" && relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey»«attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey» «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(1:1)" && relationAux.rightEnding.cardinality == "(0:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.rightEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes SEPARATOR ','»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes SEPARATOR ','»
- «IF atributoPai.isIsKey» «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(0:1)" && relationAux.rightEnding.cardinality == "(0:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes»
- «IF atributoPai.isIsKey», «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF (relationAux.leftEnding.cardinality == "(1:1)" && relationAux.rightEnding.cardinality == "(1:1)")»
- «FOR entityAux : modeloER.entities»
- «IF (relationAux.leftEnding.target.toString.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «relationAux.name»
- «ELSEIF (entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)) && (entityAux.name.equalsIgnoreCase(entity.name.toString))»
- «FOR entityMapeada : modeloER.entities»
- «IF (entityMapeada.name.equalsIgnoreCase(relationAux.leftEnding.target.toString))»
- «FOR attributeAux : entityMapeada.attributes»
- «IF attributeAux.isIsKey», «attributeAux.name»
- «ENDIF»
- «ENDFOR»
- «FOR entityMapeadaPai : entityMapeada.is»
- «FOR atributoPai: entityMapeadaPai.attributes»
- «IF atributoPai.isIsKey», «atributoPai.name»«entityMapeada.name»
- «ENDIF»
- «ENDFOR»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
+
+
+
+ ERtext Logical schema
+
+
+
+
+
+
ERtext Logical schema
+
+ «/**
+ *
+ * Display of the modeled domain (database name)
+ *
+ */»
+
+
Domain
+
«modeloER.domain.name.toUpperCase»
+
+ «/**
+ *
+ * Display of modeled entities (tables)
+ *
+ */»
+
+
Entities
+
+ «FOR entity : modeloER.entities SEPARATOR " )" AFTER ")"»
+ «entity.name.toUpperCase» (
+ «/**
+ *
+ * Verification and display of primary (PK) and, at the same time, foreign (FK)
+ * keys from generalizations / specializations
+ * 1- Checks for a reference to a parent entity
+ * 2- If it exists, the key that references the parent is written being primary and foreign at the same time
+ *
+ */»
+ «IF !(entity.is === null)»
+ «FOR aux : modeloER.entities»
+ «IF aux.name.equalsIgnoreCase(entity.is.toString)»
+ «aux.name»*,
«ENDIF»
«ENDFOR»
«ENDIF»
+
+ «FOR attribute : entity.attributes SEPARATOR ", "»
+ «IF attribute.isIsKey»
+ «attribute.name»*
+ «ELSEIF !attribute.isIsKey»
+ «attribute.name»
+ «ENDIF»
+ «ENDFOR»
+
+ «/**
+ *
+ *
+ *
+ */»
+
«ENDFOR»
-«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS BINÁRIOS MUITOS PARA MUITOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-«FOR relationAux : modeloER.relations SEPARATOR ') 'AFTER ''»
- «IF ((relationAux.leftEnding.cardinality == "(0:N)" || relationAux.leftEnding.cardinality == "(1:N)")
- && (relationAux.rightEnding.cardinality == "(0:N)" || relationAux.rightEnding.cardinality == "(1:N)"))»
- «IF (relationAux.name == '' || relationAux.name === null) »
-«relationAux.leftEnding.target»«relationAux.rightEnding.target» (
- «FOR entityAux : modeloER.entities»
- «IF entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*!«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*@«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*#«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.rightEnding.target.toString»*$«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSE»
-«relationAux.name» (
- «FOR entityAux : modeloER.entities»
- «IF entityAux.name.equalsIgnoreCase(relationAux.leftEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF entityAux.name.equalsIgnoreCase(relationAux.rightEnding.target.toString)»
- «FOR atributoAux : entityAux.attributes»
- «IF atributoAux.isIsKey»«atributoAux.name»*«ENDIF»
- «ENDFOR»
- «FOR parent : entityAux.is»
- «IF entityAux.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»«chavePai.name»«relationAux.leftEnding.target.toString»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «IF (relationAux.attributes !== null)»
- «FOR atributoRelacaoMuitosParaMuitos : relationAux.attributes SEPARATOR ','»«atributoRelacaoMuitosParaMuitos.name»
- «IF atributoRelacaoMuitosParaMuitos.isIsKey»*«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDIF»
-«ENDFOR»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« AQUI SE RESOLVEM OS RELACIONAMENTOS TERNÁRIOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DAS REFERÊNCIAS DERIVADAS DOS RELACIONAMENTOS
-«««############################################################################################################################################
-«««############################################################################################################################################
-
CHAVES REFERENCIAIS
-«FOR relation : modeloER.relations»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE RELAÇÃO 0:1 || 1:1 PARA 0:N || 1:N
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF ((relation.leftEnding.cardinality == "(0:1)" || relation.leftEnding.cardinality == "(1:1)") && (relation.rightEnding.cardinality == "(0:N)" || relation.rightEnding.cardinality == "(1:N)"))»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "
«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "
«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
+ «/**
+ *
+ * Formation of entities from relations N:N
+ * 1- Checks if there is a name for the relationship, if it does not exist, the name of the two associated entities is concatenated
+ * 2- The primary keys of the associated entities are allocated and become primary and foreign at the same time
+ * 3- If the relationship has attributes they are written at the end
+ *
+ */»
+ «FOR relation : modeloER.relations»
+ «IF ((relation.leftEnding.cardinality.equalsIgnoreCase('(0:N)') || relation.leftEnding.cardinality.equalsIgnoreCase('(1:N)'))
+ &&
+ (relation.rightEnding.cardinality.equalsIgnoreCase('(0:N)') || relation.rightEnding.cardinality.equalsIgnoreCase('(1:N)')))»
+
+ «IF relation.name.nullOrEmpty»
+ «relation.leftEnding.target.toString.toUpperCase»«relation.rightEnding.target.toString.toUpperCase» (
+ «ELSEIF !relation.name.nullOrEmpty»
+ «relation.name.toUpperCase» (
+ «ENDIF»
+
+ «FOR entity : modeloER.entities»
+ «IF relation.leftEnding.target.toString.equalsIgnoreCase(entity.name)»
+ «FOR attribute : entity.attributes»
+ «IF attribute.isIsKey»
+
«attribute.name»*,
«ENDIF»
«ENDFOR»
«ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF ((relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)"))»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
+
+ «IF relation.rightEnding.target.toString.equalsIgnoreCase(entity.name)»
«FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "
«attribute.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "
«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
+ «IF attribute.isIsKey»
+
«attribute.name»*
«ENDIF»
«ENDFOR»
+ «ENDIF»
+ «ENDFOR»
+
+ «FOR attribute : relation.attributes»
+ «IF !attribute.name.nullOrEmpty»
+ , «attribute.name»
«ENDIF»
«ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE RELAÇÃO 0:N ou 1:N PARA 0:1 ou 1:1
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF (relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString) && (relation.leftEnding.target.toString != relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "
«attribute.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"«ENDIF»
- «ENDFOR»
+ )
+
«ENDIF»
«ENDFOR»
- «ENDIF»
- «IF (relation.leftEnding.cardinality == "(0:N)" || relation.leftEnding.cardinality == "(1:N)") && (relation.rightEnding.cardinality == "(0:N)" || relation.rightEnding.cardinality == "(1:N)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "
«attribute.name»" EM "«relation.name»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ELSE»
-Atributo "
«attribute.name»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE ENTIDADE DA ESQUERDA EM RELACIONAMENTO MUITOS PARA MUITOS COM E SEM IDENTIFICADOR NA RELAÇÃO
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "
«attribute.name»" EM "«relation.name»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ELSE»
-Atributo "
«attribute.name»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes SEPARATOR ', '»
- «IF chavePai.isIsKey»
- «IF (relation.name !== null && relation.name !== '')»
-Atributo "
«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.name»" REFERENCIA "«parent.name.toString»"
-Atributo "
«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.name»" REFERENCIA "«parent.name.toString»"
- «ELSE»
-Atributo "
«chavePai.name»«relation.leftEnding.target.toString»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«parent.name.toString»"
-Atributo "
«chavePai.name»«relation.rightEnding.target.toString»" EM "«relation.leftEnding.target.toString»«relation.rightEnding.target.toString»" REFERENCIA "«parent.name.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«««############################################################################################################################################
-«««############################################################################################################################################
-««« MAPEAMENTO DE AUTORELACIONAMENTO
-«««############################################################################################################################################
-«««############################################################################################################################################
- «IF (relation.leftEnding.cardinality == "(0:1)" || relation.leftEnding.cardinality == "(1:1)") && (relation.rightEnding.cardinality == "(0:1)" || relation.rightEnding.cardinality == "(1:1)")»
- «FOR entity : modeloER.entities»
- «IF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString) && entity.name.equalsIgnoreCase(relation.rightEnding.target.toString)»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
-Atributo "
«relation.name»" EM "«relation.leftEnding.target.toString»" REFERENCIA "«relation.rightEnding.target.toString»"
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "
«relation.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ELSEIF entity.name.equalsIgnoreCase(relation.leftEnding.target.toString) && !(entity.name.equalsIgnoreCase(relation.rightEnding.target.toString))»
- «FOR attribute : entity.attributes»
- «IF attribute.isIsKey»
- «IF relation.name === null || relation.name == ''»
-Atributo "
«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ELSE»
-Atributo "
«attribute.name»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«relation.leftEnding.target.toString»"
- «ENDIF»
- «ENDIF»
- «ENDFOR»
- «FOR parent : entity.is»
- «IF entity.is !== null»
- «FOR chavePai : parent.attributes»
- «IF chavePai.isIsKey»
-Atributo "
«chavePai.name»«relation.leftEnding.target»" EM "«relation.rightEnding.target.toString»" REFERENCIA "«parent.name»"
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
- «ENDFOR»
- «ENDIF»
-«ENDFOR»
-«««
RELAÇÕES MODELADAS
-««««FOR relation : modeloER.relations»
-«««[«relation.name»] «relation.leftEnding.cardinality» «relation.leftEnding.target» relates «relation.rightEnding.target» «relation.rightEnding.cardinality»
-««««ENDFOR»
-«««
-«««
- '''
+
+
+ «/**
+ *
+ * Display of inferred references through modeled relationships (foreign keys)
+ *
+ */»
+
+
References
+
+ «FOR relation : modeloER.relations SEPARATOR ""»
+ «relation.name» >>> «relation.leftEnding.cardinality.toString» «relation.leftEnding.target» relates «relation.rightEnding.target.toString» «relation.rightEnding.cardinality»
+ «ENDFOR»
+
+
+
+
+ '''
)
}
+
}
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin
index be79612..79e54a7 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslRuntimeModule.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin
index 894b918..2235eb5 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/.ErDslStandaloneSetup.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace
index 7121335..841ad84 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.java._trace differ
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin
index 3be60ca..8459d4d 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/.ErDslGenerator.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/ErDslGenerator.java b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/ErDslGenerator.java
index 1841e45..c6680f3 100644
--- a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/ErDslGenerator.java
+++ b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/generator/ErDslGenerator.java
@@ -3,7 +3,6 @@
*/
package org.xtext.unipampa.erdsl.generator;
-import com.google.common.base.Objects;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
@@ -11,6 +10,7 @@
import org.eclipse.xtext.generator.AbstractGenerator;
import org.eclipse.xtext.generator.IFileSystemAccess2;
import org.eclipse.xtext.generator.IGeneratorContext;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
import org.xtext.unipampa.erdsl.erDsl.Attribute;
import org.xtext.unipampa.erdsl.erDsl.ERModel;
import org.xtext.unipampa.erdsl.erDsl.Entity;
@@ -35,14 +35,66 @@ public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, fi
_builder.newLine();
_builder.append("");
_builder.newLine();
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("ERtext Logical schema");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
_builder.append(" ");
_builder.newLine();
- _builder.append("DOMÍNIO
");
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("
ERtext Logical schema
");
+ _builder.newLine();
+ _builder.append("
");
+ _builder.newLine();
+ _builder.newLine();
+ _builder.append("");
_builder.newLine();
- String _name_1 = modeloER.getDomain().getName();
- _builder.append(_name_1);
+ _builder.append("
Domain
");
+ _builder.newLine();
+ _builder.append("
");
+ String _upperCase = modeloER.getDomain().getName().toUpperCase();
+ _builder.append(_upperCase);
+ _builder.append("
");
_builder.newLineIfNotEmpty();
- _builder.append("
TABELAS LÓGICAS
\t\t\t");
+ _builder.append("
");
+ _builder.newLine();
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("
Entities
");
+ _builder.newLine();
+ _builder.append("
");
_builder.newLine();
{
EList _entities = modeloER.getEntities();
@@ -51,1311 +103,218 @@ public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, fi
if (!_hasElements) {
_hasElements = true;
} else {
- _builder.appendImmediate(")", "");
+ _builder.appendImmediate(" )", "");
}
- String _name_2 = entity.getName();
- _builder.append(_name_2);
+ String _upperCase_1 = entity.getName().toUpperCase();
+ _builder.append(_upperCase_1);
_builder.append(" (");
_builder.newLineIfNotEmpty();
- _builder.append("\t");
+ _builder.newLine();
{
- EList _is = entity.getIs();
- for(final Entity parent : _is) {
+ Entity _is = entity.getIs();
+ boolean _tripleEquals = (_is == null);
+ boolean _not = (!_tripleEquals);
+ if (_not) {
{
- EList _is_1 = entity.getIs();
- boolean _tripleNotEquals = (_is_1 != null);
- if (_tripleNotEquals) {
+ EList _entities_1 = modeloER.getEntities();
+ for(final Entity aux : _entities_1) {
{
- EList _attributes = parent.getAttributes();
- for(final Attribute chavePai : _attributes) {
- {
- boolean _isIsKey = chavePai.isIsKey();
- if (_isIsKey) {
- _builder.append("");
- String _name_3 = chavePai.getName();
- _builder.append(_name_3, "\t");
- _builder.append("* [Referência para: ");
- String _name_4 = parent.getName();
- _builder.append(_name_4, "\t");
- _builder.append("], ");
- }
- }
+ boolean _equalsIgnoreCase = aux.getName().equalsIgnoreCase(entity.getIs().toString());
+ if (_equalsIgnoreCase) {
+ _builder.append("");
+ String _name_1 = aux.getName();
+ _builder.append(_name_1);
+ _builder.append("*, ");
+ _builder.newLineIfNotEmpty();
}
}
}
}
}
}
- _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.newLine();
{
- EList _attributes_1 = entity.getAttributes();
+ EList _attributes = entity.getAttributes();
boolean _hasElements_1 = false;
- for(final Attribute attribute : _attributes_1) {
+ for(final Attribute attribute : _attributes) {
if (!_hasElements_1) {
_hasElements_1 = true;
} else {
- _builder.appendImmediate(", ", "\t");
+ _builder.appendImmediate(", ", "");
}
- _builder.append("\t");
{
- boolean _isIsKey_1 = attribute.isIsKey();
- if (_isIsKey_1) {
+ boolean _isIsKey = attribute.isIsKey();
+ if (_isIsKey) {
_builder.append("");
- String _name_5 = attribute.getName();
- _builder.append(_name_5, "\t");
+ String _name_2 = attribute.getName();
+ _builder.append(_name_2);
_builder.append("*");
+ _builder.newLineIfNotEmpty();
} else {
- String _name_6 = attribute.getName();
- _builder.append(_name_6, "\t");
- }
- }
- }
- }
- _builder.newLineIfNotEmpty();
- {
- EList _relations = modeloER.getRelations();
- for(final Relation relationAux : _relations) {
- {
- if (((Objects.equal(relationAux.getLeftEnding().getCardinality(), "(0:1)") || Objects.equal(relationAux.getLeftEnding().getCardinality(), "(1:1)")) && (Objects.equal(relationAux.getRightEnding().getCardinality(), "(0:N)") || Objects.equal(relationAux.getRightEnding().getCardinality(), "(1:N)")))) {
- {
- EList _entities_1 = modeloER.getEntities();
- for(final Entity entityAux : _entities_1) {
- {
- if ((entityAux.getName().equalsIgnoreCase(relationAux.getRightEnding().getTarget().toString()) && entityAux.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_2 = modeloER.getEntities();
- for(final Entity entityMapeada : _entities_2) {
- {
- boolean _equalsIgnoreCase = entityMapeada.getName().equalsIgnoreCase(relationAux.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase) {
- {
- EList _attributes_2 = entityMapeada.getAttributes();
- boolean _hasElements_2 = false;
- for(final Attribute attributeAux : _attributes_2) {
- if (!_hasElements_2) {
- _hasElements_2 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_2 = attributeAux.isIsKey();
- if (_isIsKey_2) {
- String _name_7 = attributeAux.getName();
- _builder.append(_name_7);
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- {
- EList _is_2 = entityMapeada.getIs();
- for(final Entity entityMapeadaPai : _is_2) {
- {
- EList _attributes_3 = entityMapeadaPai.getAttributes();
- boolean _hasElements_3 = false;
- for(final Attribute atributoPai : _attributes_3) {
- if (!_hasElements_3) {
- _hasElements_3 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_3 = atributoPai.isIsKey();
- if (_isIsKey_3) {
- String _name_8 = atributoPai.getName();
- _builder.append(_name_8);
- String _name_9 = entityMapeada.getName();
- _builder.append(_name_9);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- {
- EList _attributes_4 = relationAux.getAttributes();
- boolean _tripleNotEquals_1 = (_attributes_4 != null);
- if (_tripleNotEquals_1) {
- {
- EList _attributes_5 = relationAux.getAttributes();
- boolean _hasElements_4 = false;
- for(final Attribute relationMapeada : _attributes_5) {
- if (!_hasElements_4) {
- _hasElements_4 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- String _name_10 = relationMapeada.getName();
- _builder.append(_name_10);
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- {
- if (((Objects.equal(relationAux.getLeftEnding().getCardinality(), "(0:N)") || Objects.equal(relationAux.getLeftEnding().getCardinality(), "(1:N)")) && (Objects.equal(relationAux.getRightEnding().getCardinality(), "(0:1)") || Objects.equal(relationAux.getRightEnding().getCardinality(), "(1:1)")))) {
- {
- EList _entities_3 = modeloER.getEntities();
- for(final Entity entityAux_1 : _entities_3) {
- {
- if ((entityAux_1.getName().equalsIgnoreCase(relationAux.getLeftEnding().getTarget().toString()) && entityAux_1.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_4 = modeloER.getEntities();
- for(final Entity entityMapeada_1 : _entities_4) {
- {
- boolean _equalsIgnoreCase_1 = entityMapeada_1.getName().equalsIgnoreCase(relationAux.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_1) {
- {
- EList _attributes_6 = entityMapeada_1.getAttributes();
- boolean _hasElements_5 = false;
- for(final Attribute attributeAux_1 : _attributes_6) {
- if (!_hasElements_5) {
- _hasElements_5 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_4 = attributeAux_1.isIsKey();
- if (_isIsKey_4) {
- _builder.append(", ");
- String _name_11 = attributeAux_1.getName();
- _builder.append(_name_11);
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- {
- EList _is_3 = entityMapeada_1.getIs();
- for(final Entity entityMapeadaPai_1 : _is_3) {
- {
- EList _attributes_7 = entityMapeadaPai_1.getAttributes();
- boolean _hasElements_6 = false;
- for(final Attribute atributoPai_1 : _attributes_7) {
- if (!_hasElements_6) {
- _hasElements_6 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_5 = atributoPai_1.isIsKey();
- if (_isIsKey_5) {
- String _name_12 = atributoPai_1.getName();
- _builder.append(_name_12);
- String _name_13 = entityMapeada_1.getName();
- _builder.append(_name_13);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- {
- EList _attributes_8 = relationAux.getAttributes();
- boolean _tripleNotEquals_2 = (_attributes_8 != null);
- if (_tripleNotEquals_2) {
- {
- EList _attributes_9 = relationAux.getAttributes();
- boolean _hasElements_7 = false;
- for(final Attribute relationMapeada_1 : _attributes_9) {
- if (!_hasElements_7) {
- _hasElements_7 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- String _name_14 = relationMapeada_1.getName();
- _builder.append(_name_14);
- _builder.append(" ");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- {
- EList _relations_1 = modeloER.getRelations();
- for(final Relation relationAux_1 : _relations_1) {
- {
- if ((Objects.equal(relationAux_1.getLeftEnding().getCardinality(), "(0:1)") && Objects.equal(relationAux_1.getRightEnding().getCardinality(), "(1:1)"))) {
- {
- EList _entities_5 = modeloER.getEntities();
- for(final Entity entityAux_2 : _entities_5) {
- {
- if (((relationAux_1.getLeftEnding().getTarget().toString().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_2.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString())) && entityAux_2.getName().equalsIgnoreCase(entity.getName().toString()))) {
- String _name_15 = relationAux_1.getName();
- _builder.append(_name_15);
- _builder.newLineIfNotEmpty();
- } else {
- if ((entityAux_2.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_2.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_6 = modeloER.getEntities();
- for(final Entity entityMapeada_2 : _entities_6) {
- {
- boolean _equalsIgnoreCase_2 = entityMapeada_2.getName().equalsIgnoreCase(relationAux_1.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_2) {
- {
- EList _attributes_10 = entityMapeada_2.getAttributes();
- boolean _hasElements_8 = false;
- for(final Attribute attributeAux_2 : _attributes_10) {
- if (!_hasElements_8) {
- _hasElements_8 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_6 = attributeAux_2.isIsKey();
- if (_isIsKey_6) {
- String _name_16 = attributeAux_2.getName();
- _builder.append(_name_16);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_4 = entityMapeada_2.getIs();
- for(final Entity entityMapeadaPai_2 : _is_4) {
- {
- EList _attributes_11 = entityMapeadaPai_2.getAttributes();
- boolean _hasElements_9 = false;
- for(final Attribute atributoPai_2 : _attributes_11) {
- if (!_hasElements_9) {
- _hasElements_9 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_7 = atributoPai_2.isIsKey();
- if (_isIsKey_7) {
- _builder.append(" ");
- String _name_17 = atributoPai_2.getName();
- _builder.append(_name_17);
- String _name_18 = entityMapeada_2.getName();
- _builder.append(_name_18);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- if ((Objects.equal(relationAux_1.getLeftEnding().getCardinality(), "(1:1)") && Objects.equal(relationAux_1.getRightEnding().getCardinality(), "(0:1)"))) {
- {
- EList _entities_7 = modeloER.getEntities();
- for(final Entity entityAux_3 : _entities_7) {
- {
- if (((relationAux_1.getLeftEnding().getTarget().toString().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_3.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString())) && entityAux_3.getName().equalsIgnoreCase(entity.getName().toString()))) {
- String _name_19 = relationAux_1.getName();
- _builder.append(_name_19);
- _builder.newLineIfNotEmpty();
- } else {
- if ((entityAux_3.getName().equalsIgnoreCase(relationAux_1.getLeftEnding().getTarget().toString()) && entityAux_3.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_8 = modeloER.getEntities();
- for(final Entity entityMapeada_3 : _entities_8) {
- {
- boolean _equalsIgnoreCase_3 = entityMapeada_3.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_3) {
- {
- EList _attributes_12 = entityMapeada_3.getAttributes();
- boolean _hasElements_10 = false;
- for(final Attribute attributeAux_3 : _attributes_12) {
- if (!_hasElements_10) {
- _hasElements_10 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- {
- boolean _isIsKey_8 = attributeAux_3.isIsKey();
- if (_isIsKey_8) {
- _builder.append(", ");
- String _name_20 = attributeAux_3.getName();
- _builder.append(_name_20);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_5 = entityMapeada_3.getIs();
- for(final Entity entityMapeadaPai_3 : _is_5) {
- {
- EList _attributes_13 = entityMapeadaPai_3.getAttributes();
- boolean _hasElements_11 = false;
- for(final Attribute atributoPai_3 : _attributes_13) {
- if (!_hasElements_11) {
- _hasElements_11 = true;
- } else {
- _builder.appendImmediate(",", "\t");
- }
- _builder.append("\t");
- {
- boolean _isIsKey_9 = atributoPai_3.isIsKey();
- if (_isIsKey_9) {
- _builder.append(" ");
- String _name_21 = atributoPai_3.getName();
- _builder.append(_name_21, "\t");
- String _name_22 = entityMapeada_3.getName();
- _builder.append(_name_22, "\t");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- if ((Objects.equal(relationAux_1.getLeftEnding().getCardinality(), "(0:1)") && Objects.equal(relationAux_1.getRightEnding().getCardinality(), "(0:1)"))) {
- {
- EList _entities_9 = modeloER.getEntities();
- for(final Entity entityAux_4 : _entities_9) {
- {
- if (((relationAux_1.getLeftEnding().getTarget().toString().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_4.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString())) && entityAux_4.getName().equalsIgnoreCase(entity.getName().toString()))) {
- String _name_23 = relationAux_1.getName();
- _builder.append(_name_23);
- _builder.newLineIfNotEmpty();
- } else {
- if ((entityAux_4.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_4.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_10 = modeloER.getEntities();
- for(final Entity entityMapeada_4 : _entities_10) {
- {
- boolean _equalsIgnoreCase_4 = entityMapeada_4.getName().equalsIgnoreCase(relationAux_1.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_4) {
- {
- EList _attributes_14 = entityMapeada_4.getAttributes();
- for(final Attribute attributeAux_4 : _attributes_14) {
- {
- boolean _isIsKey_10 = attributeAux_4.isIsKey();
- if (_isIsKey_10) {
- _builder.append(", ");
- String _name_24 = attributeAux_4.getName();
- _builder.append(_name_24);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_6 = entityMapeada_4.getIs();
- for(final Entity entityMapeadaPai_4 : _is_6) {
- {
- EList _attributes_15 = entityMapeadaPai_4.getAttributes();
- for(final Attribute atributoPai_4 : _attributes_15) {
- {
- boolean _isIsKey_11 = atributoPai_4.isIsKey();
- if (_isIsKey_11) {
- _builder.append(", ");
- String _name_25 = atributoPai_4.getName();
- _builder.append(_name_25);
- String _name_26 = entityMapeada_4.getName();
- _builder.append(_name_26);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- if ((Objects.equal(relationAux_1.getLeftEnding().getCardinality(), "(1:1)") && Objects.equal(relationAux_1.getRightEnding().getCardinality(), "(1:1)"))) {
- {
- EList _entities_11 = modeloER.getEntities();
- for(final Entity entityAux_5 : _entities_11) {
- {
- if (((relationAux_1.getLeftEnding().getTarget().toString().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_5.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString())) && entityAux_5.getName().equalsIgnoreCase(entity.getName().toString()))) {
- String _name_27 = relationAux_1.getName();
- _builder.append(_name_27);
- _builder.newLineIfNotEmpty();
- } else {
- if ((entityAux_5.getName().equalsIgnoreCase(relationAux_1.getRightEnding().getTarget().toString()) && entityAux_5.getName().equalsIgnoreCase(entity.getName().toString()))) {
- {
- EList _entities_12 = modeloER.getEntities();
- for(final Entity entityMapeada_5 : _entities_12) {
- {
- boolean _equalsIgnoreCase_5 = entityMapeada_5.getName().equalsIgnoreCase(relationAux_1.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_5) {
- {
- EList _attributes_16 = entityMapeada_5.getAttributes();
- for(final Attribute attributeAux_5 : _attributes_16) {
- {
- boolean _isIsKey_12 = attributeAux_5.isIsKey();
- if (_isIsKey_12) {
- _builder.append(", ");
- String _name_28 = attributeAux_5.getName();
- _builder.append(_name_28);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_7 = entityMapeada_5.getIs();
- for(final Entity entityMapeadaPai_5 : _is_7) {
- {
- EList _attributes_17 = entityMapeadaPai_5.getAttributes();
- for(final Attribute atributoPai_5 : _attributes_17) {
- {
- boolean _isIsKey_13 = atributoPai_5.isIsKey();
- if (_isIsKey_13) {
- _builder.append(", ");
- String _name_29 = atributoPai_5.getName();
- _builder.append(_name_29);
- String _name_30 = entityMapeada_5.getName();
- _builder.append(_name_30);
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
+ boolean _isIsKey_1 = attribute.isIsKey();
+ boolean _not_1 = (!_isIsKey_1);
+ if (_not_1) {
+ String _name_3 = attribute.getName();
+ _builder.append(_name_3);
+ _builder.newLineIfNotEmpty();
}
}
}
}
}
+ _builder.newLine();
+ _builder.newLine();
+ _builder.newLine();
}
if (_hasElements) {
_builder.append(")");
}
}
+ _builder.newLine();
{
- EList _relations_2 = modeloER.getRelations();
- boolean _hasElements_12 = false;
- for(final Relation relationAux_2 : _relations_2) {
- if (!_hasElements_12) {
- _hasElements_12 = true;
- } else {
- _builder.appendImmediate(") ", "");
- }
+ EList _relations = modeloER.getRelations();
+ for(final Relation relation : _relations) {
{
- if (((Objects.equal(relationAux_2.getLeftEnding().getCardinality(), "(0:N)") || Objects.equal(relationAux_2.getLeftEnding().getCardinality(), "(1:N)")) && (Objects.equal(relationAux_2.getRightEnding().getCardinality(), "(0:N)") || Objects.equal(relationAux_2.getRightEnding().getCardinality(), "(1:N)")))) {
+ if (((relation.getLeftEnding().getCardinality().equalsIgnoreCase("(0:N)") || relation.getLeftEnding().getCardinality().equalsIgnoreCase("(1:N)")) && (relation.getRightEnding().getCardinality().equalsIgnoreCase("(0:N)") || relation.getRightEnding().getCardinality().equalsIgnoreCase("(1:N)")))) {
+ _builder.newLine();
{
- if ((Objects.equal(relationAux_2.getName(), "") || (relationAux_2.getName() == null))) {
- EObject _target = relationAux_2.getLeftEnding().getTarget();
- _builder.append(_target);
- EObject _target_1 = relationAux_2.getRightEnding().getTarget();
- _builder.append(_target_1);
+ boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(relation.getName());
+ if (_isNullOrEmpty) {
+ _builder.append("");
+ String _upperCase_2 = relation.getLeftEnding().getTarget().toString().toUpperCase();
+ _builder.append(_upperCase_2);
+ String _upperCase_3 = relation.getRightEnding().getTarget().toString().toUpperCase();
+ _builder.append(_upperCase_3);
_builder.append(" (");
_builder.newLineIfNotEmpty();
+ } else {
+ boolean _isNullOrEmpty_1 = StringExtensions.isNullOrEmpty(relation.getName());
+ boolean _not_2 = (!_isNullOrEmpty_1);
+ if (_not_2) {
+ _builder.append("");
+ String _upperCase_4 = relation.getName().toUpperCase();
+ _builder.append(_upperCase_4);
+ _builder.append(" (");
+ _builder.newLineIfNotEmpty();
+ }
+ }
+ }
+ _builder.newLine();
+ {
+ EList _entities_2 = modeloER.getEntities();
+ for(final Entity entity_1 : _entities_2) {
{
- EList _entities_13 = modeloER.getEntities();
- for(final Entity entityAux_6 : _entities_13) {
- {
- boolean _equalsIgnoreCase_6 = entityAux_6.getName().equalsIgnoreCase(relationAux_2.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_6) {
- {
- EList _attributes_18 = entityAux_6.getAttributes();
- for(final Attribute atributoAux : _attributes_18) {
- _builder.append("\t");
- {
- boolean _isIsKey_14 = atributoAux.isIsKey();
- if (_isIsKey_14) {
- _builder.append("");
- String _name_31 = atributoAux.getName();
- _builder.append(_name_31, "\t");
- _builder.append("*!");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- {
- EList _is_8 = entityAux_6.getIs();
- for(final Entity parent_1 : _is_8) {
- {
- EList _is_9 = entityAux_6.getIs();
- boolean _tripleNotEquals_3 = (_is_9 != null);
- if (_tripleNotEquals_3) {
- {
- EList _attributes_19 = parent_1.getAttributes();
- for(final Attribute chavePai_1 : _attributes_19) {
- _builder.append("\t");
- {
- boolean _isIsKey_15 = chavePai_1.isIsKey();
- if (_isIsKey_15) {
- _builder.append("");
- String _name_32 = chavePai_1.getName();
- _builder.append(_name_32, "\t");
- String _string = relationAux_2.getLeftEnding().getTarget().toString();
- _builder.append(_string, "\t");
- _builder.append("*@");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
+ boolean _equalsIgnoreCase_1 = relation.getLeftEnding().getTarget().toString().equalsIgnoreCase(entity_1.getName());
+ if (_equalsIgnoreCase_1) {
{
- boolean _equalsIgnoreCase_7 = entityAux_6.getName().equalsIgnoreCase(relationAux_2.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_7) {
+ EList _attributes_1 = entity_1.getAttributes();
+ for(final Attribute attribute_1 : _attributes_1) {
{
- EList _attributes_20 = entityAux_6.getAttributes();
- for(final Attribute atributoAux_1 : _attributes_20) {
- _builder.append("\t");
- {
- boolean _isIsKey_16 = atributoAux_1.isIsKey();
- if (_isIsKey_16) {
- _builder.append("");
- String _name_33 = atributoAux_1.getName();
- _builder.append(_name_33, "\t");
- _builder.append("*#");
- }
- }
+ boolean _isIsKey_2 = attribute_1.isIsKey();
+ if (_isIsKey_2) {
+ _builder.append("");
+ String _name_4 = attribute_1.getName();
+ _builder.append(_name_4);
+ _builder.append("*,");
_builder.newLineIfNotEmpty();
}
}
- {
- EList _is_10 = entityAux_6.getIs();
- for(final Entity parent_2 : _is_10) {
- {
- EList _is_11 = entityAux_6.getIs();
- boolean _tripleNotEquals_4 = (_is_11 != null);
- if (_tripleNotEquals_4) {
- {
- EList _attributes_21 = parent_2.getAttributes();
- for(final Attribute chavePai_2 : _attributes_21) {
- _builder.append("\t");
- {
- boolean _isIsKey_17 = chavePai_2.isIsKey();
- if (_isIsKey_17) {
- _builder.append("");
- String _name_34 = chavePai_2.getName();
- _builder.append(_name_34, "\t");
- String _string_1 = relationAux_2.getRightEnding().getTarget().toString();
- _builder.append(_string_1, "\t");
- _builder.append("*$");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
}
}
}
}
- } else {
- String _name_35 = relationAux_2.getName();
- _builder.append(_name_35);
- _builder.append(" (");
- _builder.newLineIfNotEmpty();
+ _builder.newLine();
{
- EList _entities_14 = modeloER.getEntities();
- for(final Entity entityAux_7 : _entities_14) {
+ boolean _equalsIgnoreCase_2 = relation.getRightEnding().getTarget().toString().equalsIgnoreCase(entity_1.getName());
+ if (_equalsIgnoreCase_2) {
{
- boolean _equalsIgnoreCase_8 = entityAux_7.getName().equalsIgnoreCase(relationAux_2.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_8) {
+ EList _attributes_2 = entity_1.getAttributes();
+ for(final Attribute attribute_2 : _attributes_2) {
{
- EList _attributes_22 = entityAux_7.getAttributes();
- for(final Attribute atributoAux_2 : _attributes_22) {
- _builder.append("\t");
- {
- boolean _isIsKey_18 = atributoAux_2.isIsKey();
- if (_isIsKey_18) {
- _builder.append("");
- String _name_36 = atributoAux_2.getName();
- _builder.append(_name_36, "\t");
- _builder.append("*");
- }
- }
+ boolean _isIsKey_3 = attribute_2.isIsKey();
+ if (_isIsKey_3) {
+ _builder.append("");
+ String _name_5 = attribute_2.getName();
+ _builder.append(_name_5);
+ _builder.append("*");
_builder.newLineIfNotEmpty();
}
}
- {
- EList _is_12 = entityAux_7.getIs();
- for(final Entity parent_3 : _is_12) {
- {
- EList _is_13 = entityAux_7.getIs();
- boolean _tripleNotEquals_5 = (_is_13 != null);
- if (_tripleNotEquals_5) {
- {
- EList _attributes_23 = parent_3.getAttributes();
- for(final Attribute chavePai_3 : _attributes_23) {
- _builder.append("\t");
- {
- boolean _isIsKey_19 = chavePai_3.isIsKey();
- if (_isIsKey_19) {
- _builder.append("");
- String _name_37 = chavePai_3.getName();
- _builder.append(_name_37, "\t");
- String _string_2 = relationAux_2.getLeftEnding().getTarget().toString();
- _builder.append(_string_2, "\t");
- _builder.append("*");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- {
- boolean _equalsIgnoreCase_9 = entityAux_7.getName().equalsIgnoreCase(relationAux_2.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_9) {
- {
- EList _attributes_24 = entityAux_7.getAttributes();
- for(final Attribute atributoAux_3 : _attributes_24) {
- _builder.append("\t");
- {
- boolean _isIsKey_20 = atributoAux_3.isIsKey();
- if (_isIsKey_20) {
- _builder.append("");
- String _name_38 = atributoAux_3.getName();
- _builder.append(_name_38, "\t");
- _builder.append("*");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- {
- EList _is_14 = entityAux_7.getIs();
- for(final Entity parent_4 : _is_14) {
- {
- EList _is_15 = entityAux_7.getIs();
- boolean _tripleNotEquals_6 = (_is_15 != null);
- if (_tripleNotEquals_6) {
- {
- EList _attributes_25 = parent_4.getAttributes();
- for(final Attribute chavePai_4 : _attributes_25) {
- _builder.append("\t");
- {
- boolean _isIsKey_21 = chavePai_4.isIsKey();
- if (_isIsKey_21) {
- _builder.append("");
- String _name_39 = chavePai_4.getName();
- _builder.append(_name_39, "\t");
- String _string_3 = relationAux_2.getLeftEnding().getTarget().toString();
- _builder.append(_string_3, "\t");
- _builder.append("*");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
}
}
}
}
}
}
+ _builder.newLine();
{
- EList _attributes_26 = relationAux_2.getAttributes();
- boolean _tripleNotEquals_7 = (_attributes_26 != null);
- if (_tripleNotEquals_7) {
+ EList _attributes_3 = relation.getAttributes();
+ for(final Attribute attribute_3 : _attributes_3) {
{
- EList _attributes_27 = relationAux_2.getAttributes();
- boolean _hasElements_13 = false;
- for(final Attribute atributoRelacaoMuitosParaMuitos : _attributes_27) {
- if (!_hasElements_13) {
- _hasElements_13 = true;
- } else {
- _builder.appendImmediate(",", "");
- }
- String _name_40 = atributoRelacaoMuitosParaMuitos.getName();
- _builder.append(_name_40);
- _builder.newLineIfNotEmpty();
- _builder.append("\t");
- {
- boolean _isIsKey_22 = atributoRelacaoMuitosParaMuitos.isIsKey();
- if (_isIsKey_22) {
- _builder.append("*");
- }
- }
+ boolean _isNullOrEmpty_2 = StringExtensions.isNullOrEmpty(attribute_3.getName());
+ boolean _not_3 = (!_isNullOrEmpty_2);
+ if (_not_3) {
+ _builder.append(", ");
+ String _name_6 = attribute_3.getName();
+ _builder.append(_name_6);
_builder.newLineIfNotEmpty();
}
}
}
}
+ _builder.append(")");
+ _builder.newLine();
+ _builder.newLine();
}
}
}
- if (_hasElements_12) {
- _builder.append("");
- }
}
- _builder.append("CHAVES REFERENCIAIS
");
+ _builder.append("
");
+ _builder.newLine();
+ _builder.append("
");
+ _builder.newLine();
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("
References
");
+ _builder.newLine();
+ _builder.append("
");
_builder.newLine();
{
- EList _relations_3 = modeloER.getRelations();
- for(final Relation relation : _relations_3) {
- {
- if (((Objects.equal(relation.getLeftEnding().getCardinality(), "(0:1)") || Objects.equal(relation.getLeftEnding().getCardinality(), "(1:1)")) && (Objects.equal(relation.getRightEnding().getCardinality(), "(0:N)") || Objects.equal(relation.getRightEnding().getCardinality(), "(1:N)")))) {
- {
- EList _entities_15 = modeloER.getEntities();
- for(final Entity entity_1 : _entities_15) {
- {
- boolean _equalsIgnoreCase_10 = entity_1.getName().equalsIgnoreCase(relation.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_10) {
- {
- EList _attributes_28 = entity_1.getAttributes();
- for(final Attribute attribute_1 : _attributes_28) {
- {
- boolean _isIsKey_23 = attribute_1.isIsKey();
- if (_isIsKey_23) {
- _builder.append("Atributo \"");
- String _name_41 = attribute_1.getName();
- _builder.append(_name_41);
- _builder.append("\" EM \"");
- String _string_4 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_4);
- _builder.append("\" REFERENCIA \"");
- String _string_5 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_5);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_16 = entity_1.getIs();
- for(final Entity parent_5 : _is_16) {
- {
- EList _is_17 = entity_1.getIs();
- boolean _tripleNotEquals_8 = (_is_17 != null);
- if (_tripleNotEquals_8) {
- {
- EList _attributes_29 = parent_5.getAttributes();
- for(final Attribute chavePai_5 : _attributes_29) {
- {
- boolean _isIsKey_24 = chavePai_5.isIsKey();
- if (_isIsKey_24) {
- _builder.append("Atributo \"");
- String _name_42 = chavePai_5.getName();
- _builder.append(_name_42);
- String _string_6 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_6);
- _builder.append("\" EM \"");
- String _string_7 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_7);
- _builder.append("\" REFERENCIA \"");
- String _name_43 = parent_5.getName();
- _builder.append(_name_43);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- if (((Objects.equal(relation.getLeftEnding().getCardinality(), "(0:N)") || Objects.equal(relation.getLeftEnding().getCardinality(), "(1:N)")) && (Objects.equal(relation.getRightEnding().getCardinality(), "(0:1)") || Objects.equal(relation.getRightEnding().getCardinality(), "(1:1)")))) {
- {
- EList _entities_16 = modeloER.getEntities();
- for(final Entity entity_2 : _entities_16) {
- {
- boolean _equalsIgnoreCase_11 = entity_2.getName().equalsIgnoreCase(relation.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_11) {
- {
- EList _attributes_30 = entity_2.getAttributes();
- for(final Attribute attribute_2 : _attributes_30) {
- {
- boolean _isIsKey_25 = attribute_2.isIsKey();
- if (_isIsKey_25) {
- _builder.append("Atributo \"");
- String _name_44 = attribute_2.getName();
- _builder.append(_name_44);
- _builder.append("\" EM \"");
- String _string_8 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_8);
- _builder.append("\" REFERENCIA \"");
- String _string_9 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_9);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_18 = entity_2.getIs();
- for(final Entity parent_6 : _is_18) {
- {
- EList _is_19 = entity_2.getIs();
- boolean _tripleNotEquals_9 = (_is_19 != null);
- if (_tripleNotEquals_9) {
- {
- EList _attributes_31 = parent_6.getAttributes();
- for(final Attribute chavePai_6 : _attributes_31) {
- {
- boolean _isIsKey_26 = chavePai_6.isIsKey();
- if (_isIsKey_26) {
- _builder.append("Atributo \"");
- String _name_45 = chavePai_6.getName();
- _builder.append(_name_45);
- String _string_10 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_10);
- _builder.append("\" EM \"");
- String _string_11 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_11);
- _builder.append("\" REFERENCIA \"");
- String _name_46 = parent_6.getName();
- _builder.append(_name_46);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- {
- if (((Objects.equal(relation.getLeftEnding().getCardinality(), "(0:N)") || Objects.equal(relation.getLeftEnding().getCardinality(), "(1:N)")) && (Objects.equal(relation.getRightEnding().getCardinality(), "(0:1)") || Objects.equal(relation.getRightEnding().getCardinality(), "(1:1)")))) {
- {
- EList _entities_17 = modeloER.getEntities();
- for(final Entity entity_3 : _entities_17) {
- {
- if ((entity_3.getName().equalsIgnoreCase(relation.getRightEnding().getTarget().toString()) && (!Objects.equal(relation.getLeftEnding().getTarget().toString(), relation.getRightEnding().getTarget().toString())))) {
- {
- EList _attributes_32 = entity_3.getAttributes();
- for(final Attribute attribute_3 : _attributes_32) {
- {
- boolean _isIsKey_27 = attribute_3.isIsKey();
- if (_isIsKey_27) {
- _builder.append("Atributo \"");
- String _name_47 = attribute_3.getName();
- _builder.append(_name_47);
- _builder.append("\" EM \"");
- String _string_12 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_12);
- _builder.append("\" REFERENCIA \"");
- String _string_13 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_13);
- _builder.append("\"");
- }
- }
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- {
- if (((Objects.equal(relation.getLeftEnding().getCardinality(), "(0:N)") || Objects.equal(relation.getLeftEnding().getCardinality(), "(1:N)")) && (Objects.equal(relation.getRightEnding().getCardinality(), "(0:N)") || Objects.equal(relation.getRightEnding().getCardinality(), "(1:N)")))) {
- {
- EList _entities_18 = modeloER.getEntities();
- for(final Entity entity_4 : _entities_18) {
- {
- boolean _equalsIgnoreCase_12 = entity_4.getName().equalsIgnoreCase(relation.getLeftEnding().getTarget().toString());
- if (_equalsIgnoreCase_12) {
- {
- EList _attributes_33 = entity_4.getAttributes();
- for(final Attribute attribute_4 : _attributes_33) {
- {
- boolean _isIsKey_28 = attribute_4.isIsKey();
- if (_isIsKey_28) {
- {
- if (((relation.getName() != null) && (relation.getName() != ""))) {
- _builder.append("Atributo \"");
- String _name_48 = attribute_4.getName();
- _builder.append(_name_48);
- _builder.append("\" EM \"");
- String _name_49 = relation.getName();
- _builder.append(_name_49);
- _builder.append("\" REFERENCIA \"");
- String _string_14 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_14);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- } else {
- _builder.append("Atributo \"");
- String _name_50 = attribute_4.getName();
- _builder.append(_name_50);
- _builder.append("\" EM \"");
- String _string_15 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_15);
- String _string_16 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_16);
- _builder.append("\" REFERENCIA \"");
- String _string_17 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_17);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- {
- boolean _equalsIgnoreCase_13 = entity_4.getName().equalsIgnoreCase(relation.getRightEnding().getTarget().toString());
- if (_equalsIgnoreCase_13) {
- {
- EList _attributes_34 = entity_4.getAttributes();
- for(final Attribute attribute_5 : _attributes_34) {
- {
- boolean _isIsKey_29 = attribute_5.isIsKey();
- if (_isIsKey_29) {
- {
- if (((relation.getName() != null) && (relation.getName() != ""))) {
- _builder.append("Atributo \"");
- String _name_51 = attribute_5.getName();
- _builder.append(_name_51);
- _builder.append("\" EM \"");
- String _name_52 = relation.getName();
- _builder.append(_name_52);
- _builder.append("\" REFERENCIA \"");
- String _string_18 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_18);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- } else {
- _builder.append("Atributo \"");
- String _name_53 = attribute_5.getName();
- _builder.append(_name_53);
- _builder.append("\" EM \"");
- String _string_19 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_19);
- String _string_20 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_20);
- _builder.append("\" REFERENCIA \"");
- String _string_21 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_21);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- {
- EList _is_20 = entity_4.getIs();
- for(final Entity parent_7 : _is_20) {
- {
- EList _is_21 = entity_4.getIs();
- boolean _tripleNotEquals_10 = (_is_21 != null);
- if (_tripleNotEquals_10) {
- {
- EList _attributes_35 = parent_7.getAttributes();
- boolean _hasElements_14 = false;
- for(final Attribute chavePai_7 : _attributes_35) {
- if (!_hasElements_14) {
- _hasElements_14 = true;
- } else {
- _builder.appendImmediate(", ", "");
- }
- {
- boolean _isIsKey_30 = chavePai_7.isIsKey();
- if (_isIsKey_30) {
- {
- if (((relation.getName() != null) && (relation.getName() != ""))) {
- _builder.append("Atributo \"");
- String _name_54 = chavePai_7.getName();
- _builder.append(_name_54);
- String _string_22 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_22);
- _builder.append("\" EM \"");
- String _name_55 = relation.getName();
- _builder.append(_name_55);
- _builder.append("\" REFERENCIA \"");
- String _string_23 = parent_7.getName().toString();
- _builder.append(_string_23);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- _builder.append("Atributo \"");
- String _name_56 = chavePai_7.getName();
- _builder.append(_name_56);
- String _string_24 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_24);
- _builder.append("\" EM \"");
- String _name_57 = relation.getName();
- _builder.append(_name_57);
- _builder.append("\" REFERENCIA \"");
- String _string_25 = parent_7.getName().toString();
- _builder.append(_string_25);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- } else {
- _builder.append("Atributo \"");
- String _name_58 = chavePai_7.getName();
- _builder.append(_name_58);
- String _string_26 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_26);
- _builder.append("\" EM \"");
- String _string_27 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_27);
- String _string_28 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_28);
- _builder.append("\" REFERENCIA \"");
- String _string_29 = parent_7.getName().toString();
- _builder.append(_string_29);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- _builder.append("Atributo \"");
- String _name_59 = chavePai_7.getName();
- _builder.append(_name_59);
- String _string_30 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_30);
- _builder.append("\" EM \"");
- String _string_31 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_31);
- String _string_32 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_32);
- _builder.append("\" REFERENCIA \"");
- String _string_33 = parent_7.getName().toString();
- _builder.append(_string_33);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- {
- if (((Objects.equal(relation.getLeftEnding().getCardinality(), "(0:1)") || Objects.equal(relation.getLeftEnding().getCardinality(), "(1:1)")) && (Objects.equal(relation.getRightEnding().getCardinality(), "(0:1)") || Objects.equal(relation.getRightEnding().getCardinality(), "(1:1)")))) {
- {
- EList _entities_19 = modeloER.getEntities();
- for(final Entity entity_5 : _entities_19) {
- {
- if ((entity_5.getName().equalsIgnoreCase(relation.getLeftEnding().getTarget().toString()) && entity_5.getName().equalsIgnoreCase(relation.getRightEnding().getTarget().toString()))) {
- {
- EList _attributes_36 = entity_5.getAttributes();
- for(final Attribute attribute_6 : _attributes_36) {
- {
- boolean _isIsKey_31 = attribute_6.isIsKey();
- if (_isIsKey_31) {
- _builder.append("Atributo \"");
- String _name_60 = relation.getName();
- _builder.append(_name_60);
- _builder.append("\" EM \"");
- String _string_34 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_34);
- _builder.append("\" REFERENCIA \"");
- String _string_35 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_35);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- {
- EList _is_22 = entity_5.getIs();
- for(final Entity parent_8 : _is_22) {
- {
- EList _is_23 = entity_5.getIs();
- boolean _tripleNotEquals_11 = (_is_23 != null);
- if (_tripleNotEquals_11) {
- {
- EList _attributes_37 = parent_8.getAttributes();
- for(final Attribute chavePai_8 : _attributes_37) {
- {
- boolean _isIsKey_32 = chavePai_8.isIsKey();
- if (_isIsKey_32) {
- _builder.append("Atributo \"");
- String _name_61 = relation.getName();
- _builder.append(_name_61);
- _builder.append("\" EM \"");
- String _string_36 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_36);
- _builder.append("\" REFERENCIA \"");
- String _name_62 = parent_8.getName();
- _builder.append(_name_62);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- if ((entity_5.getName().equalsIgnoreCase(relation.getLeftEnding().getTarget().toString()) && (!entity_5.getName().equalsIgnoreCase(relation.getRightEnding().getTarget().toString())))) {
- {
- EList _attributes_38 = entity_5.getAttributes();
- for(final Attribute attribute_7 : _attributes_38) {
- {
- boolean _isIsKey_33 = attribute_7.isIsKey();
- if (_isIsKey_33) {
- {
- if (((relation.getName() == null) || Objects.equal(relation.getName(), ""))) {
- _builder.append("Atributo \"");
- String _name_63 = attribute_7.getName();
- _builder.append(_name_63);
- _builder.append("\" EM \"");
- String _string_37 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_37);
- _builder.append("\" REFERENCIA \"");
- String _string_38 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_38);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- } else {
- _builder.append("Atributo \"");
- String _name_64 = attribute_7.getName();
- _builder.append(_name_64);
- _builder.append("\" EM \"");
- String _string_39 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_39);
- _builder.append("\" REFERENCIA \"");
- String _string_40 = relation.getLeftEnding().getTarget().toString();
- _builder.append(_string_40);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- {
- EList _is_24 = entity_5.getIs();
- for(final Entity parent_9 : _is_24) {
- {
- EList _is_25 = entity_5.getIs();
- boolean _tripleNotEquals_12 = (_is_25 != null);
- if (_tripleNotEquals_12) {
- {
- EList _attributes_39 = parent_9.getAttributes();
- for(final Attribute chavePai_9 : _attributes_39) {
- {
- boolean _isIsKey_34 = chavePai_9.isIsKey();
- if (_isIsKey_34) {
- _builder.append("Atributo \"");
- String _name_65 = chavePai_9.getName();
- _builder.append(_name_65);
- EObject _target_2 = relation.getLeftEnding().getTarget();
- _builder.append(_target_2);
- _builder.append("\" EM \"");
- String _string_41 = relation.getRightEnding().getTarget().toString();
- _builder.append(_string_41);
- _builder.append("\" REFERENCIA \"");
- String _name_66 = parent_9.getName();
- _builder.append(_name_66);
- _builder.append("\"");
- _builder.newLineIfNotEmpty();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
+ EList _relations_1 = modeloER.getRelations();
+ boolean _hasElements_2 = false;
+ for(final Relation relation_1 : _relations_1) {
+ if (!_hasElements_2) {
+ _hasElements_2 = true;
+ } else {
+ _builder.appendImmediate("", "");
}
+ String _name_7 = relation_1.getName();
+ _builder.append(_name_7);
+ _builder.append(" >>> ");
+ String _string = relation_1.getLeftEnding().getCardinality().toString();
+ _builder.append(_string);
+ _builder.append(" ");
+ EObject _target = relation_1.getLeftEnding().getTarget();
+ _builder.append(_target);
+ _builder.append(" relates ");
+ String _string_1 = relation_1.getRightEnding().getTarget().toString();
+ _builder.append(_string_1);
+ _builder.append(" ");
+ String _cardinality = relation_1.getRightEnding().getCardinality();
+ _builder.append(_cardinality);
+ _builder.newLineIfNotEmpty();
}
}
+ _builder.append("
");
+ _builder.newLine();
+ _builder.append("
");
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
fsa.generateFile(_plus_1, _builder);
}
}
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin
index 43e12be..11f116c 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/scoping/.ErDslScopeProvider.xtendbin differ
diff --git a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin
index d697d2b..f1356d5 100644
Binary files a/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin and b/org.xtext.unipampa.erdsl/xtend-gen/org/xtext/unipampa/erdsl/validation/.ErDslValidator.xtendbin differ