Browsable Abstract Syntax of the XMorph Language 1.0 Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/XMorphLanguage_abstractSyntax/extracted
Source used for this grammar: SIMON Eric, Abstract Syntax of the XMorph Language 1.0, XMorphLanguage_abstractSyntax.ecore, 2006/07/24

Summary

Syntax

String ::=
	string
Boolean ::=
	"true"
	"false"
VarScope ::=
	PatternScope
VarScope ::=
	PatternDefn
VarScope ::=
	TRule
AbstractVar ::=
	TRuleVar
AbstractVar ::=
	PatternVar
AbstractVar ::=
	ExtentVar
VarUse ::=
	[var]::AbstractVar
MOF::Property ::=
	[part]::Key
Key ::=
	[property]::MOF::Property+ [transformation]::Transformation
PatternScope ::=
	Transformation
PatternScope ::=
	Query
PatternDefn ::=
	[scope]::PatternScope [parameter]::PatternVar+ [body]::Term
TRule ::=
	[superseded]::TRule+ [superseder]::TRule+ [transformation]::Transformation [extended]::TRule+ [extender]::TRule+ [term]::Term [tgt]::SimpleTerm+
Transformation ::=
	[keys]::Key+ [tRule]::TRule+
Query ::=
	[term]::Term [parameter]::PatternVar+
Term ::=
	CompoundTerm
Term ::=
	SimpleTerm
TRuleVar ::=
	[superseder]::TRuleVar+ [superseded]::TRuleVar+ [extended]::TRuleVar+ [extender]::TRuleVar+
PatternVar ::=
	[query]::Query [patternDefn]::PatternDefn
ExtentVar ::=
	[src]::Term
CompoundTerm ::=
	AndTerm
CompoundTerm ::=
	OrTerm
CompoundTerm ::=
	NotTerm
CompoundTerm ::=
	IfTerm
AndTerm ::=
	[term]::Term+
OrTerm ::=
	[term]::Term+
NotTerm ::=
	[term]::Term+
IfTerm ::=
	[term]::Term+
SimpleTerm ::=
	TrackingUse
SimpleTerm ::=
	PatternUse
SimpleTerm ::=
	MofTerm
SimpleTerm ::=
	Condition
TrackingUse ::=
	[featureNames]::String [tracking]::MOF::Class
MOF::Class ::=
	[tracking]::TrackingUse+
PatternUse ::=
	[tRuleST]::TRule [arg]::Expression+
MofTerm ::=
	MofInstance
MofTerm ::=
	MofOrder
Condition ::=
	[reason]::String
MofInstance ::=
	[isExactly]::Boolean [typeName]::Expression [instance]::Expression
MofOrder ::=
	[lesser]::Expression [instance]::Expression [greater]::Expression
Expression ::=
	VarUse
Expression ::=
	CoumpoundExpr
Expression ::=
	InstanceRef
Expression ::=
	MOF::Object
Expression ::=
	SimpleExpr
CoumpoundExpr ::=
	CollectionExpr
CoumpoundExpr ::=
	FunctionExpr
CoumpoundExpr ::=
	FeatureExpr
CollectionExpr ::=
	[unique]::Boolean [ordered]::Boolean
FunctionExpr ::=
	[function]::String
FeatureExpr ::=
	[collect]::String [featureName]::String
InstanceRef ::=
	[obj]::MOF::Object
MOF::Object ::=
	[obj]::InstanceRef
SimpleExpr ::=
	StringConstant
SimpleExpr ::=
	IntConstant
SimpleExpr ::=
	BooleanConstant
SimpleExpr ::=
	EnumConstant
StringConstant ::=
	[representation]::String
IntConstant ::=
	[representation]::String
BooleanConstant ::=
	[representation]::String
EnumConstant ::=
	[representation]::String

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