Browsable DSL Tools Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/syntax/dsltools/hillairet1/extracted
Source used for this grammar: Guillaume Hillairet, DSL.ecore, 2005/06/14

Summary

Syntax

NamedElement ::=
	Namespace
NamedElement ::=
	Role
NamedElement ::=
	ValueProperty
NamedElement ::=
	EnumerationLiteral
LoadedElement ::=
	DomainModel
LoadedElement ::=
	Classifier
Namespace ::=
	LoadedElement
Namespace ::=
	Type
DomainModel ::=
	[classifiers]::Classifier+ [types]::Type+
Classifier ::=
	Class
Classifier ::=
	Relationship
Class ::=
	[isSerializationRoot]::PrimitiveTypes/Boolean
Relationship ::=
	[isEmbedding]::PrimitiveTypes/Boolean [roles]::Role
Role ::=
	[min]::PrimitiveTypes/Integer [max]::PrimitiveTypes/Integer [isUnbounded]::PrimitiveTypes/Boolean [accepts]::PrimitiveTypes/String [isOrdered]::PrimitiveTypes/Boolean [isNavigableFrom]::PrimitiveTypes/Boolean [isPropertyGenerator]::PrimitiveTypes/Boolean [source]::Classifier [type]::Classifier [relation]::Relationship
ValueProperty ::=
	[owner]::Classifier [type]::Type
Type ::=
	SimpleType
Type ::=
	Enumeration
SimpleType ::=
	ε
EnumerationLiteral ::=
	[value]::PrimitiveTypes/Integer
Enumeration ::=
	[literals]::EnumerationLiteral+
Boolean ::=
	"true"
	"false"
Integer ::=
	integer
String ::=
	string

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