Hi!
I have found a situation about cross reference which I don't understand. Supose our grammar is:
Model:
( greetings+=Greeting |
conversations+=Conversation )*
;
Greeting:
'Greeting' name=ID '{' (beginings+=Hellos | endings+=Byes)* '}'
;
Hellos:
"Hi!" name=ID (persons+=Person*)?
;
Byes:
"Bye!" name=ID
;
Conversation:
'Conversation' name=ID '{' firts=[Hellos] last=[Byes] '}'
;
Person:
'Person' name=ID
;
If we try the editor and write something like:
Greeting greet1
{
Hi! hi1 Person luis
Bye! bye1
}
Conversation hi1
We get:
Couldn't resolve reference to Hellos 'hi1'. p.mydsl /Sample/src line: 7 /Sample/src/p.mydsl Xtext Check (fast)
Can anybody explain me this behavour? How can I reference to Hellos and Byes object from Conversation?
Thank you!