| xtext grammer default data types [message #922126] |
Mon, 24 September 2012 15:14  |
Survivor Reward Messages: 2 Registered: September 2012 |
Junior Member |
|
|
I'm trying to define default data types in a grammar
//---------------------------------------------------------
Model:
elements+=Element*;
Element:
DataType | Entity;
DefaultDataType:
'boolean' | 'char' | 'string' |'integer' | 'long' ;
DataType:
'type' name=ID;
Entity:
'entity' name=ID '{'
attributes+=Attribute*
'}';
Attribute:
name=ID ':' type=[AttributeType|ID];
AttributeType:
DefaultDataType | DataType | Entity;
//-------------------------------------------------------------------
It compiles OK with no errors!
Trying to create a model based on this grammar it gives error,extraneous input 'integer' [or 'string'] expecting RULE_ID, when using any of the DefaultDataType, string, integer, ... as an attribute type!
entity Person {
id: integer
name: string
}
How to solve this problem?
How to export a set of default data types from the grammar to the instances?
Your help is highly appreciated
|
|
|
| Re: xtext grammer default data types [message #922301 is a reply to message #922126] |
Mon, 24 September 2012 19:07  |
Survivor Reward Messages: 2 Registered: September 2012 |
Junior Member |
|
|
Problem Solved!
Model:
elements+=Element*;
Element:
DataType | Entity;
DefaultDataType:
default=('boolean' | 'char' | 'string' |'integer' | 'long') ;
DataType:
'type' name=ID;
Entity:
'entity' name=ID '{'
attributes+=Attribute*
'}';
// allow attribute type to have either an ID of attribute type or just attribute type
Attribute:
name=ID ':' (type=AttributeType | typeID=[AttributeType|ID]);
AttributeType:
DefaultDataType | DataType | Entity;
[Updated on: Mon, 24 September 2012 19:11] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.01604 seconds