Browsable SBVR Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/business/sbvr/v1.0/kleiner/extracted
Source used for this grammar: Mathias Kleiner, A metamodel created for writing the Semantic Business Vocabularies and Business Rules from OMG, SimpleSBVR.ecore, 2009

Summary

Syntax

Root ::=
	[elements]::Element+
Element ::=
	Representation
Element ::=
	Text
Element ::=
	Meaning
Element ::=
	Role
Element ::=
	BindableTarget
Element ::=
	RoleBinding
Element ::=
	[objectName]::String
Representation ::=
	Designation
Representation ::=
	[meaning]::Meaning
Designation ::=
	[text]::Text
Text ::=
	[value]::String
Meaning ::=
	Concept
Meaning ::=
	LogicalFormulation
Meaning ::=
	[representations]::Representation+
Concept ::=
	NounConcept
Concept ::=
	FactType
Concept ::=
	NounConcept
	FactType
NounConcept ::=
	ObjectType
NounConcept ::=
	IndividualConcept
NounConcept ::=
	DataType
NounConcept ::=
	ObjectType
	IndividualConcept
	DataType
ObjectType ::=
	[specializes]::ObjectType [generalizes]::ObjectType+
IndividualConcept ::=
	[instanceOf]::ObjectType
DataType ::=
	NonEmptyString
DataType ::=
	NonNegativeInteger
DataType ::=
	NonEmptyString
	NonNegativeInteger
NonEmptyString ::=
	[value]::String
NonNegativeInteger ::=
	[value]::Integer
FactType ::=
	BinaryFactType
BinaryFactType ::=
	IsPropertyOfFactType
BinaryFactType ::=
	AssociativeFactType
BinaryFactType ::=
	CategorizationFactType
BinaryFactType ::=
	ObjectificationFactType
BinaryFactType ::=
	[role1]::FactTypeRole [role2]::FactTypeRole
IsPropertyOfFactType ::=
	[role1]::FactTypeRole [role2]::FactTypeRole
AssociativeFactType ::=
	[role1]::FactTypeRole [role2]::FactTypeRole
CategorizationFactType ::=
	[role1]::FactTypeRole [role2]::FactTypeRole
ObjectificationFactType ::=
	[role1]::FactTypeRole [role2]::FactTypeRole
Role ::=
	FactTypeRole
Role ::=
	[nounConcept]::NounConcept
FactTypeRole ::=
	[nounConcept]::NounConcept
LogicalFormulation ::=
	AtomicFormulation
LogicalFormulation ::=
	NecessityFormulation
LogicalFormulation ::=
	Quantification
LogicalFormulation ::=
	AtomicFormulation
	NecessityFormulation
	Quantification
AtomicFormulation ::=
	BinaryAtomicFormulation
AtomicFormulation ::=
	[isBasedOn]::FactType
BinaryAtomicFormulation ::=
	[roleBinding1]::RoleBinding [roleBinding2]::RoleBinding
NecessityFormulation ::=
	ε
Quantification ::=
	UniversalQuantification
Quantification ::=
	AtLeastNQuantification
Quantification ::=
	ExactlyNQuantification
Quantification ::=
	AtMostNQuantification
Quantification ::=
	[introducedVariable]::Variable [scopesOver]::LogicalFormulation
UniversalQuantification ::=
	[introducedVariable]::Variable [scopesOver]::LogicalFormulation
AtLeastNQuantification ::=
	[minCardinality]::NonNegativeInteger
ExactlyNQuantification ::=
	[cardinality]::NonNegativeInteger
AtMostNQuantification ::=
	[maxCardinality]::NonNegativeInteger
BindableTarget ::=
	Variable
Variable ::=
	[rangesOver]::ObjectType
RoleBinding ::=
	[occursIn]::AtomicFormulation [isOf]::FactType [bindsTo]::BindableTarget
String ::=
	string
Integer ::=
	integer

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