Browsable DSL Tools Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/syntax/dsltools/hillairet2/extracted
Source used for this grammar: Guillaume Hillairet, DSLModel.ecore, 2005/07/05

Summary

Syntax

Model ::=
	[domainModel]::PrimitiveTypes/String [contents]::ModelElement+
Element ::=
	ModelElement
Element ::=
	ReferenceLink
ModelElement ::=
	ModelElementLink
ModelElement ::=
	[parentLink]::EmbeddingLink [properties]::Property+ [embeddinglinks]::EmbeddingLink+ [referencelinks]::ReferenceLink+
ModelElementLink ::=
	[links]::ReferenceLink+
EmbeddingLink ::=
	[owner]::ModelElement [elements]::ModelElement+
ReferenceLink ::=
	[owner]::ModelElement [modelElement]::ModelElementLink [roles]::Role
NamedElement ::=
	EmbeddingLink
NamedElement ::=
	Property
NamedElement ::=
	Role
Property ::=
	[owner]::ModelElement [value]::Value
Role ::=
	[element]::ModelElement [owner]::ReferenceLink
Value ::=
	IntegerValue
Value ::=
	DoubleValue
Value ::=
	BooleanValue
Value ::=
	StringValue
IntegerValue ::=
	[value]::PrimitiveTypes/Integer
DoubleValue ::=
	[value]::PrimitiveTypes/Double
BooleanValue ::=
	[value]::PrimitiveTypes/Boolean
StringValue ::=
	[value]::PrimitiveTypes/String
Boolean ::=
	"true"
	"false"
Integer ::=
	integer
String ::=
	string

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []