Merge branch 'develop' of https://github.com/Minres/RDL-Editor.git into develop

This commit is contained in:
Eyck Jentzsch 2017-09-19 18:32:02 +02:00
commit 93646a3ad0
68 changed files with 20392 additions and 13870 deletions

View File

@ -38,6 +38,7 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_2_1(), "rule__PropertyDefinition__Alternatives_3_2_1");
put(grammarAccess.getPropertyDefaultAccess().getAlternatives_2(), "rule__PropertyDefault__Alternatives_2");
put(grammarAccess.getComponentDefinitionAccess().getAlternatives_3(), "rule__ComponentDefinition__Alternatives_3");
put(grammarAccess.getInstantiationAccess().getAlternatives_0(), "rule__Instantiation__Alternatives_0");
put(grammarAccess.getRangeAccess().getAlternatives_1(), "rule__Range__Alternatives_1");
put(grammarAccess.getPropertyAssignmentAccess().getAlternatives(), "rule__PropertyAssignment__Alternatives");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getAlternatives(), "rule__ExplicitPropertyAssignment__Alternatives");
@ -49,6 +50,7 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getConcatElemAccess().getAlternatives(), "rule__ConcatElem__Alternatives");
put(grammarAccess.getPropertyRvalueConstantAccess().getAlternatives(), "rule__PropertyRvalueConstant__Alternatives");
put(grammarAccess.getEnumPropertyAccess().getAlternatives_0(), "rule__EnumProperty__Alternatives_0");
put(grammarAccess.getEnumInstanceTypeAccess().getAlternatives(), "rule__EnumInstanceType__Alternatives");
put(grammarAccess.getPropertyTypeNameAccess().getAlternatives(), "rule__PropertyTypeName__Alternatives");
put(grammarAccess.getPropertyComponentAccess().getAlternatives(), "rule__PropertyComponent__Alternatives");
put(grammarAccess.getComponentDefinitionTypeAccess().getAlternatives(), "rule__ComponentDefinitionType__Alternatives");
@ -56,6 +58,11 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getPropertyAccess().getAlternatives(), "rule__Property__Alternatives");
put(grammarAccess.getRValueConstantAccess().getAlternatives(), "rule__RValueConstant__Alternatives");
put(grammarAccess.getPropertyModifierAccess().getAlternatives(), "rule__PropertyModifier__Alternatives");
put(grammarAccess.getRootAccess().getGroup_1(), "rule__Root__Group_1__0");
put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0");
put(grammarAccess.getRootAccess().getGroup_3(), "rule__Root__Group_3__0");
put(grammarAccess.getRootAccess().getGroup_4(), "rule__Root__Group_4__0");
put(grammarAccess.getRootAccess().getGroup_5(), "rule__Root__Group_5__0");
put(grammarAccess.getIncludeAccess().getGroup(), "rule__Include__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup(), "rule__PropertyDefinition__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0(), "rule__PropertyDefinition__Group_3_0__0");
@ -71,11 +78,15 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getPropertyUsageAccess().getGroup(), "rule__PropertyUsage__Group__0");
put(grammarAccess.getPropertyUsageAccess().getGroup_3(), "rule__PropertyUsage__Group_3__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0");
put(grammarAccess.getNamedInstantiationAccess().getGroup(), "rule__NamedInstantiation__Group__0");
put(grammarAccess.getNamedInstantiationAccess().getGroup_2(), "rule__NamedInstantiation__Group_2__0");
put(grammarAccess.getNamedInstantiationAccess().getGroup_5(), "rule__NamedInstantiation__Group_5__0");
put(grammarAccess.getImmediateInstantiationAccess().getGroup(), "rule__ImmediateInstantiation__Group__0");
put(grammarAccess.getImmediateInstantiationAccess().getGroup_2(), "rule__ImmediateInstantiation__Group_2__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_2(), "rule__ComponentDefinition__Group_3_2__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_3(), "rule__ComponentDefinition__Group_3_3__0");
put(grammarAccess.getInstantiationAccess().getGroup(), "rule__Instantiation__Group__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0(), "rule__Instantiation__Group_0_0__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0_1(), "rule__Instantiation__Group_0_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_1(), "rule__Instantiation__Group_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_2(), "rule__Instantiation__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_3(), "rule__ComponentInstance__Group_3__0");
@ -107,11 +118,11 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getEnumPropertyAccess().getGroup_0_0(), "rule__EnumProperty__Group_0_0__0");
put(grammarAccess.getEnumPropertyAccess().getGroup_0_1(), "rule__EnumProperty__Group_0_1__0");
put(grammarAccess.getRootAccess().getIncludesAssignment_0(), "rule__Root__IncludesAssignment_0");
put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1(), "rule__Root__ComponentDefinitionsAssignment_1");
put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2(), "rule__Root__EnumDefinitionsAssignment_2");
put(grammarAccess.getRootAccess().getNamedInstantiationsAssignment_3(), "rule__Root__NamedInstantiationsAssignment_3");
put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4(), "rule__Root__PropertyAssignmentsAssignment_4");
put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5(), "rule__Root__PropertyDefinitionsAssignment_5");
put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1_0(), "rule__Root__ComponentDefinitionsAssignment_1_0");
put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2_0(), "rule__Root__EnumDefinitionsAssignment_2_0");
put(grammarAccess.getRootAccess().getInstantiationsAssignment_3_0(), "rule__Root__InstantiationsAssignment_3_0");
put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4_0(), "rule__Root__PropertyAssignmentsAssignment_4_0");
put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5_0(), "rule__Root__PropertyDefinitionsAssignment_5_0");
put(grammarAccess.getIncludeAccess().getImportURIAssignment_1(), "rule__Include__ImportURIAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getNameAssignment_1(), "rule__PropertyDefinition__NameAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_0_2(), "rule__PropertyDefinition__TypeAssignment_3_0_2");
@ -137,28 +148,25 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_3_1(), "rule__PropertyUsage__ComponentsAssignment_3_1");
put(grammarAccess.getComponentDefinitionAccess().getTypeAssignment_0(), "rule__ComponentDefinition__TypeAssignment_0");
put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1");
put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0");
put(grammarAccess.getComponentDefinitionAccess().getNamedInstantiationsAssignment_3_1(), "rule__ComponentDefinition__NamedInstantiationsAssignment_3_1");
put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2");
put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3");
put(grammarAccess.getComponentDefinitionAccess().getImmediateInstantiationAssignment_5(), "rule__ComponentDefinition__ImmediateInstantiationAssignment_5");
put(grammarAccess.getNamedInstantiationAccess().getExternalAssignment_0(), "rule__NamedInstantiation__ExternalAssignment_0");
put(grammarAccess.getNamedInstantiationAccess().getInternalAssignment_1(), "rule__NamedInstantiation__InternalAssignment_1");
put(grammarAccess.getNamedInstantiationAccess().getAliasAssignment_2_1(), "rule__NamedInstantiation__AliasAssignment_2_1");
put(grammarAccess.getNamedInstantiationAccess().getComponentAssignment_3(), "rule__NamedInstantiation__ComponentAssignment_3");
put(grammarAccess.getNamedInstantiationAccess().getComponentInstancesAssignment_4(), "rule__NamedInstantiation__ComponentInstancesAssignment_4");
put(grammarAccess.getNamedInstantiationAccess().getComponentInstancesAssignment_5_1(), "rule__NamedInstantiation__ComponentInstancesAssignment_5_1");
put(grammarAccess.getImmediateInstantiationAccess().getExternalAssignment_0(), "rule__ImmediateInstantiation__ExternalAssignment_0");
put(grammarAccess.getImmediateInstantiationAccess().getComponentInstancesAssignment_1(), "rule__ImmediateInstantiation__ComponentInstancesAssignment_1");
put(grammarAccess.getImmediateInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__ImmediateInstantiation__ComponentInstancesAssignment_2_1");
put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0_0");
put(grammarAccess.getComponentDefinitionAccess().getInstantiationsAssignment_3_1_0(), "rule__ComponentDefinition__InstantiationsAssignment_3_1_0");
put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2_0(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2_0");
put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3_0(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_0_0(), "rule__Instantiation__InstanceTypeAssignment_0_0_0");
put(grammarAccess.getInstantiationAccess().getAliasAssignment_0_0_1_1(), "rule__Instantiation__AliasAssignment_0_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentRefAssignment_0_0_2(), "rule__Instantiation__ComponentRefAssignment_0_0_2");
put(grammarAccess.getInstantiationAccess().getComponentAssignment_0_1_0(), "rule__Instantiation__ComponentAssignment_0_1_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_1_1(), "rule__Instantiation__InstanceTypeAssignment_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_1(), "rule__Instantiation__ComponentInstancesAssignment_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__Instantiation__ComponentInstancesAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getNameAssignment_0(), "rule__ComponentInstance__NameAssignment_0");
put(grammarAccess.getComponentInstanceAccess().getRangeAssignment_1(), "rule__ComponentInstance__RangeAssignment_1");
put(grammarAccess.getComponentInstanceAccess().getResetAssignment_2_1(), "rule__ComponentInstance__ResetAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getAddressAssignment_3_1(), "rule__ComponentInstance__AddressAssignment_3_1");
put(grammarAccess.getComponentInstanceAccess().getAddrIncAssignment_4_1(), "rule__ComponentInstance__AddrIncAssignment_4_1");
put(grammarAccess.getComponentInstanceAccess().getAddrModAssignment_5_1(), "rule__ComponentInstance__AddrModAssignment_5_1");
put(grammarAccess.getRangeAccess().getStartAssignment_1_0_0(), "rule__Range__StartAssignment_1_0_0");
put(grammarAccess.getRangeAccess().getEndAssignment_1_0_2(), "rule__Range__EndAssignment_1_0_2");
put(grammarAccess.getRangeAccess().getLeftAssignment_1_0_0(), "rule__Range__LeftAssignment_1_0_0");
put(grammarAccess.getRangeAccess().getRightAssignment_1_0_2(), "rule__Range__RightAssignment_1_0_2");
put(grammarAccess.getRangeAccess().getSizeAssignment_1_1(), "rule__Range__SizeAssignment_1_1");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getModifierAssignment_0_0(), "rule__ExplicitPropertyAssignment__ModifierAssignment_0_0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_0_1(), "rule__ExplicitPropertyAssignment__NameAssignment_0_1");
@ -198,6 +206,8 @@ public class RDLParser extends AbstractContentAssistParser {
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_0_2(), "rule__EnumProperty__ValueAssignment_0_0_2");
put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_1_0(), "rule__EnumProperty__NameAssignment_0_1_0");
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_1_2(), "rule__EnumProperty__ValueAssignment_0_1_2");
put(grammarAccess.getEnumInstanceTypeAccess().getEXTERNALAssignment_0(), "rule__EnumInstanceType__EXTERNALAssignment_0");
put(grammarAccess.getEnumInstanceTypeAccess().getINTERNALAssignment_1(), "rule__EnumInstanceType__INTERNALAssignment_1");
}
};
}

View File

@ -4,13 +4,13 @@
'->'=131
'.'=132
':'=130
';'=117
';'=113
'='=119
'@'=125
'UNDEFINED'=97
'['=128
']'=129
'`include'=113
'`include'=114
'accesswidth'=81
'activehigh'=60
'activelow'=61
@ -78,7 +78,7 @@
'overflow'=44
'posedge'=108
'precedence'=85
'property'=114
'property'=115
'r'=102
'rclr'=26
'ref'=19
@ -118,9 +118,9 @@
'woset'=28
'wr'=101
'xored'=42
'{'=115
'{'=116
'|'=122
'}'=116
'}'=117
RULE_ESCAPE_JSP=10
RULE_ESCAPE_ORDL=11
RULE_ID=5

View File

@ -2282,11 +2282,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__113;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:112:8: ( '`include' )
// InternalRDL.g:112:10: '`include'
// InternalRDL.g:112:8: ( ';' )
// InternalRDL.g:112:10: ';'
{
match("`include");
match(';');
}
@ -2303,10 +2302,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__114;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:113:8: ( 'property' )
// InternalRDL.g:113:10: 'property'
// InternalRDL.g:113:8: ( '`include' )
// InternalRDL.g:113:10: '`include'
{
match("property");
match("`include");
}
@ -2324,10 +2323,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__115;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:114:8: ( '{' )
// InternalRDL.g:114:10: '{'
// InternalRDL.g:114:8: ( 'property' )
// InternalRDL.g:114:10: 'property'
{
match('{');
match("property");
}
@ -2344,10 +2344,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__116;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:115:8: ( '}' )
// InternalRDL.g:115:10: '}'
// InternalRDL.g:115:8: ( '{' )
// InternalRDL.g:115:10: '{'
{
match('}');
match('{');
}
@ -2364,10 +2364,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__117;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:116:8: ( ';' )
// InternalRDL.g:116:10: ';'
// InternalRDL.g:116:8: ( '}' )
// InternalRDL.g:116:10: '}'
{
match(';');
match('}');
}
@ -2733,10 +2733,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7642:9: ( ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalRDL.g:7642:11: ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalRDL.g:7882:9: ( ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalRDL.g:7882:11: ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
// InternalRDL.g:7642:11: ( '\\\\' )?
// InternalRDL.g:7882:11: ( '\\\\' )?
int alt1=2;
int LA1_0 = input.LA(1);
@ -2745,7 +2745,7 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt1) {
case 1 :
// InternalRDL.g:7642:11: '\\\\'
// InternalRDL.g:7882:11: '\\\\'
{
match('\\');
@ -2763,7 +2763,7 @@ public class InternalRDLLexer extends Lexer {
recover(mse);
throw mse;}
// InternalRDL.g:7642:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalRDL.g:7882:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@ -2812,10 +2812,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7644:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalRDL.g:7644:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalRDL.g:7884:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalRDL.g:7884:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
// InternalRDL.g:7644:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalRDL.g:7884:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt3=0;
loop3:
do {
@ -2869,12 +2869,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7646:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalRDL.g:7646:19: '/*' ( options {greedy=false; } : . )* '*/'
// InternalRDL.g:7886:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalRDL.g:7886:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
// InternalRDL.g:7646:24: ( options {greedy=false; } : . )*
// InternalRDL.g:7886:24: ( options {greedy=false; } : . )*
loop4:
do {
int alt4=2;
@ -2899,7 +2899,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt4) {
case 1 :
// InternalRDL.g:7646:52: .
// InternalRDL.g:7886:52: .
{
matchAny();
@ -2929,12 +2929,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7648:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalRDL.g:7648:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
// InternalRDL.g:7888:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalRDL.g:7888:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
// InternalRDL.g:7648:24: (~ ( ( '\\n' | '\\r' ) ) )*
// InternalRDL.g:7888:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop5:
do {
int alt5=2;
@ -2947,7 +2947,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt5) {
case 1 :
// InternalRDL.g:7648:24: ~ ( ( '\\n' | '\\r' ) )
// InternalRDL.g:7888: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();
@ -2967,7 +2967,7 @@ public class InternalRDLLexer extends Lexer {
}
} while (true);
// InternalRDL.g:7648:40: ( ( '\\r' )? '\\n' )?
// InternalRDL.g:7888:40: ( ( '\\r' )? '\\n' )?
int alt7=2;
int LA7_0 = input.LA(1);
@ -2976,9 +2976,9 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt7) {
case 1 :
// InternalRDL.g:7648:41: ( '\\r' )? '\\n'
// InternalRDL.g:7888:41: ( '\\r' )? '\\n'
{
// InternalRDL.g:7648:41: ( '\\r' )?
// InternalRDL.g:7888:41: ( '\\r' )?
int alt6=2;
int LA6_0 = input.LA(1);
@ -2987,7 +2987,7 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt6) {
case 1 :
// InternalRDL.g:7648:41: '\\r'
// InternalRDL.g:7888:41: '\\r'
{
match('\r');
@ -3019,12 +3019,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ESCAPE_JSP;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7650:17: ( '<%' ( options {greedy=false; } : . )* '%>' )
// InternalRDL.g:7650:19: '<%' ( options {greedy=false; } : . )* '%>'
// InternalRDL.g:7890:17: ( '<%' ( options {greedy=false; } : . )* '%>' )
// InternalRDL.g:7890:19: '<%' ( options {greedy=false; } : . )* '%>'
{
match("<%");
// InternalRDL.g:7650:24: ( options {greedy=false; } : . )*
// InternalRDL.g:7890:24: ( options {greedy=false; } : . )*
loop8:
do {
int alt8=2;
@ -3049,7 +3049,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt8) {
case 1 :
// InternalRDL.g:7650:52: .
// InternalRDL.g:7890:52: .
{
matchAny();
@ -3079,11 +3079,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ESCAPE_ORDL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7652:18: ( '(' ( options {greedy=false; } : . )* ')' )
// InternalRDL.g:7652:20: '(' ( options {greedy=false; } : . )* ')'
// InternalRDL.g:7892:18: ( '(' ( options {greedy=false; } : . )* ')' )
// InternalRDL.g:7892:20: '(' ( options {greedy=false; } : . )* ')'
{
match('(');
// InternalRDL.g:7652:24: ( options {greedy=false; } : . )*
// InternalRDL.g:7892:24: ( options {greedy=false; } : . )*
loop9:
do {
int alt9=2;
@ -3099,7 +3099,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt9) {
case 1 :
// InternalRDL.g:7652:52: .
// InternalRDL.g:7892:52: .
{
matchAny();
@ -3128,17 +3128,17 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_NUM;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7654:10: ( ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ ) )
// InternalRDL.g:7654:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
// InternalRDL.g:7894:10: ( ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ ) )
// InternalRDL.g:7894:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
{
// InternalRDL.g:7654:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
// InternalRDL.g:7894:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
int alt20=6;
alt20 = dfa20.predict(input);
switch (alt20) {
case 1 :
// InternalRDL.g:7654:13: ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+
// InternalRDL.g:7894:13: ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+
{
// InternalRDL.g:7654:13: ( '0' .. '9' )+
// InternalRDL.g:7894:13: ( '0' .. '9' )+
int cnt10=0;
loop10:
do {
@ -3152,7 +3152,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt10) {
case 1 :
// InternalRDL.g:7654:14: '0' .. '9'
// InternalRDL.g:7894:14: '0' .. '9'
{
matchRange('0','9');
@ -3170,7 +3170,7 @@ public class InternalRDLLexer extends Lexer {
match("'b");
// InternalRDL.g:7654:31: ( '0' | '1' | '_' )+
// InternalRDL.g:7894:31: ( '0' | '1' | '_' )+
int cnt11=0;
loop11:
do {
@ -3212,9 +3212,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 2 :
// InternalRDL.g:7654:46: ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+
// InternalRDL.g:7894:46: ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+
{
// InternalRDL.g:7654:46: ( '0' .. '9' )+
// InternalRDL.g:7894:46: ( '0' .. '9' )+
int cnt12=0;
loop12:
do {
@ -3228,7 +3228,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt12) {
case 1 :
// InternalRDL.g:7654:47: '0' .. '9'
// InternalRDL.g:7894:47: '0' .. '9'
{
matchRange('0','9');
@ -3246,7 +3246,7 @@ public class InternalRDLLexer extends Lexer {
match("'o");
// InternalRDL.g:7654:64: ( '0' .. '7' | '_' )+
// InternalRDL.g:7894:64: ( '0' .. '7' | '_' )+
int cnt13=0;
loop13:
do {
@ -3288,9 +3288,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 3 :
// InternalRDL.g:7654:80: ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
// InternalRDL.g:7894:80: ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
{
// InternalRDL.g:7654:80: ( '0' .. '9' )+
// InternalRDL.g:7894:80: ( '0' .. '9' )+
int cnt14=0;
loop14:
do {
@ -3304,7 +3304,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt14) {
case 1 :
// InternalRDL.g:7654:81: '0' .. '9'
// InternalRDL.g:7894:81: '0' .. '9'
{
matchRange('0','9');
@ -3322,7 +3322,7 @@ public class InternalRDLLexer extends Lexer {
match("'h");
// InternalRDL.g:7654:98: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
// InternalRDL.g:7894:98: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
int cnt15=0;
loop15:
do {
@ -3364,9 +3364,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 4 :
// InternalRDL.g:7654:132: ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+
// InternalRDL.g:7894:132: ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+
{
// InternalRDL.g:7654:132: ( '0' .. '9' )+
// InternalRDL.g:7894:132: ( '0' .. '9' )+
int cnt16=0;
loop16:
do {
@ -3380,7 +3380,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt16) {
case 1 :
// InternalRDL.g:7654:133: '0' .. '9'
// InternalRDL.g:7894:133: '0' .. '9'
{
matchRange('0','9');
@ -3398,7 +3398,7 @@ public class InternalRDLLexer extends Lexer {
match("'d");
// InternalRDL.g:7654:150: ( '0' .. '9' | '_' )+
// InternalRDL.g:7894:150: ( '0' .. '9' | '_' )+
int cnt17=0;
loop17:
do {
@ -3440,11 +3440,11 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 5 :
// InternalRDL.g:7654:166: '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
// InternalRDL.g:7894:166: '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
{
match("0x");
// InternalRDL.g:7654:171: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
// InternalRDL.g:7894:171: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
int cnt18=0;
loop18:
do {
@ -3486,9 +3486,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 6 :
// InternalRDL.g:7654:201: ( '0' .. '9' )+
// InternalRDL.g:7894:201: ( '0' .. '9' )+
{
// InternalRDL.g:7654:201: ( '0' .. '9' )+
// InternalRDL.g:7894:201: ( '0' .. '9' )+
int cnt19=0;
loop19:
do {
@ -3502,7 +3502,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt19) {
case 1 :
// InternalRDL.g:7654:202: '0' .. '9'
// InternalRDL.g:7894:202: '0' .. '9'
{
matchRange('0','9');
@ -3540,11 +3540,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_STR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:7656:10: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
// InternalRDL.g:7656:12: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
// InternalRDL.g:7896:10: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
// InternalRDL.g:7896:12: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
// InternalRDL.g:7656:16: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
// InternalRDL.g:7896:16: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
loop21:
do {
int alt21=3;
@ -3560,7 +3560,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt21) {
case 1 :
// InternalRDL.g:7656:17: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
// InternalRDL.g:7896:17: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
{
match('\\');
if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@ -3576,7 +3576,7 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 2 :
// InternalRDL.g:7656:62: ~ ( ( '\\\\' | '\"' ) )
// InternalRDL.g:7896:62: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@ -4593,7 +4593,7 @@ public class InternalRDLLexer extends Lexer {
this.transition = DFA20_transition;
}
public String getDescription() {
return "7654:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )";
return "7894:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )";
}
}
static final String DFA22_eotS =
@ -4605,11 +4605,11 @@ public class InternalRDLLexer extends Lexer {
static final String DFA22_maxS =
"\1\175\1\171\1\165\1\162\1\163\1\172\1\165\1\157\1\172\1\167\1\156\1\166\1\157\1\160\1\170\2\163\1\156\1\171\1\162\1\116\21\uffff\1\57\4\uffff\1\162\1\156\1\172\1\141\1\156\1\164\1\155\1\172\1\170\1\156\1\164\1\147\1\151\1\144\1\154\1\142\1\144\1\171\1\164\1\163\1\166\1\154\1\172\1\uffff\1\145\2\154\1\163\1\156\1\163\2\172\1\uffff\1\172\1\154\1\164\2\145\1\162\2\165\1\157\1\162\1\165\2\164\1\142\1\166\1\142\1\163\1\144\1\162\1\165\1\160\1\157\1\163\1\104\2\uffff\1\151\1\143\1\156\1\147\1\145\1\157\1\143\1\uffff\1\162\1\143\1\165\1\142\1\145\1\uffff\1\164\1\145\1\163\1\154\1\150\1\145\1\144\1\162\1\172\1\147\1\151\1\145\1\156\1\151\1\145\2\172\1\145\1\164\1\144\1\162\1\uffff\1\154\1\163\1\154\1\143\1\162\1\141\1\164\1\154\1\145\1\172\2\uffff\1\145\1\154\1\156\1\141\1\uffff\1\164\2\162\1\144\1\162\1\145\1\156\1\160\1\151\1\143\1\145\1\157\1\142\1\155\1\145\1\164\1\60\1\145\1\60\1\153\4\145\1\143\1\160\1\145\1\105\1\156\1\153\1\141\1\154\1\172\1\144\1\143\1\145\1\172\1\162\1\145\2\172\1\144\1\164\2\145\1\156\1\147\1\155\1\uffff\1\156\1\163\1\164\1\144\1\143\1\166\1\163\2\151\1\154\2\uffff\1\164\1\172\1\163\1\172\1\144\1\145\1\141\2\172\1\165\1\164\1\162\1\164\1\uffff\1\164\1\162\1\141\1\163\2\172\1\162\2\172\1\146\1\144\1\164\1\157\1\146\1\153\1\170\1\144\1\154\1\172\1\162\1\154\1\172\1\154\2\172\1\162\1\163\2\172\2\145\1\144\1\106\1\147\1\171\1\154\1\145\1\172\1\uffff\2\172\1\144\1\uffff\1\141\1\162\2\uffff\1\147\1\151\1\141\2\144\1\145\1\141\1\163\1\155\1\172\1\145\2\172\1\145\1\163\1\154\1\144\1\151\1\172\1\uffff\1\145\1\uffff\2\172\1\154\1\uffff\1\151\2\141\1\150\1\uffff\1\154\1\157\1\145\4\172\1\142\1\153\1\141\1\156\2\uffff\1\156\1\151\1\141\2\uffff\1\154\1\172\1\145\1\143\1\156\1\137\1\172\1\164\2\145\1\uffff\1\156\1\145\1\uffff\1\172\2\uffff\1\146\1\150\2\uffff\1\144\1\162\1\147\1\111\3\172\1\160\3\uffff\1\172\1\164\1\172\1\145\1\143\1\156\1\147\1\151\1\172\1\160\1\163\1\145\1\uffff\1\162\2\uffff\1\154\1\167\1\145\1\164\1\147\1\151\1\uffff\1\164\1\162\1\151\2\uffff\1\151\1\144\1\154\1\164\1\162\1\164\1\155\1\163\4\uffff\1\154\1\172\1\163\2\141\1\144\1\154\1\157\1\uffff\1\162\1\164\1\145\1\162\1\uffff\1\142\2\172\1\141\1\145\1\uffff\1\154\1\157\1\145\1\164\1\145\1\116\1\uffff\1\151\1\uffff\1\151\1\uffff\1\165\1\170\1\uffff\1\145\1\uffff\1\172\1\153\1\172\1\145\1\141\1\uffff\1\172\1\151\1\156\1\172\1\151\1\157\1\151\1\172\1\150\1\156\1\147\1\172\1\145\1\144\1\147\1\164\2\165\1\145\1\172\1\160\1\164\1\145\1\uffff\1\153\1\142\1\154\1\164\1\165\1\167\2\172\1\156\1\145\1\165\2\uffff\1\154\1\156\1\157\1\154\1\156\1\171\1\172\1\105\1\164\1\144\1\154\1\164\1\172\1\uffff\1\171\1\uffff\1\172\1\156\1\uffff\1\156\1\164\1\uffff\1\147\1\167\1\144\1\uffff\2\172\1\156\1\172\1\uffff\1\163\1\164\1\156\1\150\1\145\1\162\1\163\1\uffff\1\141\3\172\1\154\1\172\1\150\1\145\1\172\2\uffff\1\164\2\163\1\172\1\144\1\167\1\144\1\143\1\172\1\uffff\1\104\1\172\1\164\1\163\1\142\1\uffff\1\172\1\uffff\1\172\1\147\1\172\1\150\1\172\1\164\2\uffff\1\141\1\uffff\1\145\1\150\3\172\1\141\1\150\1\162\3\uffff\1\145\1\uffff\2\172\1\uffff\1\172\1\145\1\172\1\uffff\1\151\2\172\1\145\1\uffff\1\172\1\uffff\1\150\1\145\1\165\2\uffff\1\172\1\uffff\1\172\1\uffff\1\150\1\154\1\164\1\172\3\uffff\1\164\1\157\1\145\1\172\3\uffff\1\164\1\uffff\1\141\2\uffff\1\172\1\uffff\2\172\1\163\2\uffff\3\172\1\uffff\1\145\1\154\1\172\1\uffff\1\172\1\156\3\uffff\1\172\3\uffff\1\172\1\144\2\uffff\1\172\2\uffff\1\172\2\uffff";
static final String DFA22_acceptS =
"\25\uffff\1\146\1\150\1\151\1\152\1\154\1\157\1\161\1\162\1\163\1\164\1\165\1\166\1\167\1\170\1\171\1\174\1\175\1\uffff\1\u0080\1\u0081\1\u0082\1\u0083\27\uffff\1\133\10\uffff\1\134\30\uffff\1\176\1\177\7\uffff\1\107\5\uffff\1\135\25\uffff\1\131\12\uffff\1\22\1\132\4\uffff\1\110\60\uffff\1\12\12\uffff\1\5\1\10\15\uffff\1\23\46\uffff\1\24\3\uffff\1\55\2\uffff\1\13\1\125\23\uffff\1\16\1\uffff\1\17\3\uffff\1\14\4\uffff\1\66\13\uffff\1\124\1\34\3\uffff\1\65\1\36\12\uffff\1\172\2\uffff\1\54\1\uffff\1\53\1\116\2\uffff\1\127\1\153\10\uffff\1\25\1\30\1\31\14\uffff\1\160\1\uffff\1\35\1\56\6\uffff\1\44\3\uffff\1\7\1\130\10\uffff\1\20\1\21\1\26\1\27\10\uffff\1\37\4\uffff\1\115\5\uffff\1\144\6\uffff\1\1\1\uffff\1\32\1\uffff\1\11\2\uffff\1\52\1\uffff\1\2\5\uffff\1\51\27\uffff\1\121\13\uffff\1\113\1\117\15\uffff\1\142\1\uffff\1\3\2\uffff\1\4\2\uffff\1\15\3\uffff\1\6\4\uffff\1\47\7\uffff\1\155\11\uffff\1\40\1\136\11\uffff\1\141\5\uffff\1\73\1\uffff\1\143\6\uffff\1\103\1\137\1\uffff\1\50\10\uffff\1\100\1\120\1\122\1\uffff\1\101\2\uffff\1\41\3\uffff\1\173\4\uffff\1\147\1\uffff\1\33\3\uffff\1\145\1\46\1\uffff\1\102\1\uffff\1\62\4\uffff\1\140\1\70\1\72\4\uffff\1\67\1\71\1\156\1\uffff\1\43\1\uffff\1\64\1\75\1\uffff\1\126\3\uffff\1\111\1\61\3\uffff\1\104\3\uffff\1\123\2\uffff\1\112\1\105\1\63\1\uffff\1\106\1\114\1\60\2\uffff\1\77\1\57\1\uffff\1\42\1\74\1\uffff\1\45\1\76";
"\25\uffff\1\146\1\147\1\151\1\152\1\154\1\157\1\161\1\162\1\163\1\164\1\165\1\166\1\167\1\170\1\171\1\174\1\175\1\uffff\1\u0080\1\u0081\1\u0082\1\u0083\27\uffff\1\133\10\uffff\1\134\30\uffff\1\176\1\177\7\uffff\1\107\5\uffff\1\135\25\uffff\1\131\12\uffff\1\22\1\132\4\uffff\1\110\60\uffff\1\12\12\uffff\1\5\1\10\15\uffff\1\23\46\uffff\1\24\3\uffff\1\55\2\uffff\1\13\1\125\23\uffff\1\16\1\uffff\1\17\3\uffff\1\14\4\uffff\1\66\13\uffff\1\124\1\34\3\uffff\1\65\1\36\12\uffff\1\172\2\uffff\1\54\1\uffff\1\53\1\116\2\uffff\1\127\1\153\10\uffff\1\25\1\30\1\31\14\uffff\1\160\1\uffff\1\35\1\56\6\uffff\1\44\3\uffff\1\7\1\130\10\uffff\1\20\1\21\1\26\1\27\10\uffff\1\37\4\uffff\1\115\5\uffff\1\144\6\uffff\1\1\1\uffff\1\32\1\uffff\1\11\2\uffff\1\52\1\uffff\1\2\5\uffff\1\51\27\uffff\1\121\13\uffff\1\113\1\117\15\uffff\1\142\1\uffff\1\3\2\uffff\1\4\2\uffff\1\15\3\uffff\1\6\4\uffff\1\47\7\uffff\1\155\11\uffff\1\40\1\136\11\uffff\1\141\5\uffff\1\73\1\uffff\1\143\6\uffff\1\103\1\137\1\uffff\1\50\10\uffff\1\100\1\120\1\122\1\uffff\1\101\2\uffff\1\41\3\uffff\1\173\4\uffff\1\150\1\uffff\1\33\3\uffff\1\145\1\46\1\uffff\1\102\1\uffff\1\62\4\uffff\1\140\1\70\1\72\4\uffff\1\67\1\71\1\156\1\uffff\1\43\1\uffff\1\64\1\75\1\uffff\1\126\3\uffff\1\111\1\61\3\uffff\1\104\3\uffff\1\123\2\uffff\1\112\1\105\1\63\1\uffff\1\106\1\114\1\60\2\uffff\1\77\1\57\1\uffff\1\42\1\74\1\uffff\1\45\1\76";
static final String DFA22_specialS =
"\u0284\uffff}>";
static final String[] DFA22_transitionS = {
"\2\45\2\uffff\1\45\22\uffff\1\45\1\uffff\1\52\2\uffff\1\36\2\uffff\1\50\2\uffff\1\35\1\33\1\42\1\43\1\46\12\51\1\41\1\30\1\47\1\31\2\uffff\1\34\24\44\1\24\5\44\1\37\1\44\1\40\1\uffff\1\44\1\25\1\4\1\3\1\15\1\7\1\16\1\6\1\44\1\11\1\12\2\44\1\17\1\20\1\2\1\13\1\23\1\44\1\5\1\1\1\22\1\21\1\44\1\10\1\14\2\44\1\26\1\32\1\27",
"\2\45\2\uffff\1\45\22\uffff\1\45\1\uffff\1\52\2\uffff\1\36\2\uffff\1\50\2\uffff\1\35\1\33\1\42\1\43\1\46\12\51\1\41\1\25\1\47\1\31\2\uffff\1\34\24\44\1\24\5\44\1\37\1\44\1\40\1\uffff\1\44\1\26\1\4\1\3\1\15\1\7\1\16\1\6\1\44\1\11\1\12\2\44\1\17\1\20\1\2\1\13\1\23\1\44\1\5\1\1\1\22\1\21\1\44\1\10\1\14\2\44\1\27\1\32\1\30",
"\1\60\6\uffff\1\56\1\54\12\uffff\1\53\2\uffff\1\55\1\uffff\1\57",
"\1\62\3\uffff\1\63\11\uffff\1\64\5\uffff\1\61",
"\1\66\5\uffff\1\65\2\uffff\1\67",

View File

@ -0,0 +1,2 @@
/RDLIdeModule.java
/RDLIdeSetup.java

View File

@ -0,0 +1 @@
/RDLParsingTest.java

View File

@ -28,7 +28,7 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void completeRoot_EnumDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_NamedInstantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeRoot_Instantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRoot_PropertyAssignments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -75,7 +75,7 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void completeComponentDefinition_ComponentDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_NamedInstantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeComponentDefinition_Instantiations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_PropertyAssignments(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -84,28 +84,19 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void completeComponentDefinition_EnumDefinitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentDefinition_ImmediateInstantiation(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeInstantiation_InstanceType(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeNamedInstantiation_External(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeNamedInstantiation_Internal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeNamedInstantiation_Alias(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeInstantiation_Alias(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeNamedInstantiation_Component(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeInstantiation_ComponentRef(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
}
public void completeNamedInstantiation_ComponentInstances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeInstantiation_Component(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeImmediateInstantiation_External(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeImmediateInstantiation_ComponentInstances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeInstantiation_ComponentInstances(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeComponentInstance_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -126,10 +117,10 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void completeComponentInstance_AddrMod(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_Start(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeRange_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_End(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void completeRange_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeRange_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -234,6 +225,12 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void completeEnumProperty_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
}
public void completeEnumInstanceType_EXTERNAL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void completeEnumInstanceType_INTERNAL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_Root(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
@ -262,10 +259,7 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void complete_ComponentDefinitionType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_NamedInstantiation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ImmediateInstantiation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
public void complete_Instantiation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ComponentInstance(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@ -334,6 +328,9 @@ public abstract class AbstractRDLProposalProvider extends AbstractJavaBasedConte
public void complete_EnumProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_EnumInstanceType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}
public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
// subclasses may override
}

View File

@ -4,23 +4,19 @@ import org.eclipse.emf.ecore.EObject
import org.eclipse.xtext.ui.editor.hover.html.DefaultEObjectHoverProvider
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ComponentInstance
import com.minres.rdl.rdl.ImmediateInstantiation
import com.minres.rdl.rdl.NamedInstantiation
import com.minres.rdl.rdl.Instantiation
class RDLEObjectHoverProvider extends DefaultEObjectHoverProvider {
override protected String getFirstLine(EObject o) {
switch(o){
ComponentDefinition: return 'Component '+o.name+' of type '+o.type.literal
ComponentInstance: {
val parent = o.eContainer
if (parent instanceof ImmediateInstantiation) {
val compDef = parent.eContainer as ComponentDefinition
return compDef.type.literal+' '+o.name
} else if (parent instanceof NamedInstantiation) {
return parent.component.type.literal+' '+o.name
}
}
}
return super.getFirstLine(o)
}
override protected String getFirstLine(EObject o) {
switch(o){
ComponentDefinition: return 'Component '+o.name+' of type '+o.type.literal
ComponentInstance: {
val parent = o.eContainer
if (parent instanceof Instantiation) {
return (if(parent.componentRef !== null) parent.componentRef.type else parent.component.type).literal.toFirstUpper+' '+o.name
}
}
}
return super.getFirstLine(o)
}
}

View File

@ -8,7 +8,6 @@ import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider
import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ExplicitPropertyAssignment
import com.minres.rdl.rdl.ImmediateInstantiation
import com.minres.rdl.rdl.ComponentInstance
import com.minres.rdl.rdl.PropertyAssignment
import com.minres.rdl.rdl.PropertyAssignmentRhs
@ -19,7 +18,6 @@ import com.minres.rdl.rdl.RValueConstant
import com.minres.rdl.rdl.PropertyModifier
import com.minres.rdl.rdl.ComponentDefinitionType
import com.minres.rdl.rdl.EnumDefinition
import com.minres.rdl.rdl.NamedInstantiation
import com.minres.rdl.rdl.PostPropertyAssignment
import com.minres.rdl.rdl.InstanceRef
import com.minres.rdl.rdl.InstancePropertyRef
@ -38,23 +36,8 @@ class RDLLabelProvider extends DefaultEObjectLabelProvider {
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'
// }
def text(ComponentDefinition e){
if(e.immediateInstantiation!==null){
if(e.name!==null)
text(e.immediateInstantiation)+' ('+e.name+')'
else
text(e.immediateInstantiation)
}else if(e.name!==null){
if(e.name!==null){
e.type.literal+' '+e.name
} else{
val pa = e.propertyAssignments.findFirst[PropertyAssignment pa |
@ -91,14 +74,10 @@ class RDLLabelProvider extends DefaultEObjectLabelProvider {
e.instance.name
}
def text( ImmediateInstantiation e){
e.componentInstances.map[text(it)].join(", ")
}
def text( ComponentInstance e){
var res = e.name
if(e.range !== null)
res+='['+(if(e.range.size!==null) e.range.size.toString else e.range.start+':'+e.range.end)+']'
res+='['+(if(e.range.size!==null) e.range.size.toString else e.range.left+':'+e.range.right)+']'
if(e.address!==null)
res+=' @'+e.address
return res
@ -140,10 +119,6 @@ class RDLLabelProvider extends DefaultEObjectLabelProvider {
return string
}
def text(NamedInstantiation e){
e.componentInstances.map[text(it)].join(", ")+' ('+e.component.name+')'
}
def text(EnumEntry e){
if(e.index !== null)
e.name + '=' + e.index.toString
@ -198,7 +173,7 @@ class RDLLabelProvider extends DefaultEObjectLabelProvider {
'P.png'
}
def image(NamedInstantiation e){
def image(ComponentInstance e){
'I.png'
}

View File

@ -8,13 +8,13 @@ import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider
import org.eclipse.xtext.ui.editor.outline.impl.DocumentRootNode
import com.minres.rdl.rdl.ComponentDefinition
import org.eclipse.xtext.ui.editor.outline.IOutlineNode
import com.minres.rdl.rdl.PropertyAssignment
import com.minres.rdl.rdl.NamedInstantiation
import com.minres.rdl.rdl.ExplicitPropertyAssignment
import com.minres.rdl.rdl.PostPropertyAssignment
import com.minres.rdl.rdl.PropertyAssignmentRhs
import com.minres.rdl.rdl.EnumDefinition
import com.minres.rdl.rdl.EnumEntry
import com.minres.rdl.rdl.Instantiation
import com.minres.rdl.rdl.ComponentInstance
/**
* Customization of the default outline structure.
@ -28,16 +28,22 @@ class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider {
domainModel.propertyDefinitions.forEach[createNode(parentNode, it)]
domainModel.componentDefinitions.forEach[createNode(parentNode, it)]
domainModel.propertyAssignments.forEach[createNode(parentNode, it)]
domainModel.namedInstantiations.forEach[createNode(parentNode, it)]
domainModel.instantiations.forEach[Instantiation instantiation |
if(instantiation.component!==null) createNode(parentNode, instantiation.component)
instantiation.componentInstances.forEach[createNode(parentNode, it)]
]
}
protected def _createChildren(IOutlineNode parentNode, ComponentDefinition compDef) {
compDef.enumDefinitions.forEach[createNode(parentNode, it)]
compDef.componentDefinitions.forEach[createNode(parentNode, it)]
compDef.propertyAssignments.forEach[createNode(parentNode, it)]
compDef.namedInstantiations.forEach[createNode(parentNode, it)]
compDef.instantiations.forEach[Instantiation instantiation |
if(instantiation.component!==null) createNode(parentNode, instantiation.component)
instantiation.componentInstances.forEach[createNode(parentNode, it)]
]
}
protected def _createChildren(IOutlineNode parentNode, EnumDefinition e) {
e.body.entries.forEach[createNode(parentNode, it)]
}
@ -50,14 +56,18 @@ class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider {
return true;
}
protected def boolean _isLeaf(NamedInstantiation feature) {
return true;
protected def boolean _isLeaf(Instantiation feature) {
return feature.component===null && feature.componentInstances.size==0;
}
protected def boolean _isLeaf(PropertyAssignmentRhs feature) {
return true;
}
protected def boolean _isLeaf(ComponentInstance feature) {
return true;
}
protected def boolean _isLeaf(EnumEntry feature) {
return feature.properties.size==0;
}

View File

@ -0,0 +1,3 @@
/RDLEObjectDocumentationProvider.java
/RDLEObjectHoverProvider.java
/RDLUiModule.java

View File

@ -1,11 +1,12 @@
package com.minres.rdl.ui;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.ui.editor.hover.html.DefaultEObjectHoverProvider;
import org.eclipse.xtext.xbase.lib.StringExtensions;
@SuppressWarnings("all")
public class RDLEObjectHoverProvider extends DefaultEObjectHoverProvider {
@ -24,20 +25,19 @@ public class RDLEObjectHoverProvider extends DefaultEObjectHoverProvider {
if (o instanceof ComponentInstance) {
_matched=true;
final EObject parent = ((ComponentInstance)o).eContainer();
if ((parent instanceof ImmediateInstantiation)) {
EObject _eContainer = ((ImmediateInstantiation)parent).eContainer();
final ComponentDefinition compDef = ((ComponentDefinition) _eContainer);
String _literal = compDef.getType().getLiteral();
String _plus = (_literal + " ");
if ((parent instanceof Instantiation)) {
ComponentDefinitionType _xifexpression = null;
ComponentDefinition _componentRef = ((Instantiation)parent).getComponentRef();
boolean _tripleNotEquals = (_componentRef != null);
if (_tripleNotEquals) {
_xifexpression = ((Instantiation)parent).getComponentRef().getType();
} else {
_xifexpression = ((Instantiation)parent).getComponent().getType();
}
String _firstUpper = StringExtensions.toFirstUpper(_xifexpression.getLiteral());
String _plus = (_firstUpper + " ");
String _name = ((ComponentInstance)o).getName();
return (_plus + _name);
} else {
if ((parent instanceof NamedInstantiation)) {
String _literal_1 = ((NamedInstantiation)parent).getComponent().getType().getLiteral();
String _plus_1 = (_literal_1 + " ");
String _name_1 = ((ComponentInstance)o).getName();
return (_plus_1 + _name_1);
}
}
}
}

View File

@ -25,7 +25,7 @@ public class RDLUiModule extends AbstractRDLUiModule {
return RDLEObjectDocumentationProvider.class;
}
public RDLUiModule(final AbstractUIPlugin arg0) {
super(arg0);
public RDLUiModule(final AbstractUIPlugin plugin) {
super(plugin);
}
}

View File

@ -0,0 +1 @@
/RDLProposalProvider.java

View File

@ -0,0 +1,2 @@
/RDLDescriptionLabelProvider.java
/RDLLabelProvider.java

View File

@ -13,10 +13,8 @@ import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.EnumProperty;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
@ -46,46 +44,26 @@ public class RDLLabelProvider extends DefaultEObjectLabelProvider {
public String text(final ComponentDefinition e) {
String _xifexpression = null;
ImmediateInstantiation _immediateInstantiation = e.getImmediateInstantiation();
boolean _tripleNotEquals = (_immediateInstantiation != null);
String _name = e.getName();
boolean _tripleNotEquals = (_name != null);
if (_tripleNotEquals) {
String _xifexpression_1 = null;
String _name = e.getName();
boolean _tripleNotEquals_1 = (_name != null);
if (_tripleNotEquals_1) {
String _text = this.text(e.getImmediateInstantiation());
String _plus = (_text + " (");
String _name_1 = e.getName();
String _plus_1 = (_plus + _name_1);
_xifexpression_1 = (_plus_1 + ")");
} else {
_xifexpression_1 = this.text(e.getImmediateInstantiation());
}
_xifexpression = _xifexpression_1;
String _literal = e.getType().getLiteral();
String _plus = (_literal + " ");
String _name_1 = e.getName();
_xifexpression = (_plus + _name_1);
} else {
String _xifexpression_2 = null;
String _name_2 = e.getName();
boolean _tripleNotEquals_2 = (_name_2 != null);
if (_tripleNotEquals_2) {
String _literal = e.getType().getLiteral();
String _plus_2 = (_literal + " ");
String _name_3 = e.getName();
_xifexpression_2 = (_plus_2 + _name_3);
} else {
String _xblockexpression = null;
{
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.NAME)));
};
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(e.getPropertyAssignments(), _function);
String _literal_1 = e.getType().getLiteral();
String _plus_3 = (_literal_1 + " ");
Object _text_1 = this.text(((ExplicitPropertyAssignment) pa).getRhs());
_xblockexpression = (_plus_3 + _text_1);
}
_xifexpression_2 = _xblockexpression;
String _xblockexpression = null;
{
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.NAME)));
};
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(e.getPropertyAssignments(), _function);
String _literal_1 = e.getType().getLiteral();
String _plus_1 = (_literal_1 + " ");
Object _text = this.text(((ExplicitPropertyAssignment) pa).getRhs());
_xblockexpression = (_plus_1 + _text);
}
_xifexpression = _xifexpression_2;
_xifexpression = _xblockexpression;
}
return _xifexpression;
}
@ -154,13 +132,6 @@ public class RDLLabelProvider extends DefaultEObjectLabelProvider {
return _xifexpression;
}
public String text(final ImmediateInstantiation e) {
final Function1<ComponentInstance, String> _function = (ComponentInstance it) -> {
return this.text(it);
};
return IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(e.getComponentInstances(), _function), ", ");
}
public String text(final ComponentInstance e) {
String res = e.getName();
Range _range = e.getRange();
@ -173,10 +144,10 @@ public class RDLLabelProvider extends DefaultEObjectLabelProvider {
if (_tripleNotEquals_1) {
_xifexpression = e.getRange().getSize().toString();
} else {
Object _start = e.getRange().getStart();
String _plus = (_start + ":");
Object _end = e.getRange().getEnd();
_xifexpression = (_plus + _end);
Object _left = e.getRange().getLeft();
String _plus = (_left + ":");
Object _right = e.getRange().getRight();
_xifexpression = (_plus + _right);
}
String _plus_1 = ("[" + _xifexpression);
String _plus_2 = (_plus_1 + "]");
@ -283,17 +254,6 @@ public class RDLLabelProvider extends DefaultEObjectLabelProvider {
}
}
public String text(final NamedInstantiation e) {
final Function1<ComponentInstance, String> _function = (ComponentInstance it) -> {
return this.text(it);
};
String _join = IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(e.getComponentInstances(), _function), ", ");
String _plus = (_join + " (");
String _name = e.getComponent().getName();
String _plus_1 = (_plus + _name);
return (_plus_1 + ")");
}
public String text(final EnumEntry e) {
String _xifexpression = null;
Object _index = e.getIndex();
@ -401,7 +361,7 @@ public class RDLLabelProvider extends DefaultEObjectLabelProvider {
return "P.png";
}
public String image(final NamedInstantiation e) {
public String image(final ComponentInstance e) {
return "I.png";
}

View File

@ -0,0 +1 @@
/RDLOutlineTreeProvider.java

View File

@ -4,10 +4,11 @@
package com.minres.rdl.ui.outline;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
@ -42,10 +43,18 @@ public class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider {
this.createNode(parentNode, it);
};
domainModel.getPropertyAssignments().forEach(_function_3);
final Consumer<NamedInstantiation> _function_4 = (NamedInstantiation it) -> {
this.createNode(parentNode, it);
final Consumer<Instantiation> _function_4 = (Instantiation instantiation) -> {
ComponentDefinition _component = instantiation.getComponent();
boolean _tripleNotEquals = (_component != null);
if (_tripleNotEquals) {
this.createNode(parentNode, instantiation.getComponent());
}
final Consumer<ComponentInstance> _function_5 = (ComponentInstance it) -> {
this.createNode(parentNode, it);
};
instantiation.getComponentInstances().forEach(_function_5);
};
domainModel.getNamedInstantiations().forEach(_function_4);
domainModel.getInstantiations().forEach(_function_4);
}
protected void _createChildren(final IOutlineNode parentNode, final ComponentDefinition compDef) {
@ -61,10 +70,18 @@ public class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider {
this.createNode(parentNode, it);
};
compDef.getPropertyAssignments().forEach(_function_2);
final Consumer<NamedInstantiation> _function_3 = (NamedInstantiation it) -> {
this.createNode(parentNode, it);
final Consumer<Instantiation> _function_3 = (Instantiation instantiation) -> {
ComponentDefinition _component = instantiation.getComponent();
boolean _tripleNotEquals = (_component != null);
if (_tripleNotEquals) {
this.createNode(parentNode, instantiation.getComponent());
}
final Consumer<ComponentInstance> _function_4 = (ComponentInstance it) -> {
this.createNode(parentNode, it);
};
instantiation.getComponentInstances().forEach(_function_4);
};
compDef.getNamedInstantiations().forEach(_function_3);
compDef.getInstantiations().forEach(_function_3);
}
protected void _createChildren(final IOutlineNode parentNode, final EnumDefinition e) {
@ -82,14 +99,18 @@ public class RDLOutlineTreeProvider extends DefaultOutlineTreeProvider {
return true;
}
protected boolean _isLeaf(final NamedInstantiation feature) {
return true;
protected boolean _isLeaf(final Instantiation feature) {
return ((feature.getComponent() == null) && (feature.getComponentInstances().size() == 0));
}
protected boolean _isLeaf(final PropertyAssignmentRhs feature) {
return true;
}
protected boolean _isLeaf(final ComponentInstance feature) {
return true;
}
protected boolean _isLeaf(final EnumEntry feature) {
int _size = feature.getProperties().size();
return (_size == 0);

View File

@ -0,0 +1 @@
/RDLQuickfixProvider.java

View File

@ -8,8 +8,8 @@
eType="#//ComponentDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumDefinitions" upperBound="-1"
eType="#//EnumDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="namedInstantiations" upperBound="-1"
eType="#//NamedInstantiation" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiations" upperBound="-1"
eType="#//Instantiation" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="propertyAssignments" upperBound="-1"
eType="#//PropertyAssignment" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="propertyDefinitions" upperBound="-1"
@ -56,14 +56,12 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentDefinitions" upperBound="-1"
eType="#//ComponentDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="namedInstantiations" upperBound="-1"
eType="#//NamedInstantiation" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="instantiations" upperBound="-1"
eType="#//Instantiation" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="propertyAssignments" upperBound="-1"
eType="#//PropertyAssignment" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="enumDefinitions" upperBound="-1"
eType="#//EnumDefinition" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="immediateInstantiation"
eType="#//ImmediateInstantiation" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ComponentDefinitionType">
<eLiterals name="SIGNAL" literal="signal"/>
@ -72,16 +70,13 @@
<eLiterals name="REG" value="3" literal="reg"/>
<eLiterals name="FIELD" value="4" literal="field"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedInstantiation">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eClassifiers xsi:type="ecore:EClass" name="Instantiation">
<eStructuralFeatures xsi:type="ecore:EReference" name="instanceType" eType="#//EnumInstanceType"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="#//ComponentDefinition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentInstances" upperBound="-1"
eType="#//ComponentInstance" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImmediateInstantiation">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentRef" eType="#//ComponentDefinition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="component" eType="#//ComponentDefinition"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="componentInstances" upperBound="-1"
eType="#//ComponentInstance" containment="true"/>
</eClassifiers>
@ -94,8 +89,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="addrMod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Range">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="left" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="right" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyAssignment"/>
@ -272,4 +267,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EnumInstanceType">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="EXTERNAL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="INTERNAL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>

View File

@ -3,7 +3,7 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.12.0" modelDirectory="/com.minres.rdl/src-gen"
modelPluginID="com.minres.rdl" forceOverwrite="true" modelName="RDL" updateClasspath="false"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" complianceLevel="6.0"
copyrightFields="false" runtimeVersion="2.12">
copyrightFields="false" runtimeVersion="2.13">
<genPackages prefix="Rdl" basePackage="com.minres.rdl" disposableProviderFactory="true"
fileExtensions="rdl" ecorePackage="RDL.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="RDL.ecore#//PropertyTypeName">
@ -136,7 +136,7 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/includes"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/componentDefinitions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/enumDefinitions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/namedInstantiations"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/instantiations"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/propertyAssignments"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Root/propertyDefinitions"/>
</genClasses>
@ -159,21 +159,16 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//ComponentDefinition/type"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//ComponentDefinition/name"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/componentDefinitions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/namedInstantiations"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/instantiations"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/propertyAssignments"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/enumDefinitions"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentDefinition/immediateInstantiation"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//NamedInstantiation">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//NamedInstantiation/external"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//NamedInstantiation/internal"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//NamedInstantiation/alias"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference RDL.ecore#//NamedInstantiation/component"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//NamedInstantiation/componentInstances"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//ImmediateInstantiation">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//ImmediateInstantiation/external"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ImmediateInstantiation/componentInstances"/>
<genClasses ecoreClass="RDL.ecore#//Instantiation">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Instantiation/instanceType"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Instantiation/alias"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference RDL.ecore#//Instantiation/componentRef"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Instantiation/component"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//Instantiation/componentInstances"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//ComponentInstance">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference RDL.ecore#//ComponentInstance/range"/>
@ -183,8 +178,8 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//ComponentInstance/addrMod"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//Range">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Range/start"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Range/end"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Range/left"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Range/right"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//Range/size"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//PropertyAssignment"/>
@ -246,5 +241,9 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//EnumProperty/name"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//EnumProperty/value"/>
</genClasses>
<genClasses ecoreClass="RDL.ecore#//EnumInstanceType">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//EnumInstanceType/EXTERNAL"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute RDL.ecore#//EnumInstanceType/INTERNAL"/>
</genClasses>
</genPackages>
</genmodel:GenModel>

View File

@ -1,22 +1,22 @@
'%='=30
'+='=29
','=27
'->'=34
'.'=35
':'=32
';'=17
'='=16
'@'=28
'%='=28
'+='=27
','=25
'->'=32
'.'=33
':'=30
';'=12
'='=17
'@'=26
'UNDEFINED'=121
'['=31
']'=33
'`include'=12
'['=29
']'=31
'`include'=13
'accesswidth'=105
'activehigh'=85
'activelow'=86
'addressing'=108
'addrmap'=42
'alias'=26
'alias'=24
'alignment'=101
'all'=48
'anded'=65
@ -37,14 +37,14 @@
'decrvalue'=94
'decrwidth'=92
'default'=19
'desc'=38
'desc'=36
'dontcompare'=99
'donttest'=100
'enable'=114
'encode'=110
'enum'=36
'enum'=34
'errextbus'=71
'external'=24
'external'=37
'false'=21
'field'=45
'field_reset'=84
@ -61,7 +61,7 @@
'incr'=89
'incrvalue'=93
'incrwidth'=91
'internal'=25
'internal'=38
'intr'=64
'level'=133
'littleendian'=73
@ -69,7 +69,7 @@
'mask'=113
'msb0'=79
'na'=126
'name'=37
'name'=35
'negedge'=131
'next'=120
'nonsticky'=134
@ -78,7 +78,7 @@
'overflow'=69
'posedge'=130
'precedence'=109
'property'=13
'property'=14
'r'=124
'rclr'=51
'ref'=46
@ -109,7 +109,7 @@
'sync'=81
'threshold'=97
'true'=20
'type'=15
'type'=16
'underflow'=88
'w'=125
'we'=54
@ -118,7 +118,7 @@
'woset'=53
'wr'=123
'xored'=67
'{'=14
'{'=15
'|'=23
'}'=18
RULE_ESCAPE_JSP=10

View File

@ -163,11 +163,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__12;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:11:7: ( '`include' )
// InternalRDL.g:11:9: '`include'
// InternalRDL.g:11:7: ( ';' )
// InternalRDL.g:11:9: ';'
{
match("`include");
match(';');
}
@ -184,10 +183,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__13;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:12:7: ( 'property' )
// InternalRDL.g:12:9: 'property'
// InternalRDL.g:12:7: ( '`include' )
// InternalRDL.g:12:9: '`include'
{
match("property");
match("`include");
}
@ -205,10 +204,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__14;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:13:7: ( '{' )
// InternalRDL.g:13:9: '{'
// InternalRDL.g:13:7: ( 'property' )
// InternalRDL.g:13:9: 'property'
{
match('{');
match("property");
}
@ -225,11 +225,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:14:7: ( 'type' )
// InternalRDL.g:14:9: 'type'
// InternalRDL.g:14:7: ( '{' )
// InternalRDL.g:14:9: '{'
{
match("type");
match('{');
}
@ -246,10 +245,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:15:7: ( '=' )
// InternalRDL.g:15:9: '='
// InternalRDL.g:15:7: ( 'type' )
// InternalRDL.g:15:9: 'type'
{
match('=');
match("type");
}
@ -266,10 +266,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:16:7: ( ';' )
// InternalRDL.g:16:9: ';'
// InternalRDL.g:16:7: ( '=' )
// InternalRDL.g:16:9: '='
{
match(';');
match('=');
}
@ -410,10 +410,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:23:7: ( 'external' )
// InternalRDL.g:23:9: 'external'
// InternalRDL.g:23:7: ( 'alias' )
// InternalRDL.g:23:9: 'alias'
{
match("external");
match("alias");
}
@ -431,11 +431,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:24:7: ( 'internal' )
// InternalRDL.g:24:9: 'internal'
// InternalRDL.g:24:7: ( ',' )
// InternalRDL.g:24:9: ','
{
match("internal");
match(',');
}
@ -452,11 +451,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:25:7: ( 'alias' )
// InternalRDL.g:25:9: 'alias'
// InternalRDL.g:25:7: ( '@' )
// InternalRDL.g:25:9: '@'
{
match("alias");
match('@');
}
@ -473,10 +471,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__27;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:26:7: ( ',' )
// InternalRDL.g:26:9: ','
// InternalRDL.g:26:7: ( '+=' )
// InternalRDL.g:26:9: '+='
{
match(',');
match("+=");
}
@ -493,10 +492,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__28;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:27:7: ( '@' )
// InternalRDL.g:27:9: '@'
// InternalRDL.g:27:7: ( '%=' )
// InternalRDL.g:27:9: '%='
{
match('@');
match("%=");
}
@ -513,11 +513,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__29;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:28:7: ( '+=' )
// InternalRDL.g:28:9: '+='
// InternalRDL.g:28:7: ( '[' )
// InternalRDL.g:28:9: '['
{
match("+=");
match('[');
}
@ -534,11 +533,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__30;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:29:7: ( '%=' )
// InternalRDL.g:29:9: '%='
// InternalRDL.g:29:7: ( ':' )
// InternalRDL.g:29:9: ':'
{
match("%=");
match(':');
}
@ -555,10 +553,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__31;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:30:7: ( '[' )
// InternalRDL.g:30:9: '['
// InternalRDL.g:30:7: ( ']' )
// InternalRDL.g:30:9: ']'
{
match('[');
match(']');
}
@ -575,10 +573,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__32;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:31:7: ( ':' )
// InternalRDL.g:31:9: ':'
// InternalRDL.g:31:7: ( '->' )
// InternalRDL.g:31:9: '->'
{
match(':');
match("->");
}
@ -595,10 +594,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__33;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:32:7: ( ']' )
// InternalRDL.g:32:9: ']'
// InternalRDL.g:32:7: ( '.' )
// InternalRDL.g:32:9: '.'
{
match(']');
match('.');
}
@ -615,10 +614,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__34;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:33:7: ( '->' )
// InternalRDL.g:33:9: '->'
// InternalRDL.g:33:7: ( 'enum' )
// InternalRDL.g:33:9: 'enum'
{
match("->");
match("enum");
}
@ -636,10 +635,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__35;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:34:7: ( '.' )
// InternalRDL.g:34:9: '.'
// InternalRDL.g:34:7: ( 'name' )
// InternalRDL.g:34:9: 'name'
{
match('.');
match("name");
}
@ -656,10 +656,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__36;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:35:7: ( 'enum' )
// InternalRDL.g:35:9: 'enum'
// InternalRDL.g:35:7: ( 'desc' )
// InternalRDL.g:35:9: 'desc'
{
match("enum");
match("desc");
}
@ -677,10 +677,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__37;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:36:7: ( 'name' )
// InternalRDL.g:36:9: 'name'
// InternalRDL.g:36:7: ( 'external' )
// InternalRDL.g:36:9: 'external'
{
match("name");
match("external");
}
@ -698,10 +698,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = T__38;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:37:7: ( 'desc' )
// InternalRDL.g:37:9: 'desc'
// InternalRDL.g:37:7: ( 'internal' )
// InternalRDL.g:37:9: 'internal'
{
match("desc");
match("internal");
}
@ -2733,10 +2733,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3575:9: ( ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalRDL.g:3575:11: ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalRDL.g:3635:9: ( ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalRDL.g:3635:11: ( '\\\\' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
// InternalRDL.g:3575:11: ( '\\\\' )?
// InternalRDL.g:3635:11: ( '\\\\' )?
int alt1=2;
int LA1_0 = input.LA(1);
@ -2745,7 +2745,7 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt1) {
case 1 :
// InternalRDL.g:3575:11: '\\\\'
// InternalRDL.g:3635:11: '\\\\'
{
match('\\');
@ -2763,7 +2763,7 @@ public class InternalRDLLexer extends Lexer {
recover(mse);
throw mse;}
// InternalRDL.g:3575:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalRDL.g:3635:41: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@ -2812,10 +2812,10 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3577:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalRDL.g:3577:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalRDL.g:3637:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalRDL.g:3637:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
// InternalRDL.g:3577:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalRDL.g:3637:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt3=0;
loop3:
do {
@ -2869,12 +2869,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3579:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalRDL.g:3579:19: '/*' ( options {greedy=false; } : . )* '*/'
// InternalRDL.g:3639:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalRDL.g:3639:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
// InternalRDL.g:3579:24: ( options {greedy=false; } : . )*
// InternalRDL.g:3639:24: ( options {greedy=false; } : . )*
loop4:
do {
int alt4=2;
@ -2899,7 +2899,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt4) {
case 1 :
// InternalRDL.g:3579:52: .
// InternalRDL.g:3639:52: .
{
matchAny();
@ -2929,12 +2929,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3581:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalRDL.g:3581:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
// InternalRDL.g:3641:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalRDL.g:3641:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
// InternalRDL.g:3581:24: (~ ( ( '\\n' | '\\r' ) ) )*
// InternalRDL.g:3641:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop5:
do {
int alt5=2;
@ -2947,7 +2947,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt5) {
case 1 :
// InternalRDL.g:3581:24: ~ ( ( '\\n' | '\\r' ) )
// InternalRDL.g:3641: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();
@ -2967,7 +2967,7 @@ public class InternalRDLLexer extends Lexer {
}
} while (true);
// InternalRDL.g:3581:40: ( ( '\\r' )? '\\n' )?
// InternalRDL.g:3641:40: ( ( '\\r' )? '\\n' )?
int alt7=2;
int LA7_0 = input.LA(1);
@ -2976,9 +2976,9 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt7) {
case 1 :
// InternalRDL.g:3581:41: ( '\\r' )? '\\n'
// InternalRDL.g:3641:41: ( '\\r' )? '\\n'
{
// InternalRDL.g:3581:41: ( '\\r' )?
// InternalRDL.g:3641:41: ( '\\r' )?
int alt6=2;
int LA6_0 = input.LA(1);
@ -2987,7 +2987,7 @@ public class InternalRDLLexer extends Lexer {
}
switch (alt6) {
case 1 :
// InternalRDL.g:3581:41: '\\r'
// InternalRDL.g:3641:41: '\\r'
{
match('\r');
@ -3019,12 +3019,12 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ESCAPE_JSP;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3583:17: ( '<%' ( options {greedy=false; } : . )* '%>' )
// InternalRDL.g:3583:19: '<%' ( options {greedy=false; } : . )* '%>'
// InternalRDL.g:3643:17: ( '<%' ( options {greedy=false; } : . )* '%>' )
// InternalRDL.g:3643:19: '<%' ( options {greedy=false; } : . )* '%>'
{
match("<%");
// InternalRDL.g:3583:24: ( options {greedy=false; } : . )*
// InternalRDL.g:3643:24: ( options {greedy=false; } : . )*
loop8:
do {
int alt8=2;
@ -3049,7 +3049,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt8) {
case 1 :
// InternalRDL.g:3583:52: .
// InternalRDL.g:3643:52: .
{
matchAny();
@ -3079,11 +3079,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_ESCAPE_ORDL;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3585:18: ( '(' ( options {greedy=false; } : . )* ')' )
// InternalRDL.g:3585:20: '(' ( options {greedy=false; } : . )* ')'
// InternalRDL.g:3645:18: ( '(' ( options {greedy=false; } : . )* ')' )
// InternalRDL.g:3645:20: '(' ( options {greedy=false; } : . )* ')'
{
match('(');
// InternalRDL.g:3585:24: ( options {greedy=false; } : . )*
// InternalRDL.g:3645:24: ( options {greedy=false; } : . )*
loop9:
do {
int alt9=2;
@ -3099,7 +3099,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt9) {
case 1 :
// InternalRDL.g:3585:52: .
// InternalRDL.g:3645:52: .
{
matchAny();
@ -3128,17 +3128,17 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_NUM;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3587:10: ( ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ ) )
// InternalRDL.g:3587:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
// InternalRDL.g:3647:10: ( ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ ) )
// InternalRDL.g:3647:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
{
// InternalRDL.g:3587:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
// InternalRDL.g:3647:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )
int alt20=6;
alt20 = dfa20.predict(input);
switch (alt20) {
case 1 :
// InternalRDL.g:3587:13: ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+
// InternalRDL.g:3647:13: ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+
{
// InternalRDL.g:3587:13: ( '0' .. '9' )+
// InternalRDL.g:3647:13: ( '0' .. '9' )+
int cnt10=0;
loop10:
do {
@ -3152,7 +3152,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt10) {
case 1 :
// InternalRDL.g:3587:14: '0' .. '9'
// InternalRDL.g:3647:14: '0' .. '9'
{
matchRange('0','9');
@ -3170,7 +3170,7 @@ public class InternalRDLLexer extends Lexer {
match("'b");
// InternalRDL.g:3587:31: ( '0' | '1' | '_' )+
// InternalRDL.g:3647:31: ( '0' | '1' | '_' )+
int cnt11=0;
loop11:
do {
@ -3212,9 +3212,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 2 :
// InternalRDL.g:3587:46: ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+
// InternalRDL.g:3647:46: ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+
{
// InternalRDL.g:3587:46: ( '0' .. '9' )+
// InternalRDL.g:3647:46: ( '0' .. '9' )+
int cnt12=0;
loop12:
do {
@ -3228,7 +3228,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt12) {
case 1 :
// InternalRDL.g:3587:47: '0' .. '9'
// InternalRDL.g:3647:47: '0' .. '9'
{
matchRange('0','9');
@ -3246,7 +3246,7 @@ public class InternalRDLLexer extends Lexer {
match("'o");
// InternalRDL.g:3587:64: ( '0' .. '7' | '_' )+
// InternalRDL.g:3647:64: ( '0' .. '7' | '_' )+
int cnt13=0;
loop13:
do {
@ -3288,9 +3288,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 3 :
// InternalRDL.g:3587:80: ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
// InternalRDL.g:3647:80: ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
{
// InternalRDL.g:3587:80: ( '0' .. '9' )+
// InternalRDL.g:3647:80: ( '0' .. '9' )+
int cnt14=0;
loop14:
do {
@ -3304,7 +3304,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt14) {
case 1 :
// InternalRDL.g:3587:81: '0' .. '9'
// InternalRDL.g:3647:81: '0' .. '9'
{
matchRange('0','9');
@ -3322,7 +3322,7 @@ public class InternalRDLLexer extends Lexer {
match("'h");
// InternalRDL.g:3587:98: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
// InternalRDL.g:3647:98: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+
int cnt15=0;
loop15:
do {
@ -3364,9 +3364,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 4 :
// InternalRDL.g:3587:132: ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+
// InternalRDL.g:3647:132: ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+
{
// InternalRDL.g:3587:132: ( '0' .. '9' )+
// InternalRDL.g:3647:132: ( '0' .. '9' )+
int cnt16=0;
loop16:
do {
@ -3380,7 +3380,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt16) {
case 1 :
// InternalRDL.g:3587:133: '0' .. '9'
// InternalRDL.g:3647:133: '0' .. '9'
{
matchRange('0','9');
@ -3398,7 +3398,7 @@ public class InternalRDLLexer extends Lexer {
match("'d");
// InternalRDL.g:3587:150: ( '0' .. '9' | '_' )+
// InternalRDL.g:3647:150: ( '0' .. '9' | '_' )+
int cnt17=0;
loop17:
do {
@ -3440,11 +3440,11 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 5 :
// InternalRDL.g:3587:166: '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
// InternalRDL.g:3647:166: '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
{
match("0x");
// InternalRDL.g:3587:171: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
// InternalRDL.g:3647:171: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
int cnt18=0;
loop18:
do {
@ -3486,9 +3486,9 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 6 :
// InternalRDL.g:3587:201: ( '0' .. '9' )+
// InternalRDL.g:3647:201: ( '0' .. '9' )+
{
// InternalRDL.g:3587:201: ( '0' .. '9' )+
// InternalRDL.g:3647:201: ( '0' .. '9' )+
int cnt19=0;
loop19:
do {
@ -3502,7 +3502,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt19) {
case 1 :
// InternalRDL.g:3587:202: '0' .. '9'
// InternalRDL.g:3647:202: '0' .. '9'
{
matchRange('0','9');
@ -3540,11 +3540,11 @@ public class InternalRDLLexer extends Lexer {
try {
int _type = RULE_STR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalRDL.g:3589:10: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
// InternalRDL.g:3589:12: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
// InternalRDL.g:3649:10: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
// InternalRDL.g:3649:12: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
// InternalRDL.g:3589:16: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
// InternalRDL.g:3649:16: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
loop21:
do {
int alt21=3;
@ -3560,7 +3560,7 @@ public class InternalRDLLexer extends Lexer {
switch (alt21) {
case 1 :
// InternalRDL.g:3589:17: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
// InternalRDL.g:3649:17: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
{
match('\\');
if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@ -3576,7 +3576,7 @@ public class InternalRDLLexer extends Lexer {
}
break;
case 2 :
// InternalRDL.g:3589:62: ~ ( ( '\\\\' | '\"' ) )
// InternalRDL.g:3649:62: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@ -4593,37 +4593,35 @@ public class InternalRDLLexer extends Lexer {
this.transition = DFA20_transition;
}
public String getDescription() {
return "3587:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )";
return "3647:12: ( ( '0' .. '9' )+ '\\'b' ( '0' | '1' | '_' )+ | ( '0' .. '9' )+ '\\'o' ( '0' .. '7' | '_' )+ | ( '0' .. '9' )+ '\\'h' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' | '_' )+ | ( '0' .. '9' )+ '\\'d' ( '0' .. '9' | '_' )+ | '0x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | ( '0' .. '9' )+ )";
}
}
static final String DFA22_eotS =
"\2\uffff\1\44\1\uffff\1\44\3\uffff\3\44\1\uffff\3\44\11\uffff\3\44\1\123\1\127\7\44\7\uffff\27\44\1\u0087\5\44\1\u0093\11\44\1\u00a1\1\uffff\1\44\1\u00a5\1\u00a6\1\uffff\1\u00ab\13\44\2\uffff\31\44\1\u00d2\7\44\1\uffff\13\44\1\uffff\7\44\1\u00ef\1\u00f0\4\44\1\uffff\2\44\1\u00f7\2\uffff\4\44\1\uffff\16\44\1\u010a\1\u010b\2\44\1\u010e\1\u0113\11\44\1\u011f\4\44\1\u0124\1\u0127\2\44\1\uffff\6\44\1\u0131\1\44\1\u0133\6\44\1\u013b\3\44\1\u013f\10\44\2\uffff\1\44\1\u0149\1\44\1\u014b\2\44\1\uffff\4\44\1\u0154\1\u0155\3\44\1\u0159\1\44\1\u015b\1\u015c\5\44\2\uffff\2\44\1\uffff\4\44\1\uffff\2\44\1\u016a\1\u016d\5\44\1\u0173\1\44\1\uffff\4\44\1\uffff\2\44\1\uffff\1\u017b\4\44\1\u0180\1\u0181\2\44\1\uffff\1\44\1\uffff\6\44\1\u018b\1\uffff\1\u018c\1\u018d\1\44\1\uffff\10\44\1\u0198\1\uffff\1\44\1\uffff\1\u019a\1\u019b\1\u019c\1\u019d\4\44\2\uffff\1\44\1\u01a3\1\44\1\uffff\1\u01a5\2\uffff\15\44\1\uffff\2\44\1\uffff\5\44\1\uffff\1\44\1\u01bb\1\u01bc\4\44\1\uffff\4\44\2\uffff\2\44\1\u01c8\2\44\1\u01cb\1\u01cd\1\u01cf\1\44\3\uffff\1\u01d2\4\44\1\u01d7\4\44\1\uffff\1\44\4\uffff\1\44\1\u01de\3\44\1\uffff\1\44\1\uffff\4\44\1\u01e7\1\44\1\u01e9\12\44\1\u01f4\1\u01f5\2\44\2\uffff\5\44\1\u01fd\1\44\1\u01ff\3\44\1\uffff\1\u0203\1\44\1\uffff\1\44\1\uffff\1\44\1\uffff\2\44\1\uffff\1\44\1\u020a\2\44\1\uffff\1\u020d\3\44\1\u0212\1\44\1\uffff\6\44\1\u021a\1\44\1\uffff\1\44\1\uffff\5\44\1\u0222\4\44\2\uffff\1\44\1\u0228\1\44\1\u022a\3\44\1\uffff\1\44\1\uffff\3\44\1\uffff\5\44\1\u0237\1\uffff\1\u0238\1\44\1\uffff\1\u023a\1\u023b\1\44\1\u023d\1\uffff\1\u023e\1\u023f\1\44\1\u0241\3\44\1\uffff\1\44\1\u0246\1\u0247\1\u0248\3\44\1\uffff\2\44\1\u024e\1\u024f\1\44\1\uffff\1\u0251\1\uffff\1\u0252\1\u0253\1\u0254\2\44\1\u0257\1\44\1\u0259\1\u025a\3\44\2\uffff\1\u025e\2\uffff\1\44\3\uffff\1\44\1\uffff\1\44\1\u0262\1\u0263\1\u0264\3\uffff\4\44\1\u0269\2\uffff\1\44\4\uffff\1\u026b\1\u026c\1\uffff\1\44\2\uffff\3\44\1\uffff\1\44\1\u0272\1\44\3\uffff\2\44\1\u0276\1\u0277\1\uffff\1\u0278\2\uffff\1\u0279\1\u027a\1\u027b\1\44\1\u027d\1\uffff\1\44\1\u027f\1\44\6\uffff\1\u0281\1\uffff\1\u0282\1\uffff\1\u0283\3\uffff";
"\3\uffff\1\44\1\uffff\1\44\2\uffff\3\44\1\uffff\1\44\11\uffff\5\44\1\123\1\127\7\44\7\uffff\26\44\1\u0085\6\44\1\u0093\11\44\1\u00a1\1\uffff\1\44\1\u00a5\1\u00a6\1\uffff\1\u00ab\13\44\2\uffff\22\44\1\u00ca\14\44\1\uffff\15\44\1\uffff\7\44\1\u00ef\1\u00f0\4\44\1\uffff\2\44\1\u00f7\2\uffff\4\44\1\uffff\16\44\1\u010a\1\u010b\2\44\1\u010e\1\u0113\12\44\1\uffff\6\44\1\u0127\4\44\1\u012c\1\44\1\u012e\3\44\1\u0132\1\u0135\4\44\1\u013b\3\44\1\u013f\10\44\2\uffff\1\44\1\u0149\1\44\1\u014b\2\44\1\uffff\4\44\1\u0154\1\u0155\3\44\1\u0159\1\44\1\u015b\1\u015c\5\44\2\uffff\2\44\1\uffff\4\44\1\uffff\2\44\1\u016a\1\u016d\5\44\1\u0173\1\u0174\4\44\1\u0179\1\u017a\2\44\1\uffff\4\44\1\uffff\1\44\1\uffff\3\44\1\uffff\2\44\1\uffff\4\44\1\u018b\1\uffff\1\u018c\1\u018d\1\44\1\uffff\10\44\1\u0198\1\uffff\1\44\1\uffff\1\u019a\1\u019b\1\u019c\1\u019d\4\44\2\uffff\1\44\1\u01a3\1\44\1\uffff\1\u01a5\2\uffff\15\44\1\uffff\2\44\1\uffff\5\44\2\uffff\4\44\2\uffff\2\44\1\u01c1\1\u01c2\2\44\1\u01c5\5\44\1\u01cb\1\u01cd\1\u01cf\1\44\3\uffff\1\u01d2\4\44\1\u01d7\4\44\1\uffff\1\44\4\uffff\1\44\1\u01de\3\44\1\uffff\1\44\1\uffff\4\44\1\u01e7\1\44\1\u01e9\12\44\1\u01f4\1\u01f5\2\44\1\u01f8\1\44\1\u01fa\3\44\2\uffff\2\44\1\uffff\1\u0200\4\44\1\uffff\1\44\1\uffff\1\44\1\uffff\2\44\1\uffff\1\44\1\u020a\2\44\1\uffff\1\u020d\3\44\1\u0212\1\44\1\uffff\6\44\1\u021a\1\44\1\uffff\1\44\1\uffff\5\44\1\u0222\4\44\2\uffff\2\44\1\uffff\1\44\1\uffff\3\44\1\u022d\1\44\1\uffff\1\44\1\u0230\6\44\1\u0237\1\uffff\1\u0238\1\44\1\uffff\1\u023a\1\u023b\1\44\1\u023d\1\uffff\1\u023e\1\u023f\1\44\1\u0241\3\44\1\uffff\1\44\1\u0246\1\u0247\1\u0248\3\44\1\uffff\2\44\1\u024e\1\u024f\1\44\1\u0251\2\44\1\u0254\1\44\1\uffff\1\u0256\1\u0257\1\uffff\1\u0258\1\u0259\1\u025a\3\44\2\uffff\1\u025e\2\uffff\1\44\3\uffff\1\44\1\uffff\1\44\1\u0262\1\u0263\1\u0264\3\uffff\4\44\1\u0269\2\uffff\1\44\1\uffff\1\u026b\1\u026c\1\uffff\1\44\5\uffff\3\44\1\uffff\1\44\1\u0272\1\44\3\uffff\2\44\1\u0276\1\u0277\1\uffff\1\u0278\2\uffff\1\u0279\1\u027a\1\u027b\1\44\1\u027d\1\uffff\1\44\1\u027f\1\44\6\uffff\1\u0281\1\uffff\1\u0282\1\uffff\1\u0283\3\uffff";
static final String DFA22_eofS =
"\u0284\uffff";
static final String DFA22_minS =
"\1\11\1\uffff\1\157\1\uffff\1\150\3\uffff\1\145\1\141\1\154\1\uffff\2\156\1\143\11\uffff\2\141\1\151\2\60\1\141\1\162\1\157\1\145\1\141\1\156\1\116\2\uffff\1\52\4\uffff\1\145\1\163\1\160\1\165\1\162\1\143\1\156\1\154\1\145\1\154\1\155\1\165\1\157\1\164\1\141\1\162\1\143\1\151\1\144\1\142\1\144\1\171\1\143\1\60\1\155\1\147\1\156\1\151\1\147\1\60\1\141\1\156\1\164\1\157\1\147\1\151\1\146\1\145\1\154\1\60\1\uffff\1\143\2\60\1\uffff\1\60\1\154\2\145\1\162\1\164\1\142\1\166\1\142\1\163\1\144\1\104\2\uffff\1\160\1\143\4\145\1\141\1\143\1\162\1\164\1\163\2\154\1\160\1\156\1\151\1\143\1\145\1\155\1\157\1\142\2\145\1\162\1\141\1\60\1\162\1\151\1\145\1\156\1\151\2\145\1\uffff\1\142\1\164\1\145\1\163\1\151\1\143\1\156\1\147\1\145\1\157\1\143\1\uffff\1\162\1\143\1\165\1\154\1\150\1\145\1\144\2\60\1\145\1\164\1\144\1\162\1\uffff\1\154\1\145\1\60\2\uffff\1\145\1\154\1\156\1\141\1\uffff\1\164\1\144\1\162\1\145\1\164\1\60\1\145\1\60\1\153\1\145\1\105\2\145\1\144\2\60\1\163\1\165\2\60\1\143\1\145\1\144\2\141\1\164\1\146\1\153\1\162\1\60\1\144\1\154\1\170\1\162\2\60\1\163\1\156\1\uffff\1\145\1\164\1\144\1\143\1\166\1\163\1\60\1\145\1\60\1\144\1\164\1\156\1\153\1\141\1\154\1\60\1\144\1\143\1\145\1\60\1\162\2\145\1\156\1\147\2\151\1\154\2\uffff\1\164\1\60\1\163\1\60\1\162\1\164\1\uffff\1\164\1\162\1\141\1\163\2\60\1\146\1\144\1\154\1\60\1\154\2\60\1\162\1\106\1\162\1\144\1\147\2\uffff\1\150\1\154\1\uffff\1\151\2\141\1\150\1\uffff\1\157\1\145\2\60\1\154\1\156\1\143\1\145\1\137\1\60\1\156\1\uffff\2\145\1\164\1\156\1\uffff\1\151\1\141\1\uffff\1\60\1\155\1\141\1\163\1\145\2\60\1\145\1\163\1\uffff\1\162\1\uffff\1\147\1\151\1\147\1\171\1\154\1\145\1\60\1\uffff\2\60\1\144\1\uffff\2\141\2\144\1\145\1\154\1\144\1\151\1\60\1\uffff\1\145\1\uffff\4\60\1\142\1\153\1\141\1\156\2\uffff\1\154\1\60\1\145\1\uffff\1\60\2\uffff\1\146\1\111\1\164\2\145\1\157\1\164\1\144\1\154\1\164\1\162\1\155\1\163\1\uffff\1\162\1\151\1\uffff\1\151\1\145\1\164\2\162\1\uffff\1\141\2\60\1\142\1\141\1\144\1\154\1\uffff\1\145\1\160\1\163\1\162\2\uffff\1\150\1\167\1\60\1\145\1\143\3\60\1\160\3\uffff\1\60\1\164\1\156\1\147\1\151\1\60\1\145\1\164\1\147\1\151\1\uffff\1\164\4\uffff\1\154\1\60\1\163\1\141\1\157\1\uffff\1\145\1\uffff\1\154\1\116\1\171\1\156\1\60\1\154\1\60\1\164\2\165\1\145\1\160\1\164\1\145\1\144\1\147\1\156\2\60\1\145\1\154\2\uffff\1\165\1\154\1\164\1\165\1\156\1\60\1\151\1\60\1\151\1\157\1\151\1\uffff\1\60\1\153\1\uffff\1\151\1\uffff\1\151\1\uffff\1\165\1\170\1\uffff\1\145\1\60\1\145\1\141\1\uffff\1\60\1\150\1\156\1\147\1\60\1\145\1\uffff\1\153\1\142\1\167\1\156\1\157\1\105\1\60\1\143\1\uffff\1\144\1\uffff\1\150\1\145\1\162\1\163\1\141\1\60\1\163\1\164\1\156\1\164\2\uffff\1\163\1\60\1\163\1\60\1\150\1\145\1\164\1\uffff\1\156\1\uffff\1\147\1\167\1\144\1\uffff\1\171\1\164\1\144\1\154\1\164\1\60\1\uffff\1\60\1\156\1\uffff\2\60\1\156\1\60\1\uffff\2\60\1\154\1\60\1\144\1\167\1\104\1\uffff\1\145\3\60\1\141\1\150\1\162\1\uffff\1\145\1\150\2\60\1\145\1\uffff\1\60\1\uffff\3\60\1\147\1\150\1\60\1\164\2\60\1\164\1\163\1\142\2\uffff\1\60\2\uffff\1\141\3\uffff\1\145\1\uffff\1\151\3\60\3\uffff\1\164\1\157\1\145\1\164\1\60\2\uffff\1\164\4\uffff\2\60\1\uffff\1\150\2\uffff\1\150\1\145\1\165\1\uffff\1\154\1\60\1\141\3\uffff\1\145\1\154\2\60\1\uffff\1\60\2\uffff\3\60\1\163\1\60\1\uffff\1\156\1\60\1\144\6\uffff\1\60\1\uffff\1\60\1\uffff\1\60\3\uffff";
"\1\11\2\uffff\1\157\1\uffff\1\150\2\uffff\1\145\1\141\1\154\1\uffff\1\143\11\uffff\1\156\1\141\1\156\1\141\1\151\2\60\1\141\1\162\1\157\1\145\1\141\1\156\1\116\2\uffff\1\52\4\uffff\1\145\1\163\1\160\1\165\1\162\1\143\1\156\1\154\1\145\1\154\1\155\1\165\1\157\1\151\1\144\1\142\1\144\1\171\1\143\1\141\1\164\1\162\1\60\1\155\1\147\1\156\1\143\1\151\1\147\1\60\1\141\1\156\1\164\1\157\1\147\1\151\1\146\1\145\1\154\1\60\1\uffff\1\143\2\60\1\uffff\1\60\1\154\2\145\1\162\1\164\1\142\1\166\1\142\1\163\1\144\1\104\2\uffff\1\160\1\143\4\145\1\141\1\143\1\162\1\164\1\163\2\154\1\160\1\156\1\151\1\143\1\141\1\60\1\162\1\151\1\145\1\156\1\151\1\145\1\155\1\157\1\142\3\145\1\uffff\1\142\1\164\1\145\1\163\1\145\1\162\1\151\1\143\1\156\1\147\1\145\1\157\1\143\1\uffff\1\162\1\143\1\165\1\154\1\150\1\145\1\144\2\60\1\145\1\164\1\144\1\162\1\uffff\1\154\1\145\1\60\2\uffff\1\145\1\154\1\156\1\141\1\uffff\1\164\1\144\1\162\1\145\1\164\1\60\1\145\1\60\1\153\1\145\1\105\2\145\1\144\2\60\1\163\1\165\2\60\1\143\1\145\1\144\2\141\1\164\1\146\1\153\1\163\1\156\1\uffff\1\145\1\164\1\144\1\143\1\166\1\163\1\60\1\144\1\154\1\162\1\170\1\60\1\145\1\60\1\144\1\164\1\162\2\60\1\156\1\153\1\141\1\154\1\60\1\144\1\143\1\145\1\60\1\162\2\145\1\156\1\147\2\151\1\154\2\uffff\1\164\1\60\1\163\1\60\1\162\1\164\1\uffff\1\164\1\162\1\141\1\163\2\60\1\146\1\144\1\154\1\60\1\154\2\60\1\162\1\106\1\162\1\144\1\147\2\uffff\1\150\1\154\1\uffff\1\151\2\141\1\150\1\uffff\1\157\1\145\2\60\1\154\1\156\1\143\1\145\1\137\2\60\1\155\1\141\1\163\1\145\2\60\1\145\1\163\1\uffff\2\145\1\156\1\164\1\uffff\1\162\1\uffff\1\147\1\151\1\156\1\uffff\1\151\1\141\1\uffff\1\147\1\171\1\154\1\145\1\60\1\uffff\2\60\1\144\1\uffff\2\141\2\144\1\145\1\154\1\144\1\151\1\60\1\uffff\1\145\1\uffff\4\60\1\142\1\153\1\141\1\156\2\uffff\1\154\1\60\1\145\1\uffff\1\60\2\uffff\1\146\1\111\1\164\2\145\1\157\1\164\1\144\1\154\1\164\1\162\1\155\1\163\1\uffff\1\162\1\151\1\uffff\1\151\1\145\1\164\2\162\2\uffff\1\145\1\160\1\163\1\162\2\uffff\1\150\1\167\2\60\1\141\1\142\1\60\1\145\1\143\1\141\1\144\1\154\3\60\1\160\3\uffff\1\60\1\164\1\156\1\147\1\151\1\60\1\145\1\164\1\147\1\151\1\uffff\1\164\4\uffff\1\154\1\60\1\163\1\141\1\157\1\uffff\1\145\1\uffff\1\154\1\116\1\171\1\156\1\60\1\154\1\60\1\164\2\165\1\145\1\160\1\164\1\145\1\144\1\147\1\156\2\60\1\145\1\156\1\60\1\151\1\60\1\151\1\157\1\151\2\uffff\1\154\1\165\1\uffff\1\60\1\153\1\154\1\164\1\165\1\uffff\1\151\1\uffff\1\151\1\uffff\1\165\1\170\1\uffff\1\145\1\60\1\145\1\141\1\uffff\1\60\1\150\1\156\1\147\1\60\1\145\1\uffff\1\153\1\142\1\167\1\156\1\157\1\105\1\60\1\143\1\uffff\1\144\1\uffff\1\150\1\145\1\162\1\163\1\141\1\60\1\163\1\164\1\156\1\164\2\uffff\1\163\1\164\1\uffff\1\156\1\uffff\1\147\1\167\1\144\1\60\1\163\1\uffff\1\171\1\60\1\150\1\145\1\164\1\144\1\154\1\164\1\60\1\uffff\1\60\1\156\1\uffff\2\60\1\156\1\60\1\uffff\2\60\1\154\1\60\1\144\1\167\1\104\1\uffff\1\145\3\60\1\141\1\150\1\162\1\uffff\1\145\1\150\2\60\1\145\1\60\1\147\1\150\1\60\1\164\1\uffff\2\60\1\uffff\3\60\1\164\1\163\1\142\2\uffff\1\60\2\uffff\1\141\3\uffff\1\145\1\uffff\1\151\3\60\3\uffff\1\164\1\157\1\145\1\164\1\60\2\uffff\1\164\1\uffff\2\60\1\uffff\1\150\5\uffff\1\150\1\145\1\165\1\uffff\1\154\1\60\1\141\3\uffff\1\145\1\154\2\60\1\uffff\1\60\2\uffff\3\60\1\163\1\60\1\uffff\1\156\1\60\1\144\6\uffff\1\60\1\uffff\1\60\1\uffff\1\60\3\uffff";
static final String DFA22_maxS =
"\1\175\1\uffff\1\162\1\uffff\1\171\3\uffff\1\157\1\165\1\160\1\uffff\1\170\1\156\1\163\11\uffff\1\165\1\171\1\162\2\172\1\167\1\166\1\157\2\163\1\156\1\116\2\uffff\1\57\4\uffff\1\157\1\163\1\160\1\165\1\162\1\163\1\156\1\154\1\145\1\154\2\165\1\157\1\164\1\165\1\162\1\164\1\154\1\144\1\142\1\144\1\171\1\164\1\172\1\155\1\170\1\156\1\162\1\156\1\172\1\141\1\156\2\164\1\147\1\151\1\163\1\166\1\154\1\172\1\uffff\1\163\2\172\1\uffff\1\172\1\154\2\145\1\162\1\164\1\142\1\166\1\142\1\163\1\144\1\104\2\uffff\1\160\1\143\4\145\1\141\1\143\1\162\1\164\1\163\2\154\1\160\1\156\1\151\1\143\1\145\1\155\1\157\1\142\1\145\2\162\1\147\1\172\1\162\1\151\1\145\1\156\1\151\2\145\1\uffff\1\142\1\164\1\145\1\163\1\151\1\143\1\156\1\147\1\145\1\157\1\143\1\uffff\1\162\1\143\1\165\1\154\1\150\1\145\1\144\2\172\1\145\1\164\1\144\1\162\1\uffff\1\154\1\145\1\172\2\uffff\1\145\1\154\1\156\1\141\1\uffff\1\164\1\144\1\162\1\145\1\164\1\60\1\145\1\60\1\153\1\145\1\105\2\145\1\144\2\172\1\163\1\165\2\172\1\164\1\145\1\144\1\141\1\157\1\164\1\146\1\153\1\162\1\172\1\144\1\154\1\170\1\162\2\172\1\163\1\156\1\uffff\1\155\1\164\1\144\1\143\1\166\1\163\1\172\1\145\1\172\1\144\1\164\1\156\1\153\1\141\1\154\1\172\1\144\1\143\1\145\1\172\1\162\2\145\1\156\1\147\2\151\1\154\2\uffff\1\164\1\172\1\163\1\172\1\162\1\164\1\uffff\1\164\1\162\1\141\1\163\2\172\1\146\1\144\1\154\1\172\1\154\2\172\1\162\1\106\1\162\1\144\1\147\2\uffff\1\150\1\154\1\uffff\1\151\2\141\1\150\1\uffff\1\157\1\145\2\172\1\154\1\156\1\143\1\145\1\137\1\172\1\156\1\uffff\2\145\1\164\1\156\1\uffff\1\151\1\141\1\uffff\1\172\1\155\1\141\1\163\1\145\2\172\1\145\1\163\1\uffff\1\162\1\uffff\1\147\1\151\1\147\1\171\1\154\1\145\1\172\1\uffff\2\172\1\144\1\uffff\2\141\2\144\1\145\1\154\1\144\1\151\1\172\1\uffff\1\145\1\uffff\4\172\1\142\1\153\1\141\1\156\2\uffff\1\154\1\172\1\145\1\uffff\1\172\2\uffff\1\146\1\111\1\164\2\145\1\157\1\164\1\144\1\154\1\164\1\162\1\155\1\163\1\uffff\1\162\1\151\1\uffff\1\151\1\145\1\164\2\162\1\uffff\1\141\2\172\1\142\1\141\1\144\1\154\1\uffff\1\145\1\160\1\163\1\162\2\uffff\1\154\1\167\1\172\1\145\1\143\3\172\1\160\3\uffff\1\172\1\164\1\156\1\147\1\151\1\172\1\145\1\164\1\147\1\151\1\uffff\1\164\4\uffff\1\154\1\172\1\163\1\141\1\157\1\uffff\1\145\1\uffff\1\154\1\116\1\171\1\156\1\172\1\154\1\172\1\164\2\165\1\145\1\160\1\164\1\145\1\144\1\147\1\156\2\172\1\145\1\154\2\uffff\1\165\1\154\1\164\1\165\1\156\1\172\1\151\1\172\1\151\1\157\1\151\1\uffff\1\172\1\153\1\uffff\1\151\1\uffff\1\151\1\uffff\1\165\1\170\1\uffff\1\145\1\172\1\145\1\141\1\uffff\1\172\1\150\1\156\1\147\1\172\1\145\1\uffff\1\153\1\142\1\167\1\156\1\157\1\105\1\172\1\143\1\uffff\1\144\1\uffff\1\150\1\145\1\162\1\163\1\141\1\172\1\163\1\164\1\156\1\164\2\uffff\1\163\1\172\1\163\1\172\1\150\1\145\1\164\1\uffff\1\156\1\uffff\1\147\1\167\1\144\1\uffff\1\171\1\164\1\144\1\154\1\164\1\172\1\uffff\1\172\1\156\1\uffff\2\172\1\156\1\172\1\uffff\2\172\1\154\1\172\1\144\1\167\1\104\1\uffff\1\145\3\172\1\141\1\150\1\162\1\uffff\1\145\1\150\2\172\1\145\1\uffff\1\172\1\uffff\3\172\1\147\1\150\1\172\1\164\2\172\1\164\1\163\1\142\2\uffff\1\172\2\uffff\1\141\3\uffff\1\145\1\uffff\1\151\3\172\3\uffff\1\164\1\157\1\145\1\164\1\172\2\uffff\1\164\4\uffff\2\172\1\uffff\1\150\2\uffff\1\150\1\145\1\165\1\uffff\1\154\1\172\1\141\3\uffff\1\145\1\154\2\172\1\uffff\1\172\2\uffff\3\172\1\163\1\172\1\uffff\1\156\1\172\1\144\6\uffff\1\172\1\uffff\1\172\1\uffff\1\172\3\uffff";
"\1\175\2\uffff\1\162\1\uffff\1\171\2\uffff\1\157\1\165\1\160\1\uffff\1\163\11\uffff\1\170\1\165\1\156\1\171\1\162\2\172\1\167\1\166\1\157\2\163\1\156\1\116\2\uffff\1\57\4\uffff\1\157\1\163\1\160\1\165\1\162\1\163\1\156\1\154\1\145\1\154\2\165\1\157\1\154\1\144\1\142\1\144\1\171\1\164\1\165\1\164\1\162\1\172\1\155\1\170\1\156\1\164\1\162\1\156\1\172\1\141\1\156\2\164\1\147\1\151\1\163\1\166\1\154\1\172\1\uffff\1\163\2\172\1\uffff\1\172\1\154\2\145\1\162\1\164\1\142\1\166\1\142\1\163\1\144\1\104\2\uffff\1\160\1\143\4\145\1\141\1\143\1\162\1\164\1\163\2\154\1\160\1\156\1\151\1\143\1\147\1\172\1\162\1\151\1\145\1\156\1\151\1\145\1\155\1\157\1\142\3\145\1\uffff\1\142\1\164\1\145\1\163\2\162\1\151\1\143\1\156\1\147\1\145\1\157\1\143\1\uffff\1\162\1\143\1\165\1\154\1\150\1\145\1\144\2\172\1\145\1\164\1\144\1\162\1\uffff\1\154\1\145\1\172\2\uffff\1\145\1\154\1\156\1\141\1\uffff\1\164\1\144\1\162\1\145\1\164\1\60\1\145\1\60\1\153\1\145\1\105\2\145\1\144\2\172\1\163\1\165\2\172\1\164\1\145\1\144\1\141\1\157\1\164\1\146\1\153\1\163\1\156\1\uffff\1\155\1\164\1\144\1\143\1\166\1\163\1\172\1\144\1\154\1\162\1\170\1\172\1\145\1\172\1\144\1\164\1\162\2\172\1\156\1\153\1\141\1\154\1\172\1\144\1\143\1\145\1\172\1\162\2\145\1\156\1\147\2\151\1\154\2\uffff\1\164\1\172\1\163\1\172\1\162\1\164\1\uffff\1\164\1\162\1\141\1\163\2\172\1\146\1\144\1\154\1\172\1\154\2\172\1\162\1\106\1\162\1\144\1\147\2\uffff\1\150\1\154\1\uffff\1\151\2\141\1\150\1\uffff\1\157\1\145\2\172\1\154\1\156\1\143\1\145\1\137\2\172\1\155\1\141\1\163\1\145\2\172\1\145\1\163\1\uffff\2\145\1\156\1\164\1\uffff\1\162\1\uffff\1\147\1\151\1\156\1\uffff\1\151\1\141\1\uffff\1\147\1\171\1\154\1\145\1\172\1\uffff\2\172\1\144\1\uffff\2\141\2\144\1\145\1\154\1\144\1\151\1\172\1\uffff\1\145\1\uffff\4\172\1\142\1\153\1\141\1\156\2\uffff\1\154\1\172\1\145\1\uffff\1\172\2\uffff\1\146\1\111\1\164\2\145\1\157\1\164\1\144\1\154\1\164\1\162\1\155\1\163\1\uffff\1\162\1\151\1\uffff\1\151\1\145\1\164\2\162\2\uffff\1\145\1\160\1\163\1\162\2\uffff\1\154\1\167\2\172\1\141\1\142\1\172\1\145\1\143\1\141\1\144\1\154\3\172\1\160\3\uffff\1\172\1\164\1\156\1\147\1\151\1\172\1\145\1\164\1\147\1\151\1\uffff\1\164\4\uffff\1\154\1\172\1\163\1\141\1\157\1\uffff\1\145\1\uffff\1\154\1\116\1\171\1\156\1\172\1\154\1\172\1\164\2\165\1\145\1\160\1\164\1\145\1\144\1\147\1\156\2\172\1\145\1\156\1\172\1\151\1\172\1\151\1\157\1\151\2\uffff\1\154\1\165\1\uffff\1\172\1\153\1\154\1\164\1\165\1\uffff\1\151\1\uffff\1\151\1\uffff\1\165\1\170\1\uffff\1\145\1\172\1\145\1\141\1\uffff\1\172\1\150\1\156\1\147\1\172\1\145\1\uffff\1\153\1\142\1\167\1\156\1\157\1\105\1\172\1\143\1\uffff\1\144\1\uffff\1\150\1\145\1\162\1\163\1\141\1\172\1\163\1\164\1\156\1\164\2\uffff\1\163\1\164\1\uffff\1\156\1\uffff\1\147\1\167\1\144\1\172\1\163\1\uffff\1\171\1\172\1\150\1\145\1\164\1\144\1\154\1\164\1\172\1\uffff\1\172\1\156\1\uffff\2\172\1\156\1\172\1\uffff\2\172\1\154\1\172\1\144\1\167\1\104\1\uffff\1\145\3\172\1\141\1\150\1\162\1\uffff\1\145\1\150\2\172\1\145\1\172\1\147\1\150\1\172\1\164\1\uffff\2\172\1\uffff\3\172\1\164\1\163\1\142\2\uffff\1\172\2\uffff\1\141\3\uffff\1\145\1\uffff\1\151\3\172\3\uffff\1\164\1\157\1\145\1\164\1\172\2\uffff\1\164\1\uffff\2\172\1\uffff\1\150\5\uffff\1\150\1\145\1\165\1\uffff\1\154\1\172\1\141\3\uffff\1\145\1\154\2\172\1\uffff\1\172\2\uffff\3\172\1\163\1\172\1\uffff\1\156\1\172\1\144\6\uffff\1\172\1\uffff\1\172\1\uffff\1\172\3\uffff";
static final String DFA22_acceptS =
"\1\uffff\1\1\1\uffff\1\3\1\uffff\1\5\1\6\1\7\3\uffff\1\14\3\uffff\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\14\uffff\1\174\1\175\1\uffff\1\u0080\1\u0081\1\u0082\1\u0083\50\uffff\1\161\3\uffff\1\162\14\uffff\1\176\1\177\41\uffff\1\163\13\uffff\1\137\15\uffff\1\157\3\uffff\1\53\1\160\4\uffff\1\140\46\uffff\1\45\34\uffff\1\40\1\43\6\uffff\1\54\22\uffff\1\4\1\11\2\uffff\1\33\4\uffff\1\117\13\uffff\1\31\4\uffff\1\65\2\uffff\1\116\11\uffff\1\32\1\uffff\1\155\7\uffff\1\55\3\uffff\1\106\11\uffff\1\47\1\uffff\1\50\10\uffff\1\154\1\67\3\uffff\1\105\1\uffff\1\104\1\146\15\uffff\1\12\2\uffff\1\42\5\uffff\1\145\7\uffff\1\17\4\uffff\1\66\1\107\11\uffff\1\56\1\61\1\62\12\uffff\1\75\1\uffff\1\51\1\52\1\57\1\60\5\uffff\1\70\1\uffff\1\172\25\uffff\1\143\1\147\13\uffff\1\35\2\uffff\1\34\1\uffff\1\63\1\uffff\1\44\2\uffff\1\103\4\uffff\1\102\6\uffff\1\151\10\uffff\1\167\1\uffff\1\10\12\uffff\1\164\1\71\7\uffff\1\37\1\uffff\1\46\3\uffff\1\170\6\uffff\1\36\2\uffff\1\41\4\uffff\1\100\7\uffff\1\2\7\uffff\1\131\5\uffff\1\15\1\uffff\1\16\14\uffff\1\124\1\171\1\uffff\1\133\1\165\1\uffff\1\101\1\150\1\152\1\uffff\1\72\4\uffff\1\126\1\121\1\123\5\uffff\1\166\1\13\1\uffff\1\74\1\120\1\122\1\132\2\uffff\1\113\1\uffff\1\173\1\64\3\uffff\1\77\3\uffff\1\115\1\156\1\142\4\uffff\1\134\1\uffff\1\141\1\112\5\uffff\1\153\3\uffff\1\130\1\111\1\110\1\136\1\135\1\114\1\uffff\1\144\1\uffff\1\125\1\uffff\1\73\1\76\1\127";
"\1\uffff\1\1\1\2\1\uffff\1\4\1\uffff\1\6\1\7\3\uffff\1\14\1\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\16\uffff\1\174\1\175\1\uffff\1\u0080\1\u0081\1\u0082\1\u0083\50\uffff\1\161\3\uffff\1\162\14\uffff\1\176\1\177\37\uffff\1\163\15\uffff\1\137\15\uffff\1\157\3\uffff\1\53\1\160\4\uffff\1\140\36\uffff\1\45\44\uffff\1\40\1\43\6\uffff\1\54\22\uffff\1\5\1\11\2\uffff\1\31\4\uffff\1\117\23\uffff\1\27\4\uffff\1\30\1\uffff\1\155\3\uffff\1\65\2\uffff\1\116\5\uffff\1\55\3\uffff\1\106\11\uffff\1\47\1\uffff\1\50\10\uffff\1\154\1\67\3\uffff\1\105\1\uffff\1\104\1\146\15\uffff\1\12\2\uffff\1\42\5\uffff\1\145\1\15\4\uffff\1\66\1\107\20\uffff\1\56\1\61\1\62\12\uffff\1\75\1\uffff\1\51\1\52\1\57\1\60\5\uffff\1\70\1\uffff\1\172\33\uffff\1\143\1\147\2\uffff\1\35\5\uffff\1\34\1\uffff\1\63\1\uffff\1\44\2\uffff\1\103\4\uffff\1\102\6\uffff\1\151\10\uffff\1\167\1\uffff\1\10\12\uffff\1\164\1\71\2\uffff\1\37\1\uffff\1\46\5\uffff\1\170\11\uffff\1\36\2\uffff\1\41\4\uffff\1\100\7\uffff\1\3\7\uffff\1\131\12\uffff\1\32\2\uffff\1\33\6\uffff\1\124\1\171\1\uffff\1\133\1\165\1\uffff\1\101\1\150\1\152\1\uffff\1\72\4\uffff\1\126\1\121\1\123\5\uffff\1\166\1\13\1\uffff\1\132\2\uffff\1\113\1\uffff\1\74\1\173\1\120\1\122\1\64\3\uffff\1\77\3\uffff\1\115\1\156\1\142\4\uffff\1\134\1\uffff\1\141\1\112\5\uffff\1\153\3\uffff\1\130\1\111\1\110\1\136\1\135\1\114\1\uffff\1\144\1\uffff\1\125\1\uffff\1\73\1\76\1\127";
static final String DFA22_specialS =
"\u0284\uffff}>";
static final String[] DFA22_transitionS = {
"\2\45\2\uffff\1\45\22\uffff\1\45\1\uffff\1\52\2\uffff\1\22\2\uffff\1\50\2\uffff\1\21\1\17\1\26\1\27\1\46\12\51\1\24\1\6\1\47\1\5\2\uffff\1\20\24\44\1\43\5\44\1\23\1\44\1\25\1\uffff\1\44\1\1\1\16\1\32\1\12\1\10\1\14\1\11\1\44\1\35\1\15\2\44\1\40\1\41\1\30\1\36\1\2\1\44\1\33\1\31\1\4\1\42\1\44\1\34\1\37\2\44\1\3\1\13\1\7",
"\2\45\2\uffff\1\45\22\uffff\1\45\1\uffff\1\52\2\uffff\1\20\2\uffff\1\50\2\uffff\1\17\1\15\1\24\1\25\1\46\12\51\1\22\1\1\1\47\1\6\2\uffff\1\16\24\44\1\43\5\44\1\21\1\44\1\23\1\uffff\1\44\1\2\1\14\1\32\1\12\1\10\1\26\1\11\1\44\1\35\1\30\2\44\1\40\1\41\1\27\1\36\1\3\1\44\1\33\1\31\1\5\1\42\1\44\1\34\1\37\2\44\1\4\1\13\1\7",
"",
"",
"\1\54\2\uffff\1\53",
"",
"\1\57\11\uffff\1\56\6\uffff\1\55",
"",
"",
"",
"\1\60\11\uffff\1\61",
"\1\62\7\uffff\1\63\13\uffff\1\64",
"\1\67\2\uffff\1\65\1\66",
"",
"\1\71\3\uffff\1\72\5\uffff\1\70",
"\1\73",
"\1\101\1\75\7\uffff\1\74\1\uffff\1\77\3\uffff\1\76\1\100",
"\1\75\1\71\7\uffff\1\70\1\uffff\1\73\3\uffff\1\72\1\74",
"",
"",
"",
@ -4633,7 +4631,9 @@ public class InternalRDLLexer extends Lexer {
"",
"",
"",
"\1\102\3\uffff\1\104\11\uffff\1\105\5\uffff\1\103",
"\1\76\3\uffff\1\100\5\uffff\1\77",
"\1\101\3\uffff\1\103\11\uffff\1\104\5\uffff\1\102",
"\1\105",
"\1\113\6\uffff\1\111\1\107\12\uffff\1\106\2\uffff\1\110\1\uffff\1\112",
"\1\115\5\uffff\1\114\2\uffff\1\116",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\2\44\1\121\1\44\1\117\15\44\1\120\3\44\1\122\3\44",
@ -4665,20 +4665,20 @@ public class InternalRDLLexer extends Lexer {
"\1\163\7\uffff\1\164",
"\1\165",
"\1\166",
"\1\167",
"\1\172\1\uffff\1\171\21\uffff\1\170",
"\1\167\2\uffff\1\170",
"\1\171",
"\1\172",
"\1\173",
"\1\175\20\uffff\1\174",
"\1\176\2\uffff\1\177",
"\1\u0080",
"\1\u0081",
"\1\174",
"\1\176\20\uffff\1\175",
"\1\u0081\1\uffff\1\u0080\21\uffff\1\177",
"\1\u0082",
"\1\u0083",
"\1\u0085\20\uffff\1\u0084",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\14\44\1\u0086\15\44",
"\1\u0088",
"\1\u008a\20\uffff\1\u0089",
"\1\u008b",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\14\44\1\u0084\15\44",
"\1\u0086",
"\1\u0088\20\uffff\1\u0087",
"\1\u0089",
"\1\u008b\20\uffff\1\u008a",
"\1\u008d\10\uffff\1\u008c",
"\1\u008e\6\uffff\1\u008f",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\1\u0092\13\44\1\u0091\11\44\1\u0090\3\44",
@ -4728,26 +4728,26 @@ public class InternalRDLLexer extends Lexer {
"\1\u00c5",
"\1\u00c6",
"\1\u00c7",
"\1\u00c8",
"\1\u00c9",
"\1\u00ca",
"\1\u00c8\5\uffff\1\u00c9",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u00cb",
"\1\u00cc",
"\1\u00cd\14\uffff\1\u00ce",
"\1\u00cd",
"\1\u00ce",
"\1\u00cf",
"\1\u00d0\5\uffff\1\u00d1",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u00d0",
"\1\u00d1",
"\1\u00d2",
"\1\u00d3",
"\1\u00d4",
"\1\u00d5",
"\1\u00d6",
"",
"\1\u00d7",
"\1\u00d8",
"\1\u00d9",
"",
"\1\u00da",
"\1\u00db",
"\1\u00dc",
"\1\u00db\14\uffff\1\u00dc",
"\1\u00dd",
"\1\u00de",
"\1\u00df",
@ -4810,27 +4810,27 @@ public class InternalRDLLexer extends Lexer {
"\1\u011c",
"\1\u011d",
"\1\u011e",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0120",
"\1\u0121",
"\1\u011f",
"",
"\1\u0121\7\uffff\1\u0120",
"\1\u0122",
"\1\u0123",
"\1\u0124",
"\1\u0125",
"\1\u0126",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\25\44\1\u0126\1\u0125\3\44",
"\1\u0128",
"\1\u0129",
"",
"\1\u012b\7\uffff\1\u012a",
"\1\u012c",
"\1\u012a",
"\1\u012b",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u012d",
"\1\u012e",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u012f",
"\1\u0130",
"\1\u0131",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0132",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0134",
"\1\u0135",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\25\44\1\u0134\1\u0133\3\44",
"\1\u0136",
"\1\u0137",
"\1\u0138",
@ -4895,30 +4895,30 @@ public class InternalRDLLexer extends Lexer {
"\1\u0171",
"\1\u0172",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0174",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0175",
"\1\u0176",
"\1\u0177",
"\1\u0178",
"",
"\1\u0179",
"\1\u017a",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u017b",
"\1\u017c",
"",
"\1\u017d",
"\1\u017e",
"\1\u017f",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0180",
"",
"\1\u0181",
"",
"\1\u0182",
"\1\u0183",
"",
"\1\u0184",
"",
"\1\u0185",
"\1\u0186",
"",
"\1\u0187",
"\1\u0188",
"\1\u0189",
@ -4981,23 +4981,23 @@ public class InternalRDLLexer extends Lexer {
"\1\u01b8",
"\1\u01b9",
"",
"\1\u01ba",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01bd",
"\1\u01be",
"\1\u01bf",
"\1\u01c0",
"",
"\1\u01c1",
"\1\u01c2",
"\1\u01ba",
"\1\u01bb",
"\1\u01bc",
"\1\u01bd",
"",
"",
"\1\u01be\3\uffff\1\u01bf",
"\1\u01c0",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01c3",
"\1\u01c4",
"",
"",
"\1\u01c5\3\uffff\1\u01c6",
"\1\u01c7",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01c6",
"\1\u01c7",
"\1\u01c8",
"\1\u01c9",
"\1\u01ca",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
@ -5052,21 +5052,21 @@ public class InternalRDLLexer extends Lexer {
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01f6",
"\1\u01f7",
"",
"",
"\1\u01f8",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01f9",
"\1\u01fa",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01fb",
"\1\u01fc",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u01fd",
"",
"",
"\1\u01fe",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0200",
"\1\u0201",
"\1\u0202",
"\1\u01ff",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0201",
"\1\u0202",
"\1\u0203",
"\1\u0204",
"",
"\1\u0205",
@ -5112,19 +5112,19 @@ public class InternalRDLLexer extends Lexer {
"",
"",
"\1\u0227",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0228",
"",
"\1\u0229",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"",
"\1\u022a",
"\1\u022b",
"\1\u022c",
"\1\u022d",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u022e",
"",
"\1\u022f",
"\1\u0230",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0231",
"",
"\1\u0232",
"\1\u0233",
"\1\u0234",
@ -5161,16 +5161,16 @@ public class InternalRDLLexer extends Lexer {
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0250",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0252",
"\1\u0253",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0255",
"\1\u0256",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u0258",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\1\u025b",
@ -5203,15 +5203,15 @@ public class InternalRDLLexer extends Lexer {
"",
"\1\u026a",
"",
"",
"",
"",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
"",
"\1\u026d",
"",
"",
"",
"",
"",
"\1\u026e",
"\1\u026f",
"\1\u0270",

View File

@ -19,10 +19,9 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getNamedInstantiations <em>Named Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation <em>Immediate Instantiation</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition()
@ -103,20 +102,20 @@ public interface ComponentDefinition extends EObject
EList<ComponentDefinition> getComponentDefinitions();
/**
* Returns the value of the '<em><b>Named Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.NamedInstantiation}.
* Returns the value of the '<em><b>Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Instantiation}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Named Instantiations</em>' containment reference list isn't clear,
* If the meaning of the '<em>Instantiations</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Named Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_NamedInstantiations()
* @return the value of the '<em>Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_Instantiations()
* @model containment="true"
* @generated
*/
EList<NamedInstantiation> getNamedInstantiations();
EList<Instantiation> getInstantiations();
/**
* Returns the value of the '<em><b>Property Assignments</b></em>' containment reference list.
@ -150,30 +149,4 @@ public interface ComponentDefinition extends EObject
*/
EList<EnumDefinition> getEnumDefinitions();
/**
* Returns the value of the '<em><b>Immediate Instantiation</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Immediate Instantiation</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Immediate Instantiation</em>' containment reference.
* @see #setImmediateInstantiation(ImmediateInstantiation)
* @see com.minres.rdl.rdl.RdlPackage#getComponentDefinition_ImmediateInstantiation()
* @model containment="true"
* @generated
*/
ImmediateInstantiation getImmediateInstantiation();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation <em>Immediate Instantiation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Immediate Instantiation</em>' containment reference.
* @see #getImmediateInstantiation()
* @generated
*/
void setImmediateInstantiation(ImmediateInstantiation value);
} // ComponentDefinition

View File

@ -0,0 +1,79 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Enum Instance Type</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL <em>EXTERNAL</em>}</li>
* <li>{@link com.minres.rdl.rdl.EnumInstanceType#getINTERNAL <em>INTERNAL</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType()
* @model
* @generated
*/
public interface EnumInstanceType extends EObject
{
/**
* Returns the value of the '<em><b>EXTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>EXTERNAL</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>EXTERNAL</em>' attribute.
* @see #setEXTERNAL(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType_EXTERNAL()
* @model
* @generated
*/
String getEXTERNAL();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL <em>EXTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>EXTERNAL</em>' attribute.
* @see #getEXTERNAL()
* @generated
*/
void setEXTERNAL(String value);
/**
* Returns the value of the '<em><b>INTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>INTERNAL</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>INTERNAL</em>' attribute.
* @see #setINTERNAL(String)
* @see com.minres.rdl.rdl.RdlPackage#getEnumInstanceType_INTERNAL()
* @model
* @generated
*/
String getINTERNAL();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.EnumInstanceType#getINTERNAL <em>INTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>INTERNAL</em>' attribute.
* @see #getINTERNAL()
* @generated
*/
void setINTERNAL(String value);
} // EnumInstanceType

View File

@ -1,71 +0,0 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Immediate Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.ImmediateInstantiation#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.ImmediateInstantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation()
* @model
* @generated
*/
public interface ImmediateInstantiation extends EObject
{
/**
* Returns the value of the '<em><b>External</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>External</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>External</em>' attribute.
* @see #setExternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation_External()
* @model
* @generated
*/
boolean isExternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.ImmediateInstantiation#isExternal <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>External</em>' attribute.
* @see #isExternal()
* @generated
*/
void setExternal(boolean value);
/**
* Returns the value of the '<em><b>Component Instances</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentInstance}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component Instances</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getImmediateInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // ImmediateInstantiation

View File

@ -0,0 +1,152 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Instantiation#getInstanceType <em>Instance Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponentRef <em>Component Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.Instantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation()
* @model
* @generated
*/
public interface Instantiation extends EObject
{
/**
* Returns the value of the '<em><b>Instance Type</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Instance Type</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Instance Type</em>' containment reference.
* @see #setInstanceType(EnumInstanceType)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_InstanceType()
* @model containment="true"
* @generated
*/
EnumInstanceType getInstanceType();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getInstanceType <em>Instance Type</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance Type</em>' containment reference.
* @see #getInstanceType()
* @generated
*/
void setInstanceType(EnumInstanceType value);
/**
* Returns the value of the '<em><b>Alias</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Alias</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Alias</em>' attribute.
* @see #setAlias(String)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Alias()
* @model
* @generated
*/
String getAlias();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getAlias <em>Alias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Alias</em>' attribute.
* @see #getAlias()
* @generated
*/
void setAlias(String value);
/**
* Returns the value of the '<em><b>Component Ref</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component Ref</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Ref</em>' reference.
* @see #setComponentRef(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentRef()
* @model
* @generated
*/
ComponentDefinition getComponentRef();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponentRef <em>Component Ref</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component Ref</em>' reference.
* @see #getComponentRef()
* @generated
*/
void setComponentRef(ComponentDefinition value);
/**
* Returns the value of the '<em><b>Component</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component</em>' containment reference.
* @see #setComponent(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_Component()
* @model containment="true"
* @generated
*/
ComponentDefinition getComponent();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Instantiation#getComponent <em>Component</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component</em>' containment reference.
* @see #getComponent()
* @generated
*/
void setComponent(ComponentDefinition value);
/**
* Returns the value of the '<em><b>Component Instances</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentInstance}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component Instances</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // Instantiation

View File

@ -1,152 +0,0 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Named Instantiation</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#isInternal <em>Internal</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.NamedInstantiation#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation()
* @model
* @generated
*/
public interface NamedInstantiation extends EObject
{
/**
* Returns the value of the '<em><b>External</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>External</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>External</em>' attribute.
* @see #setExternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_External()
* @model
* @generated
*/
boolean isExternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#isExternal <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>External</em>' attribute.
* @see #isExternal()
* @generated
*/
void setExternal(boolean value);
/**
* Returns the value of the '<em><b>Internal</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Internal</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Internal</em>' attribute.
* @see #setInternal(boolean)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Internal()
* @model
* @generated
*/
boolean isInternal();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#isInternal <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Internal</em>' attribute.
* @see #isInternal()
* @generated
*/
void setInternal(boolean value);
/**
* Returns the value of the '<em><b>Alias</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Alias</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Alias</em>' attribute.
* @see #setAlias(String)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Alias()
* @model
* @generated
*/
String getAlias();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#getAlias <em>Alias</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Alias</em>' attribute.
* @see #getAlias()
* @generated
*/
void setAlias(String value);
/**
* Returns the value of the '<em><b>Component</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component</em>' reference.
* @see #setComponent(ComponentDefinition)
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_Component()
* @model
* @generated
*/
ComponentDefinition getComponent();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.NamedInstantiation#getComponent <em>Component</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Component</em>' reference.
* @see #getComponent()
* @generated
*/
void setComponent(ComponentDefinition value);
/**
* Returns the value of the '<em><b>Component Instances</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.ComponentInstance}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Component Instances</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Component Instances</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getNamedInstantiation_ComponentInstances()
* @model containment="true"
* @generated
*/
EList<ComponentInstance> getComponentInstances();
} // NamedInstantiation

View File

@ -14,8 +14,8 @@ import org.eclipse.emf.ecore.EObject;
* The following features are supported:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.Range#getStart <em>Start</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getEnd <em>End</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getLeft <em>Left</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getRight <em>Right</em>}</li>
* <li>{@link com.minres.rdl.rdl.Range#getSize <em>Size</em>}</li>
* </ul>
*
@ -26,56 +26,56 @@ import org.eclipse.emf.ecore.EObject;
public interface Range extends EObject
{
/**
* Returns the value of the '<em><b>Start</b></em>' attribute.
* Returns the value of the '<em><b>Left</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Start</em>' attribute isn't clear,
* If the meaning of the '<em>Left</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Start</em>' attribute.
* @see #setStart(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Start()
* @return the value of the '<em>Left</em>' attribute.
* @see #setLeft(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Left()
* @model
* @generated
*/
Object getStart();
Object getLeft();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getStart <em>Start</em>}' attribute.
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getLeft <em>Left</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Start</em>' attribute.
* @see #getStart()
* @param value the new value of the '<em>Left</em>' attribute.
* @see #getLeft()
* @generated
*/
void setStart(Object value);
void setLeft(Object value);
/**
* Returns the value of the '<em><b>End</b></em>' attribute.
* Returns the value of the '<em><b>Right</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>End</em>' attribute isn't clear,
* If the meaning of the '<em>Right</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>End</em>' attribute.
* @see #setEnd(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_End()
* @return the value of the '<em>Right</em>' attribute.
* @see #setRight(Object)
* @see com.minres.rdl.rdl.RdlPackage#getRange_Right()
* @model
* @generated
*/
Object getEnd();
Object getRight();
/**
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getEnd <em>End</em>}' attribute.
* Sets the value of the '{@link com.minres.rdl.rdl.Range#getRight <em>Right</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>End</em>' attribute.
* @see #getEnd()
* @param value the new value of the '<em>Right</em>' attribute.
* @see #getRight()
* @generated
*/
void setEnd(Object value);
void setRight(Object value);
/**
* Returns the value of the '<em><b>Size</b></em>' attribute.

View File

@ -78,22 +78,13 @@ public interface RdlFactory extends EFactory
ComponentDefinition createComponentDefinition();
/**
* Returns a new object of class '<em>Named Instantiation</em>'.
* Returns a new object of class '<em>Instantiation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Named Instantiation</em>'.
* @return a new object of class '<em>Instantiation</em>'.
* @generated
*/
NamedInstantiation createNamedInstantiation();
/**
* Returns a new object of class '<em>Immediate Instantiation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Immediate Instantiation</em>'.
* @generated
*/
ImmediateInstantiation createImmediateInstantiation();
Instantiation createInstantiation();
/**
* Returns a new object of class '<em>Component Instance</em>'.
@ -248,6 +239,15 @@ public interface RdlFactory extends EFactory
*/
EnumProperty createEnumProperty();
/**
* Returns a new object of class '<em>Enum Instance Type</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Enum Instance Type</em>'.
* @generated
*/
EnumInstanceType createEnumInstanceType();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->

View File

@ -96,13 +96,13 @@ public interface RdlPackage extends EPackage
int ROOT__ENUM_DEFINITIONS = 2;
/**
* The feature id for the '<em><b>Named Instantiations</b></em>' containment reference list.
* The feature id for the '<em><b>Instantiations</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ROOT__NAMED_INSTANTIATIONS = 3;
int ROOT__INSTANTIATIONS = 3;
/**
* The feature id for the '<em><b>Property Assignments</b></em>' containment reference list.
@ -167,7 +167,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEntity()
* @generated
*/
int ENTITY = 15;
int ENTITY = 14;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@ -345,13 +345,13 @@ public interface RdlPackage extends EPackage
int COMPONENT_DEFINITION__COMPONENT_DEFINITIONS = 2;
/**
* The feature id for the '<em><b>Named Instantiations</b></em>' containment reference list.
* The feature id for the '<em><b>Instantiations</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int COMPONENT_DEFINITION__NAMED_INSTANTIATIONS = 3;
int COMPONENT_DEFINITION__INSTANTIATIONS = 3;
/**
* The feature id for the '<em><b>Property Assignments</b></em>' containment reference list.
@ -371,15 +371,6 @@ public interface RdlPackage extends EPackage
*/
int COMPONENT_DEFINITION__ENUM_DEFINITIONS = 5;
/**
* The feature id for the '<em><b>Immediate Instantiation</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION = 6;
/**
* The number of structural features of the '<em>Component Definition</em>' class.
* <!-- begin-user-doc -->
@ -387,35 +378,26 @@ public interface RdlPackage extends EPackage
* @generated
* @ordered
*/
int COMPONENT_DEFINITION_FEATURE_COUNT = 7;
int COMPONENT_DEFINITION_FEATURE_COUNT = 6;
/**
* The meta object id for the '{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl <em>Named Instantiation</em>}' class.
* The meta object id for the '{@link com.minres.rdl.rdl.impl.InstantiationImpl <em>Instantiation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.NamedInstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getNamedInstantiation()
* @see com.minres.rdl.rdl.impl.InstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getInstantiation()
* @generated
*/
int NAMED_INSTANTIATION = 6;
int INSTANTIATION = 6;
/**
* The feature id for the '<em><b>External</b></em>' attribute.
* The feature id for the '<em><b>Instance Type</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int NAMED_INSTANTIATION__EXTERNAL = 0;
/**
* The feature id for the '<em><b>Internal</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int NAMED_INSTANTIATION__INTERNAL = 1;
int INSTANTIATION__INSTANCE_TYPE = 0;
/**
* The feature id for the '<em><b>Alias</b></em>' attribute.
@ -424,16 +406,25 @@ public interface RdlPackage extends EPackage
* @generated
* @ordered
*/
int NAMED_INSTANTIATION__ALIAS = 2;
int INSTANTIATION__ALIAS = 1;
/**
* The feature id for the '<em><b>Component</b></em>' reference.
* The feature id for the '<em><b>Component Ref</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int NAMED_INSTANTIATION__COMPONENT = 3;
int INSTANTIATION__COMPONENT_REF = 2;
/**
* The feature id for the '<em><b>Component</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int INSTANTIATION__COMPONENT = 3;
/**
* The feature id for the '<em><b>Component Instances</b></em>' containment reference list.
@ -442,53 +433,16 @@ public interface RdlPackage extends EPackage
* @generated
* @ordered
*/
int NAMED_INSTANTIATION__COMPONENT_INSTANCES = 4;
int INSTANTIATION__COMPONENT_INSTANCES = 4;
/**
* The number of structural features of the '<em>Named Instantiation</em>' class.
* The number of structural features of the '<em>Instantiation</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int NAMED_INSTANTIATION_FEATURE_COUNT = 5;
/**
* The meta object id for the '{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl <em>Immediate Instantiation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.ImmediateInstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getImmediateInstantiation()
* @generated
*/
int IMMEDIATE_INSTANTIATION = 7;
/**
* The feature id for the '<em><b>External</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int IMMEDIATE_INSTANTIATION__EXTERNAL = 0;
/**
* The feature id for the '<em><b>Component Instances</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES = 1;
/**
* The number of structural features of the '<em>Immediate Instantiation</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int IMMEDIATE_INSTANTIATION_FEATURE_COUNT = 2;
int INSTANTIATION_FEATURE_COUNT = 5;
/**
* The meta object id for the '{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl <em>Component Instance</em>}' class.
@ -498,7 +452,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getComponentInstance()
* @generated
*/
int COMPONENT_INSTANCE = 8;
int COMPONENT_INSTANCE = 7;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@ -571,25 +525,25 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getRange()
* @generated
*/
int RANGE = 9;
int RANGE = 8;
/**
* The feature id for the '<em><b>Start</b></em>' attribute.
* The feature id for the '<em><b>Left</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int RANGE__START = 0;
int RANGE__LEFT = 0;
/**
* The feature id for the '<em><b>End</b></em>' attribute.
* The feature id for the '<em><b>Right</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int RANGE__END = 1;
int RANGE__RIGHT = 1;
/**
* The feature id for the '<em><b>Size</b></em>' attribute.
@ -617,7 +571,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getPropertyAssignment()
* @generated
*/
int PROPERTY_ASSIGNMENT = 10;
int PROPERTY_ASSIGNMENT = 9;
/**
* The number of structural features of the '<em>Property Assignment</em>' class.
@ -636,7 +590,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getDefaultProperyAssignment()
* @generated
*/
int DEFAULT_PROPERY_ASSIGNMENT = 11;
int DEFAULT_PROPERY_ASSIGNMENT = 10;
/**
* The number of structural features of the '<em>Default Propery Assignment</em>' class.
@ -655,7 +609,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getExplicitPropertyAssignment()
* @generated
*/
int EXPLICIT_PROPERTY_ASSIGNMENT = 12;
int EXPLICIT_PROPERTY_ASSIGNMENT = 11;
/**
* The feature id for the '<em><b>Modifier</b></em>' attribute.
@ -701,7 +655,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getPostPropertyAssignment()
* @generated
*/
int POST_PROPERTY_ASSIGNMENT = 13;
int POST_PROPERTY_ASSIGNMENT = 12;
/**
* The feature id for the '<em><b>Instance</b></em>' containment reference.
@ -756,7 +710,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getInstancePropertyRef()
* @generated
*/
int INSTANCE_PROPERTY_REF = 14;
int INSTANCE_PROPERTY_REF = 13;
/**
* The feature id for the '<em><b>Instance</b></em>' containment reference.
@ -802,7 +756,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getInstanceRef()
* @generated
*/
int INSTANCE_REF = 16;
int INSTANCE_REF = 15;
/**
* The feature id for the '<em><b>Instance</b></em>' reference.
@ -839,7 +793,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getPropertyAssignmentRhs()
* @generated
*/
int PROPERTY_ASSIGNMENT_RHS = 17;
int PROPERTY_ASSIGNMENT_RHS = 16;
/**
* The feature id for the '<em><b>Value</b></em>' containment reference.
@ -903,7 +857,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getConcat()
* @generated
*/
int CONCAT = 18;
int CONCAT = 17;
/**
* The feature id for the '<em><b>Elements</b></em>' containment reference list.
@ -931,7 +885,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getConcatElem()
* @generated
*/
int CONCAT_ELEM = 19;
int CONCAT_ELEM = 18;
/**
* The feature id for the '<em><b>Inst Prop Ref</b></em>' containment reference.
@ -968,7 +922,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getRValue()
* @generated
*/
int RVALUE = 20;
int RVALUE = 19;
/**
* The feature id for the '<em><b>Val</b></em>' attribute.
@ -1014,7 +968,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumDefinition()
* @generated
*/
int ENUM_DEFINITION = 21;
int ENUM_DEFINITION = 20;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@ -1051,7 +1005,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumBody()
* @generated
*/
int ENUM_BODY = 22;
int ENUM_BODY = 21;
/**
* The feature id for the '<em><b>Entries</b></em>' containment reference list.
@ -1079,7 +1033,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumEntry()
* @generated
*/
int ENUM_ENTRY = 23;
int ENUM_ENTRY = 22;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@ -1125,7 +1079,7 @@ public interface RdlPackage extends EPackage
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumProperty()
* @generated
*/
int ENUM_PROPERTY = 24;
int ENUM_PROPERTY = 23;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@ -1154,6 +1108,43 @@ public interface RdlPackage extends EPackage
*/
int ENUM_PROPERTY_FEATURE_COUNT = 2;
/**
* The meta object id for the '{@link com.minres.rdl.rdl.impl.EnumInstanceTypeImpl <em>Enum Instance Type</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.EnumInstanceTypeImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumInstanceType()
* @generated
*/
int ENUM_INSTANCE_TYPE = 24;
/**
* The feature id for the '<em><b>EXTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ENUM_INSTANCE_TYPE__EXTERNAL = 0;
/**
* The feature id for the '<em><b>INTERNAL</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ENUM_INSTANCE_TYPE__INTERNAL = 1;
/**
* The number of structural features of the '<em>Enum Instance Type</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int ENUM_INSTANCE_TYPE_FEATURE_COUNT = 2;
/**
* The meta object id for the '{@link com.minres.rdl.rdl.PropertyTypeName <em>Property Type Name</em>}' enum.
* <!-- begin-user-doc -->
@ -1259,15 +1250,15 @@ public interface RdlPackage extends EPackage
EReference getRoot_EnumDefinitions();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.Root#getNamedInstantiations <em>Named Instantiations</em>}'.
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.Root#getInstantiations <em>Instantiations</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>Named Instantiations</em>'.
* @see com.minres.rdl.rdl.Root#getNamedInstantiations()
* @return the meta object for the containment reference list '<em>Instantiations</em>'.
* @see com.minres.rdl.rdl.Root#getInstantiations()
* @see #getRoot()
* @generated
*/
EReference getRoot_NamedInstantiations();
EReference getRoot_Instantiations();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.Root#getPropertyAssignments <em>Property Assignments</em>}'.
@ -1452,15 +1443,15 @@ public interface RdlPackage extends EPackage
EReference getComponentDefinition_ComponentDefinitions();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.ComponentDefinition#getNamedInstantiations <em>Named Instantiations</em>}'.
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.ComponentDefinition#getInstantiations <em>Instantiations</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>Named Instantiations</em>'.
* @see com.minres.rdl.rdl.ComponentDefinition#getNamedInstantiations()
* @return the meta object for the containment reference list '<em>Instantiations</em>'.
* @see com.minres.rdl.rdl.ComponentDefinition#getInstantiations()
* @see #getComponentDefinition()
* @generated
*/
EReference getComponentDefinition_NamedInstantiations();
EReference getComponentDefinition_Instantiations();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.ComponentDefinition#getPropertyAssignments <em>Property Assignments</em>}'.
@ -1485,112 +1476,69 @@ public interface RdlPackage extends EPackage
EReference getComponentDefinition_EnumDefinitions();
/**
* Returns the meta object for the containment reference '{@link com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation <em>Immediate Instantiation</em>}'.
* Returns the meta object for class '{@link com.minres.rdl.rdl.Instantiation <em>Instantiation</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference '<em>Immediate Instantiation</em>'.
* @see com.minres.rdl.rdl.ComponentDefinition#getImmediateInstantiation()
* @see #getComponentDefinition()
* @return the meta object for class '<em>Instantiation</em>'.
* @see com.minres.rdl.rdl.Instantiation
* @generated
*/
EReference getComponentDefinition_ImmediateInstantiation();
EClass getInstantiation();
/**
* Returns the meta object for class '{@link com.minres.rdl.rdl.NamedInstantiation <em>Named Instantiation</em>}'.
* Returns the meta object for the containment reference '{@link com.minres.rdl.rdl.Instantiation#getInstanceType <em>Instance Type</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for class '<em>Named Instantiation</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation
* @return the meta object for the containment reference '<em>Instance Type</em>'.
* @see com.minres.rdl.rdl.Instantiation#getInstanceType()
* @see #getInstantiation()
* @generated
*/
EClass getNamedInstantiation();
EReference getInstantiation_InstanceType();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.NamedInstantiation#isExternal <em>External</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>External</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation#isExternal()
* @see #getNamedInstantiation()
* @generated
*/
EAttribute getNamedInstantiation_External();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.NamedInstantiation#isInternal <em>Internal</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Internal</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation#isInternal()
* @see #getNamedInstantiation()
* @generated
*/
EAttribute getNamedInstantiation_Internal();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.NamedInstantiation#getAlias <em>Alias</em>}'.
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Instantiation#getAlias <em>Alias</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Alias</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation#getAlias()
* @see #getNamedInstantiation()
* @see com.minres.rdl.rdl.Instantiation#getAlias()
* @see #getInstantiation()
* @generated
*/
EAttribute getNamedInstantiation_Alias();
EAttribute getInstantiation_Alias();
/**
* Returns the meta object for the reference '{@link com.minres.rdl.rdl.NamedInstantiation#getComponent <em>Component</em>}'.
* Returns the meta object for the reference '{@link com.minres.rdl.rdl.Instantiation#getComponentRef <em>Component Ref</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the reference '<em>Component</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation#getComponent()
* @see #getNamedInstantiation()
* @return the meta object for the reference '<em>Component Ref</em>'.
* @see com.minres.rdl.rdl.Instantiation#getComponentRef()
* @see #getInstantiation()
* @generated
*/
EReference getNamedInstantiation_Component();
EReference getInstantiation_ComponentRef();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.NamedInstantiation#getComponentInstances <em>Component Instances</em>}'.
* Returns the meta object for the containment reference '{@link com.minres.rdl.rdl.Instantiation#getComponent <em>Component</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference '<em>Component</em>'.
* @see com.minres.rdl.rdl.Instantiation#getComponent()
* @see #getInstantiation()
* @generated
*/
EReference getInstantiation_Component();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.Instantiation#getComponentInstances <em>Component Instances</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>Component Instances</em>'.
* @see com.minres.rdl.rdl.NamedInstantiation#getComponentInstances()
* @see #getNamedInstantiation()
* @see com.minres.rdl.rdl.Instantiation#getComponentInstances()
* @see #getInstantiation()
* @generated
*/
EReference getNamedInstantiation_ComponentInstances();
/**
* Returns the meta object for class '{@link com.minres.rdl.rdl.ImmediateInstantiation <em>Immediate Instantiation</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for class '<em>Immediate Instantiation</em>'.
* @see com.minres.rdl.rdl.ImmediateInstantiation
* @generated
*/
EClass getImmediateInstantiation();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.ImmediateInstantiation#isExternal <em>External</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>External</em>'.
* @see com.minres.rdl.rdl.ImmediateInstantiation#isExternal()
* @see #getImmediateInstantiation()
* @generated
*/
EAttribute getImmediateInstantiation_External();
/**
* Returns the meta object for the containment reference list '{@link com.minres.rdl.rdl.ImmediateInstantiation#getComponentInstances <em>Component Instances</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference list '<em>Component Instances</em>'.
* @see com.minres.rdl.rdl.ImmediateInstantiation#getComponentInstances()
* @see #getImmediateInstantiation()
* @generated
*/
EReference getImmediateInstantiation_ComponentInstances();
EReference getInstantiation_ComponentInstances();
/**
* Returns the meta object for class '{@link com.minres.rdl.rdl.ComponentInstance <em>Component Instance</em>}'.
@ -1668,26 +1616,26 @@ public interface RdlPackage extends EPackage
EClass getRange();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Range#getStart <em>Start</em>}'.
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Range#getLeft <em>Left</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>Start</em>'.
* @see com.minres.rdl.rdl.Range#getStart()
* @return the meta object for the attribute '<em>Left</em>'.
* @see com.minres.rdl.rdl.Range#getLeft()
* @see #getRange()
* @generated
*/
EAttribute getRange_Start();
EAttribute getRange_Left();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Range#getEnd <em>End</em>}'.
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Range#getRight <em>Right</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>End</em>'.
* @see com.minres.rdl.rdl.Range#getEnd()
* @return the meta object for the attribute '<em>Right</em>'.
* @see com.minres.rdl.rdl.Range#getRight()
* @see #getRange()
* @generated
*/
EAttribute getRange_End();
EAttribute getRange_Right();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.Range#getSize <em>Size</em>}'.
@ -2191,6 +2139,38 @@ public interface RdlPackage extends EPackage
*/
EAttribute getEnumProperty_Value();
/**
* Returns the meta object for class '{@link com.minres.rdl.rdl.EnumInstanceType <em>Enum Instance Type</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for class '<em>Enum Instance Type</em>'.
* @see com.minres.rdl.rdl.EnumInstanceType
* @generated
*/
EClass getEnumInstanceType();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL <em>EXTERNAL</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>EXTERNAL</em>'.
* @see com.minres.rdl.rdl.EnumInstanceType#getEXTERNAL()
* @see #getEnumInstanceType()
* @generated
*/
EAttribute getEnumInstanceType_EXTERNAL();
/**
* Returns the meta object for the attribute '{@link com.minres.rdl.rdl.EnumInstanceType#getINTERNAL <em>INTERNAL</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the attribute '<em>INTERNAL</em>'.
* @see com.minres.rdl.rdl.EnumInstanceType#getINTERNAL()
* @see #getEnumInstanceType()
* @generated
*/
EAttribute getEnumInstanceType_INTERNAL();
/**
* Returns the meta object for enum '{@link com.minres.rdl.rdl.PropertyTypeName <em>Property Type Name</em>}'.
* <!-- begin-user-doc -->
@ -2309,12 +2289,12 @@ public interface RdlPackage extends EPackage
EReference ROOT__ENUM_DEFINITIONS = eINSTANCE.getRoot_EnumDefinitions();
/**
* The meta object literal for the '<em><b>Named Instantiations</b></em>' containment reference list feature.
* The meta object literal for the '<em><b>Instantiations</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference ROOT__NAMED_INSTANTIATIONS = eINSTANCE.getRoot_NamedInstantiations();
EReference ROOT__INSTANTIATIONS = eINSTANCE.getRoot_Instantiations();
/**
* The meta object literal for the '<em><b>Property Assignments</b></em>' containment reference list feature.
@ -2463,12 +2443,12 @@ public interface RdlPackage extends EPackage
EReference COMPONENT_DEFINITION__COMPONENT_DEFINITIONS = eINSTANCE.getComponentDefinition_ComponentDefinitions();
/**
* The meta object literal for the '<em><b>Named Instantiations</b></em>' containment reference list feature.
* The meta object literal for the '<em><b>Instantiations</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference COMPONENT_DEFINITION__NAMED_INSTANTIATIONS = eINSTANCE.getComponentDefinition_NamedInstantiations();
EReference COMPONENT_DEFINITION__INSTANTIATIONS = eINSTANCE.getComponentDefinition_Instantiations();
/**
* The meta object literal for the '<em><b>Property Assignments</b></em>' containment reference list feature.
@ -2487,38 +2467,22 @@ public interface RdlPackage extends EPackage
EReference COMPONENT_DEFINITION__ENUM_DEFINITIONS = eINSTANCE.getComponentDefinition_EnumDefinitions();
/**
* The meta object literal for the '<em><b>Immediate Instantiation</b></em>' containment reference feature.
* The meta object literal for the '{@link com.minres.rdl.rdl.impl.InstantiationImpl <em>Instantiation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.InstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getInstantiation()
* @generated
*/
EReference COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION = eINSTANCE.getComponentDefinition_ImmediateInstantiation();
EClass INSTANTIATION = eINSTANCE.getInstantiation();
/**
* The meta object literal for the '{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl <em>Named Instantiation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.NamedInstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getNamedInstantiation()
* @generated
*/
EClass NAMED_INSTANTIATION = eINSTANCE.getNamedInstantiation();
/**
* The meta object literal for the '<em><b>External</b></em>' attribute feature.
* The meta object literal for the '<em><b>Instance Type</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute NAMED_INSTANTIATION__EXTERNAL = eINSTANCE.getNamedInstantiation_External();
/**
* The meta object literal for the '<em><b>Internal</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute NAMED_INSTANTIATION__INTERNAL = eINSTANCE.getNamedInstantiation_Internal();
EReference INSTANTIATION__INSTANCE_TYPE = eINSTANCE.getInstantiation_InstanceType();
/**
* The meta object literal for the '<em><b>Alias</b></em>' attribute feature.
@ -2526,15 +2490,23 @@ public interface RdlPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
EAttribute NAMED_INSTANTIATION__ALIAS = eINSTANCE.getNamedInstantiation_Alias();
EAttribute INSTANTIATION__ALIAS = eINSTANCE.getInstantiation_Alias();
/**
* The meta object literal for the '<em><b>Component</b></em>' reference feature.
* The meta object literal for the '<em><b>Component Ref</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference NAMED_INSTANTIATION__COMPONENT = eINSTANCE.getNamedInstantiation_Component();
EReference INSTANTIATION__COMPONENT_REF = eINSTANCE.getInstantiation_ComponentRef();
/**
* The meta object literal for the '<em><b>Component</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference INSTANTIATION__COMPONENT = eINSTANCE.getInstantiation_Component();
/**
* The meta object literal for the '<em><b>Component Instances</b></em>' containment reference list feature.
@ -2542,33 +2514,7 @@ public interface RdlPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
EReference NAMED_INSTANTIATION__COMPONENT_INSTANCES = eINSTANCE.getNamedInstantiation_ComponentInstances();
/**
* The meta object literal for the '{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl <em>Immediate Instantiation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.ImmediateInstantiationImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getImmediateInstantiation()
* @generated
*/
EClass IMMEDIATE_INSTANTIATION = eINSTANCE.getImmediateInstantiation();
/**
* The meta object literal for the '<em><b>External</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute IMMEDIATE_INSTANTIATION__EXTERNAL = eINSTANCE.getImmediateInstantiation_External();
/**
* The meta object literal for the '<em><b>Component Instances</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES = eINSTANCE.getImmediateInstantiation_ComponentInstances();
EReference INSTANTIATION__COMPONENT_INSTANCES = eINSTANCE.getInstantiation_ComponentInstances();
/**
* The meta object literal for the '{@link com.minres.rdl.rdl.impl.ComponentInstanceImpl <em>Component Instance</em>}' class.
@ -2631,20 +2577,20 @@ public interface RdlPackage extends EPackage
EClass RANGE = eINSTANCE.getRange();
/**
* The meta object literal for the '<em><b>Start</b></em>' attribute feature.
* The meta object literal for the '<em><b>Left</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute RANGE__START = eINSTANCE.getRange_Start();
EAttribute RANGE__LEFT = eINSTANCE.getRange_Left();
/**
* The meta object literal for the '<em><b>End</b></em>' attribute feature.
* The meta object literal for the '<em><b>Right</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute RANGE__END = eINSTANCE.getRange_End();
EAttribute RANGE__RIGHT = eINSTANCE.getRange_Right();
/**
* The meta object literal for the '<em><b>Size</b></em>' attribute feature.
@ -3052,6 +2998,32 @@ public interface RdlPackage extends EPackage
*/
EAttribute ENUM_PROPERTY__VALUE = eINSTANCE.getEnumProperty_Value();
/**
* The meta object literal for the '{@link com.minres.rdl.rdl.impl.EnumInstanceTypeImpl <em>Enum Instance Type</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see com.minres.rdl.rdl.impl.EnumInstanceTypeImpl
* @see com.minres.rdl.rdl.impl.RdlPackageImpl#getEnumInstanceType()
* @generated
*/
EClass ENUM_INSTANCE_TYPE = eINSTANCE.getEnumInstanceType();
/**
* The meta object literal for the '<em><b>EXTERNAL</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute ENUM_INSTANCE_TYPE__EXTERNAL = eINSTANCE.getEnumInstanceType_EXTERNAL();
/**
* The meta object literal for the '<em><b>INTERNAL</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute ENUM_INSTANCE_TYPE__INTERNAL = eINSTANCE.getEnumInstanceType_INTERNAL();
/**
* The meta object literal for the '{@link com.minres.rdl.rdl.PropertyTypeName <em>Property Type Name</em>}' enum.
* <!-- begin-user-doc -->

View File

@ -19,7 +19,7 @@ import org.eclipse.emf.ecore.EObject;
* <li>{@link com.minres.rdl.rdl.Root#getIncludes <em>Includes</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getNamedInstantiations <em>Named Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.Root#getPropertyDefinitions <em>Property Definitions</em>}</li>
* </ul>
@ -79,20 +79,20 @@ public interface Root extends EObject
EList<EnumDefinition> getEnumDefinitions();
/**
* Returns the value of the '<em><b>Named Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.NamedInstantiation}.
* Returns the value of the '<em><b>Instantiations</b></em>' containment reference list.
* The list contents are of type {@link com.minres.rdl.rdl.Instantiation}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Named Instantiations</em>' containment reference list isn't clear,
* If the meaning of the '<em>Instantiations</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Named Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_NamedInstantiations()
* @return the value of the '<em>Instantiations</em>' containment reference list.
* @see com.minres.rdl.rdl.RdlPackage#getRoot_Instantiations()
* @model containment="true"
* @generated
*/
EList<NamedInstantiation> getNamedInstantiations();
EList<Instantiation> getInstantiations();
/**
* Returns the value of the '<em><b>Property Assignments</b></em>' containment reference list.

View File

@ -6,8 +6,7 @@ package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.RdlPackage;
@ -38,10 +37,9 @@ import org.eclipse.emf.ecore.util.InternalEList;
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getType <em>Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getName <em>Name</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getNamedInstantiations <em>Named Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ComponentDefinitionImpl#getImmediateInstantiation <em>Immediate Instantiation</em>}</li>
* </ul>
*
* @generated
@ -99,14 +97,14 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
protected EList<ComponentDefinition> componentDefinitions;
/**
* The cached value of the '{@link #getNamedInstantiations() <em>Named Instantiations</em>}' containment reference list.
* The cached value of the '{@link #getInstantiations() <em>Instantiations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNamedInstantiations()
* @see #getInstantiations()
* @generated
* @ordered
*/
protected EList<NamedInstantiation> namedInstantiations;
protected EList<Instantiation> instantiations;
/**
* The cached value of the '{@link #getPropertyAssignments() <em>Property Assignments</em>}' containment reference list.
@ -128,16 +126,6 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
*/
protected EList<EnumDefinition> enumDefinitions;
/**
* The cached value of the '{@link #getImmediateInstantiation() <em>Immediate Instantiation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getImmediateInstantiation()
* @generated
* @ordered
*/
protected ImmediateInstantiation immediateInstantiation;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@ -224,13 +212,13 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
* <!-- end-user-doc -->
* @generated
*/
public EList<NamedInstantiation> getNamedInstantiations()
public EList<Instantiation> getInstantiations()
{
if (namedInstantiations == null)
if (instantiations == null)
{
namedInstantiations = new EObjectContainmentEList<NamedInstantiation>(NamedInstantiation.class, this, RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS);
instantiations = new EObjectContainmentEList<Instantiation>(Instantiation.class, this, RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS);
}
return namedInstantiations;
return instantiations;
}
/**
@ -261,54 +249,6 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
return enumDefinitions;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ImmediateInstantiation getImmediateInstantiation()
{
return immediateInstantiation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetImmediateInstantiation(ImmediateInstantiation newImmediateInstantiation, NotificationChain msgs)
{
ImmediateInstantiation oldImmediateInstantiation = immediateInstantiation;
immediateInstantiation = newImmediateInstantiation;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, oldImmediateInstantiation, newImmediateInstantiation);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setImmediateInstantiation(ImmediateInstantiation newImmediateInstantiation)
{
if (newImmediateInstantiation != immediateInstantiation)
{
NotificationChain msgs = null;
if (immediateInstantiation != null)
msgs = ((InternalEObject)immediateInstantiation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, null, msgs);
if (newImmediateInstantiation != null)
msgs = ((InternalEObject)newImmediateInstantiation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, null, msgs);
msgs = basicSetImmediateInstantiation(newImmediateInstantiation, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION, newImmediateInstantiation, newImmediateInstantiation));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@ -321,14 +261,12 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
{
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return ((InternalEList<?>)getComponentDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
return ((InternalEList<?>)getNamedInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return ((InternalEList<?>)getInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return ((InternalEList<?>)getPropertyAssignments()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return ((InternalEList<?>)getEnumDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return basicSetImmediateInstantiation(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@ -349,14 +287,12 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
return getName();
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return getComponentDefinitions();
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
return getNamedInstantiations();
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return getInstantiations();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return getPropertyAssignments();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return getEnumDefinitions();
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return getImmediateInstantiation();
}
return super.eGet(featureID, resolve, coreType);
}
@ -382,9 +318,9 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
getComponentDefinitions().clear();
getComponentDefinitions().addAll((Collection<? extends ComponentDefinition>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
getNamedInstantiations().addAll((Collection<? extends NamedInstantiation>)newValue);
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
getInstantiations().clear();
getInstantiations().addAll((Collection<? extends Instantiation>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
@ -394,9 +330,6 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
getEnumDefinitions().clear();
getEnumDefinitions().addAll((Collection<? extends EnumDefinition>)newValue);
return;
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
setImmediateInstantiation((ImmediateInstantiation)newValue);
return;
}
super.eSet(featureID, newValue);
}
@ -420,8 +353,8 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
getComponentDefinitions().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
getInstantiations().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
@ -429,9 +362,6 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
return;
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
setImmediateInstantiation((ImmediateInstantiation)null);
return;
}
super.eUnset(featureID);
}
@ -452,14 +382,12 @@ public class ComponentDefinitionImpl extends MinimalEObjectImpl.Container implem
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case RdlPackage.COMPONENT_DEFINITION__COMPONENT_DEFINITIONS:
return componentDefinitions != null && !componentDefinitions.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__NAMED_INSTANTIATIONS:
return namedInstantiations != null && !namedInstantiations.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__INSTANTIATIONS:
return instantiations != null && !instantiations.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS:
return propertyAssignments != null && !propertyAssignments.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__ENUM_DEFINITIONS:
return enumDefinitions != null && !enumDefinitions.isEmpty();
case RdlPackage.COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION:
return immediateInstantiation != null;
}
return super.eIsSet(featureID);
}

View File

@ -0,0 +1,234 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.EnumInstanceType;
import com.minres.rdl.rdl.RdlPackage;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Enum Instance Type</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.EnumInstanceTypeImpl#getEXTERNAL <em>EXTERNAL</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.EnumInstanceTypeImpl#getINTERNAL <em>INTERNAL</em>}</li>
* </ul>
*
* @generated
*/
public class EnumInstanceTypeImpl extends MinimalEObjectImpl.Container implements EnumInstanceType
{
/**
* The default value of the '{@link #getEXTERNAL() <em>EXTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEXTERNAL()
* @generated
* @ordered
*/
protected static final String EXTERNAL_EDEFAULT = null;
/**
* The cached value of the '{@link #getEXTERNAL() <em>EXTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEXTERNAL()
* @generated
* @ordered
*/
protected String external = EXTERNAL_EDEFAULT;
/**
* The default value of the '{@link #getINTERNAL() <em>INTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getINTERNAL()
* @generated
* @ordered
*/
protected static final String INTERNAL_EDEFAULT = null;
/**
* The cached value of the '{@link #getINTERNAL() <em>INTERNAL</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getINTERNAL()
* @generated
* @ordered
*/
protected String internal = INTERNAL_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumInstanceTypeImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.ENUM_INSTANCE_TYPE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getEXTERNAL()
{
return external;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setEXTERNAL(String newEXTERNAL)
{
String oldEXTERNAL = external;
external = newEXTERNAL;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_INSTANCE_TYPE__EXTERNAL, oldEXTERNAL, external));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getINTERNAL()
{
return internal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setINTERNAL(String newINTERNAL)
{
String oldINTERNAL = internal;
internal = newINTERNAL;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.ENUM_INSTANCE_TYPE__INTERNAL, oldINTERNAL, internal));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.ENUM_INSTANCE_TYPE__EXTERNAL:
return getEXTERNAL();
case RdlPackage.ENUM_INSTANCE_TYPE__INTERNAL:
return getINTERNAL();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case RdlPackage.ENUM_INSTANCE_TYPE__EXTERNAL:
setEXTERNAL((String)newValue);
return;
case RdlPackage.ENUM_INSTANCE_TYPE__INTERNAL:
setINTERNAL((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_INSTANCE_TYPE__EXTERNAL:
setEXTERNAL(EXTERNAL_EDEFAULT);
return;
case RdlPackage.ENUM_INSTANCE_TYPE__INTERNAL:
setINTERNAL(INTERNAL_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.ENUM_INSTANCE_TYPE__EXTERNAL:
return EXTERNAL_EDEFAULT == null ? external != null : !EXTERNAL_EDEFAULT.equals(external);
case RdlPackage.ENUM_INSTANCE_TYPE__INTERNAL:
return INTERNAL_EDEFAULT == null ? internal != null : !INTERNAL_EDEFAULT.equals(internal);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (EXTERNAL: ");
result.append(external);
result.append(", INTERNAL: ");
result.append(internal);
result.append(')');
return result.toString();
}
} //EnumInstanceTypeImpl

View File

@ -1,241 +0,0 @@
/**
* generated by Xtext 2.12.0
*/
package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Immediate Instantiation</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.ImmediateInstantiationImpl#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @generated
*/
public class ImmediateInstantiationImpl extends MinimalEObjectImpl.Container implements ImmediateInstantiation
{
/**
* The default value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected static final boolean EXTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected boolean external = EXTERNAL_EDEFAULT;
/**
* The cached value of the '{@link #getComponentInstances() <em>Component Instances</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponentInstances()
* @generated
* @ordered
*/
protected EList<ComponentInstance> componentInstances;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ImmediateInstantiationImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.IMMEDIATE_INSTANTIATION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public boolean isExternal()
{
return external;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setExternal(boolean newExternal)
{
boolean oldExternal = external;
external = newExternal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL, oldExternal, external));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ComponentInstance> getComponentInstances()
{
if (componentInstances == null)
{
componentInstances = new EObjectContainmentEList<ComponentInstance>(ComponentInstance.class, this, RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES);
}
return componentInstances;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return ((InternalEList<?>)getComponentInstances()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
return isExternal();
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return getComponentInstances();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
setExternal((Boolean)newValue);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
getComponentInstances().addAll((Collection<? extends ComponentInstance>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
setExternal(EXTERNAL_EDEFAULT);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case RdlPackage.IMMEDIATE_INSTANTIATION__EXTERNAL:
return external != EXTERNAL_EDEFAULT;
case RdlPackage.IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES:
return componentInstances != null && !componentInstances.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (external: ");
result.append(external);
result.append(')');
return result.toString();
}
} //ImmediateInstantiationImpl

View File

@ -5,7 +5,8 @@ package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.EnumInstanceType;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.RdlPackage;
import java.util.Collection;
@ -26,62 +27,32 @@ import org.eclipse.emf.ecore.util.InternalEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Named Instantiation</b></em>'.
* An implementation of the model object '<em><b>Instantiation</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#isExternal <em>External</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#isInternal <em>Internal</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.NamedInstantiationImpl#getComponentInstances <em>Component Instances</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstantiationImpl#getInstanceType <em>Instance Type</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstantiationImpl#getAlias <em>Alias</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstantiationImpl#getComponentRef <em>Component Ref</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstantiationImpl#getComponent <em>Component</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.InstantiationImpl#getComponentInstances <em>Component Instances</em>}</li>
* </ul>
*
* @generated
*/
public class NamedInstantiationImpl extends MinimalEObjectImpl.Container implements NamedInstantiation
public class InstantiationImpl extends MinimalEObjectImpl.Container implements Instantiation
{
/**
* The default value of the '{@link #isExternal() <em>External</em>}' attribute.
* The cached value of the '{@link #getInstanceType() <em>Instance Type</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @see #getInstanceType()
* @generated
* @ordered
*/
protected static final boolean EXTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isExternal() <em>External</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isExternal()
* @generated
* @ordered
*/
protected boolean external = EXTERNAL_EDEFAULT;
/**
* The default value of the '{@link #isInternal() <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isInternal()
* @generated
* @ordered
*/
protected static final boolean INTERNAL_EDEFAULT = false;
/**
* The cached value of the '{@link #isInternal() <em>Internal</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isInternal()
* @generated
* @ordered
*/
protected boolean internal = INTERNAL_EDEFAULT;
protected EnumInstanceType instanceType;
/**
* The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
@ -104,7 +75,17 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
protected String alias = ALIAS_EDEFAULT;
/**
* The cached value of the '{@link #getComponent() <em>Component</em>}' reference.
* The cached value of the '{@link #getComponentRef() <em>Component Ref</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponentRef()
* @generated
* @ordered
*/
protected ComponentDefinition componentRef;
/**
* The cached value of the '{@link #getComponent() <em>Component</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getComponent()
@ -128,7 +109,7 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
* <!-- end-user-doc -->
* @generated
*/
protected NamedInstantiationImpl()
protected InstantiationImpl()
{
super();
}
@ -141,7 +122,7 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
@Override
protected EClass eStaticClass()
{
return RdlPackage.Literals.NAMED_INSTANTIATION;
return RdlPackage.Literals.INSTANTIATION;
}
/**
@ -149,9 +130,9 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
* <!-- end-user-doc -->
* @generated
*/
public boolean isExternal()
public EnumInstanceType getInstanceType()
{
return external;
return instanceType;
}
/**
@ -159,12 +140,16 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
* <!-- end-user-doc -->
* @generated
*/
public void setExternal(boolean newExternal)
public NotificationChain basicSetInstanceType(EnumInstanceType newInstanceType, NotificationChain msgs)
{
boolean oldExternal = external;
external = newExternal;
EnumInstanceType oldInstanceType = instanceType;
instanceType = newInstanceType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__EXTERNAL, oldExternal, external));
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__INSTANCE_TYPE, oldInstanceType, newInstanceType);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
@ -172,22 +157,20 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
* <!-- end-user-doc -->
* @generated
*/
public boolean isInternal()
public void setInstanceType(EnumInstanceType newInstanceType)
{
return internal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setInternal(boolean newInternal)
{
boolean oldInternal = internal;
internal = newInternal;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__INTERNAL, oldInternal, internal));
if (newInstanceType != instanceType)
{
NotificationChain msgs = null;
if (instanceType != null)
msgs = ((InternalEObject)instanceType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANTIATION__INSTANCE_TYPE, null, msgs);
if (newInstanceType != null)
msgs = ((InternalEObject)newInstanceType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANTIATION__INSTANCE_TYPE, null, msgs);
msgs = basicSetInstanceType(newInstanceType, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__INSTANCE_TYPE, newInstanceType, newInstanceType));
}
/**
@ -210,7 +193,50 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
String oldAlias = alias;
alias = newAlias;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__ALIAS, oldAlias, alias));
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__ALIAS, oldAlias, alias));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition getComponentRef()
{
if (componentRef != null && componentRef.eIsProxy())
{
InternalEObject oldComponentRef = (InternalEObject)componentRef;
componentRef = (ComponentDefinition)eResolveProxy(oldComponentRef);
if (componentRef != oldComponentRef)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.INSTANTIATION__COMPONENT_REF, oldComponentRef, componentRef));
}
}
return componentRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition basicGetComponentRef()
{
return componentRef;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setComponentRef(ComponentDefinition newComponentRef)
{
ComponentDefinition oldComponentRef = componentRef;
componentRef = newComponentRef;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__COMPONENT_REF, oldComponentRef, componentRef));
}
/**
@ -220,16 +246,6 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
*/
public ComponentDefinition getComponent()
{
if (component != null && component.eIsProxy())
{
InternalEObject oldComponent = (InternalEObject)component;
component = (ComponentDefinition)eResolveProxy(oldComponent);
if (component != oldComponent)
{
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, RdlPackage.NAMED_INSTANTIATION__COMPONENT, oldComponent, component));
}
}
return component;
}
@ -238,9 +254,16 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
* <!-- end-user-doc -->
* @generated
*/
public ComponentDefinition basicGetComponent()
public NotificationChain basicSetComponent(ComponentDefinition newComponent, NotificationChain msgs)
{
return component;
ComponentDefinition oldComponent = component;
component = newComponent;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__COMPONENT, oldComponent, newComponent);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
@ -250,10 +273,18 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
*/
public void setComponent(ComponentDefinition newComponent)
{
ComponentDefinition oldComponent = component;
component = newComponent;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.NAMED_INSTANTIATION__COMPONENT, oldComponent, component));
if (newComponent != component)
{
NotificationChain msgs = null;
if (component != null)
msgs = ((InternalEObject)component).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANTIATION__COMPONENT, null, msgs);
if (newComponent != null)
msgs = ((InternalEObject)newComponent).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RdlPackage.INSTANTIATION__COMPONENT, null, msgs);
msgs = basicSetComponent(newComponent, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.INSTANTIATION__COMPONENT, newComponent, newComponent));
}
/**
@ -265,7 +296,7 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
if (componentInstances == null)
{
componentInstances = new EObjectContainmentEList<ComponentInstance>(ComponentInstance.class, this, RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES);
componentInstances = new EObjectContainmentEList<ComponentInstance>(ComponentInstance.class, this, RdlPackage.INSTANTIATION__COMPONENT_INSTANCES);
}
return componentInstances;
}
@ -280,7 +311,11 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
case RdlPackage.INSTANTIATION__INSTANCE_TYPE:
return basicSetInstanceType(null, msgs);
case RdlPackage.INSTANTIATION__COMPONENT:
return basicSetComponent(null, msgs);
case RdlPackage.INSTANTIATION__COMPONENT_INSTANCES:
return ((InternalEList<?>)getComponentInstances()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
@ -296,16 +331,16 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
return isExternal();
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
return isInternal();
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
case RdlPackage.INSTANTIATION__INSTANCE_TYPE:
return getInstanceType();
case RdlPackage.INSTANTIATION__ALIAS:
return getAlias();
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
if (resolve) return getComponent();
return basicGetComponent();
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
case RdlPackage.INSTANTIATION__COMPONENT_REF:
if (resolve) return getComponentRef();
return basicGetComponentRef();
case RdlPackage.INSTANTIATION__COMPONENT:
return getComponent();
case RdlPackage.INSTANTIATION__COMPONENT_INSTANCES:
return getComponentInstances();
}
return super.eGet(featureID, resolve, coreType);
@ -322,19 +357,19 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
setExternal((Boolean)newValue);
case RdlPackage.INSTANTIATION__INSTANCE_TYPE:
setInstanceType((EnumInstanceType)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
setInternal((Boolean)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
case RdlPackage.INSTANTIATION__ALIAS:
setAlias((String)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
case RdlPackage.INSTANTIATION__COMPONENT_REF:
setComponentRef((ComponentDefinition)newValue);
return;
case RdlPackage.INSTANTIATION__COMPONENT:
setComponent((ComponentDefinition)newValue);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
case RdlPackage.INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
getComponentInstances().addAll((Collection<? extends ComponentInstance>)newValue);
return;
@ -352,19 +387,19 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
setExternal(EXTERNAL_EDEFAULT);
case RdlPackage.INSTANTIATION__INSTANCE_TYPE:
setInstanceType((EnumInstanceType)null);
return;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
setInternal(INTERNAL_EDEFAULT);
return;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
case RdlPackage.INSTANTIATION__ALIAS:
setAlias(ALIAS_EDEFAULT);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
case RdlPackage.INSTANTIATION__COMPONENT_REF:
setComponentRef((ComponentDefinition)null);
return;
case RdlPackage.INSTANTIATION__COMPONENT:
setComponent((ComponentDefinition)null);
return;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
case RdlPackage.INSTANTIATION__COMPONENT_INSTANCES:
getComponentInstances().clear();
return;
}
@ -381,15 +416,15 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
{
switch (featureID)
{
case RdlPackage.NAMED_INSTANTIATION__EXTERNAL:
return external != EXTERNAL_EDEFAULT;
case RdlPackage.NAMED_INSTANTIATION__INTERNAL:
return internal != INTERNAL_EDEFAULT;
case RdlPackage.NAMED_INSTANTIATION__ALIAS:
case RdlPackage.INSTANTIATION__INSTANCE_TYPE:
return instanceType != null;
case RdlPackage.INSTANTIATION__ALIAS:
return ALIAS_EDEFAULT == null ? alias != null : !ALIAS_EDEFAULT.equals(alias);
case RdlPackage.NAMED_INSTANTIATION__COMPONENT:
case RdlPackage.INSTANTIATION__COMPONENT_REF:
return componentRef != null;
case RdlPackage.INSTANTIATION__COMPONENT:
return component != null;
case RdlPackage.NAMED_INSTANTIATION__COMPONENT_INSTANCES:
case RdlPackage.INSTANTIATION__COMPONENT_INSTANCES:
return componentInstances != null && !componentInstances.isEmpty();
}
return super.eIsSet(featureID);
@ -406,14 +441,10 @@ public class NamedInstantiationImpl extends MinimalEObjectImpl.Container impleme
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (external: ");
result.append(external);
result.append(", internal: ");
result.append(internal);
result.append(", alias: ");
result.append(" (alias: ");
result.append(alias);
result.append(')');
return result.toString();
}
} //NamedInstantiationImpl
} //InstantiationImpl

View File

@ -21,8 +21,8 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
* The following features are implemented:
* </p>
* <ul>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getStart <em>Start</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getEnd <em>End</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getLeft <em>Left</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getRight <em>Right</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RangeImpl#getSize <em>Size</em>}</li>
* </ul>
*
@ -31,44 +31,44 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
/**
* The default value of the '{@link #getStart() <em>Start</em>}' attribute.
* The default value of the '{@link #getLeft() <em>Left</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStart()
* @see #getLeft()
* @generated
* @ordered
*/
protected static final Object START_EDEFAULT = null;
protected static final Object LEFT_EDEFAULT = null;
/**
* The cached value of the '{@link #getStart() <em>Start</em>}' attribute.
* The cached value of the '{@link #getLeft() <em>Left</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getStart()
* @see #getLeft()
* @generated
* @ordered
*/
protected Object start = START_EDEFAULT;
protected Object left = LEFT_EDEFAULT;
/**
* The default value of the '{@link #getEnd() <em>End</em>}' attribute.
* The default value of the '{@link #getRight() <em>Right</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnd()
* @see #getRight()
* @generated
* @ordered
*/
protected static final Object END_EDEFAULT = null;
protected static final Object RIGHT_EDEFAULT = null;
/**
* The cached value of the '{@link #getEnd() <em>End</em>}' attribute.
* The cached value of the '{@link #getRight() <em>Right</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getEnd()
* @see #getRight()
* @generated
* @ordered
*/
protected Object end = END_EDEFAULT;
protected Object right = RIGHT_EDEFAULT;
/**
* The default value of the '{@link #getSize() <em>Size</em>}' attribute.
@ -116,9 +116,9 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
* <!-- end-user-doc -->
* @generated
*/
public Object getStart()
public Object getLeft()
{
return start;
return left;
}
/**
@ -126,12 +126,12 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
* <!-- end-user-doc -->
* @generated
*/
public void setStart(Object newStart)
public void setLeft(Object newLeft)
{
Object oldStart = start;
start = newStart;
Object oldLeft = left;
left = newLeft;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__START, oldStart, start));
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__LEFT, oldLeft, left));
}
/**
@ -139,9 +139,9 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
* <!-- end-user-doc -->
* @generated
*/
public Object getEnd()
public Object getRight()
{
return end;
return right;
}
/**
@ -149,12 +149,12 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
* <!-- end-user-doc -->
* @generated
*/
public void setEnd(Object newEnd)
public void setRight(Object newRight)
{
Object oldEnd = end;
end = newEnd;
Object oldRight = right;
right = newRight;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__END, oldEnd, end));
eNotify(new ENotificationImpl(this, Notification.SET, RdlPackage.RANGE__RIGHT, oldRight, right));
}
/**
@ -190,10 +190,10 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
switch (featureID)
{
case RdlPackage.RANGE__START:
return getStart();
case RdlPackage.RANGE__END:
return getEnd();
case RdlPackage.RANGE__LEFT:
return getLeft();
case RdlPackage.RANGE__RIGHT:
return getRight();
case RdlPackage.RANGE__SIZE:
return getSize();
}
@ -210,11 +210,11 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
switch (featureID)
{
case RdlPackage.RANGE__START:
setStart(newValue);
case RdlPackage.RANGE__LEFT:
setLeft(newValue);
return;
case RdlPackage.RANGE__END:
setEnd(newValue);
case RdlPackage.RANGE__RIGHT:
setRight(newValue);
return;
case RdlPackage.RANGE__SIZE:
setSize(newValue);
@ -233,11 +233,11 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
switch (featureID)
{
case RdlPackage.RANGE__START:
setStart(START_EDEFAULT);
case RdlPackage.RANGE__LEFT:
setLeft(LEFT_EDEFAULT);
return;
case RdlPackage.RANGE__END:
setEnd(END_EDEFAULT);
case RdlPackage.RANGE__RIGHT:
setRight(RIGHT_EDEFAULT);
return;
case RdlPackage.RANGE__SIZE:
setSize(SIZE_EDEFAULT);
@ -256,10 +256,10 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
{
switch (featureID)
{
case RdlPackage.RANGE__START:
return START_EDEFAULT == null ? start != null : !START_EDEFAULT.equals(start);
case RdlPackage.RANGE__END:
return END_EDEFAULT == null ? end != null : !END_EDEFAULT.equals(end);
case RdlPackage.RANGE__LEFT:
return LEFT_EDEFAULT == null ? left != null : !LEFT_EDEFAULT.equals(left);
case RdlPackage.RANGE__RIGHT:
return RIGHT_EDEFAULT == null ? right != null : !RIGHT_EDEFAULT.equals(right);
case RdlPackage.RANGE__SIZE:
return SIZE_EDEFAULT == null ? size != null : !SIZE_EDEFAULT.equals(size);
}
@ -277,10 +277,10 @@ public class RangeImpl extends MinimalEObjectImpl.Container implements Range
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (start: ");
result.append(start);
result.append(", end: ");
result.append(end);
result.append(" (left: ");
result.append(left);
result.append(", right: ");
result.append(right);
result.append(", size: ");
result.append(size);
result.append(')');

View File

@ -72,8 +72,7 @@ public class RdlFactoryImpl extends EFactoryImpl implements RdlFactory
case RdlPackage.PROPERTY_DEFAULT: return createPropertyDefault();
case RdlPackage.PROPERTY_USAGE: return createPropertyUsage();
case RdlPackage.COMPONENT_DEFINITION: return createComponentDefinition();
case RdlPackage.NAMED_INSTANTIATION: return createNamedInstantiation();
case RdlPackage.IMMEDIATE_INSTANTIATION: return createImmediateInstantiation();
case RdlPackage.INSTANTIATION: return createInstantiation();
case RdlPackage.COMPONENT_INSTANCE: return createComponentInstance();
case RdlPackage.RANGE: return createRange();
case RdlPackage.PROPERTY_ASSIGNMENT: return createPropertyAssignment();
@ -91,6 +90,7 @@ public class RdlFactoryImpl extends EFactoryImpl implements RdlFactory
case RdlPackage.ENUM_BODY: return createEnumBody();
case RdlPackage.ENUM_ENTRY: return createEnumEntry();
case RdlPackage.ENUM_PROPERTY: return createEnumProperty();
case RdlPackage.ENUM_INSTANCE_TYPE: return createEnumInstanceType();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@ -221,21 +221,10 @@ public class RdlFactoryImpl extends EFactoryImpl implements RdlFactory
* <!-- end-user-doc -->
* @generated
*/
public NamedInstantiation createNamedInstantiation()
public Instantiation createInstantiation()
{
NamedInstantiationImpl namedInstantiation = new NamedInstantiationImpl();
return namedInstantiation;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ImmediateInstantiation createImmediateInstantiation()
{
ImmediateInstantiationImpl immediateInstantiation = new ImmediateInstantiationImpl();
return immediateInstantiation;
InstantiationImpl instantiation = new InstantiationImpl();
return instantiation;
}
/**
@ -425,6 +414,17 @@ public class RdlFactoryImpl extends EFactoryImpl implements RdlFactory
return enumProperty;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EnumInstanceType createEnumInstanceType()
{
EnumInstanceTypeImpl enumInstanceType = new EnumInstanceTypeImpl();
return enumInstanceType;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->

View File

@ -13,13 +13,13 @@ import com.minres.rdl.rdl.Entity;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.EnumInstanceType;
import com.minres.rdl.rdl.EnumProperty;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
@ -100,14 +100,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
private EClass namedInstantiationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass immediateInstantiationEClass = null;
private EClass instantiationEClass = null;
/**
* <!-- begin-user-doc -->
@ -228,6 +221,13 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
*/
private EClass enumPropertyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass enumInstanceTypeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@ -378,7 +378,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EReference getRoot_NamedInstantiations()
public EReference getRoot_Instantiations()
{
return (EReference)rootEClass.getEStructuralFeatures().get(3);
}
@ -558,7 +558,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EReference getComponentDefinition_NamedInstantiations()
public EReference getComponentDefinition_Instantiations()
{
return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(3);
}
@ -588,9 +588,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EReference getComponentDefinition_ImmediateInstantiation()
public EClass getInstantiation()
{
return (EReference)componentDefinitionEClass.getEStructuralFeatures().get(6);
return instantiationEClass;
}
/**
@ -598,9 +598,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EClass getNamedInstantiation()
public EReference getInstantiation_InstanceType()
{
return namedInstantiationEClass;
return (EReference)instantiationEClass.getEStructuralFeatures().get(0);
}
/**
@ -608,9 +608,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNamedInstantiation_External()
public EAttribute getInstantiation_Alias()
{
return (EAttribute)namedInstantiationEClass.getEStructuralFeatures().get(0);
return (EAttribute)instantiationEClass.getEStructuralFeatures().get(1);
}
/**
@ -618,9 +618,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNamedInstantiation_Internal()
public EReference getInstantiation_ComponentRef()
{
return (EAttribute)namedInstantiationEClass.getEStructuralFeatures().get(1);
return (EReference)instantiationEClass.getEStructuralFeatures().get(2);
}
/**
@ -628,9 +628,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getNamedInstantiation_Alias()
public EReference getInstantiation_Component()
{
return (EAttribute)namedInstantiationEClass.getEStructuralFeatures().get(2);
return (EReference)instantiationEClass.getEStructuralFeatures().get(3);
}
/**
@ -638,49 +638,9 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EReference getNamedInstantiation_Component()
public EReference getInstantiation_ComponentInstances()
{
return (EReference)namedInstantiationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getNamedInstantiation_ComponentInstances()
{
return (EReference)namedInstantiationEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getImmediateInstantiation()
{
return immediateInstantiationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getImmediateInstantiation_External()
{
return (EAttribute)immediateInstantiationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getImmediateInstantiation_ComponentInstances()
{
return (EReference)immediateInstantiationEClass.getEStructuralFeatures().get(1);
return (EReference)instantiationEClass.getEStructuralFeatures().get(4);
}
/**
@ -758,7 +718,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRange_Start()
public EAttribute getRange_Left()
{
return (EAttribute)rangeEClass.getEStructuralFeatures().get(0);
}
@ -768,7 +728,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRange_End()
public EAttribute getRange_Right()
{
return (EAttribute)rangeEClass.getEStructuralFeatures().get(1);
}
@ -1243,6 +1203,36 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
return (EAttribute)enumPropertyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getEnumInstanceType()
{
return enumInstanceTypeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getEnumInstanceType_EXTERNAL()
{
return (EAttribute)enumInstanceTypeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getEnumInstanceType_INTERNAL()
{
return (EAttribute)enumInstanceTypeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@ -1337,7 +1327,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
createEReference(rootEClass, ROOT__INCLUDES);
createEReference(rootEClass, ROOT__COMPONENT_DEFINITIONS);
createEReference(rootEClass, ROOT__ENUM_DEFINITIONS);
createEReference(rootEClass, ROOT__NAMED_INSTANTIATIONS);
createEReference(rootEClass, ROOT__INSTANTIATIONS);
createEReference(rootEClass, ROOT__PROPERTY_ASSIGNMENTS);
createEReference(rootEClass, ROOT__PROPERTY_DEFINITIONS);
@ -1360,21 +1350,16 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
createEAttribute(componentDefinitionEClass, COMPONENT_DEFINITION__TYPE);
createEAttribute(componentDefinitionEClass, COMPONENT_DEFINITION__NAME);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__COMPONENT_DEFINITIONS);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__NAMED_INSTANTIATIONS);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__INSTANTIATIONS);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__PROPERTY_ASSIGNMENTS);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__ENUM_DEFINITIONS);
createEReference(componentDefinitionEClass, COMPONENT_DEFINITION__IMMEDIATE_INSTANTIATION);
namedInstantiationEClass = createEClass(NAMED_INSTANTIATION);
createEAttribute(namedInstantiationEClass, NAMED_INSTANTIATION__EXTERNAL);
createEAttribute(namedInstantiationEClass, NAMED_INSTANTIATION__INTERNAL);
createEAttribute(namedInstantiationEClass, NAMED_INSTANTIATION__ALIAS);
createEReference(namedInstantiationEClass, NAMED_INSTANTIATION__COMPONENT);
createEReference(namedInstantiationEClass, NAMED_INSTANTIATION__COMPONENT_INSTANCES);
immediateInstantiationEClass = createEClass(IMMEDIATE_INSTANTIATION);
createEAttribute(immediateInstantiationEClass, IMMEDIATE_INSTANTIATION__EXTERNAL);
createEReference(immediateInstantiationEClass, IMMEDIATE_INSTANTIATION__COMPONENT_INSTANCES);
instantiationEClass = createEClass(INSTANTIATION);
createEReference(instantiationEClass, INSTANTIATION__INSTANCE_TYPE);
createEAttribute(instantiationEClass, INSTANTIATION__ALIAS);
createEReference(instantiationEClass, INSTANTIATION__COMPONENT_REF);
createEReference(instantiationEClass, INSTANTIATION__COMPONENT);
createEReference(instantiationEClass, INSTANTIATION__COMPONENT_INSTANCES);
componentInstanceEClass = createEClass(COMPONENT_INSTANCE);
createEReference(componentInstanceEClass, COMPONENT_INSTANCE__RANGE);
@ -1384,8 +1369,8 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
createEAttribute(componentInstanceEClass, COMPONENT_INSTANCE__ADDR_MOD);
rangeEClass = createEClass(RANGE);
createEAttribute(rangeEClass, RANGE__START);
createEAttribute(rangeEClass, RANGE__END);
createEAttribute(rangeEClass, RANGE__LEFT);
createEAttribute(rangeEClass, RANGE__RIGHT);
createEAttribute(rangeEClass, RANGE__SIZE);
propertyAssignmentEClass = createEClass(PROPERTY_ASSIGNMENT);
@ -1449,6 +1434,10 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
createEAttribute(enumPropertyEClass, ENUM_PROPERTY__NAME);
createEAttribute(enumPropertyEClass, ENUM_PROPERTY__VALUE);
enumInstanceTypeEClass = createEClass(ENUM_INSTANCE_TYPE);
createEAttribute(enumInstanceTypeEClass, ENUM_INSTANCE_TYPE__EXTERNAL);
createEAttribute(enumInstanceTypeEClass, ENUM_INSTANCE_TYPE__INTERNAL);
// Create enums
propertyTypeNameEEnum = createEEnum(PROPERTY_TYPE_NAME);
propertyComponentEEnum = createEEnum(PROPERTY_COMPONENT);
@ -1500,7 +1489,7 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
initEReference(getRoot_Includes(), this.getInclude(), null, "includes", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_ComponentDefinitions(), this.getComponentDefinition(), null, "componentDefinitions", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_EnumDefinitions(), this.getEnumDefinition(), null, "enumDefinitions", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_NamedInstantiations(), this.getNamedInstantiation(), null, "namedInstantiations", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_Instantiations(), this.getInstantiation(), null, "instantiations", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_PropertyAssignments(), this.getPropertyAssignment(), null, "propertyAssignments", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoot_PropertyDefinitions(), this.getPropertyDefinition(), null, "propertyDefinitions", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@ -1523,21 +1512,16 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
initEAttribute(getComponentDefinition_Type(), this.getComponentDefinitionType(), "type", null, 0, 1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getComponentDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_ComponentDefinitions(), this.getComponentDefinition(), null, "componentDefinitions", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_NamedInstantiations(), this.getNamedInstantiation(), null, "namedInstantiations", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_Instantiations(), this.getInstantiation(), null, "instantiations", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_PropertyAssignments(), this.getPropertyAssignment(), null, "propertyAssignments", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_EnumDefinitions(), this.getEnumDefinition(), null, "enumDefinitions", null, 0, -1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentDefinition_ImmediateInstantiation(), this.getImmediateInstantiation(), null, "immediateInstantiation", null, 0, 1, ComponentDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(namedInstantiationEClass, NamedInstantiation.class, "NamedInstantiation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNamedInstantiation_External(), ecorePackage.getEBoolean(), "external", null, 0, 1, NamedInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getNamedInstantiation_Internal(), ecorePackage.getEBoolean(), "internal", null, 0, 1, NamedInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getNamedInstantiation_Alias(), ecorePackage.getEString(), "alias", null, 0, 1, NamedInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getNamedInstantiation_Component(), this.getComponentDefinition(), null, "component", null, 0, 1, NamedInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getNamedInstantiation_ComponentInstances(), this.getComponentInstance(), null, "componentInstances", null, 0, -1, NamedInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(immediateInstantiationEClass, ImmediateInstantiation.class, "ImmediateInstantiation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getImmediateInstantiation_External(), ecorePackage.getEBoolean(), "external", null, 0, 1, ImmediateInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getImmediateInstantiation_ComponentInstances(), this.getComponentInstance(), null, "componentInstances", null, 0, -1, ImmediateInstantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(instantiationEClass, Instantiation.class, "Instantiation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getInstantiation_InstanceType(), this.getEnumInstanceType(), null, "instanceType", null, 0, 1, Instantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getInstantiation_Alias(), ecorePackage.getEString(), "alias", null, 0, 1, Instantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInstantiation_ComponentRef(), this.getComponentDefinition(), null, "componentRef", null, 0, 1, Instantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInstantiation_Component(), this.getComponentDefinition(), null, "component", null, 0, 1, Instantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInstantiation_ComponentInstances(), this.getComponentInstance(), null, "componentInstances", null, 0, -1, Instantiation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(componentInstanceEClass, ComponentInstance.class, "ComponentInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentInstance_Range(), this.getRange(), null, "range", null, 0, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@ -1547,8 +1531,8 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
initEAttribute(getComponentInstance_AddrMod(), ecorePackage.getEJavaObject(), "addrMod", null, 0, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(rangeEClass, Range.class, "Range", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRange_Start(), ecorePackage.getEJavaObject(), "start", null, 0, 1, Range.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRange_End(), ecorePackage.getEJavaObject(), "end", null, 0, 1, Range.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRange_Left(), ecorePackage.getEJavaObject(), "left", null, 0, 1, Range.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRange_Right(), ecorePackage.getEJavaObject(), "right", null, 0, 1, Range.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRange_Size(), ecorePackage.getEJavaObject(), "size", null, 0, 1, Range.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(propertyAssignmentEClass, PropertyAssignment.class, "PropertyAssignment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@ -1612,6 +1596,10 @@ public class RdlPackageImpl extends EPackageImpl implements RdlPackage
initEAttribute(getEnumProperty_Name(), ecorePackage.getEString(), "name", null, 0, 1, EnumProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getEnumProperty_Value(), ecorePackage.getEString(), "value", null, 0, 1, EnumProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(enumInstanceTypeEClass, EnumInstanceType.class, "EnumInstanceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getEnumInstanceType_EXTERNAL(), ecorePackage.getEString(), "EXTERNAL", null, 0, 1, EnumInstanceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getEnumInstanceType_INTERNAL(), ecorePackage.getEString(), "INTERNAL", null, 0, 1, EnumInstanceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(propertyTypeNameEEnum, PropertyTypeName.class, "PropertyTypeName");
addEEnumLiteral(propertyTypeNameEEnum, PropertyTypeName.STRING);

View File

@ -6,7 +6,7 @@ package com.minres.rdl.rdl.impl;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyDefinition;
import com.minres.rdl.rdl.RdlPackage;
@ -37,7 +37,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getIncludes <em>Includes</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getComponentDefinitions <em>Component Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getEnumDefinitions <em>Enum Definitions</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getNamedInstantiations <em>Named Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getInstantiations <em>Instantiations</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getPropertyAssignments <em>Property Assignments</em>}</li>
* <li>{@link com.minres.rdl.rdl.impl.RootImpl#getPropertyDefinitions <em>Property Definitions</em>}</li>
* </ul>
@ -77,14 +77,14 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
protected EList<EnumDefinition> enumDefinitions;
/**
* The cached value of the '{@link #getNamedInstantiations() <em>Named Instantiations</em>}' containment reference list.
* The cached value of the '{@link #getInstantiations() <em>Instantiations</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getNamedInstantiations()
* @see #getInstantiations()
* @generated
* @ordered
*/
protected EList<NamedInstantiation> namedInstantiations;
protected EList<Instantiation> instantiations;
/**
* The cached value of the '{@link #getPropertyAssignments() <em>Property Assignments</em>}' containment reference list.
@ -174,13 +174,13 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
* <!-- end-user-doc -->
* @generated
*/
public EList<NamedInstantiation> getNamedInstantiations()
public EList<Instantiation> getInstantiations()
{
if (namedInstantiations == null)
if (instantiations == null)
{
namedInstantiations = new EObjectContainmentEList<NamedInstantiation>(NamedInstantiation.class, this, RdlPackage.ROOT__NAMED_INSTANTIATIONS);
instantiations = new EObjectContainmentEList<Instantiation>(Instantiation.class, this, RdlPackage.ROOT__INSTANTIATIONS);
}
return namedInstantiations;
return instantiations;
}
/**
@ -227,8 +227,8 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
return ((InternalEList<?>)getComponentDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return ((InternalEList<?>)getEnumDefinitions()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return ((InternalEList<?>)getNamedInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__INSTANTIATIONS:
return ((InternalEList<?>)getInstantiations()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return ((InternalEList<?>)getPropertyAssignments()).basicRemove(otherEnd, msgs);
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
@ -253,8 +253,8 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
return getComponentDefinitions();
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return getEnumDefinitions();
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return getNamedInstantiations();
case RdlPackage.ROOT__INSTANTIATIONS:
return getInstantiations();
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return getPropertyAssignments();
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:
@ -286,9 +286,9 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
getEnumDefinitions().clear();
getEnumDefinitions().addAll((Collection<? extends EnumDefinition>)newValue);
return;
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
getNamedInstantiations().addAll((Collection<? extends NamedInstantiation>)newValue);
case RdlPackage.ROOT__INSTANTIATIONS:
getInstantiations().clear();
getInstantiations().addAll((Collection<? extends Instantiation>)newValue);
return;
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
@ -321,8 +321,8 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
case RdlPackage.ROOT__ENUM_DEFINITIONS:
getEnumDefinitions().clear();
return;
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
getNamedInstantiations().clear();
case RdlPackage.ROOT__INSTANTIATIONS:
getInstantiations().clear();
return;
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
getPropertyAssignments().clear();
@ -350,8 +350,8 @@ public class RootImpl extends MinimalEObjectImpl.Container implements Root
return componentDefinitions != null && !componentDefinitions.isEmpty();
case RdlPackage.ROOT__ENUM_DEFINITIONS:
return enumDefinitions != null && !enumDefinitions.isEmpty();
case RdlPackage.ROOT__NAMED_INSTANTIATIONS:
return namedInstantiations != null && !namedInstantiations.isEmpty();
case RdlPackage.ROOT__INSTANTIATIONS:
return instantiations != null && !instantiations.isEmpty();
case RdlPackage.ROOT__PROPERTY_ASSIGNMENTS:
return propertyAssignments != null && !propertyAssignments.isEmpty();
case RdlPackage.ROOT__PROPERTY_DEFINITIONS:

View File

@ -106,14 +106,9 @@ public class RdlAdapterFactory extends AdapterFactoryImpl
return createComponentDefinitionAdapter();
}
@Override
public Adapter caseNamedInstantiation(NamedInstantiation object)
public Adapter caseInstantiation(Instantiation object)
{
return createNamedInstantiationAdapter();
}
@Override
public Adapter caseImmediateInstantiation(ImmediateInstantiation object)
{
return createImmediateInstantiationAdapter();
return createInstantiationAdapter();
}
@Override
public Adapter caseComponentInstance(ComponentInstance object)
@ -201,6 +196,11 @@ public class RdlAdapterFactory extends AdapterFactoryImpl
return createEnumPropertyAdapter();
}
@Override
public Adapter caseEnumInstanceType(EnumInstanceType object)
{
return createEnumInstanceTypeAdapter();
}
@Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@ -313,31 +313,16 @@ public class RdlAdapterFactory extends AdapterFactoryImpl
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.NamedInstantiation <em>Named Instantiation</em>}'.
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.Instantiation <em>Instantiation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.NamedInstantiation
* @see com.minres.rdl.rdl.Instantiation
* @generated
*/
public Adapter createNamedInstantiationAdapter()
{
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.ImmediateInstantiation <em>Immediate Instantiation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.ImmediateInstantiation
* @generated
*/
public Adapter createImmediateInstantiationAdapter()
public Adapter createInstantiationAdapter()
{
return null;
}
@ -597,6 +582,21 @@ public class RdlAdapterFactory extends AdapterFactoryImpl
return null;
}
/**
* Creates a new adapter for an object of class '{@link com.minres.rdl.rdl.EnumInstanceType <em>Enum Instance Type</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see com.minres.rdl.rdl.EnumInstanceType
* @generated
*/
public Adapter createEnumInstanceTypeAdapter()
{
return null;
}
/**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->

View File

@ -116,17 +116,10 @@ public class RdlSwitch<T> extends Switch<T>
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.NAMED_INSTANTIATION:
case RdlPackage.INSTANTIATION:
{
NamedInstantiation namedInstantiation = (NamedInstantiation)theEObject;
T result = caseNamedInstantiation(namedInstantiation);
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.IMMEDIATE_INSTANTIATION:
{
ImmediateInstantiation immediateInstantiation = (ImmediateInstantiation)theEObject;
T result = caseImmediateInstantiation(immediateInstantiation);
Instantiation instantiation = (Instantiation)theEObject;
T result = caseInstantiation(instantiation);
if (result == null) result = defaultCase(theEObject);
return result;
}
@ -255,6 +248,13 @@ public class RdlSwitch<T> extends Switch<T>
if (result == null) result = defaultCase(theEObject);
return result;
}
case RdlPackage.ENUM_INSTANCE_TYPE:
{
EnumInstanceType enumInstanceType = (EnumInstanceType)theEObject;
T result = caseEnumInstanceType(enumInstanceType);
if (result == null) result = defaultCase(theEObject);
return result;
}
default: return defaultCase(theEObject);
}
}
@ -356,33 +356,17 @@ public class RdlSwitch<T> extends Switch<T>
}
/**
* Returns the result of interpreting the object as an instance of '<em>Named Instantiation</em>'.
* Returns the result of interpreting the object as an instance of '<em>Instantiation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Named Instantiation</em>'.
* @return the result of interpreting the object as an instance of '<em>Instantiation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseNamedInstantiation(NamedInstantiation object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Immediate Instantiation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Immediate Instantiation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseImmediateInstantiation(ImmediateInstantiation object)
public T caseInstantiation(Instantiation object)
{
return null;
}
@ -659,6 +643,22 @@ public class RdlSwitch<T> extends Switch<T>
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Enum Instance Type</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Enum Instance Type</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseEnumInstanceType(EnumInstanceType object)
{
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->

View File

@ -11,13 +11,13 @@ import com.minres.rdl.rdl.ConcatElem;
import com.minres.rdl.rdl.EnumBody;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.EnumEntry;
import com.minres.rdl.rdl.EnumInstanceType;
import com.minres.rdl.rdl.EnumProperty;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.ImmediateInstantiation;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.InstanceRef;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PostPropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.PropertyDefault;
@ -74,15 +74,15 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
case RdlPackage.ENUM_ENTRY:
sequence_EnumEntry(context, (EnumEntry) semanticObject);
return;
case RdlPackage.ENUM_INSTANCE_TYPE:
sequence_EnumInstanceType(context, (EnumInstanceType) semanticObject);
return;
case RdlPackage.ENUM_PROPERTY:
sequence_EnumProperty(context, (EnumProperty) semanticObject);
return;
case RdlPackage.EXPLICIT_PROPERTY_ASSIGNMENT:
sequence_ExplicitPropertyAssignment(context, (ExplicitPropertyAssignment) semanticObject);
return;
case RdlPackage.IMMEDIATE_INSTANTIATION:
sequence_ImmediateInstantiation(context, (ImmediateInstantiation) semanticObject);
return;
case RdlPackage.INCLUDE:
sequence_Include(context, (Include) semanticObject);
return;
@ -99,8 +99,8 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
return;
}
else break;
case RdlPackage.NAMED_INSTANTIATION:
sequence_NamedInstantiation(context, (NamedInstantiation) semanticObject);
case RdlPackage.INSTANTIATION:
sequence_Instantiation(context, (Instantiation) semanticObject);
return;
case RdlPackage.POST_PROPERTY_ASSIGNMENT:
sequence_PostPropertyAssignment(context, (PostPropertyAssignment) semanticObject);
@ -139,13 +139,7 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
* (
* type=ComponentDefinitionType
* name=ID?
* (
* componentDefinitions+=ComponentDefinition |
* namedInstantiations+=NamedInstantiation |
* propertyAssignments+=PropertyAssignment |
* enumDefinitions+=EnumDefinition
* )*
* immediateInstantiation=ImmediateInstantiation?
* (componentDefinitions+=ComponentDefinition | instantiations+=Instantiation | propertyAssignments+=PropertyAssignment | enumDefinitions+=EnumDefinition)*
* )
*/
protected void sequence_ComponentDefinition(ISerializationContext context, ComponentDefinition semanticObject) {
@ -243,6 +237,18 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
}
/**
* Contexts:
* EnumInstanceType returns EnumInstanceType
*
* Constraint:
* (EXTERNAL='external' | INTERNAL='internal')
*/
protected void sequence_EnumInstanceType(ISerializationContext context, EnumInstanceType semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* EnumProperty returns EnumProperty
@ -281,18 +287,6 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
}
/**
* Contexts:
* ImmediateInstantiation returns ImmediateInstantiation
*
* Constraint:
* (external?='external'? componentInstances+=ComponentInstance componentInstances+=ComponentInstance*)
*/
protected void sequence_ImmediateInstantiation(ISerializationContext context, ImmediateInstantiation semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Contexts:
* Include returns Include
@ -337,19 +331,19 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
/**
* Contexts:
* NamedInstantiation returns NamedInstantiation
* Instantiation returns Instantiation
*
* Constraint:
* (
* external?='external'?
* internal?='internal'?
* alias=ID?
* component=[ComponentDefinition|ID]
* (
* (instanceType=EnumInstanceType? alias=ID? componentRef=[ComponentDefinition|ID]) |
* (component=ComponentDefinition instanceType=EnumInstanceType?)
* )
* componentInstances+=ComponentInstance
* componentInstances+=ComponentInstance*
* )
*/
protected void sequence_NamedInstantiation(ISerializationContext context, NamedInstantiation semanticObject) {
protected void sequence_Instantiation(ISerializationContext context, Instantiation semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
@ -443,7 +437,7 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
* Range returns Range
*
* Constraint:
* ((start=NUM end=NUM) | size=NUM)
* ((left=NUM right=NUM) | size=NUM)
*/
protected void sequence_Range(ISerializationContext context, Range semanticObject) {
genericSequencer.createSequence(context, semanticObject);
@ -459,7 +453,7 @@ public class RDLSemanticSequencer extends AbstractDelegatingSemanticSequencer {
* includes+=Include |
* componentDefinitions+=ComponentDefinition |
* enumDefinitions+=EnumDefinition |
* namedInstantiations+=NamedInstantiation |
* instantiations+=Instantiation |
* propertyAssignments+=PropertyAssignment |
* propertyDefinitions+=PropertyDefinition
* )+

View File

@ -31,26 +31,36 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final Assignment cIncludesAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
private final RuleCall cIncludesIncludeParserRuleCall_0_0 = (RuleCall)cIncludesAssignment_0.eContents().get(0);
private final Assignment cComponentDefinitionsAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_1_0 = (RuleCall)cComponentDefinitionsAssignment_1.eContents().get(0);
private final Assignment cEnumDefinitionsAssignment_2 = (Assignment)cAlternatives.eContents().get(2);
private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_2_0 = (RuleCall)cEnumDefinitionsAssignment_2.eContents().get(0);
private final Assignment cNamedInstantiationsAssignment_3 = (Assignment)cAlternatives.eContents().get(3);
private final RuleCall cNamedInstantiationsNamedInstantiationParserRuleCall_3_0 = (RuleCall)cNamedInstantiationsAssignment_3.eContents().get(0);
private final Assignment cPropertyAssignmentsAssignment_4 = (Assignment)cAlternatives.eContents().get(4);
private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0 = (RuleCall)cPropertyAssignmentsAssignment_4.eContents().get(0);
private final Assignment cPropertyDefinitionsAssignment_5 = (Assignment)cAlternatives.eContents().get(5);
private final RuleCall cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0 = (RuleCall)cPropertyDefinitionsAssignment_5.eContents().get(0);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Assignment cComponentDefinitionsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0 = (RuleCall)cComponentDefinitionsAssignment_1_0.eContents().get(0);
private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2);
private final Assignment cEnumDefinitionsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0 = (RuleCall)cEnumDefinitionsAssignment_2_0.eContents().get(0);
private final Keyword cSemicolonKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
private final Assignment cInstantiationsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
private final RuleCall cInstantiationsInstantiationParserRuleCall_3_0_0 = (RuleCall)cInstantiationsAssignment_3_0.eContents().get(0);
private final Keyword cSemicolonKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
private final Group cGroup_4 = (Group)cAlternatives.eContents().get(4);
private final Assignment cPropertyAssignmentsAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0 = (RuleCall)cPropertyAssignmentsAssignment_4_0.eContents().get(0);
private final Keyword cSemicolonKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
private final Group cGroup_5 = (Group)cAlternatives.eContents().get(5);
private final Assignment cPropertyDefinitionsAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0);
private final RuleCall cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0 = (RuleCall)cPropertyDefinitionsAssignment_5_0.eContents().get(0);
private final Keyword cSemicolonKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
//Root:
// (includes+=Include | componentDefinitions+=ComponentDefinition | enumDefinitions+=EnumDefinition |
// namedInstantiations+=NamedInstantiation | propertyAssignments+=PropertyAssignment |
// propertyDefinitions+=PropertyDefinition)*;
// (includes+=Include | componentDefinitions+=ComponentDefinition ';' | enumDefinitions+=EnumDefinition ';' |
// instantiations+=Instantiation ';' | propertyAssignments+=PropertyAssignment ';' |
// propertyDefinitions+=PropertyDefinition ';')*;
@Override public ParserRule getRule() { return rule; }
//(includes+=Include | componentDefinitions+=ComponentDefinition | enumDefinitions+=EnumDefinition |
//namedInstantiations+=NamedInstantiation | propertyAssignments+=PropertyAssignment |
//propertyDefinitions+=PropertyDefinition)*
//(includes+=Include | componentDefinitions+=ComponentDefinition ';' | enumDefinitions+=EnumDefinition ';' |
//instantiations+=Instantiation ';' | propertyAssignments+=PropertyAssignment ';' |
//propertyDefinitions+=PropertyDefinition ';')*
public Alternatives getAlternatives() { return cAlternatives; }
//includes+=Include
@ -59,35 +69,65 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//Include
public RuleCall getIncludesIncludeParserRuleCall_0_0() { return cIncludesIncludeParserRuleCall_0_0; }
//componentDefinitions+=ComponentDefinition ';'
public Group getGroup_1() { return cGroup_1; }
//componentDefinitions+=ComponentDefinition
public Assignment getComponentDefinitionsAssignment_1() { return cComponentDefinitionsAssignment_1; }
public Assignment getComponentDefinitionsAssignment_1_0() { return cComponentDefinitionsAssignment_1_0; }
//ComponentDefinition
public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_1_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_1_0; }
public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_1_0_0; }
//';'
public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; }
//enumDefinitions+=EnumDefinition ';'
public Group getGroup_2() { return cGroup_2; }
//enumDefinitions+=EnumDefinition
public Assignment getEnumDefinitionsAssignment_2() { return cEnumDefinitionsAssignment_2; }
public Assignment getEnumDefinitionsAssignment_2_0() { return cEnumDefinitionsAssignment_2_0; }
//EnumDefinition
public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_2_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_2_0; }
public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_2_0_0; }
//namedInstantiations+=NamedInstantiation
public Assignment getNamedInstantiationsAssignment_3() { return cNamedInstantiationsAssignment_3; }
//';'
public Keyword getSemicolonKeyword_2_1() { return cSemicolonKeyword_2_1; }
//NamedInstantiation
public RuleCall getNamedInstantiationsNamedInstantiationParserRuleCall_3_0() { return cNamedInstantiationsNamedInstantiationParserRuleCall_3_0; }
//instantiations+=Instantiation ';'
public Group getGroup_3() { return cGroup_3; }
//instantiations+=Instantiation
public Assignment getInstantiationsAssignment_3_0() { return cInstantiationsAssignment_3_0; }
//Instantiation
public RuleCall getInstantiationsInstantiationParserRuleCall_3_0_0() { return cInstantiationsInstantiationParserRuleCall_3_0_0; }
//';'
public Keyword getSemicolonKeyword_3_1() { return cSemicolonKeyword_3_1; }
//propertyAssignments+=PropertyAssignment ';'
public Group getGroup_4() { return cGroup_4; }
//propertyAssignments+=PropertyAssignment
public Assignment getPropertyAssignmentsAssignment_4() { return cPropertyAssignmentsAssignment_4; }
public Assignment getPropertyAssignmentsAssignment_4_0() { return cPropertyAssignmentsAssignment_4_0; }
//PropertyAssignment
public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0; }
public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_4_0_0; }
//';'
public Keyword getSemicolonKeyword_4_1() { return cSemicolonKeyword_4_1; }
//propertyDefinitions+=PropertyDefinition ';'
public Group getGroup_5() { return cGroup_5; }
//propertyDefinitions+=PropertyDefinition
public Assignment getPropertyDefinitionsAssignment_5() { return cPropertyDefinitionsAssignment_5; }
public Assignment getPropertyDefinitionsAssignment_5_0() { return cPropertyDefinitionsAssignment_5_0; }
//PropertyDefinition
public RuleCall getPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0() { return cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0; }
public RuleCall getPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0() { return cPropertyDefinitionsPropertyDefinitionParserRuleCall_5_0_0; }
//';'
public Keyword getSemicolonKeyword_5_1() { return cSemicolonKeyword_5_1; }
}
public class IncludeElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Include");
@ -509,30 +549,34 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
private final Assignment cComponentDefinitionsAssignment_3_0 = (Assignment)cAlternatives_3.eContents().get(0);
private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0 = (RuleCall)cComponentDefinitionsAssignment_3_0.eContents().get(0);
private final Assignment cNamedInstantiationsAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
private final RuleCall cNamedInstantiationsNamedInstantiationParserRuleCall_3_1_0 = (RuleCall)cNamedInstantiationsAssignment_3_1.eContents().get(0);
private final Assignment cPropertyAssignmentsAssignment_3_2 = (Assignment)cAlternatives_3.eContents().get(2);
private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0 = (RuleCall)cPropertyAssignmentsAssignment_3_2.eContents().get(0);
private final Assignment cEnumDefinitionsAssignment_3_3 = (Assignment)cAlternatives_3.eContents().get(3);
private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0 = (RuleCall)cEnumDefinitionsAssignment_3_3.eContents().get(0);
private final Group cGroup_3_0 = (Group)cAlternatives_3.eContents().get(0);
private final Assignment cComponentDefinitionsAssignment_3_0_0 = (Assignment)cGroup_3_0.eContents().get(0);
private final RuleCall cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0 = (RuleCall)cComponentDefinitionsAssignment_3_0_0.eContents().get(0);
private final Keyword cSemicolonKeyword_3_0_1 = (Keyword)cGroup_3_0.eContents().get(1);
private final Group cGroup_3_1 = (Group)cAlternatives_3.eContents().get(1);
private final Assignment cInstantiationsAssignment_3_1_0 = (Assignment)cGroup_3_1.eContents().get(0);
private final RuleCall cInstantiationsInstantiationParserRuleCall_3_1_0_0 = (RuleCall)cInstantiationsAssignment_3_1_0.eContents().get(0);
private final Keyword cSemicolonKeyword_3_1_1 = (Keyword)cGroup_3_1.eContents().get(1);
private final Group cGroup_3_2 = (Group)cAlternatives_3.eContents().get(2);
private final Assignment cPropertyAssignmentsAssignment_3_2_0 = (Assignment)cGroup_3_2.eContents().get(0);
private final RuleCall cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0 = (RuleCall)cPropertyAssignmentsAssignment_3_2_0.eContents().get(0);
private final Keyword cSemicolonKeyword_3_2_1 = (Keyword)cGroup_3_2.eContents().get(1);
private final Group cGroup_3_3 = (Group)cAlternatives_3.eContents().get(3);
private final Assignment cEnumDefinitionsAssignment_3_3_0 = (Assignment)cGroup_3_3.eContents().get(0);
private final RuleCall cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0 = (RuleCall)cEnumDefinitionsAssignment_3_3_0.eContents().get(0);
private final Keyword cSemicolonKeyword_3_3_1 = (Keyword)cGroup_3_3.eContents().get(1);
private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
private final Assignment cImmediateInstantiationAssignment_5 = (Assignment)cGroup.eContents().get(5);
private final RuleCall cImmediateInstantiationImmediateInstantiationParserRuleCall_5_0 = (RuleCall)cImmediateInstantiationAssignment_5.eContents().get(0);
private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
//ComponentDefinition:
// type=ComponentDefinitionType name=ID?
// '{' (componentDefinitions+=ComponentDefinition
// | namedInstantiations+=NamedInstantiation
// | propertyAssignments+=PropertyAssignment
// | enumDefinitions+=EnumDefinition)* '}' immediateInstantiation=ImmediateInstantiation? ';';
// '{' (componentDefinitions+=ComponentDefinition ';'
// | instantiations+=Instantiation ';'
// | propertyAssignments+=PropertyAssignment ';'
// | enumDefinitions+=EnumDefinition ';')* '}';
@Override public ParserRule getRule() { return rule; }
//type=ComponentDefinitionType name=ID? '{' (componentDefinitions+=ComponentDefinition |
//namedInstantiations+=NamedInstantiation | propertyAssignments+=PropertyAssignment | enumDefinitions+=EnumDefinition)*
//'}' immediateInstantiation=ImmediateInstantiation? ';'
//type=ComponentDefinitionType name=ID? '{' (componentDefinitions+=ComponentDefinition ';' | instantiations+=Instantiation
//';' | propertyAssignments+=PropertyAssignment ';' | enumDefinitions+=EnumDefinition ';')* '}'
public Group getGroup() { return cGroup; }
//type=ComponentDefinitionType
@ -550,137 +594,80 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//'{'
public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
//(componentDefinitions+=ComponentDefinition | namedInstantiations+=NamedInstantiation |
//propertyAssignments+=PropertyAssignment | enumDefinitions+=EnumDefinition)*
//(componentDefinitions+=ComponentDefinition ';' | instantiations+=Instantiation ';' |
//propertyAssignments+=PropertyAssignment ';' | enumDefinitions+=EnumDefinition ';')*
public Alternatives getAlternatives_3() { return cAlternatives_3; }
//componentDefinitions+=ComponentDefinition ';'
public Group getGroup_3_0() { return cGroup_3_0; }
//componentDefinitions+=ComponentDefinition
public Assignment getComponentDefinitionsAssignment_3_0() { return cComponentDefinitionsAssignment_3_0; }
public Assignment getComponentDefinitionsAssignment_3_0_0() { return cComponentDefinitionsAssignment_3_0_0; }
//ComponentDefinition
public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0; }
public RuleCall getComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0() { return cComponentDefinitionsComponentDefinitionParserRuleCall_3_0_0_0; }
//namedInstantiations+=NamedInstantiation
public Assignment getNamedInstantiationsAssignment_3_1() { return cNamedInstantiationsAssignment_3_1; }
//';'
public Keyword getSemicolonKeyword_3_0_1() { return cSemicolonKeyword_3_0_1; }
//NamedInstantiation
public RuleCall getNamedInstantiationsNamedInstantiationParserRuleCall_3_1_0() { return cNamedInstantiationsNamedInstantiationParserRuleCall_3_1_0; }
//instantiations+=Instantiation ';'
public Group getGroup_3_1() { return cGroup_3_1; }
//instantiations+=Instantiation
public Assignment getInstantiationsAssignment_3_1_0() { return cInstantiationsAssignment_3_1_0; }
//Instantiation
public RuleCall getInstantiationsInstantiationParserRuleCall_3_1_0_0() { return cInstantiationsInstantiationParserRuleCall_3_1_0_0; }
//';'
public Keyword getSemicolonKeyword_3_1_1() { return cSemicolonKeyword_3_1_1; }
//propertyAssignments+=PropertyAssignment ';'
public Group getGroup_3_2() { return cGroup_3_2; }
//propertyAssignments+=PropertyAssignment
public Assignment getPropertyAssignmentsAssignment_3_2() { return cPropertyAssignmentsAssignment_3_2; }
public Assignment getPropertyAssignmentsAssignment_3_2_0() { return cPropertyAssignmentsAssignment_3_2_0; }
//PropertyAssignment
public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0; }
public RuleCall getPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0() { return cPropertyAssignmentsPropertyAssignmentParserRuleCall_3_2_0_0; }
//';'
public Keyword getSemicolonKeyword_3_2_1() { return cSemicolonKeyword_3_2_1; }
//enumDefinitions+=EnumDefinition ';'
public Group getGroup_3_3() { return cGroup_3_3; }
//enumDefinitions+=EnumDefinition
public Assignment getEnumDefinitionsAssignment_3_3() { return cEnumDefinitionsAssignment_3_3; }
public Assignment getEnumDefinitionsAssignment_3_3_0() { return cEnumDefinitionsAssignment_3_3_0; }
//EnumDefinition
public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0; }
public RuleCall getEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0() { return cEnumDefinitionsEnumDefinitionParserRuleCall_3_3_0_0; }
//';'
public Keyword getSemicolonKeyword_3_3_1() { return cSemicolonKeyword_3_3_1; }
//'}'
public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
//immediateInstantiation=ImmediateInstantiation?
public Assignment getImmediateInstantiationAssignment_5() { return cImmediateInstantiationAssignment_5; }
//ImmediateInstantiation
public RuleCall getImmediateInstantiationImmediateInstantiationParserRuleCall_5_0() { return cImmediateInstantiationImmediateInstantiationParserRuleCall_5_0; }
//';'
public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
}
public class NamedInstantiationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.NamedInstantiation");
public class InstantiationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.Instantiation");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cExternalAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final Keyword cExternalExternalKeyword_0_0 = (Keyword)cExternalAssignment_0.eContents().get(0);
private final Assignment cInternalAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final Keyword cInternalInternalKeyword_1_0 = (Keyword)cInternalAssignment_1.eContents().get(0);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
private final Keyword cAliasKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
private final Assignment cAliasAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final RuleCall cAliasIDTerminalRuleCall_2_1_0 = (RuleCall)cAliasAssignment_2_1.eContents().get(0);
private final Assignment cComponentAssignment_3 = (Assignment)cGroup.eContents().get(3);
private final CrossReference cComponentComponentDefinitionCrossReference_3_0 = (CrossReference)cComponentAssignment_3.eContents().get(0);
private final RuleCall cComponentComponentDefinitionIDTerminalRuleCall_3_0_1 = (RuleCall)cComponentComponentDefinitionCrossReference_3_0.eContents().get(1);
private final Assignment cComponentInstancesAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_4_0 = (RuleCall)cComponentInstancesAssignment_4.eContents().get(0);
private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
private final Keyword cCommaKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
private final Assignment cComponentInstancesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_5_1_0 = (RuleCall)cComponentInstancesAssignment_5_1.eContents().get(0);
private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
//// Instantiation: NamedInstantiation|ImmediateInstantiation;
//NamedInstantiation:
// external?="external"? internal?="internal"? ("alias" alias=ID)? component=[ComponentDefinition]
// componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)* ';';
@Override public ParserRule getRule() { return rule; }
//external?="external"? internal?="internal"? ("alias" alias=ID)? component=[ComponentDefinition]
//componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)* ';'
public Group getGroup() { return cGroup; }
//external?="external"?
public Assignment getExternalAssignment_0() { return cExternalAssignment_0; }
//"external"
public Keyword getExternalExternalKeyword_0_0() { return cExternalExternalKeyword_0_0; }
//internal?="internal"?
public Assignment getInternalAssignment_1() { return cInternalAssignment_1; }
//"internal"
public Keyword getInternalInternalKeyword_1_0() { return cInternalInternalKeyword_1_0; }
//("alias" alias=ID)?
public Group getGroup_2() { return cGroup_2; }
//"alias"
public Keyword getAliasKeyword_2_0() { return cAliasKeyword_2_0; }
//alias=ID
public Assignment getAliasAssignment_2_1() { return cAliasAssignment_2_1; }
//ID
public RuleCall getAliasIDTerminalRuleCall_2_1_0() { return cAliasIDTerminalRuleCall_2_1_0; }
//component=[ComponentDefinition]
public Assignment getComponentAssignment_3() { return cComponentAssignment_3; }
//[ComponentDefinition]
public CrossReference getComponentComponentDefinitionCrossReference_3_0() { return cComponentComponentDefinitionCrossReference_3_0; }
//ID
public RuleCall getComponentComponentDefinitionIDTerminalRuleCall_3_0_1() { return cComponentComponentDefinitionIDTerminalRuleCall_3_0_1; }
//componentInstances+=ComponentInstance
public Assignment getComponentInstancesAssignment_4() { return cComponentInstancesAssignment_4; }
//ComponentInstance
public RuleCall getComponentInstancesComponentInstanceParserRuleCall_4_0() { return cComponentInstancesComponentInstanceParserRuleCall_4_0; }
//(',' componentInstances+=ComponentInstance)*
public Group getGroup_5() { return cGroup_5; }
//','
public Keyword getCommaKeyword_5_0() { return cCommaKeyword_5_0; }
//componentInstances+=ComponentInstance
public Assignment getComponentInstancesAssignment_5_1() { return cComponentInstancesAssignment_5_1; }
//ComponentInstance
public RuleCall getComponentInstancesComponentInstanceParserRuleCall_5_1_0() { return cComponentInstancesComponentInstanceParserRuleCall_5_1_0; }
//';'
public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
}
public class ImmediateInstantiationElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ImmediateInstantiation");
private final Group cGroup = (Group)rule.eContents().get(1);
private final Assignment cExternalAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final Keyword cExternalExternalKeyword_0_0 = (Keyword)cExternalAssignment_0.eContents().get(0);
private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0);
private final Assignment cInstanceTypeAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0);
private final RuleCall cInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0 = (RuleCall)cInstanceTypeAssignment_0_0_0.eContents().get(0);
private final Group cGroup_0_0_1 = (Group)cGroup_0_0.eContents().get(1);
private final Keyword cAliasKeyword_0_0_1_0 = (Keyword)cGroup_0_0_1.eContents().get(0);
private final Assignment cAliasAssignment_0_0_1_1 = (Assignment)cGroup_0_0_1.eContents().get(1);
private final RuleCall cAliasIDTerminalRuleCall_0_0_1_1_0 = (RuleCall)cAliasAssignment_0_0_1_1.eContents().get(0);
private final Assignment cComponentRefAssignment_0_0_2 = (Assignment)cGroup_0_0.eContents().get(2);
private final CrossReference cComponentRefComponentDefinitionCrossReference_0_0_2_0 = (CrossReference)cComponentRefAssignment_0_0_2.eContents().get(0);
private final RuleCall cComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1 = (RuleCall)cComponentRefComponentDefinitionCrossReference_0_0_2_0.eContents().get(1);
private final Group cGroup_0_1 = (Group)cAlternatives_0.eContents().get(1);
private final Assignment cComponentAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0);
private final RuleCall cComponentComponentDefinitionParserRuleCall_0_1_0_0 = (RuleCall)cComponentAssignment_0_1_0.eContents().get(0);
private final Assignment cInstanceTypeAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1);
private final RuleCall cInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0 = (RuleCall)cInstanceTypeAssignment_0_1_1.eContents().get(0);
private final Assignment cComponentInstancesAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_1_0 = (RuleCall)cComponentInstancesAssignment_1.eContents().get(0);
private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
@ -688,18 +675,63 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final Assignment cComponentInstancesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
private final RuleCall cComponentInstancesComponentInstanceParserRuleCall_2_1_0 = (RuleCall)cComponentInstancesAssignment_2_1.eContents().get(0);
//ImmediateInstantiation:
// external?="external"? componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*;
//Instantiation:
// (instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition] | component=ComponentDefinition
// instanceType=EnumInstanceType?) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*;
@Override public ParserRule getRule() { return rule; }
//external?="external"? componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
//(instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition] | component=ComponentDefinition
//instanceType=EnumInstanceType?) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
public Group getGroup() { return cGroup; }
//external?="external"?
public Assignment getExternalAssignment_0() { return cExternalAssignment_0; }
//instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition] | component=ComponentDefinition
//instanceType=EnumInstanceType?
public Alternatives getAlternatives_0() { return cAlternatives_0; }
//"external"
public Keyword getExternalExternalKeyword_0_0() { return cExternalExternalKeyword_0_0; }
//instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition]
public Group getGroup_0_0() { return cGroup_0_0; }
//instanceType=EnumInstanceType?
public Assignment getInstanceTypeAssignment_0_0_0() { return cInstanceTypeAssignment_0_0_0; }
//EnumInstanceType
public RuleCall getInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0() { return cInstanceTypeEnumInstanceTypeParserRuleCall_0_0_0_0; }
//("alias" alias=ID)?
public Group getGroup_0_0_1() { return cGroup_0_0_1; }
//"alias"
public Keyword getAliasKeyword_0_0_1_0() { return cAliasKeyword_0_0_1_0; }
//alias=ID
public Assignment getAliasAssignment_0_0_1_1() { return cAliasAssignment_0_0_1_1; }
//ID
public RuleCall getAliasIDTerminalRuleCall_0_0_1_1_0() { return cAliasIDTerminalRuleCall_0_0_1_1_0; }
//componentRef=[ComponentDefinition]
public Assignment getComponentRefAssignment_0_0_2() { return cComponentRefAssignment_0_0_2; }
//[ComponentDefinition]
public CrossReference getComponentRefComponentDefinitionCrossReference_0_0_2_0() { return cComponentRefComponentDefinitionCrossReference_0_0_2_0; }
//ID
public RuleCall getComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1() { return cComponentRefComponentDefinitionIDTerminalRuleCall_0_0_2_0_1; }
//component=ComponentDefinition instanceType=EnumInstanceType?
public Group getGroup_0_1() { return cGroup_0_1; }
//component=ComponentDefinition
public Assignment getComponentAssignment_0_1_0() { return cComponentAssignment_0_1_0; }
//ComponentDefinition
public RuleCall getComponentComponentDefinitionParserRuleCall_0_1_0_0() { return cComponentComponentDefinitionParserRuleCall_0_1_0_0; }
//instanceType=EnumInstanceType?
public Assignment getInstanceTypeAssignment_0_1_1() { return cInstanceTypeAssignment_0_1_1; }
//EnumInstanceType
public RuleCall getInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0() { return cInstanceTypeEnumInstanceTypeParserRuleCall_0_1_1_0; }
//componentInstances+=ComponentInstance
public Assignment getComponentInstancesAssignment_1() { return cComponentInstancesAssignment_1; }
@ -816,45 +848,45 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
private final Assignment cStartAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
private final RuleCall cStartNUMTerminalRuleCall_1_0_0_0 = (RuleCall)cStartAssignment_1_0_0.eContents().get(0);
private final Assignment cLeftAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
private final RuleCall cLeftNUMTerminalRuleCall_1_0_0_0 = (RuleCall)cLeftAssignment_1_0_0.eContents().get(0);
private final Keyword cColonKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1);
private final Assignment cEndAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cEndNUMTerminalRuleCall_1_0_2_0 = (RuleCall)cEndAssignment_1_0_2.eContents().get(0);
private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2);
private final RuleCall cRightNUMTerminalRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0);
private final Assignment cSizeAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
private final RuleCall cSizeNUMTerminalRuleCall_1_1_0 = (RuleCall)cSizeAssignment_1_1.eContents().get(0);
private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
//Range:
// '[' (start=NUM ':' end=NUM | size=NUM) ']';
// '[' (left=NUM ':' right=NUM | size=NUM) ']';
@Override public ParserRule getRule() { return rule; }
//'[' (start=NUM ':' end=NUM | size=NUM) ']'
//'[' (left=NUM ':' right=NUM | size=NUM) ']'
public Group getGroup() { return cGroup; }
//'['
public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
//start=NUM ':' end=NUM | size=NUM
//left=NUM ':' right=NUM | size=NUM
public Alternatives getAlternatives_1() { return cAlternatives_1; }
//start=NUM ':' end=NUM
//left=NUM ':' right=NUM
public Group getGroup_1_0() { return cGroup_1_0; }
//start=NUM
public Assignment getStartAssignment_1_0_0() { return cStartAssignment_1_0_0; }
//left=NUM
public Assignment getLeftAssignment_1_0_0() { return cLeftAssignment_1_0_0; }
//NUM
public RuleCall getStartNUMTerminalRuleCall_1_0_0_0() { return cStartNUMTerminalRuleCall_1_0_0_0; }
public RuleCall getLeftNUMTerminalRuleCall_1_0_0_0() { return cLeftNUMTerminalRuleCall_1_0_0_0; }
//':'
public Keyword getColonKeyword_1_0_1() { return cColonKeyword_1_0_1; }
//end=NUM
public Assignment getEndAssignment_1_0_2() { return cEndAssignment_1_0_2; }
//right=NUM
public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; }
//NUM
public RuleCall getEndNUMTerminalRuleCall_1_0_2_0() { return cEndNUMTerminalRuleCall_1_0_2_0; }
public RuleCall getRightNUMTerminalRuleCall_1_0_2_0() { return cRightNUMTerminalRuleCall_1_0_2_0; }
//size=NUM
public Assignment getSizeAssignment_1_1() { return cSizeAssignment_1_1; }
@ -915,7 +947,6 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cModifierPropertyModifierEnumRuleCall_0_0_0 = (RuleCall)cModifierAssignment_0_0.eContents().get(0);
private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
private final RuleCall cNamePropertyEnumRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
private final Keyword cSemicolonKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
private final Assignment cNameAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
private final RuleCall cNamePropertyEnumRuleCall_1_0_0 = (RuleCall)cNameAssignment_1_0.eContents().get(0);
@ -923,16 +954,15 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0);
private final Assignment cRhsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
private final RuleCall cRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0 = (RuleCall)cRhsAssignment_1_1_1.eContents().get(0);
private final Keyword cSemicolonKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2);
//ExplicitPropertyAssignment:
// modifier=PropertyModifier name=Property ';' | name=Property ('=' rhs=PropertyAssignmentRhs)? ';';
// modifier=PropertyModifier name=Property | name=Property ('=' rhs=PropertyAssignmentRhs)?;
@Override public ParserRule getRule() { return rule; }
//modifier=PropertyModifier name=Property ';' | name=Property ('=' rhs=PropertyAssignmentRhs)? ';'
//modifier=PropertyModifier name=Property | name=Property ('=' rhs=PropertyAssignmentRhs)?
public Alternatives getAlternatives() { return cAlternatives; }
//modifier=PropertyModifier name=Property ';'
//modifier=PropertyModifier name=Property
public Group getGroup_0() { return cGroup_0; }
//modifier=PropertyModifier
@ -947,10 +977,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//Property
public RuleCall getNamePropertyEnumRuleCall_0_1_0() { return cNamePropertyEnumRuleCall_0_1_0; }
//';'
public Keyword getSemicolonKeyword_0_2() { return cSemicolonKeyword_0_2; }
//name=Property ('=' rhs=PropertyAssignmentRhs)? ';'
//name=Property ('=' rhs=PropertyAssignmentRhs)?
public Group getGroup_1() { return cGroup_1; }
//name=Property
@ -970,9 +997,6 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//PropertyAssignmentRhs
public RuleCall getRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0() { return cRhsPropertyAssignmentRhsParserRuleCall_1_1_1_0; }
//';'
public Keyword getSemicolonKeyword_1_2() { return cSemicolonKeyword_1_2; }
}
public class PostPropertyAssignmentElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PostPropertyAssignment");
@ -995,15 +1019,14 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cEqualsSignKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
private final Assignment cRhsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
private final RuleCall cRhsPropertyAssignmentRhsParserRuleCall_1_1_0 = (RuleCall)cRhsAssignment_1_1.eContents().get(0);
private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
//PostPropertyAssignment:
// (instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
// property=[PropertyDefinition]) ('=' rhs=PropertyAssignmentRhs)? ';';
// property=[PropertyDefinition]) ('=' rhs=PropertyAssignmentRhs)?;
@Override public ParserRule getRule() { return rule; }
//(instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) | property=[PropertyDefinition])
//('=' rhs=PropertyAssignmentRhs)? ';'
//('=' rhs=PropertyAssignmentRhs)?
public Group getGroup() { return cGroup; }
//instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) | property=[PropertyDefinition]
@ -1059,9 +1082,6 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//PropertyAssignmentRhs
public RuleCall getRhsPropertyAssignmentRhsParserRuleCall_1_1_0() { return cRhsPropertyAssignmentRhsParserRuleCall_1_1_0; }
//';'
public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
}
public class InstancePropertyRefElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.InstancePropertyRef");
@ -1121,7 +1141,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cEnumDefinitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
private final RuleCall cPropertyDefinitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
//// unused rules to infer inheritance
//// unused rule to infer inheritance
//Entity:
// ComponentInstance | EnumDefinition | PropertyDefinition;
@Override public ParserRule getRule() { return rule; }
@ -1394,13 +1414,12 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
private final Assignment cBodyAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cBodyEnumBodyParserRuleCall_2_0 = (RuleCall)cBodyAssignment_2.eContents().get(0);
private final Keyword cSemicolonKeyword_3 = (Keyword)cGroup.eContents().get(3);
//EnumDefinition:
// "enum" name=ID body=EnumBody ';';
// "enum" name=ID body=EnumBody;
@Override public ParserRule getRule() { return rule; }
//"enum" name=ID body=EnumBody ';'
//"enum" name=ID body=EnumBody
public Group getGroup() { return cGroup; }
//"enum"
@ -1417,9 +1436,6 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//EnumBody
public RuleCall getBodyEnumBodyParserRuleCall_2_0() { return cBodyEnumBodyParserRuleCall_2_0; }
//';'
public Keyword getSemicolonKeyword_3() { return cSemicolonKeyword_3; }
}
public class EnumBodyElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumBody");
@ -1574,6 +1590,33 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//';'
public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
}
public class EnumInstanceTypeElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.EnumInstanceType");
private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
private final Assignment cEXTERNALAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
private final Keyword cEXTERNALExternalKeyword_0_0 = (Keyword)cEXTERNALAssignment_0.eContents().get(0);
private final Assignment cINTERNALAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
private final Keyword cINTERNALInternalKeyword_1_0 = (Keyword)cINTERNALAssignment_1.eContents().get(0);
//EnumInstanceType:
// EXTERNAL="external" | INTERNAL="internal";
@Override public ParserRule getRule() { return rule; }
//EXTERNAL="external" | INTERNAL="internal"
public Alternatives getAlternatives() { return cAlternatives; }
//EXTERNAL="external"
public Assignment getEXTERNALAssignment_0() { return cEXTERNALAssignment_0; }
//"external"
public Keyword getEXTERNALExternalKeyword_0_0() { return cEXTERNALExternalKeyword_0_0; }
//INTERNAL="internal"
public Assignment getINTERNALAssignment_1() { return cINTERNALAssignment_1; }
//"internal"
public Keyword getINTERNALInternalKeyword_1_0() { return cINTERNALInternalKeyword_1_0; }
}
public class PropertyTypeNameElements extends AbstractEnumRuleElementFinder {
private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.PropertyTypeName");
@ -3353,8 +3396,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final PropertyComponentElements ePropertyComponent;
private final ComponentDefinitionElements pComponentDefinition;
private final ComponentDefinitionTypeElements eComponentDefinitionType;
private final NamedInstantiationElements pNamedInstantiation;
private final ImmediateInstantiationElements pImmediateInstantiation;
private final InstantiationElements pInstantiation;
private final ComponentInstanceElements pComponentInstance;
private final RangeElements pRange;
private final PropertyAssignmentElements pPropertyAssignment;
@ -3377,6 +3419,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
private final EnumBodyElements pEnumBody;
private final EnumEntryElements pEnumEntry;
private final EnumPropertyElements pEnumProperty;
private final EnumInstanceTypeElements pEnumInstanceType;
private final TerminalRule tID;
private final TerminalRule tWS;
private final TerminalRule tML_COMMENT;
@ -3400,8 +3443,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
this.ePropertyComponent = new PropertyComponentElements();
this.pComponentDefinition = new ComponentDefinitionElements();
this.eComponentDefinitionType = new ComponentDefinitionTypeElements();
this.pNamedInstantiation = new NamedInstantiationElements();
this.pImmediateInstantiation = new ImmediateInstantiationElements();
this.pInstantiation = new InstantiationElements();
this.pComponentInstance = new ComponentInstanceElements();
this.pRange = new RangeElements();
this.pPropertyAssignment = new PropertyAssignmentElements();
@ -3424,6 +3466,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
this.pEnumBody = new EnumBodyElements();
this.pEnumEntry = new EnumEntryElements();
this.pEnumProperty = new EnumPropertyElements();
this.pEnumInstanceType = new EnumInstanceTypeElements();
this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ID");
this.tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.WS");
this.tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "com.minres.rdl.RDL.ML_COMMENT");
@ -3458,9 +3501,9 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//Root:
// (includes+=Include | componentDefinitions+=ComponentDefinition | enumDefinitions+=EnumDefinition |
// namedInstantiations+=NamedInstantiation | propertyAssignments+=PropertyAssignment |
// propertyDefinitions+=PropertyDefinition)*;
// (includes+=Include | componentDefinitions+=ComponentDefinition ';' | enumDefinitions+=EnumDefinition ';' |
// instantiations+=Instantiation ';' | propertyAssignments+=PropertyAssignment ';' |
// propertyDefinitions+=PropertyDefinition ';')*;
public RootElements getRootAccess() {
return pRoot;
}
@ -3536,10 +3579,10 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//ComponentDefinition:
// type=ComponentDefinitionType name=ID?
// '{' (componentDefinitions+=ComponentDefinition
// | namedInstantiations+=NamedInstantiation
// | propertyAssignments+=PropertyAssignment
// | enumDefinitions+=EnumDefinition)* '}' immediateInstantiation=ImmediateInstantiation? ';';
// '{' (componentDefinitions+=ComponentDefinition ';'
// | instantiations+=Instantiation ';'
// | propertyAssignments+=PropertyAssignment ';'
// | enumDefinitions+=EnumDefinition ';')* '}';
public ComponentDefinitionElements getComponentDefinitionAccess() {
return pComponentDefinition;
}
@ -3558,26 +3601,15 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
return getComponentDefinitionTypeAccess().getRule();
}
//// Instantiation: NamedInstantiation|ImmediateInstantiation;
//NamedInstantiation:
// external?="external"? internal?="internal"? ("alias" alias=ID)? component=[ComponentDefinition]
// componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)* ';';
public NamedInstantiationElements getNamedInstantiationAccess() {
return pNamedInstantiation;
//Instantiation:
// (instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition] | component=ComponentDefinition
// instanceType=EnumInstanceType?) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*;
public InstantiationElements getInstantiationAccess() {
return pInstantiation;
}
public ParserRule getNamedInstantiationRule() {
return getNamedInstantiationAccess().getRule();
}
//ImmediateInstantiation:
// external?="external"? componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*;
public ImmediateInstantiationElements getImmediateInstantiationAccess() {
return pImmediateInstantiation;
}
public ParserRule getImmediateInstantiationRule() {
return getImmediateInstantiationAccess().getRule();
public ParserRule getInstantiationRule() {
return getInstantiationAccess().getRule();
}
//ComponentInstance:
@ -3591,7 +3623,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
}
//Range:
// '[' (start=NUM ':' end=NUM | size=NUM) ']';
// '[' (left=NUM ':' right=NUM | size=NUM) ']';
public RangeElements getRangeAccess() {
return pRange;
}
@ -3621,7 +3653,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
}
//ExplicitPropertyAssignment:
// modifier=PropertyModifier name=Property ';' | name=Property ('=' rhs=PropertyAssignmentRhs)? ';';
// modifier=PropertyModifier name=Property | name=Property ('=' rhs=PropertyAssignmentRhs)?;
public ExplicitPropertyAssignmentElements getExplicitPropertyAssignmentAccess() {
return pExplicitPropertyAssignment;
}
@ -3632,7 +3664,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
//PostPropertyAssignment:
// (instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
// property=[PropertyDefinition]) ('=' rhs=PropertyAssignmentRhs)? ';';
// property=[PropertyDefinition]) ('=' rhs=PropertyAssignmentRhs)?;
public PostPropertyAssignmentElements getPostPropertyAssignmentAccess() {
return pPostPropertyAssignment;
}
@ -3651,7 +3683,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
return getInstancePropertyRefAccess().getRule();
}
//// unused rules to infer inheritance
//// unused rule to infer inheritance
//Entity:
// ComponentInstance | EnumDefinition | PropertyDefinition;
public EntityElements getEntityAccess() {
@ -3914,7 +3946,7 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
}
//EnumDefinition:
// "enum" name=ID body=EnumBody ';';
// "enum" name=ID body=EnumBody;
public EnumDefinitionElements getEnumDefinitionAccess() {
return pEnumDefinition;
}
@ -3953,6 +3985,16 @@ public class RDLGrammarAccess extends AbstractGrammarElementFinder {
return getEnumPropertyAccess().getRule();
}
//EnumInstanceType:
// EXTERNAL="external" | INTERNAL="internal";
public EnumInstanceTypeElements getEnumInstanceTypeAccess() {
return pEnumInstanceType;
}
public ParserRule getEnumInstanceTypeRule() {
return getEnumInstanceTypeAccess().getRule();
}
//terminal ID:
// '\\'? ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
public TerminalRule getIDRule() {

View File

@ -36,7 +36,12 @@ Workflow {
fragment = scoping.ImportNamespacesScopingFragment2 auto-inject {}
fragment = exporting.SimpleNamesFragment2 auto-inject {}
parserGenerator = {
options = {
backtrack = true
}
}
serializer = {
generateStub = false
}

View File

@ -8,12 +8,12 @@ generate rdl "http://www.minres.com/rdl/RDL"
Root:
(
includes+=Include |
componentDefinitions+=ComponentDefinition |
enumDefinitions+=EnumDefinition |
namedInstantiations+=NamedInstantiation |
propertyAssignments+=PropertyAssignment |
propertyDefinitions+=PropertyDefinition
)*
componentDefinitions+=ComponentDefinition';'|
enumDefinitions+=EnumDefinition ';'|
instantiations+=Instantiation ';'|
propertyAssignments+=PropertyAssignment ';'|
propertyDefinitions+=PropertyDefinition ';'
) *
;
Include:
@ -48,25 +48,21 @@ enum PropertyComponent:
ComponentDefinition:
type=ComponentDefinitionType name=ID?
'{'
( componentDefinitions+=ComponentDefinition
| namedInstantiations+=NamedInstantiation
| propertyAssignments+=PropertyAssignment
| enumDefinitions+=EnumDefinition
)* '}' immediateInstantiation=ImmediateInstantiation? ';'
( componentDefinitions+=ComponentDefinition ';'
| instantiations+=Instantiation ';'
| propertyAssignments+=PropertyAssignment ';'
| enumDefinitions+=EnumDefinition ';'
)* '}'
;
enum ComponentDefinitionType:
SIGNAL="signal" | ADDRMAP="addrmap" | REGFILE="regfile" | REG="reg" | FIELD="field"
;
// Instantiation: NamedInstantiation|ImmediateInstantiation;
NamedInstantiation:
(external?="external")? (internal?="internal")? ("alias" alias=ID)? component=[ComponentDefinition] componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)* ';'
;
ImmediateInstantiation:
(external?="external")? componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
Instantiation:
(
instanceType=EnumInstanceType? ("alias" alias=ID)? componentRef=[ComponentDefinition]| component=ComponentDefinition instanceType=EnumInstanceType?
) componentInstances+=ComponentInstance (',' componentInstances+=ComponentInstance)*
;
ComponentInstance:
@ -82,7 +78,7 @@ ComponentInstance:
;
Range:
'[' (start=NUM ':' end=NUM | size=NUM) ']'
'[' (left=NUM ':' right=NUM | size=NUM) ']'
;
PropertyAssignment:
@ -94,27 +90,27 @@ DefaultProperyAssignment:
;
ExplicitPropertyAssignment :
modifier=PropertyModifier name=Property ';' |
name=Property ('=' rhs=PropertyAssignmentRhs)? ';'
modifier=PropertyModifier name=Property |
name=Property ('=' rhs=PropertyAssignmentRhs)?
;
PostPropertyAssignment:
(instance=HierInstanceRef '->' (propertyEnum=Property | property=[PropertyDefinition]) |
property=[PropertyDefinition] ) ('=' rhs=PropertyAssignmentRhs)? ';'
property=[PropertyDefinition] ) ('=' rhs=PropertyAssignmentRhs)?
;
InstancePropertyRef:
instance=InstanceRef ('->' (propertyEnum=Property | property=[PropertyDefinition]))?
;
// unused rules to infer inheritance
// unused rule to infer inheritance
Entity:
ComponentInstance|EnumDefinition|PropertyDefinition
;
InstanceRef:
instance=[Entity] ( "." tail=HierInstanceRef)?
;
;
HierInstanceRef returns InstanceRef:
instance=[ComponentInstance] ( "." tail=HierInstanceRef)?
@ -358,7 +354,7 @@ enum PropertyModifier:
;
EnumDefinition:
"enum" name=ID body=EnumBody ';'
"enum" name=ID body=EnumBody
;
EnumBody:
@ -373,6 +369,9 @@ EnumProperty:
( name='name' '=' value=STR | name='desc' '=' value=STR ) ';'
;
EnumInstanceType:
EXTERNAL="external" | INTERNAL="internal"
;
///////////////////////////////////////////////////////////////////////////////
// the terminals
///////////////////////////////////////////////////////////////////////////////

View File

@ -0,0 +1,32 @@
package com.minres.rdl.generator
import com.minres.rdl.generator.RdlBaseGenerator
import com.minres.rdl.rdl.ComponentDefinition
class AddrmapGenerator extends RdlBaseGenerator {
val ComponentDefinition componentDefinition
new(ComponentDefinition definition) {
componentDefinition=definition
}
override generateHeader() {'''
#ifndef _E300_PLAT_MAP_H_
#define _E300_PLAT_MAP_H_
// need double braces, see https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191
const std::array<sysc::target_memory_map_entry<32>, 3> e300_plat_map = {{
{&i_gpio, 0x10012000, 0x1000},
{&i_uart, 0x10013000, 0x1000},
{&i_spi, 0x10014000, 0x1000}
}};
#endif /* _E300_PLAT_MAP_H_ */
'''
}
override generateSource() {
''
}
}

View File

@ -0,0 +1,146 @@
package com.minres.rdl.generator
import com.google.inject.Inject
import com.google.inject.Provider
import com.minres.rdl.RDLStandaloneSetup
import java.lang.reflect.MalformedParametersException
import java.util.ArrayList
import org.eclipse.emf.common.util.URI
import org.eclipse.emf.ecore.resource.ResourceSet
import org.eclipse.emf.mwe.utils.ProjectMapping
import org.eclipse.emf.mwe.utils.StandaloneSetup
import org.eclipse.xtext.generator.GeneratorContext
import org.eclipse.xtext.generator.GeneratorDelegate
import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import org.eclipse.xtext.resource.XtextResource
import org.eclipse.xtext.resource.XtextResourceSet
import org.eclipse.xtext.util.CancelIndicator
import org.eclipse.xtext.validation.CheckMode
import org.eclipse.xtext.validation.IResourceValidator
import java.text.ParseException
class Main {
static class Option {
String flag
String value
def Option(String flag, String value) {
this.flag = flag
this.value = value
}
}
def static main(String[] args) {
if (args.empty) {
System::err.println('Aborting: no path to EMF resource provided!')
return
}
try {
val injector = new RDLStandaloneSetup().createInjectorAndDoEMFRegistration
injector.getInstance(Main).run(args)
} catch(MalformedParametersException e){
print("Command line error "+e.message)
} catch(IllegalArgumentException e){
print("generation error "+e.message)
e.printStackTrace
} catch(ParseException e){
print("parse problem "+e.message+" ("+ e.errorOffset+")")
}
}
@Inject Provider<ResourceSet> resourceSetProvider
@Inject IResourceValidator validator
@Inject GeneratorDelegate generator
@Inject JavaIoFileSystemAccess fileAccess
var optsList = new ArrayList<Option>();
var argsList = new ArrayList<String>()
val shortOptMap = newLinkedHashMap('i' -> 'incl-out', 's' -> 'src-out')
def protected parseOptions(String[] args) {
for (arg : args) {
switch (arg) {
case arg.startsWith('--'): {
if (arg.length < 3)
throw new MalformedParametersException("not a valid argument: " + arg);
val res = arg.substring(2).split('=')
var opt = new Option()
val longOpt = shortOptMap.values.findFirst[String s|s == res.get(0)]
if(longOpt === null) throw new IllegalArgumentException("unknown option: " + arg);
opt.flag = res.get(0)
if (res.size == 2)
opt.value = res.get(1)
optsList += opt
}
case arg.startsWith('-'): {
if (arg.length < 2)
throw new MalformedParametersException("not a valid argument: " + arg);
// -opt
var res = arg.substring(1).split('=')
val longOpt = shortOptMap.get(res.get(0))
if(longOpt === null) throw new MalformedParametersException("unknown option: " + arg);
var opt = new Option()
opt.flag = longOpt
if (res.size == 2)
opt.value = res.get(1)
optsList += opt
}
default: {
argsList += arg;
}
}
}
}
def run(String[] args){
parseOptions(args)
val repo = optsList.findFirst[it.flag == "repository"]
if(repo!==null){
val projectMapping = new ProjectMapping
projectMapping.projectName = "RDL Repository"
projectMapping.path = repo.value
new StandaloneSetup().addProjectMapping(projectMapping)
}
argsList.forEach[runGenerator(it)]
}
def protected runGenerator(String string) {
// Load the resource
val resourceSet = resourceSetProvider.get as XtextResourceSet
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
val resource = resourceSet.getResource(URI.createFileURI(string), true)
// Validate the resource
val issues = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl)
if (!issues.empty) {
System.err.println("Error validating "+resource.URI)
issues.forEach[System.err.println(it)]
throw new ParseException("error validating "+resource.URI, issues.size)
}
// Configure and start the generator
fileAccess.outputPath = 'src-gen/'
optsList.filter[it.flag.matches('.*-out')].forEach[fileAccess.setOutputPath(it.flag, it.value)]
fileAccess.outputConfigurations.get('src-out')?.setOverrideExistingResources(true)
val context = new GeneratorContext => [ cancelIndicator = CancelIndicator.NullImpl ]
generator.generate(resource, fileAccess, context)
System.out.print('Code generation for '+string +' finished, ')
try{
System.out.print('includes are in '+fileAccess.getURI('', 'incl-out')+', ')
}catch(Exception e){
System.out.print('includes are in '+fileAccess.getURI('')+', ')
}
try{
System.out.println('sources are in '+fileAccess.getURI('', 'src-out')+', ')
}catch(Exception e){
System.out.println('sources are in '+fileAccess.getURI('')+', ')
}
}
}

View File

@ -3,6 +3,8 @@
*/
package com.minres.rdl.generator
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ComponentDefinitionType
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.AbstractGenerator
import org.eclipse.xtext.generator.IFileSystemAccess2
@ -16,10 +18,29 @@ import org.eclipse.xtext.generator.IGeneratorContext
class RDLGenerator 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(', '))
}
}
resource.resourceSet.allContents.filter[ it instanceof ComponentDefinition].map[it as ComponentDefinition].forEach[
val gen = it.fileGenerator
if(gen!==null){
val header = gen.generateHeader
if(header!==null && header.length>0) fsa.generateFile(it.name+'.h', fsa.outputConfig('incl-out'), header)
val source = gen.generateSource
if(source!==null && source.length>0) fsa.generateFile(it.name+'.cpp', fsa.outputConfig('src-out'), source)
}
]
}
def RdlBaseGenerator fileGenerator(ComponentDefinition definition){
switch(definition.type){
case ComponentDefinitionType.REGFILE: new RegfileGenerator(definition)
case ComponentDefinitionType.ADDRMAP: new AddrmapGenerator(definition)
default: null
}
}
def String outputConfig(IFileSystemAccess2 fsa, String string){
var output_config = string
try {fsa.getURI("", output_config)} catch (Exception e) {output_config ='DEFAULT_OUTPUT'}
return output_config
}
}

View File

@ -0,0 +1,101 @@
package com.minres.rdl.generator
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ExplicitPropertyAssignment
import com.minres.rdl.rdl.PropertyAssignment
import com.minres.rdl.rdl.PropertyEnum
import com.minres.rdl.IntegerWithRadix
import com.minres.rdl.rdl.Instantiation
import com.minres.rdl.rdl.PropertyAssignmentRhs
import com.minres.rdl.rdl.RValue
import com.minres.rdl.rdl.RValueConstant
import com.minres.rdl.rdl.InstancePropertyRef
import com.minres.rdl.rdl.ComponentDefinitionType
abstract class RdlBaseGenerator {
def long accessWidth(ComponentDefinition definition){
var size = 32L
val pa = definition.propertyAssignments.findFirst[PropertyAssignment pa |
pa instanceof ExplicitPropertyAssignment && (pa as ExplicitPropertyAssignment).name==PropertyEnum.ACCESSWIDTH
]
if(pa !== null){
val sz = new IntegerWithRadix((pa as ExplicitPropertyAssignment).rhs.effectiveValue)
size=sz.value
}
return size
}
def long getSize(Instantiation instantiation){
val componentDef= instantiation.definingComponent
switch (componentDef.type) {
case ComponentDefinitionType.REG: {
val pa = componentDef.propertyAssignments.findFirst[PropertyAssignment pa |
pa instanceof ExplicitPropertyAssignment && (pa as ExplicitPropertyAssignment).name==PropertyEnum.REGWIDTH
]
if(pa !== null){
val sz = new IntegerWithRadix((pa as ExplicitPropertyAssignment).rhs.effectiveValue)
return sz.value
}
return 32L
}
case ComponentDefinitionType.FIELD:{
val pa = componentDef.propertyAssignments.findFirst[PropertyAssignment pa |
pa instanceof ExplicitPropertyAssignment && (pa as ExplicitPropertyAssignment).name==PropertyEnum.FIELDWIDTH
]
if(pa !== null){
val sz = new IntegerWithRadix((pa as ExplicitPropertyAssignment).rhs.effectiveValue)
return sz.value
}
return 1L
}
default: {
return 0L;
}
}
}
def String effectiveName(ComponentDefinition definition){
if(definition.name!==null){
definition.name
} else{
val pa = definition.propertyAssignments.findFirst[PropertyAssignment pa |
pa instanceof ExplicitPropertyAssignment && (pa as ExplicitPropertyAssignment).name==PropertyEnum.NAME
]
(pa as ExplicitPropertyAssignment).rhs.effectiveValue
}
}
def String effectiveValue(PropertyAssignmentRhs rhs){
if(rhs.value!== null)
rhs.value.effectiveValue
else if(rhs.instPropRef!==null)
rhs.instPropRef.effectiveValue
else if(rhs.enumRef!==null)
rhs.enumRef.name
}
def String effectiveValue(RValue rvalue){
if(rvalue.str!==null){
rvalue.str
} else if(rvalue.^val!=RValueConstant.UNDEFINED)
rvalue.^val.literal
else if(rvalue.num!==null){
val num = rvalue.num as IntegerWithRadix
num.toString
}
}
def String effectiveValue(InstancePropertyRef ref){
}
def ComponentDefinition definingComponent(Instantiation instantiation){
if(instantiation.componentRef!==null) instantiation.componentRef else instantiation.component
}
def String generateHeader()
def String generateSource()
}

View File

@ -0,0 +1,193 @@
package com.minres.rdl.generator
import com.minres.rdl.IntegerWithRadix
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ComponentDefinitionType
import com.minres.rdl.rdl.ComponentInstance
import com.minres.rdl.rdl.Instantiation
import java.util.Date
class RegfileGenerator extends RdlBaseGenerator{
val ComponentDefinition componentDefinition
new(ComponentDefinition definition) {
componentDefinition=definition
}
override String generateHeader()'''
////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2017, MINRES Technologies GmbH
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// Created on: «new Date»
// * «componentDefinition.name».h Author: <RDL Generator>
//
////////////////////////////////////////////////////////////////////////////////
#ifndef _«componentDefinition.name.toUpperCase»_H_
#define _«componentDefinition.name.toUpperCase»_H_
#include <sysc/utilities.h>
#include <util/bit_field.h>
#include <sysc/register.h>
#include <sysc/tlm_target.h>
namespace sysc {
class «componentDefinition.name» :
public sc_core::sc_module,
public sysc::resetable
{
protected:
// storage declarations
«FOR cdef : componentDefinition.componentDefinitions»
«IF cdef.type == ComponentDefinitionType.REG»
BEGIN_BF_DECL(«cdef.effectiveName»+'_t'», uint«cdef»_t);
«cdef.genFieldDeclarations»
END_BF_DECL();
«ENDIF»
«ENDFOR»
«FOR instantiation : componentDefinition.instantiations»
«IF instantiation.componentRef !==null && instantiation.componentRef.type == ComponentDefinitionType.REG»
«instantiation.componentRef.effectiveName»+'_t' «instantiation.componentInstances.map[it.name].join(', ')»;
«ENDIF»
«IF instantiation.component !== null && instantiation.component.type == ComponentDefinitionType.REG»
«IF instantiation.isFilledByField»
uint«instantiation.size»_t «instantiation.componentInstances.map['r_'+it.name].join(', ')»;
«ENDIF»
«IF !instantiation.isFilledByField»
BEGIN_BF_DECL(«instantiation.component.effectiveName»_t, uint«instantiation.size»_t);
«instantiation.definingComponent.genFieldDeclarations»
END_BF_DECL() «instantiation.componentInstances.map['r_'+it.name].join(', ')»;
«ENDIF»
«ENDIF»
«ENDFOR»
// register declarations
«FOR instantiation : componentDefinition.instantiations»
«FOR instance : instantiation.componentInstances»
«IF instantiation.isFilledByField»
sysc::sc_register<uint«instantiation.size»_t> «instance.name»;
«ENDIF»
«IF !instantiation.isFilledByField»
sysc::sc_register<typename «instantiation.component.effectiveName»_t::StorageType> «instance.name»;
«ENDIF»
«ENDFOR»
«ENDFOR»
public:
«componentDefinition.name»(sc_core::sc_module_name nm);
template<unsigned BUSWIDTH=32>
void registerResources(sysc::tlm_target<BUSWIDTH>& target);
};
}
//////////////////////////////////////////////////////////////////////////////
// member functions
//////////////////////////////////////////////////////////////////////////////
inline sysc::«componentDefinition.name»::«componentDefinition.name»(sc_core::sc_module_name nm)
: sc_core::sc_module(nm)
«FOR instantiation : componentDefinition.instantiations»
«FOR instance : instantiation.componentInstances»
, NAMED(«instance.name», r_«instance.name», 0, *this)
«ENDFOR»
«ENDFOR»
{
}
template<unsigned BUSWIDTH>
inline void sysc::«componentDefinition.name»::registerResources(sysc::tlm_target<BUSWIDTH>& target) {
«FOR instantiation : componentDefinition.instantiations»
«FOR instance : instantiation.componentInstances»
target.addResource(«instance.name», 0x«Long.toHexString((instance.address as IntegerWithRadix).value)»UL, 0x«Long.toHexString((instantiation.size+7)/8)»UL);
«ENDFOR»
«ENDFOR»
}
#endif // _«componentDefinition.name.toUpperCase»_H_
'''
def boolean isFilledByField(Instantiation instantiation){
val fieldCount = instantiation.component.instanceCountOfType(ComponentDefinitionType.FIELD)
if(fieldCount==1) {
val instSize=instantiation.size
val field = instantiation.component.instantiationsOfType(ComponentDefinitionType.FIELD).get(0)
val inst = field.componentInstances.get(0)
val range = inst.range
if(range===null)
return instSize==field.size
if(range.size !== null)
return instSize==(range.size as IntegerWithRadix).value
else {
val left=(range.left as IntegerWithRadix).value
val right=(range.right as IntegerWithRadix).value
val size = if(left>right) left-right+1 else right-left+1
return instSize==size
}
}
return false
}
def int instanceCountOfType(ComponentDefinition definition, ComponentDefinitionType type){
definition.instantiationsOfType(type).map[it.componentInstances.size].reduce[p1, p2|p1+p1]
}
def instantiationsOfType(ComponentDefinition definition, ComponentDefinitionType type){
definition.instantiations.filter[it.definingComponent.type == type]
}
override generateSource() {
''
}
def String genFieldDeclarations(ComponentDefinition componentDef){
var i=0L;
var res = ""
for( Instantiation inst: componentDef.instantiations){
for(ComponentInstance compInst : inst.componentInstances){
if(compInst.range.size!==null){
res+='''BF_FIELD(«compInst.name», «i», «(compInst.range.size as IntegerWithRadix).value»);
'''
i+=(compInst.range.size as IntegerWithRadix).value
} else {
val start =(compInst.range.left as IntegerWithRadix).value
val end = (compInst.range.right as IntegerWithRadix).value
res+='''BF_FIELD(«compInst.name», «end», «start-end+1»);
'''
i=Math.max(start, end)+1
}
}
}
res
}
}

View File

@ -4,19 +4,11 @@
package com.minres.rdl.scoping
import com.minres.rdl.rdl.ComponentDefinition
import com.minres.rdl.rdl.ComponentInstance
import com.minres.rdl.rdl.EnumDefinition
import com.minres.rdl.rdl.InstanceRef
import com.minres.rdl.rdl.NamedInstantiation
import com.minres.rdl.rdl.Root
import java.util.ArrayList
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.EReference
import org.eclipse.xtext.EcoreUtil2
import org.eclipse.xtext.scoping.IScope
import org.eclipse.xtext.scoping.Scopes
import org.eclipse.emf.ecore.resource.Resource
import java.util.List
/**
* This class contains custom scoping description.
@ -67,47 +59,47 @@ class RDLScopeProvider extends AbstractRDLScopeProvider { //AbstractDeclarativeS
return Scopes.scopeFor(compDefs)
}
dispatch def IScope getScopeWithInstancesAndEnums(ComponentDefinition componentDef){
var res = new ArrayList<ComponentInstance>()
for(NamedInstantiation inst:componentDef.namedInstantiations)
if(inst.componentInstances.size>0) res.addAll(inst.componentInstances)
for(ComponentDefinition definition:componentDef.componentDefinitions)
if(definition.immediateInstantiation!==null && definition.immediateInstantiation.componentInstances.size>0)
res.addAll(definition.immediateInstantiation.componentInstances)
return Scopes.scopeFor(res+componentDef.enumDefinitions, getScopeWithInstancesAndEnums(componentDef.eContainer))
}
// dispatch def IScope getScopeWithInstancesAndEnums(ComponentDefinition componentDef){
// var res = new ArrayList<ComponentInstance>()
// for(NamedInstantiation inst:componentDef.namedInstantiations)
// if(inst.componentInstances.size>0) res.addAll(inst.componentInstances)
// for(ComponentDefinition definition:componentDef.componentDefinitions)
// if(definition.immediateInstantiation!==null && definition.immediateInstantiation.componentInstances.size>0)
// res.addAll(definition.immediateInstantiation.componentInstances)
// return Scopes.scopeFor(res+componentDef.enumDefinitions, getScopeWithInstancesAndEnums(componentDef.eContainer))
// }
//
// dispatch def IScope getScopeWithInstancesAndEnums(Root root){
// var res = new ArrayList<ComponentInstance>()
// for(instantiation: root.namedInstantiations)
// if(instantiation.componentInstances.size>0)
// res.addAll(instantiation.componentInstances)
// for(ComponentDefinition definition:root.componentDefinitions)
// if(definition.immediateInstantiation!==null && definition.immediateInstantiation.componentInstances.size>0)
// res.addAll(definition.immediateInstantiation.componentInstances)
// var enums = EcoreUtil2.getAllContentsOfType(root, EnumDefinition)
// for (incl : root.includes) {
// val resource = EcoreUtil2.getResource(root.eResource, incl.importURI);
// enums+=EcoreUtil2.getAllContentsOfType(resource.contents.head as Root, EnumDefinition)
// }
// return Scopes.scopeFor(res+enums)
// }
dispatch def IScope getScopeWithInstancesAndEnums(Root root){
var res = new ArrayList<ComponentInstance>()
for(instantiation: root.namedInstantiations)
if(instantiation.componentInstances.size>0)
res.addAll(instantiation.componentInstances)
for(ComponentDefinition definition:root.componentDefinitions)
if(definition.immediateInstantiation!==null && definition.immediateInstantiation.componentInstances.size>0)
res.addAll(definition.immediateInstantiation.componentInstances)
var enums = EcoreUtil2.getAllContentsOfType(root, EnumDefinition)
for (incl : root.includes) {
val resource = EcoreUtil2.getResource(root.eResource, incl.importURI);
enums+=EcoreUtil2.getAllContentsOfType(resource.contents.head as Root, EnumDefinition)
}
return Scopes.scopeFor(res+enums)
}
private def Root root(EObject definition){
var container = definition.eContainer
while(!(container instanceof Root)) container=container.eContainer
return container as Root
}
private def ComponentDefinition componentDefinition(EObject obj){
var container = obj.eContainer
while(!(container instanceof Root)){
if(container instanceof NamedInstantiation) return container.component
if(container instanceof ComponentDefinition) return container
container=container.eContainer
}
return null
}
// private def Root root(EObject definition){
// var container = definition.eContainer
// while(!(container instanceof Root)) container=container.eContainer
// return container as Root
// }
//
// private def ComponentDefinition componentDefinition(EObject obj){
// var container = obj.eContainer
// while(!(container instanceof Root)){
//// if(container instanceof NamedInstantiation) return container.component
// if(container instanceof ComponentDefinition) return container
// container=container.eContainer
// }
// return null
// }
// dispatch def Iterable<ComponentDefinition> allComponentDefinitions(ComponentDefinition definition){
// return definition.componentDefinitions + definition.eContainer.allComponentDefinitions

View File

@ -0,0 +1,2 @@
/RDLRuntimeModule.java
/RDLStandaloneSetup.java

View File

@ -0,0 +1,4 @@
/IDValueConverter.java
/NUMValueConverter.java
/RdlTerminalConverters.java
/STRValueConverter.java

View File

@ -0,0 +1 @@
/RDLFormatter.java

View File

@ -0,0 +1 @@
/RDLGenerator.java

View File

@ -0,0 +1,47 @@
package com.minres.rdl.generator;
import com.minres.rdl.generator.RdlBaseGenerator;
import com.minres.rdl.rdl.ComponentDefinition;
import org.eclipse.xtend2.lib.StringConcatenation;
@SuppressWarnings("all")
public class AddrmapGenerator extends RdlBaseGenerator {
private final ComponentDefinition componentDefinition;
public AddrmapGenerator(final ComponentDefinition definition) {
this.componentDefinition = definition;
}
@Override
public String generateHeader() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("#ifndef _E300_PLAT_MAP_H_");
_builder.newLine();
_builder.append("#define _E300_PLAT_MAP_H_");
_builder.newLine();
_builder.append("// need double braces, see https://stackoverflow.com/questions/6893700/how-to-construct-stdarray-object-with-initializer-list#6894191");
_builder.newLine();
_builder.append("const std::array<sysc::target_memory_map_entry<32>, 3> e300_plat_map = {{");
_builder.newLine();
_builder.append(" ");
_builder.append("{&i_gpio, 0x10012000, 0x1000},");
_builder.newLine();
_builder.append(" ");
_builder.append("{&i_uart, 0x10013000, 0x1000},");
_builder.newLine();
_builder.append(" ");
_builder.append("{&i_spi, 0x10014000, 0x1000}");
_builder.newLine();
_builder.append("}};");
_builder.newLine();
_builder.newLine();
_builder.append("#endif /* _E300_PLAT_MAP_H_ */");
_builder.newLine();
return _builder.toString();
}
@Override
public String generateSource() {
return "";
}
}

View File

@ -0,0 +1,265 @@
package com.minres.rdl.generator;
import com.google.common.base.Objects;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Provider;
import com.minres.rdl.RDLStandaloneSetup;
import java.lang.reflect.MalformedParametersException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.function.Consumer;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.mwe.utils.ProjectMapping;
import org.eclipse.emf.mwe.utils.StandaloneSetup;
import org.eclipse.xtext.generator.GeneratorContext;
import org.eclipse.xtext.generator.GeneratorDelegate;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.generator.OutputConfiguration;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.util.CancelIndicator;
import org.eclipse.xtext.validation.CheckMode;
import org.eclipse.xtext.validation.IResourceValidator;
import org.eclipse.xtext.validation.Issue;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Conversions;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.InputOutput;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ObjectExtensions;
import org.eclipse.xtext.xbase.lib.Pair;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
@SuppressWarnings("all")
public class Main {
public static class Option {
private String flag;
private String value;
public String Option(final String flag, final String value) {
String _xblockexpression = null;
{
this.flag = flag;
_xblockexpression = this.value = value;
}
return _xblockexpression;
}
}
public static void main(final String[] args) {
boolean _isEmpty = ((List<String>)Conversions.doWrapArray(args)).isEmpty();
if (_isEmpty) {
System.err.println("Aborting: no path to EMF resource provided!");
return;
}
try {
final Injector injector = new RDLStandaloneSetup().createInjectorAndDoEMFRegistration();
injector.<Main>getInstance(Main.class).run(args);
} catch (final Throwable _t) {
if (_t instanceof MalformedParametersException) {
final MalformedParametersException e = (MalformedParametersException)_t;
String _message = e.getMessage();
String _plus = ("Command line error " + _message);
InputOutput.<String>print(_plus);
} else if (_t instanceof IllegalArgumentException) {
final IllegalArgumentException e_1 = (IllegalArgumentException)_t;
String _message_1 = e_1.getMessage();
String _plus_1 = ("generation error " + _message_1);
InputOutput.<String>print(_plus_1);
e_1.printStackTrace();
} else if (_t instanceof ParseException) {
final ParseException e_2 = (ParseException)_t;
String _message_2 = e_2.getMessage();
String _plus_2 = ("parse problem " + _message_2);
String _plus_3 = (_plus_2 + " (");
int _errorOffset = e_2.getErrorOffset();
String _plus_4 = (_plus_3 + Integer.valueOf(_errorOffset));
String _plus_5 = (_plus_4 + ")");
InputOutput.<String>print(_plus_5);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
@Inject
private Provider<ResourceSet> resourceSetProvider;
@Inject
private IResourceValidator validator;
@Inject
private GeneratorDelegate generator;
@Inject
private JavaIoFileSystemAccess fileAccess;
private ArrayList<Main.Option> optsList = new ArrayList<Main.Option>();
private ArrayList<String> argsList = new ArrayList<String>();
private final LinkedHashMap<String, String> shortOptMap = CollectionLiterals.<String, String>newLinkedHashMap(Pair.<String, String>of("i", "incl-out"), Pair.<String, String>of("s", "src-out"));
protected void parseOptions(final String[] args) {
for (final String arg : args) {
boolean _matched = false;
boolean _startsWith = arg.startsWith("--");
if (_startsWith) {
_matched=true;
int _length = arg.length();
boolean _lessThan = (_length < 3);
if (_lessThan) {
throw new MalformedParametersException(("not a valid argument: " + arg));
}
final String[] res = arg.substring(2).split("=");
Main.Option opt = new Main.Option();
final Function1<String, Boolean> _function = (String s) -> {
Object _get = res[0];
return Boolean.valueOf(Objects.equal(s, _get));
};
final String longOpt = IterableExtensions.<String>findFirst(this.shortOptMap.values(), _function);
if ((longOpt == null)) {
throw new IllegalArgumentException(("unknown option: " + arg));
}
opt.flag = res[0];
int _size = ((List<String>)Conversions.doWrapArray(res)).size();
boolean _equals = (_size == 2);
if (_equals) {
opt.value = res[1];
}
this.optsList.add(opt);
}
if (!_matched) {
boolean _startsWith_1 = arg.startsWith("-");
if (_startsWith_1) {
_matched=true;
int _length_1 = arg.length();
boolean _lessThan_1 = (_length_1 < 2);
if (_lessThan_1) {
throw new MalformedParametersException(("not a valid argument: " + arg));
}
String[] res_1 = arg.substring(1).split("=");
final String longOpt_1 = this.shortOptMap.get(res_1[0]);
if ((longOpt_1 == null)) {
throw new MalformedParametersException(("unknown option: " + arg));
}
Main.Option opt_1 = new Main.Option();
opt_1.flag = longOpt_1;
final String[] _converted_res_1 = (String[])res_1;
int _size_1 = ((List<String>)Conversions.doWrapArray(_converted_res_1)).size();
boolean _equals_1 = (_size_1 == 2);
if (_equals_1) {
opt_1.value = res_1[1];
}
this.optsList.add(opt_1);
}
}
if (!_matched) {
this.argsList.add(arg);
}
}
}
public void run(final String[] args) {
this.parseOptions(args);
final Function1<Main.Option, Boolean> _function = (Main.Option it) -> {
return Boolean.valueOf(Objects.equal(it.flag, "repository"));
};
final Main.Option repo = IterableExtensions.<Main.Option>findFirst(this.optsList, _function);
if ((repo != null)) {
final ProjectMapping projectMapping = new ProjectMapping();
projectMapping.setProjectName("RDL Repository");
projectMapping.setPath(repo.value);
new StandaloneSetup().addProjectMapping(projectMapping);
}
final Consumer<String> _function_1 = (String it) -> {
this.runGenerator(it);
};
this.argsList.forEach(_function_1);
}
protected void runGenerator(final String string) {
try {
ResourceSet _get = this.resourceSetProvider.get();
final XtextResourceSet resourceSet = ((XtextResourceSet) _get);
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
final Resource resource = resourceSet.getResource(URI.createFileURI(string), true);
final List<Issue> issues = this.validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);
boolean _isEmpty = issues.isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
URI _uRI = resource.getURI();
String _plus = ("Error validating " + _uRI);
System.err.println(_plus);
final Consumer<Issue> _function = (Issue it) -> {
System.err.println(it);
};
issues.forEach(_function);
URI _uRI_1 = resource.getURI();
String _plus_1 = ("error validating " + _uRI_1);
int _size = issues.size();
throw new ParseException(_plus_1, _size);
}
this.fileAccess.setOutputPath("src-gen/");
final Function1<Main.Option, Boolean> _function_1 = (Main.Option it) -> {
return Boolean.valueOf(it.flag.matches(".*-out"));
};
final Consumer<Main.Option> _function_2 = (Main.Option it) -> {
this.fileAccess.setOutputPath(it.flag, it.value);
};
IterableExtensions.<Main.Option>filter(this.optsList, _function_1).forEach(_function_2);
OutputConfiguration _get_1 = this.fileAccess.getOutputConfigurations().get("src-out");
if (_get_1!=null) {
_get_1.setOverrideExistingResources(true);
}
GeneratorContext _generatorContext = new GeneratorContext();
final Procedure1<GeneratorContext> _function_3 = (GeneratorContext it) -> {
it.setCancelIndicator(CancelIndicator.NullImpl);
};
final GeneratorContext context = ObjectExtensions.<GeneratorContext>operator_doubleArrow(_generatorContext, _function_3);
this.generator.generate(resource, this.fileAccess, context);
System.out.print((("Code generation for " + string) + " finished, "));
try {
URI _uRI_2 = this.fileAccess.getURI("", "incl-out");
String _plus_2 = ("includes are in " + _uRI_2);
String _plus_3 = (_plus_2 + ", ");
System.out.print(_plus_3);
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
URI _uRI_3 = this.fileAccess.getURI("");
String _plus_4 = ("includes are in " + _uRI_3);
String _plus_5 = (_plus_4 + ", ");
System.out.print(_plus_5);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
try {
URI _uRI_4 = this.fileAccess.getURI("", "src-out");
String _plus_6 = ("sources are in " + _uRI_4);
String _plus_7 = (_plus_6 + ", ");
System.out.println(_plus_7);
} catch (final Throwable _t_1) {
if (_t_1 instanceof Exception) {
final Exception e_1 = (Exception)_t_1;
URI _uRI_5 = this.fileAccess.getURI("");
String _plus_8 = ("sources are in " + _uRI_5);
String _plus_9 = (_plus_8 + ", ");
System.out.println(_plus_9);
} else {
throw Exceptions.sneakyThrow(_t_1);
}
}
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
}

View File

@ -3,10 +3,20 @@
*/
package com.minres.rdl.generator;
import com.minres.rdl.generator.AddrmapGenerator;
import com.minres.rdl.generator.RdlBaseGenerator;
import com.minres.rdl.generator.RegfileGenerator;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import org.eclipse.emf.common.notify.Notifier;
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.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IteratorExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
/**
* Generates code from your model files on save.
@ -17,5 +27,65 @@ import org.eclipse.xtext.generator.IGeneratorContext;
public class RDLGenerator extends AbstractGenerator {
@Override
public void doGenerate(final Resource resource, final IFileSystemAccess2 fsa, final IGeneratorContext context) {
final Function1<Notifier, Boolean> _function = (Notifier it) -> {
return Boolean.valueOf((it instanceof ComponentDefinition));
};
final Function1<Notifier, ComponentDefinition> _function_1 = (Notifier it) -> {
return ((ComponentDefinition) it);
};
final Procedure1<ComponentDefinition> _function_2 = (ComponentDefinition it) -> {
final RdlBaseGenerator gen = this.fileGenerator(it);
if ((gen != null)) {
final String header = gen.generateHeader();
if (((header != null) && (header.length() > 0))) {
String _name = it.getName();
String _plus = (_name + ".h");
fsa.generateFile(_plus, this.outputConfig(fsa, "incl-out"), header);
}
final String source = gen.generateSource();
if (((source != null) && (source.length() > 0))) {
String _name_1 = it.getName();
String _plus_1 = (_name_1 + ".cpp");
fsa.generateFile(_plus_1, this.outputConfig(fsa, "src-out"), source);
}
}
};
IteratorExtensions.<ComponentDefinition>forEach(IteratorExtensions.<Notifier, ComponentDefinition>map(IteratorExtensions.<Notifier>filter(resource.getResourceSet().getAllContents(), _function), _function_1), _function_2);
}
public RdlBaseGenerator fileGenerator(final ComponentDefinition definition) {
RdlBaseGenerator _switchResult = null;
ComponentDefinitionType _type = definition.getType();
if (_type != null) {
switch (_type) {
case REGFILE:
_switchResult = new RegfileGenerator(definition);
break;
case ADDRMAP:
_switchResult = new AddrmapGenerator(definition);
break;
default:
_switchResult = null;
break;
}
} else {
_switchResult = null;
}
return _switchResult;
}
public String outputConfig(final IFileSystemAccess2 fsa, final String string) {
String output_config = string;
try {
fsa.getURI("", output_config);
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception e = (Exception)_t;
output_config = "DEFAULT_OUTPUT";
} else {
throw Exceptions.sneakyThrow(_t);
}
}
return output_config;
}
}

View File

@ -0,0 +1,167 @@
package com.minres.rdl.generator;
import com.google.common.base.Objects;
import com.minres.rdl.IntegerWithRadix;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.ExplicitPropertyAssignment;
import com.minres.rdl.rdl.InstancePropertyRef;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.PropertyAssignment;
import com.minres.rdl.rdl.PropertyAssignmentRhs;
import com.minres.rdl.rdl.PropertyEnum;
import com.minres.rdl.rdl.RValue;
import com.minres.rdl.rdl.RValueConstant;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public abstract class RdlBaseGenerator {
public long accessWidth(final ComponentDefinition definition) {
long size = 32L;
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.ACCESSWIDTH)));
};
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(definition.getPropertyAssignments(), _function);
if ((pa != null)) {
String _effectiveValue = this.effectiveValue(((ExplicitPropertyAssignment) pa).getRhs());
final IntegerWithRadix sz = new IntegerWithRadix(_effectiveValue);
size = sz.value;
}
return size;
}
public long getSize(final Instantiation instantiation) {
final ComponentDefinition componentDef = this.definingComponent(instantiation);
ComponentDefinitionType _type = componentDef.getType();
if (_type != null) {
switch (_type) {
case REG:
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.REGWIDTH)));
};
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(componentDef.getPropertyAssignments(), _function);
if ((pa != null)) {
String _effectiveValue = this.effectiveValue(((ExplicitPropertyAssignment) pa).getRhs());
final IntegerWithRadix sz = new IntegerWithRadix(_effectiveValue);
return sz.value;
}
return 32L;
case FIELD:
final Function1<PropertyAssignment, Boolean> _function_1 = (PropertyAssignment pa_1) -> {
return Boolean.valueOf(((pa_1 instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa_1).getName(), PropertyEnum.FIELDWIDTH)));
};
final PropertyAssignment pa_1 = IterableExtensions.<PropertyAssignment>findFirst(componentDef.getPropertyAssignments(), _function_1);
if ((pa_1 != null)) {
String _effectiveValue_1 = this.effectiveValue(((ExplicitPropertyAssignment) pa_1).getRhs());
final IntegerWithRadix sz_1 = new IntegerWithRadix(_effectiveValue_1);
return sz_1.value;
}
return 1L;
default:
return 0L;
}
} else {
return 0L;
}
}
public String effectiveName(final ComponentDefinition definition) {
String _xifexpression = null;
String _name = definition.getName();
boolean _tripleNotEquals = (_name != null);
if (_tripleNotEquals) {
_xifexpression = definition.getName();
} else {
String _xblockexpression = null;
{
final Function1<PropertyAssignment, Boolean> _function = (PropertyAssignment pa) -> {
return Boolean.valueOf(((pa instanceof ExplicitPropertyAssignment) && Objects.equal(((ExplicitPropertyAssignment) pa).getName(), PropertyEnum.NAME)));
};
final PropertyAssignment pa = IterableExtensions.<PropertyAssignment>findFirst(definition.getPropertyAssignments(), _function);
_xblockexpression = this.effectiveValue(((ExplicitPropertyAssignment) pa).getRhs());
}
_xifexpression = _xblockexpression;
}
return _xifexpression;
}
public String effectiveValue(final PropertyAssignmentRhs rhs) {
String _xifexpression = null;
RValue _value = rhs.getValue();
boolean _tripleNotEquals = (_value != null);
if (_tripleNotEquals) {
_xifexpression = this.effectiveValue(rhs.getValue());
} else {
String _xifexpression_1 = null;
InstancePropertyRef _instPropRef = rhs.getInstPropRef();
boolean _tripleNotEquals_1 = (_instPropRef != null);
if (_tripleNotEquals_1) {
_xifexpression_1 = this.effectiveValue(rhs.getInstPropRef());
} else {
String _xifexpression_2 = null;
EnumDefinition _enumRef = rhs.getEnumRef();
boolean _tripleNotEquals_2 = (_enumRef != null);
if (_tripleNotEquals_2) {
_xifexpression_2 = rhs.getEnumRef().getName();
}
_xifexpression_1 = _xifexpression_2;
}
_xifexpression = _xifexpression_1;
}
return _xifexpression;
}
public String effectiveValue(final RValue rvalue) {
String _xifexpression = null;
String _str = rvalue.getStr();
boolean _tripleNotEquals = (_str != null);
if (_tripleNotEquals) {
_xifexpression = rvalue.getStr();
} else {
String _xifexpression_1 = null;
RValueConstant _val = rvalue.getVal();
boolean _notEquals = (!Objects.equal(_val, RValueConstant.UNDEFINED));
if (_notEquals) {
_xifexpression_1 = rvalue.getVal().getLiteral();
} else {
String _xifexpression_2 = null;
Object _num = rvalue.getNum();
boolean _tripleNotEquals_1 = (_num != null);
if (_tripleNotEquals_1) {
String _xblockexpression = null;
{
Object _num_1 = rvalue.getNum();
final IntegerWithRadix num = ((IntegerWithRadix) _num_1);
_xblockexpression = num.toString();
}
_xifexpression_2 = _xblockexpression;
}
_xifexpression_1 = _xifexpression_2;
}
_xifexpression = _xifexpression_1;
}
return _xifexpression;
}
public String effectiveValue(final InstancePropertyRef ref) {
return null;
}
public ComponentDefinition definingComponent(final Instantiation instantiation) {
ComponentDefinition _xifexpression = null;
ComponentDefinition _componentRef = instantiation.getComponentRef();
boolean _tripleNotEquals = (_componentRef != null);
if (_tripleNotEquals) {
_xifexpression = instantiation.getComponentRef();
} else {
_xifexpression = instantiation.getComponent();
}
return _xifexpression;
}
public abstract String generateHeader();
public abstract String generateSource();
}

View File

@ -0,0 +1,504 @@
package com.minres.rdl.generator;
import com.google.common.base.Objects;
import com.minres.rdl.IntegerWithRadix;
import com.minres.rdl.generator.RdlBaseGenerator;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentDefinitionType;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.Instantiation;
import com.minres.rdl.rdl.Range;
import java.util.Date;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Conversions;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.Functions.Function2;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;
@SuppressWarnings("all")
public class RegfileGenerator extends RdlBaseGenerator {
private final ComponentDefinition componentDefinition;
public RegfileGenerator(final ComponentDefinition definition) {
this.componentDefinition = definition;
}
@Override
public String generateHeader() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("////////////////////////////////////////////////////////////////////////////////");
_builder.newLine();
_builder.append("// Copyright (C) 2017, MINRES Technologies GmbH");
_builder.newLine();
_builder.append("// All rights reserved.");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// Redistribution and use in source and binary forms, with or without");
_builder.newLine();
_builder.append("// modification, are permitted provided that the following conditions are met:");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// 1. Redistributions of source code must retain the above copyright notice,");
_builder.newLine();
_builder.append("// this list of conditions and the following disclaimer.");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// 2. Redistributions in binary form must reproduce the above copyright notice,");
_builder.newLine();
_builder.append("// this list of conditions and the following disclaimer in the documentation");
_builder.newLine();
_builder.append("// and/or other materials provided with the distribution.");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// 3. Neither the name of the copyright holder nor the names of its contributors");
_builder.newLine();
_builder.append("// may be used to endorse or promote products derived from this software");
_builder.newLine();
_builder.append("// without specific prior written permission.");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"");
_builder.newLine();
_builder.append("// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE");
_builder.newLine();
_builder.append("// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE");
_builder.newLine();
_builder.append("// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE");
_builder.newLine();
_builder.append("// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR");
_builder.newLine();
_builder.append("// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF");
_builder.newLine();
_builder.append("// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS");
_builder.newLine();
_builder.append("// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN");
_builder.newLine();
_builder.append("// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)");
_builder.newLine();
_builder.append("// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE");
_builder.newLine();
_builder.append("// POSSIBILITY OF SUCH DAMAGE.");
_builder.newLine();
_builder.append("//");
_builder.newLine();
_builder.append("// Created on: ");
Date _date = new Date();
_builder.append(_date);
_builder.newLineIfNotEmpty();
_builder.append("// * ");
String _name = this.componentDefinition.getName();
_builder.append(_name);
_builder.append(".h Author: <RDL Generator>");
_builder.newLineIfNotEmpty();
_builder.append("//");
_builder.newLine();
_builder.append("////////////////////////////////////////////////////////////////////////////////");
_builder.newLine();
_builder.newLine();
_builder.append("#ifndef _");
String _upperCase = this.componentDefinition.getName().toUpperCase();
_builder.append(_upperCase);
_builder.append("_H_");
_builder.newLineIfNotEmpty();
_builder.append("#define _");
String _upperCase_1 = this.componentDefinition.getName().toUpperCase();
_builder.append(_upperCase_1);
_builder.append("_H_");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("#include <sysc/utilities.h>");
_builder.newLine();
_builder.append("#include <util/bit_field.h>");
_builder.newLine();
_builder.append("#include <sysc/register.h>");
_builder.newLine();
_builder.append("#include <sysc/tlm_target.h>");
_builder.newLine();
_builder.newLine();
_builder.append("namespace sysc {");
_builder.newLine();
_builder.newLine();
_builder.append("class ");
String _name_1 = this.componentDefinition.getName();
_builder.append(_name_1);
_builder.append(" :");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("public sc_core::sc_module,");
_builder.newLine();
_builder.append(" ");
_builder.append("public sysc::resetable");
_builder.newLine();
_builder.append("{");
_builder.newLine();
_builder.append("protected:");
_builder.newLine();
_builder.append(" ");
_builder.append("// storage declarations");
_builder.newLine();
{
EList<ComponentDefinition> _componentDefinitions = this.componentDefinition.getComponentDefinitions();
for(final ComponentDefinition cdef : _componentDefinitions) {
{
ComponentDefinitionType _type = cdef.getType();
boolean _equals = Objects.equal(_type, ComponentDefinitionType.REG);
if (_equals) {
_builder.append(" ");
_builder.append("BEGIN_BF_DECL(");
String _effectiveName = this.effectiveName(cdef);
_builder.append(_effectiveName, " ");
_builder.append("+\'_t\'», uint");
_builder.append(cdef, " ");
_builder.append("_t);");
_builder.newLineIfNotEmpty();
_builder.append(" ");
String _genFieldDeclarations = this.genFieldDeclarations(cdef);
_builder.append(_genFieldDeclarations, " ");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("END_BF_DECL();");
_builder.newLine();
}
}
}
}
{
EList<Instantiation> _instantiations = this.componentDefinition.getInstantiations();
for(final Instantiation instantiation : _instantiations) {
{
if (((instantiation.getComponentRef() != null) && Objects.equal(instantiation.getComponentRef().getType(), ComponentDefinitionType.REG))) {
_builder.append(" ");
String _effectiveName_1 = this.effectiveName(instantiation.getComponentRef());
_builder.append(_effectiveName_1, " ");
_builder.append("+\'_t\' ");
final Function1<ComponentInstance, String> _function = (ComponentInstance it) -> {
return it.getName();
};
String _join = IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(instantiation.getComponentInstances(), _function), ", ");
_builder.append(_join, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
{
if (((instantiation.getComponent() != null) && Objects.equal(instantiation.getComponent().getType(), ComponentDefinitionType.REG))) {
{
boolean _isFilledByField = this.isFilledByField(instantiation);
if (_isFilledByField) {
_builder.append(" ");
_builder.append("uint");
long _size = this.getSize(instantiation);
_builder.append(_size, " ");
_builder.append("_t ");
final Function1<ComponentInstance, String> _function_1 = (ComponentInstance it) -> {
String _name_2 = it.getName();
return ("r_" + _name_2);
};
String _join_1 = IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(instantiation.getComponentInstances(), _function_1), ", ");
_builder.append(_join_1, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
{
boolean _isFilledByField_1 = this.isFilledByField(instantiation);
boolean _not = (!_isFilledByField_1);
if (_not) {
_builder.append(" ");
_builder.append("BEGIN_BF_DECL(");
String _effectiveName_2 = this.effectiveName(instantiation.getComponent());
_builder.append(_effectiveName_2, " ");
_builder.append("_t, uint");
long _size_1 = this.getSize(instantiation);
_builder.append(_size_1, " ");
_builder.append("_t);");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append(" ");
String _genFieldDeclarations_1 = this.genFieldDeclarations(this.definingComponent(instantiation));
_builder.append(_genFieldDeclarations_1, " ");
_builder.newLineIfNotEmpty();
_builder.append(" ");
_builder.append("END_BF_DECL() ");
final Function1<ComponentInstance, String> _function_2 = (ComponentInstance it) -> {
String _name_2 = it.getName();
return ("r_" + _name_2);
};
String _join_2 = IterableExtensions.join(ListExtensions.<ComponentInstance, String>map(instantiation.getComponentInstances(), _function_2), ", ");
_builder.append(_join_2, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
_builder.append(" ");
_builder.newLine();
}
}
}
}
_builder.append(" ");
_builder.append("// register declarations");
_builder.newLine();
{
EList<Instantiation> _instantiations_1 = this.componentDefinition.getInstantiations();
for(final Instantiation instantiation_1 : _instantiations_1) {
{
EList<ComponentInstance> _componentInstances = instantiation_1.getComponentInstances();
for(final ComponentInstance instance : _componentInstances) {
{
boolean _isFilledByField_2 = this.isFilledByField(instantiation_1);
if (_isFilledByField_2) {
_builder.append(" ");
_builder.append("sysc::sc_register<uint");
long _size_2 = this.getSize(instantiation_1);
_builder.append(_size_2, " ");
_builder.append("_t> ");
String _name_2 = instance.getName();
_builder.append(_name_2, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
{
boolean _isFilledByField_3 = this.isFilledByField(instantiation_1);
boolean _not_1 = (!_isFilledByField_3);
if (_not_1) {
_builder.append(" ");
_builder.append("sysc::sc_register<typename ");
String _effectiveName_3 = this.effectiveName(instantiation_1.getComponent());
_builder.append(_effectiveName_3, " ");
_builder.append("_t::StorageType> ");
String _name_3 = instance.getName();
_builder.append(_name_3, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
}
}
}
}
}
}
_builder.append(" ");
_builder.newLine();
_builder.append("public:");
_builder.newLine();
_builder.append(" ");
String _name_4 = this.componentDefinition.getName();
_builder.append(_name_4, " ");
_builder.append("(sc_core::sc_module_name nm);");
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append(" ");
_builder.append("template<unsigned BUSWIDTH=32>");
_builder.newLine();
_builder.append(" ");
_builder.append("void registerResources(sysc::tlm_target<BUSWIDTH>& target);");
_builder.newLine();
_builder.append("};");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.append("//////////////////////////////////////////////////////////////////////////////");
_builder.newLine();
_builder.append("// member functions");
_builder.newLine();
_builder.append("//////////////////////////////////////////////////////////////////////////////");
_builder.newLine();
_builder.newLine();
_builder.append("inline sysc::");
String _name_5 = this.componentDefinition.getName();
_builder.append(_name_5);
_builder.append("::");
String _name_6 = this.componentDefinition.getName();
_builder.append(_name_6);
_builder.append("(sc_core::sc_module_name nm)");
_builder.newLineIfNotEmpty();
_builder.append(": sc_core::sc_module(nm)");
_builder.newLine();
{
EList<Instantiation> _instantiations_2 = this.componentDefinition.getInstantiations();
for(final Instantiation instantiation_2 : _instantiations_2) {
{
EList<ComponentInstance> _componentInstances_1 = instantiation_2.getComponentInstances();
for(final ComponentInstance instance_1 : _componentInstances_1) {
_builder.append(", NAMED(");
String _name_7 = instance_1.getName();
_builder.append(_name_7);
_builder.append(", r_");
String _name_8 = instance_1.getName();
_builder.append(_name_8);
_builder.append(", 0, *this)");
_builder.newLineIfNotEmpty();
}
}
}
}
_builder.append("{");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("template<unsigned BUSWIDTH>");
_builder.newLine();
_builder.append("inline void sysc::");
String _name_9 = this.componentDefinition.getName();
_builder.append(_name_9);
_builder.append("::registerResources(sysc::tlm_target<BUSWIDTH>& target) {");
_builder.newLineIfNotEmpty();
{
EList<Instantiation> _instantiations_3 = this.componentDefinition.getInstantiations();
for(final Instantiation instantiation_3 : _instantiations_3) {
{
EList<ComponentInstance> _componentInstances_2 = instantiation_3.getComponentInstances();
for(final ComponentInstance instance_2 : _componentInstances_2) {
_builder.append(" ");
_builder.append("target.addResource(");
String _name_10 = instance_2.getName();
_builder.append(_name_10, " ");
_builder.append(", 0x");
Object _address = instance_2.getAddress();
String _hexString = Long.toHexString(((IntegerWithRadix) _address).value);
_builder.append(_hexString, " ");
_builder.append("UL, 0x");
long _size_3 = this.getSize(instantiation_3);
long _plus = (_size_3 + 7);
long _divide = (_plus / 8);
String _hexString_1 = Long.toHexString(_divide);
_builder.append(_hexString_1, " ");
_builder.append("UL);");
_builder.newLineIfNotEmpty();
}
}
}
}
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("#endif // _");
String _upperCase_2 = this.componentDefinition.getName().toUpperCase();
_builder.append(_upperCase_2);
_builder.append("_H_");
_builder.newLineIfNotEmpty();
return _builder.toString();
}
public boolean isFilledByField(final Instantiation instantiation) {
final int fieldCount = this.instanceCountOfType(instantiation.getComponent(), ComponentDefinitionType.FIELD);
if ((fieldCount == 1)) {
final long instSize = this.getSize(instantiation);
final Instantiation field = ((Instantiation[])Conversions.unwrapArray(this.instantiationsOfType(instantiation.getComponent(), ComponentDefinitionType.FIELD), Instantiation.class))[0];
final ComponentInstance inst = field.getComponentInstances().get(0);
final Range range = inst.getRange();
if ((range == null)) {
long _size = this.getSize(field);
return (instSize == _size);
}
Object _size_1 = range.getSize();
boolean _tripleNotEquals = (_size_1 != null);
if (_tripleNotEquals) {
Object _size_2 = range.getSize();
return (instSize == ((IntegerWithRadix) _size_2).value);
} else {
Object _left = range.getLeft();
final long left = ((IntegerWithRadix) _left).value;
Object _right = range.getRight();
final long right = ((IntegerWithRadix) _right).value;
long _xifexpression = (long) 0;
if ((left > right)) {
_xifexpression = ((left - right) + 1);
} else {
_xifexpression = ((right - left) + 1);
}
final long size = _xifexpression;
return (instSize == size);
}
}
return false;
}
public int instanceCountOfType(final ComponentDefinition definition, final ComponentDefinitionType type) {
final Function1<Instantiation, Integer> _function = (Instantiation it) -> {
return Integer.valueOf(it.getComponentInstances().size());
};
final Function2<Integer, Integer, Integer> _function_1 = (Integer p1, Integer p2) -> {
return Integer.valueOf(((p1).intValue() + (p1).intValue()));
};
return (int) IterableExtensions.<Integer>reduce(IterableExtensions.<Instantiation, Integer>map(this.instantiationsOfType(definition, type), _function), _function_1);
}
public Iterable<Instantiation> instantiationsOfType(final ComponentDefinition definition, final ComponentDefinitionType type) {
final Function1<Instantiation, Boolean> _function = (Instantiation it) -> {
ComponentDefinitionType _type = this.definingComponent(it).getType();
return Boolean.valueOf(Objects.equal(_type, type));
};
return IterableExtensions.<Instantiation>filter(definition.getInstantiations(), _function);
}
@Override
public String generateSource() {
return "";
}
public String genFieldDeclarations(final ComponentDefinition componentDef) {
String _xblockexpression = null;
{
long i = 0L;
String res = "";
EList<Instantiation> _instantiations = componentDef.getInstantiations();
for (final Instantiation inst : _instantiations) {
EList<ComponentInstance> _componentInstances = inst.getComponentInstances();
for (final ComponentInstance compInst : _componentInstances) {
Object _size = compInst.getRange().getSize();
boolean _tripleNotEquals = (_size != null);
if (_tripleNotEquals) {
String _res = res;
StringConcatenation _builder = new StringConcatenation();
_builder.append("BF_FIELD(");
String _name = compInst.getName();
_builder.append(_name);
_builder.append(", ");
_builder.append(i);
_builder.append(", ");
Object _size_1 = compInst.getRange().getSize();
_builder.append(((IntegerWithRadix) _size_1).value);
_builder.append(");");
_builder.newLineIfNotEmpty();
res = (_res + _builder);
long _i = i;
Object _size_2 = compInst.getRange().getSize();
i = (_i + ((IntegerWithRadix) _size_2).value);
} else {
Object _left = compInst.getRange().getLeft();
final long start = ((IntegerWithRadix) _left).value;
Object _right = compInst.getRange().getRight();
final long end = ((IntegerWithRadix) _right).value;
String _res_1 = res;
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("BF_FIELD(");
String _name_1 = compInst.getName();
_builder_1.append(_name_1);
_builder_1.append(", ");
_builder_1.append(end);
_builder_1.append(", ");
_builder_1.append(((start - end) + 1));
_builder_1.append(");");
_builder_1.newLineIfNotEmpty();
res = (_res_1 + _builder_1);
long _max = Math.max(start, end);
long _plus = (_max + 1);
i = _plus;
}
}
}
_xblockexpression = res;
}
return _xblockexpression;
}
}

View File

@ -0,0 +1 @@
/RDLSyntaxErrorMessageProvider.java

View File

@ -0,0 +1 @@
/RDLScopeProvider.java

View File

@ -5,16 +5,10 @@ package com.minres.rdl.scoping;
import com.google.common.collect.Iterables;
import com.minres.rdl.rdl.ComponentDefinition;
import com.minres.rdl.rdl.ComponentInstance;
import com.minres.rdl.rdl.Entity;
import com.minres.rdl.rdl.EnumDefinition;
import com.minres.rdl.rdl.Include;
import com.minres.rdl.rdl.NamedInstantiation;
import com.minres.rdl.rdl.Root;
import com.minres.rdl.scoping.AbstractRDLScopeProvider;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
@ -52,81 +46,6 @@ public class RDLScopeProvider extends AbstractRDLScopeProvider {
return Scopes.scopeFor(compDefs);
}
protected IScope _getScopeWithInstancesAndEnums(final ComponentDefinition componentDef) {
ArrayList<ComponentInstance> res = new ArrayList<ComponentInstance>();
EList<NamedInstantiation> _namedInstantiations = componentDef.getNamedInstantiations();
for (final NamedInstantiation inst : _namedInstantiations) {
int _size = inst.getComponentInstances().size();
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
res.addAll(inst.getComponentInstances());
}
}
EList<ComponentDefinition> _componentDefinitions = componentDef.getComponentDefinitions();
for (final ComponentDefinition definition : _componentDefinitions) {
if (((definition.getImmediateInstantiation() != null) && (definition.getImmediateInstantiation().getComponentInstances().size() > 0))) {
res.addAll(definition.getImmediateInstantiation().getComponentInstances());
}
}
EList<EnumDefinition> _enumDefinitions = componentDef.getEnumDefinitions();
Iterable<Entity> _plus = Iterables.<Entity>concat(res, _enumDefinitions);
return Scopes.scopeFor(_plus, this.getScopeWithInstancesAndEnums(componentDef.eContainer()));
}
protected IScope _getScopeWithInstancesAndEnums(final Root root) {
ArrayList<ComponentInstance> res = new ArrayList<ComponentInstance>();
EList<NamedInstantiation> _namedInstantiations = root.getNamedInstantiations();
for (final NamedInstantiation instantiation : _namedInstantiations) {
int _size = instantiation.getComponentInstances().size();
boolean _greaterThan = (_size > 0);
if (_greaterThan) {
res.addAll(instantiation.getComponentInstances());
}
}
EList<ComponentDefinition> _componentDefinitions = root.getComponentDefinitions();
for (final ComponentDefinition definition : _componentDefinitions) {
if (((definition.getImmediateInstantiation() != null) && (definition.getImmediateInstantiation().getComponentInstances().size() > 0))) {
res.addAll(definition.getImmediateInstantiation().getComponentInstances());
}
}
List<EnumDefinition> enums = EcoreUtil2.<EnumDefinition>getAllContentsOfType(root, EnumDefinition.class);
EList<Include> _includes = root.getIncludes();
for (final Include incl : _includes) {
{
final Resource resource = EcoreUtil2.getResource(root.eResource(), incl.getImportURI());
EObject _head = IterableExtensions.<EObject>head(resource.getContents());
List<EnumDefinition> _allContentsOfType = EcoreUtil2.<EnumDefinition>getAllContentsOfType(((Root) _head), EnumDefinition.class);
Iterables.<EnumDefinition>addAll(enums, _allContentsOfType);
}
}
Iterable<Entity> _plus = Iterables.<Entity>concat(res, enums);
return Scopes.scopeFor(_plus);
}
private Root root(final EObject definition) {
EObject container = definition.eContainer();
while ((!(container instanceof Root))) {
container = container.eContainer();
}
return ((Root) container);
}
private ComponentDefinition componentDefinition(final EObject obj) {
EObject container = obj.eContainer();
while ((!(container instanceof Root))) {
{
if ((container instanceof NamedInstantiation)) {
return ((NamedInstantiation)container).getComponent();
}
if ((container instanceof ComponentDefinition)) {
return ((ComponentDefinition)container);
}
container = container.eContainer();
}
}
return null;
}
public IScope getScopeWithComponentDefinition(final EObject componentDef) {
if (componentDef instanceof ComponentDefinition) {
return _getScopeWithComponentDefinition((ComponentDefinition)componentDef);
@ -137,15 +56,4 @@ public class RDLScopeProvider extends AbstractRDLScopeProvider {
Arrays.<Object>asList(componentDef).toString());
}
}
public IScope getScopeWithInstancesAndEnums(final EObject componentDef) {
if (componentDef instanceof ComponentDefinition) {
return _getScopeWithInstancesAndEnums((ComponentDefinition)componentDef);
} else if (componentDef instanceof Root) {
return _getScopeWithInstancesAndEnums((Root)componentDef);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(componentDef).toString());
}
}
}

View File

@ -0,0 +1 @@
/RDLValidator.java