blob: 2b9695d7774be379b4b8263ece7fc46c850a1cb9 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
grammar org.eclipse.osbp.ecview.uisemantics.UISemanticsGrammar with org.eclipse.xtext.xbase.Xbase
import "http://www.eclipse.org/emf/2002/Ecore"
import "http://www.eclipse.org/xtext/common/JavaVMTypes"
import "http://osbp.eclipse.org/ecview/dsl/uimodel/semantics"
UxModel returns UxModel:
{UxModel}
importSection=XImportSection?
('actions' '{'
viewActions+=UxAction*
'}')?
('categories' '{'
categories+=UxViewCategory*
'}')?
elementDefinitions+=UxElementDefinition*;
UxAction returns UxAction:
name=QualifiedName ('externalCommand' externalCommandId=STRING)? (initialDisabled?="disabled")?;
UxViewCategory returns UxViewCategory:
name=QualifiedName;
XImportDeclaration returns UxImportSectionDeclaration:
{UxImportSectionDeclaration}
('import' ((static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport]
(wildcard?='*' | memberName=ValidID))
| importedType=[JvmDeclaredType|QualifiedName]
| importedNamespace=QualifiedNameWithWildcard))
| (("ePackage" importedEPackage=UxEPackageImport)) ';'?;
UxEPackageImport returns UxEPackageImport:
ePackage=[EPackage|STRING] 'as' alias=ID;
UxElementDefinition returns UxElementDefinition:
'element' name=ID '{'
(uri=UxElementURI)?
('bindings' '{'
bindingContainer=UxAvailableBindings
'}')?
('visibility' '{'
visibilityContainer=UxAvailableVisibilityOptions
'}')?
('validator' '{'
validatorContainer=UxAvailableValidatorProperties
'}')?
'}';
UxAvailableValidatorProperties returns UxAvailableValidatorProperties:
{UxAvailableValidatorProperties}
properties+=UxValidatorProperty*;
UxValidatorProperty returns UxValidatorProperty:
'property' name=ID;
UxElementURI returns UxElementURI:
'uri' ePackage=[UxEPackageImport] ":" eClass=[EClass];
UxAvailableBindings returns UxAvailableBindings:
{UxAvailableBindings}
('extends' superElement=[UxElementDefinition])?
bindings+=UxBindingableOption*;
UxAvailableVisibilityOptions returns UxAvailableVisibilityOptions:
{UxAvailableVisibilityOptions}
bindings+=UxVisibleableOption*;
UxBindingableOption returns UxBindingableOption:
(final?='final')? (listbinding?='list')? 'endpoint' name=ID jvmType=JvmTypeReference ('target' targetName=ID)?;
UxVisibleableOption returns UxVisibleableOption:
'endpoint' name=ID jvmType=JvmTypeReference;