0
私は列挙型のような単純な言語を使っています。相互参照されたEnumEntryのための解決方法を得るにはどうすればいいですか?また、EnumEntityでEnumEntryをフィルタリングするために良いだろう...enum型の言語のXtext相互参照
MyDsl.xtext
grammar org.xtext.example.mydsl.MyDsl with
org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model:
entity_node = Entity | EnumEntity;
Entity:
type = ('my_entity') ':' name = ID '{'
(parts += EntityPart)*
'}';
EnumEntity:
type = ('my_enum') ':' name = ID '{'
//entry = EnumEntry (',' entrys+= EnumEntry)* Fixed after Christian comment
entrys+= EnumEntry (',' entrys+= EnumEntry)*
'}';
EnumEntry:
name = ID;
EnumUsage:
/* What should I do here? */
enumEntity = [EnumEntity]'.'entry = [EnumEntry];
EntityPart:
EnumUsage ';';
my_enum_entity.mydsl
my_enum:my_enum_entity
{
my_enum_entry_1,
my_enum_entry_2,
my_enum_entry_3
}
my_pretty_entity.mydsl
my_entity:my_pretty_entity
{
my_enum_entity.my_enum_entry_2;
}
のNopのような文法を適応スコープ適合させたくない場合は
、私はあなたが例を提供することができます)scopeprovider =を変更していないどのようにそれができるようにそれを上書きして鳩にする? =) – ArchCC
更新しました –
ありがとうございます、しかし、それはMyDslPackage.Literals.ENUM_USAGE__ENUM_ENTRYである必要がありますか? – ArchCC