19 Commits
1_1_0 ... 1_2_0

Author SHA1 Message Date
661a40c5d4 Merge branch 'develop' 2018-06-03 10:52:03 +02:00
1eea28e55c Added hyperlinking and bumped version numbers 2018-06-03 10:48:41 +02:00
9a55dd5a21 Migrated to XText 2.14 and Photon for RDL Editor RCP 2018-06-02 23:41:27 +02:00
cc6d106838 Update to XText 2.13 2018-06-02 18:41:09 +02:00
71f8f3b920 Fixed repo release number 2017-10-11 08:31:19 +02:00
126046430d Merge pull request #2 from Minres/develop
Merge for patch release
2017-10-05 07:21:02 +00:00
30653d0f26 Minor fixes for packaging 2017-10-05 09:18:23 +02:00
dada6724db Removed by accident overwritten function 2017-10-04 10:12:19 +02:00
0e526f811a Fixed size calculation and error generating std::array of plain
datatypes
2017-10-04 10:10:36 +02:00
f950322d05 Fixed build problem and adapted visibility in generated code 2017-10-03 15:52:48 +02:00
a1bcd48a4c Delete CNAME 2017-09-25 22:56:38 +02:00
781b83091c Create CNAME 2017-09-25 22:55:48 +02:00
b6528d97e3 Set theme jekyll-theme-tactile 2017-09-25 22:49:39 +02:00
fd0d001b3f Update README.md 2017-09-25 22:47:48 +02:00
6c7515fd49 Update README.md 2017-09-25 22:46:34 +02:00
8a4469923a Updated ignore list 2017-09-25 21:26:02 +02:00
a973f43fe6 Fixed code generation to use sc_register_indexed for register arrays 2017-09-20 22:36:20 +02:00
8ceb09beed Minor fixes in Main rgd. CLI processing 2017-09-20 10:44:11 +02:00
d865faf127 Changed option processing 2017-09-20 10:37:50 +02:00
194 changed files with 4629 additions and 1539 deletions

View File

@ -1,37 +1,9 @@
## Welcome to GitHub Pages
## RDL Editor
You can use the [editor on GitHub](https://github.com/Minres/RDL-Editor/edit/master/README.md) to maintain and preview the content for your website in Markdown files.
This is an editor for [SystemRDL](http://www.accellera.org/activities/working-groups/systemrdl/).
Whenever you commit to this repository, GitHub Pages will run [Jekyll](https://jekyllrb.com/) to rebuild the pages in your site, from the content in your Markdown files.
Quote from Accellera: "SystemRDL is designed to increase productivity, quality, and reuse during the design and development of complex digital systems. It can be used to share IP within and between groups, companies, and consortiums. This is accomplished by specifying a single source for the register description from which all views can be automatically generated, which ensures consistency between multiple views. A view is any output generated from the SystemRDL description, e.g., RTL code or documentation."
### Markdown
The editor is build on top of [Eclipse Xtext](http://www.eclipse.org/Xtext/), a framework to build **D**omain **S**pecific **L**anguages (DSL).
Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
```markdown
Syntax highlighted code block
# Header 1
## Header 2
### Header 3
- Bulleted
- List
1. Numbered
2. List
**Bold** and _Italic_ and `Code` text
[Link](url) and ![Image](src)
```
For more details see [GitHub Flavored Markdown](https://guides.github.com/features/mastering-markdown/).
### Jekyll Themes
Your Pages site will use the layout and styles from the Jekyll theme you have selected in your [repository settings](https://github.com/Minres/RDL-Editor/settings). The name of this theme is saved in the Jekyll `_config.yml` configuration file.
### Support or Contact
Having trouble with Pages? Check out our [documentation](https://help.github.com/categories/github-pages-basics/) or [contact support](https://github.com/contact) and well help you sort it out.
It has a code generator to create the register models using the [SC-Components](https://github.com/Minres/SystemC-Components) library. Due to the nature of Xtext this generator can easily be tailored to various needs.

View File

@ -1 +1 @@
theme: jekyll-theme-minimal
theme: jekyll-theme-tactile

View File

@ -2,31 +2,8 @@
<feature
id="com.minres.rdl.feature"
label="RDL Feature "
version="1.0.0.qualifier">
<requires>
<import plugin="org.eclipse.xtext"/>
<import plugin="org.eclipse.xtext.xbase"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore"/>
<import plugin="org.eclipse.xtext.xbase.lib"/>
<import plugin="org.antlr.runtime"/>
<import plugin="org.eclipse.xtext.util"/>
<import plugin="org.eclipse.xtend.lib"/>
<import plugin="org.eclipse.emf.common"/>
<import plugin="org.eclipse.equinox.preferences"/>
<import plugin="org.apache.log4j"/>
<import plugin="org.eclipse.xtext.ide"/>
<import plugin="org.eclipse.xtext.xbase.ide"/>
<import plugin="org.eclipse.xtext.ui"/>
<import plugin="org.eclipse.xtext.ui.shared"/>
<import plugin="org.eclipse.xtext.ui.codetemplates.ui"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.compare"/>
<import plugin="org.eclipse.xtext.builder"/>
</requires>
version="1.0.0.qualifier"
provider-name="MINRES Technologies GmbH">
<plugin
id="com.minres.rdl"

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ide
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ide
Bundle-Vendor: My Company

View File

@ -9,12 +9,182 @@
<artifactId>com.minres.rdl.ide</artifactId>
<packaging>eclipse-plugin</packaging>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.eclipse.lsp4j</groupId>
<artifactId>org.eclipse.lsp4j</artifactId>
<version>0.4.0</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.1.1</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>6.1.1</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
<version>6.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<pomDependencies>consider</pomDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeTransitive>true</excludeTransitive>
<excludeArtifactIds>
com.ibm.icu,
org.apache.ant,
org.apache.commons.lang,
org.apache.commons.logging,
org.eclipse.core.commands,
org.eclipse.core.contenttype,
org.eclipse.core.expressions,
org.eclipse.core.filesystem,
org.eclipse.core.jobs,
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.core.variables,
org.eclipse.debug.core,
org.eclipse.emf.codegen.ecore,
org.eclipse.emf.codegen,
org.eclipse.emf.mwe.core,
org.eclipse.emf.mwe.utils,
org.eclipse.emf.mwe2.lib,
org.eclipse.emf.mwe2.runtime,
org.eclipse.equinox.app,
org.eclipse.equinox.preferences,
org.eclipse.equinox.registry,
org.eclipse.jdt.core,
org.eclipse.jdt.debug,
org.eclipse.jdt.launching,
org.eclipse.text,
org.eclipse.xtend.typesystem.emf,
org.eclipse.xtend,
</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.addjars-maven-plugin</groupId>
<artifactId>addjars-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>add-jars</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.build.directory}/libs</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.eclipse.xtext.ide.server.ServerLauncher</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>plugin.properties</resource>
</transformer>
</transformers>
<artifactSet>
<excludes><!-- avoid duplicate inclusion due to addjars plugin -->
<exclude>*:com.minres.rdl.ide-org.eclipse.lsp4j*</exclude>
<exclude>*:com.minres.rdl.ide-org.eclipse.xtext.xbase.lib*</exclude>
<exclude>*:com.minres.rdl.ide-org.eclipse.xtend.lib*</exclude>
<exclude>*:com.minres.rdl.ide-com.google.guava*</exclude>
<exclude>*:com.minres.rdl.ide-asm*</exclude>
<exclude>*:com.minres.rdl.ide-log4j*</exclude>
<exclude>*:com.minres.rdl.ide-org.objectweb.asm*</exclude>
<exclude>*:com.minres.rdl.ide-org.apache.log4j*</exclude>
</excludes>
</artifactSet>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/INDEX.LIST</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>.options</exclude>
<exclude>.api_description</exclude>
<exclude>*.profile</exclude>
<exclude>*.html</exclude>
<exclude>about.*</exclude>
<exclude>about_files/*</exclude>
<exclude>plugin.xml</exclude>
<exclude>modeling32.png</exclude>
<exclude>systembundle.properties</exclude>
<exclude>profile.list</exclude>
<exclude>**/*._trace</exclude>
<exclude>**/*.g</exclude>
<exclude>**/*.mwe2</exclude>
<exclude>**/*.xtext</exclude>
</excludes>
</filter>
</filters>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>ls</shadedClassifierName>
<minimizeJar>false</minimizeJar>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;
@ -15,6 +15,9 @@ import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper;
import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser;
import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
import org.eclipse.xtext.ide.refactoring.IRenameStrategy2;
import org.eclipse.xtext.ide.server.rename.IRenameService;
import org.eclipse.xtext.ide.server.rename.RenameService;
/**
* Manual modifications go to {@link RDLIdeModule}.
@ -44,4 +47,14 @@ public abstract class AbstractRDLIdeModule extends DefaultIdeModule {
return FQNPrefixMatcher.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameService> bindIRenameService() {
return RenameService.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameStrategy2> bindIRenameStrategy2() {
return IRenameStrategy2.DefaultImpl.class;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide.contentassist.antlr;

View File

@ -1,23 +1,222 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide.contentassist.antlr;
import com.google.common.collect.ImmutableMap;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.minres.rdl.ide.contentassist.antlr.internal.InternalRDLParser;
import com.minres.rdl.services.RDLGrammarAccess;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
public class RDLParser extends AbstractContentAssistParser {
@Singleton
public static final class NameMappings {
private final Map<AbstractElement, String> mappings;
@Inject
public NameMappings(RDLGrammarAccess grammarAccess) {
ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
init(builder, grammarAccess);
this.mappings = builder.build();
}
public String getRuleName(AbstractElement element) {
return mappings.get(element);
}
private static void init(ImmutableMap.Builder<AbstractElement, String> builder, RDLGrammarAccess grammarAccess) {
builder.put(grammarAccess.getRootAccess().getAlternatives(), "rule__Root__Alternatives");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3(), "rule__PropertyDefinition__Alternatives_3");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_0_4(), "rule__PropertyDefinition__Alternatives_3_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_1_1(), "rule__PropertyDefinition__Alternatives_3_1_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_2_1(), "rule__PropertyDefinition__Alternatives_3_2_1");
builder.put(grammarAccess.getPropertyDefaultAccess().getAlternatives_2(), "rule__PropertyDefault__Alternatives_2");
builder.put(grammarAccess.getComponentDefinitionAccess().getAlternatives_3(), "rule__ComponentDefinition__Alternatives_3");
builder.put(grammarAccess.getInstantiationAccess().getAlternatives_0(), "rule__Instantiation__Alternatives_0");
builder.put(grammarAccess.getRangeAccess().getAlternatives_1(), "rule__Range__Alternatives_1");
builder.put(grammarAccess.getPropertyAssignmentAccess().getAlternatives(), "rule__PropertyAssignment__Alternatives");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getAlternatives(), "rule__ExplicitPropertyAssignment__Alternatives");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0(), "rule__PostPropertyAssignment__Alternatives_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0_0_2(), "rule__PostPropertyAssignment__Alternatives_0_0_2");
builder.put(grammarAccess.getInstancePropertyRefAccess().getAlternatives_1_1(), "rule__InstancePropertyRef__Alternatives_1_1");
builder.put(grammarAccess.getEntityAccess().getAlternatives(), "rule__Entity__Alternatives");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getAlternatives(), "rule__PropertyAssignmentRhs__Alternatives");
builder.put(grammarAccess.getConcatElemAccess().getAlternatives(), "rule__ConcatElem__Alternatives");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getAlternatives(), "rule__PropertyRvalueConstant__Alternatives");
builder.put(grammarAccess.getEnumPropertyAccess().getAlternatives_0(), "rule__EnumProperty__Alternatives_0");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getAlternatives(), "rule__EnumInstanceType__Alternatives");
builder.put(grammarAccess.getPropertyTypeNameAccess().getAlternatives(), "rule__PropertyTypeName__Alternatives");
builder.put(grammarAccess.getPropertyComponentAccess().getAlternatives(), "rule__PropertyComponent__Alternatives");
builder.put(grammarAccess.getComponentDefinitionTypeAccess().getAlternatives(), "rule__ComponentDefinitionType__Alternatives");
builder.put(grammarAccess.getPropertyEnumAccess().getAlternatives(), "rule__PropertyEnum__Alternatives");
builder.put(grammarAccess.getPropertyAccess().getAlternatives(), "rule__Property__Alternatives");
builder.put(grammarAccess.getRValueConstantAccess().getAlternatives(), "rule__RValueConstant__Alternatives");
builder.put(grammarAccess.getPropertyModifierAccess().getAlternatives(), "rule__PropertyModifier__Alternatives");
builder.put(grammarAccess.getRootAccess().getGroup_1(), "rule__Root__Group_1__0");
builder.put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0");
builder.put(grammarAccess.getRootAccess().getGroup_3(), "rule__Root__Group_3__0");
builder.put(grammarAccess.getRootAccess().getGroup_4(), "rule__Root__Group_4__0");
builder.put(grammarAccess.getRootAccess().getGroup_5(), "rule__Root__Group_5__0");
builder.put(grammarAccess.getIncludeAccess().getGroup(), "rule__Include__Group__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup(), "rule__PropertyDefinition__Group__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0(), "rule__PropertyDefinition__Group_3_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_0(), "rule__PropertyDefinition__Group_3_0_4_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_1(), "rule__PropertyDefinition__Group_3_0_4_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1(), "rule__PropertyDefinition__Group_3_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_0(), "rule__PropertyDefinition__Group_3_1_1_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_1(), "rule__PropertyDefinition__Group_3_1_1_1__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2(), "rule__PropertyDefinition__Group_3_2__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_0(), "rule__PropertyDefinition__Group_3_2_1_0__0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_1(), "rule__PropertyDefinition__Group_3_2_1_1__0");
builder.put(grammarAccess.getPropertyDefaultAccess().getGroup(), "rule__PropertyDefault__Group__0");
builder.put(grammarAccess.getPropertyUsageAccess().getGroup(), "rule__PropertyUsage__Group__0");
builder.put(grammarAccess.getPropertyUsageAccess().getGroup_3(), "rule__PropertyUsage__Group_3__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_2(), "rule__ComponentDefinition__Group_3_2__0");
builder.put(grammarAccess.getComponentDefinitionAccess().getGroup_3_3(), "rule__ComponentDefinition__Group_3_3__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup(), "rule__Instantiation__Group__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_0(), "rule__Instantiation__Group_0_0__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_0_1(), "rule__Instantiation__Group_0_0_1__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_0_1(), "rule__Instantiation__Group_0_1__0");
builder.put(grammarAccess.getInstantiationAccess().getGroup_2(), "rule__Instantiation__Group_2__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_3(), "rule__ComponentInstance__Group_3__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_4(), "rule__ComponentInstance__Group_4__0");
builder.put(grammarAccess.getComponentInstanceAccess().getGroup_5(), "rule__ComponentInstance__Group_5__0");
builder.put(grammarAccess.getRangeAccess().getGroup(), "rule__Range__Group__0");
builder.put(grammarAccess.getRangeAccess().getGroup_1_0(), "rule__Range__Group_1_0__0");
builder.put(grammarAccess.getDefaultProperyAssignmentAccess().getGroup(), "rule__DefaultProperyAssignment__Group__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_0(), "rule__ExplicitPropertyAssignment__Group_0__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1(), "rule__ExplicitPropertyAssignment__Group_1__0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1_1(), "rule__ExplicitPropertyAssignment__Group_1_1__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup(), "rule__PostPropertyAssignment__Group__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_0_0(), "rule__PostPropertyAssignment__Group_0_0__0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_1(), "rule__PostPropertyAssignment__Group_1__0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getGroup(), "rule__InstancePropertyRef__Group__0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getGroup_1(), "rule__InstancePropertyRef__Group_1__0");
builder.put(grammarAccess.getInstanceRefAccess().getGroup(), "rule__InstanceRef__Group__0");
builder.put(grammarAccess.getInstanceRefAccess().getGroup_1(), "rule__InstanceRef__Group_1__0");
builder.put(grammarAccess.getHierInstanceRefAccess().getGroup(), "rule__HierInstanceRef__Group__0");
builder.put(grammarAccess.getHierInstanceRefAccess().getGroup_1(), "rule__HierInstanceRef__Group_1__0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getGroup_2(), "rule__PropertyAssignmentRhs__Group_2__0");
builder.put(grammarAccess.getConcatAccess().getGroup(), "rule__Concat__Group__0");
builder.put(grammarAccess.getConcatAccess().getGroup_2(), "rule__Concat__Group_2__0");
builder.put(grammarAccess.getEnumDefinitionAccess().getGroup(), "rule__EnumDefinition__Group__0");
builder.put(grammarAccess.getEnumBodyAccess().getGroup(), "rule__EnumBody__Group__0");
builder.put(grammarAccess.getEnumEntryAccess().getGroup(), "rule__EnumEntry__Group__0");
builder.put(grammarAccess.getEnumEntryAccess().getGroup_3(), "rule__EnumEntry__Group_3__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup(), "rule__EnumProperty__Group__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup_0_0(), "rule__EnumProperty__Group_0_0__0");
builder.put(grammarAccess.getEnumPropertyAccess().getGroup_0_1(), "rule__EnumProperty__Group_0_1__0");
builder.put(grammarAccess.getRootAccess().getIncludesAssignment_0(), "rule__Root__IncludesAssignment_0");
builder.put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1_0(), "rule__Root__ComponentDefinitionsAssignment_1_0");
builder.put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2_0(), "rule__Root__EnumDefinitionsAssignment_2_0");
builder.put(grammarAccess.getRootAccess().getInstantiationsAssignment_3_0(), "rule__Root__InstantiationsAssignment_3_0");
builder.put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4_0(), "rule__Root__PropertyAssignmentsAssignment_4_0");
builder.put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5_0(), "rule__Root__PropertyDefinitionsAssignment_5_0");
builder.put(grammarAccess.getIncludeAccess().getImportURIAssignment_1(), "rule__Include__ImportURIAssignment_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getNameAssignment_1(), "rule__PropertyDefinition__NameAssignment_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_0_2(), "rule__PropertyDefinition__TypeAssignment_3_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_0_0(), "rule__PropertyDefinition__UsageAssignment_3_0_4_0_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_0_1(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_0_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_1_1(), "rule__PropertyDefinition__UsageAssignment_3_0_4_1_1");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_1_0(), "rule__PropertyDefinition__UsageAssignment_3_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_1_1_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_0_4(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_1_1_1_3");
builder.put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_2_0(), "rule__PropertyDefinition__DefaultAssignment_3_2_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_2_1_0_2");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_0_4(), "rule__PropertyDefinition__UsageAssignment_3_2_1_0_4");
builder.put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_1_0(), "rule__PropertyDefinition__UsageAssignment_3_2_1_1_0");
builder.put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_2_1_1_3");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_0(), "rule__PropertyDefault__StringAssignment_2_0");
builder.put(grammarAccess.getPropertyDefaultAccess().getValueAssignment_2_1(), "rule__PropertyDefault__ValueAssignment_2_1");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_2(), "rule__PropertyDefault__StringAssignment_2_2");
builder.put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_3(), "rule__PropertyDefault__StringAssignment_2_3");
builder.put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_2(), "rule__PropertyUsage__ComponentsAssignment_2");
builder.put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_3_1(), "rule__PropertyUsage__ComponentsAssignment_3_1");
builder.put(grammarAccess.getComponentDefinitionAccess().getTypeAssignment_0(), "rule__ComponentDefinition__TypeAssignment_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1");
builder.put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getInstantiationsAssignment_3_1_0(), "rule__ComponentDefinition__InstantiationsAssignment_3_1_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2_0(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2_0");
builder.put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3_0(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3_0");
builder.put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_0_0(), "rule__Instantiation__InstanceTypeAssignment_0_0_0");
builder.put(grammarAccess.getInstantiationAccess().getAliasAssignment_0_0_1_1(), "rule__Instantiation__AliasAssignment_0_0_1_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentRefAssignment_0_0_2(), "rule__Instantiation__ComponentRefAssignment_0_0_2");
builder.put(grammarAccess.getInstantiationAccess().getComponentAssignment_0_1_0(), "rule__Instantiation__ComponentAssignment_0_1_0");
builder.put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_1_1(), "rule__Instantiation__InstanceTypeAssignment_0_1_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_1(), "rule__Instantiation__ComponentInstancesAssignment_1");
builder.put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__Instantiation__ComponentInstancesAssignment_2_1");
builder.put(grammarAccess.getComponentInstanceAccess().getNameAssignment_0(), "rule__ComponentInstance__NameAssignment_0");
builder.put(grammarAccess.getComponentInstanceAccess().getRangeAssignment_1(), "rule__ComponentInstance__RangeAssignment_1");
builder.put(grammarAccess.getComponentInstanceAccess().getResetAssignment_2_1(), "rule__ComponentInstance__ResetAssignment_2_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddressAssignment_3_1(), "rule__ComponentInstance__AddressAssignment_3_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddrIncAssignment_4_1(), "rule__ComponentInstance__AddrIncAssignment_4_1");
builder.put(grammarAccess.getComponentInstanceAccess().getAddrModAssignment_5_1(), "rule__ComponentInstance__AddrModAssignment_5_1");
builder.put(grammarAccess.getRangeAccess().getLeftAssignment_1_0_0(), "rule__Range__LeftAssignment_1_0_0");
builder.put(grammarAccess.getRangeAccess().getRightAssignment_1_0_2(), "rule__Range__RightAssignment_1_0_2");
builder.put(grammarAccess.getRangeAccess().getSizeAssignment_1_1(), "rule__Range__SizeAssignment_1_1");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getModifierAssignment_0_0(), "rule__ExplicitPropertyAssignment__ModifierAssignment_0_0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_0_1(), "rule__ExplicitPropertyAssignment__NameAssignment_0_1");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_1_0(), "rule__ExplicitPropertyAssignment__NameAssignment_1_0");
builder.put(grammarAccess.getExplicitPropertyAssignmentAccess().getRhsAssignment_1_1_1(), "rule__ExplicitPropertyAssignment__RhsAssignment_1_1_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getInstanceAssignment_0_0_0(), "rule__PostPropertyAssignment__InstanceAssignment_0_0_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyEnumAssignment_0_0_2_0(), "rule__PostPropertyAssignment__PropertyEnumAssignment_0_0_2_0");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_0_2_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_0_2_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_1");
builder.put(grammarAccess.getPostPropertyAssignmentAccess().getRhsAssignment_1_1(), "rule__PostPropertyAssignment__RhsAssignment_1_1");
builder.put(grammarAccess.getInstancePropertyRefAccess().getInstanceAssignment_0(), "rule__InstancePropertyRef__InstanceAssignment_0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getPropertyEnumAssignment_1_1_0(), "rule__InstancePropertyRef__PropertyEnumAssignment_1_1_0");
builder.put(grammarAccess.getInstancePropertyRefAccess().getPropertyAssignment_1_1_1(), "rule__InstancePropertyRef__PropertyAssignment_1_1_1");
builder.put(grammarAccess.getInstanceRefAccess().getInstanceAssignment_0(), "rule__InstanceRef__InstanceAssignment_0");
builder.put(grammarAccess.getInstanceRefAccess().getTailAssignment_1_1(), "rule__InstanceRef__TailAssignment_1_1");
builder.put(grammarAccess.getHierInstanceRefAccess().getInstanceAssignment_0(), "rule__HierInstanceRef__InstanceAssignment_0");
builder.put(grammarAccess.getHierInstanceRefAccess().getTailAssignment_1_1(), "rule__HierInstanceRef__TailAssignment_1_1");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getValueAssignment_0(), "rule__PropertyAssignmentRhs__ValueAssignment_0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getInstPropRefAssignment_1(), "rule__PropertyAssignmentRhs__InstPropRefAssignment_1");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumRefAssignment_2_0(), "rule__PropertyAssignmentRhs__EnumRefAssignment_2_0");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumsAssignment_2_2(), "rule__PropertyAssignmentRhs__EnumsAssignment_2_2");
builder.put(grammarAccess.getPropertyAssignmentRhsAccess().getElementsAssignment_3(), "rule__PropertyAssignmentRhs__ElementsAssignment_3");
builder.put(grammarAccess.getConcatAccess().getElementsAssignment_1(), "rule__Concat__ElementsAssignment_1");
builder.put(grammarAccess.getConcatAccess().getElementsAssignment_2_1(), "rule__Concat__ElementsAssignment_2_1");
builder.put(grammarAccess.getConcatElemAccess().getInstPropRefAssignment_0(), "rule__ConcatElem__InstPropRefAssignment_0");
builder.put(grammarAccess.getConcatElemAccess().getValueAssignment_1(), "rule__ConcatElem__ValueAssignment_1");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getValAssignment_0(), "rule__PropertyRvalueConstant__ValAssignment_0");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getNumAssignment_1(), "rule__PropertyRvalueConstant__NumAssignment_1");
builder.put(grammarAccess.getPropertyRvalueConstantAccess().getStrAssignment_2(), "rule__PropertyRvalueConstant__StrAssignment_2");
builder.put(grammarAccess.getEnumDefinitionAccess().getNameAssignment_1(), "rule__EnumDefinition__NameAssignment_1");
builder.put(grammarAccess.getEnumDefinitionAccess().getBodyAssignment_2(), "rule__EnumDefinition__BodyAssignment_2");
builder.put(grammarAccess.getEnumBodyAccess().getEntriesAssignment_2(), "rule__EnumBody__EntriesAssignment_2");
builder.put(grammarAccess.getEnumEntryAccess().getNameAssignment_0(), "rule__EnumEntry__NameAssignment_0");
builder.put(grammarAccess.getEnumEntryAccess().getIndexAssignment_2(), "rule__EnumEntry__IndexAssignment_2");
builder.put(grammarAccess.getEnumEntryAccess().getPropertiesAssignment_3_1(), "rule__EnumEntry__PropertiesAssignment_3_1");
builder.put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_0_0(), "rule__EnumProperty__NameAssignment_0_0_0");
builder.put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_0_2(), "rule__EnumProperty__ValueAssignment_0_0_2");
builder.put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_1_0(), "rule__EnumProperty__NameAssignment_0_1_0");
builder.put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_1_2(), "rule__EnumProperty__ValueAssignment_0_1_2");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getEXTERNALAssignment_0(), "rule__EnumInstanceType__EXTERNALAssignment_0");
builder.put(grammarAccess.getEnumInstanceTypeAccess().getINTERNALAssignment_1(), "rule__EnumInstanceType__INTERNALAssignment_1");
}
}
@Inject
private NameMappings nameMappings;
@Inject
private RDLGrammarAccess grammarAccess;
private Map<AbstractElement, String> nameMappings;
@Override
protected InternalRDLParser createParser() {
InternalRDLParser result = new InternalRDLParser(null);
@ -27,193 +226,9 @@ public class RDLParser extends AbstractContentAssistParser {
@Override
protected String getRuleName(AbstractElement element) {
if (nameMappings == null) {
nameMappings = new HashMap<AbstractElement, String>() {
private static final long serialVersionUID = 1L;
{
put(grammarAccess.getRootAccess().getAlternatives(), "rule__Root__Alternatives");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3(), "rule__PropertyDefinition__Alternatives_3");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_0_4(), "rule__PropertyDefinition__Alternatives_3_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_1_1(), "rule__PropertyDefinition__Alternatives_3_1_1");
put(grammarAccess.getPropertyDefinitionAccess().getAlternatives_3_2_1(), "rule__PropertyDefinition__Alternatives_3_2_1");
put(grammarAccess.getPropertyDefaultAccess().getAlternatives_2(), "rule__PropertyDefault__Alternatives_2");
put(grammarAccess.getComponentDefinitionAccess().getAlternatives_3(), "rule__ComponentDefinition__Alternatives_3");
put(grammarAccess.getInstantiationAccess().getAlternatives_0(), "rule__Instantiation__Alternatives_0");
put(grammarAccess.getRangeAccess().getAlternatives_1(), "rule__Range__Alternatives_1");
put(grammarAccess.getPropertyAssignmentAccess().getAlternatives(), "rule__PropertyAssignment__Alternatives");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getAlternatives(), "rule__ExplicitPropertyAssignment__Alternatives");
put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0(), "rule__PostPropertyAssignment__Alternatives_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getAlternatives_0_0_2(), "rule__PostPropertyAssignment__Alternatives_0_0_2");
put(grammarAccess.getInstancePropertyRefAccess().getAlternatives_1_1(), "rule__InstancePropertyRef__Alternatives_1_1");
put(grammarAccess.getEntityAccess().getAlternatives(), "rule__Entity__Alternatives");
put(grammarAccess.getPropertyAssignmentRhsAccess().getAlternatives(), "rule__PropertyAssignmentRhs__Alternatives");
put(grammarAccess.getConcatElemAccess().getAlternatives(), "rule__ConcatElem__Alternatives");
put(grammarAccess.getPropertyRvalueConstantAccess().getAlternatives(), "rule__PropertyRvalueConstant__Alternatives");
put(grammarAccess.getEnumPropertyAccess().getAlternatives_0(), "rule__EnumProperty__Alternatives_0");
put(grammarAccess.getEnumInstanceTypeAccess().getAlternatives(), "rule__EnumInstanceType__Alternatives");
put(grammarAccess.getPropertyTypeNameAccess().getAlternatives(), "rule__PropertyTypeName__Alternatives");
put(grammarAccess.getPropertyComponentAccess().getAlternatives(), "rule__PropertyComponent__Alternatives");
put(grammarAccess.getComponentDefinitionTypeAccess().getAlternatives(), "rule__ComponentDefinitionType__Alternatives");
put(grammarAccess.getPropertyEnumAccess().getAlternatives(), "rule__PropertyEnum__Alternatives");
put(grammarAccess.getPropertyAccess().getAlternatives(), "rule__Property__Alternatives");
put(grammarAccess.getRValueConstantAccess().getAlternatives(), "rule__RValueConstant__Alternatives");
put(grammarAccess.getPropertyModifierAccess().getAlternatives(), "rule__PropertyModifier__Alternatives");
put(grammarAccess.getRootAccess().getGroup_1(), "rule__Root__Group_1__0");
put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0");
put(grammarAccess.getRootAccess().getGroup_3(), "rule__Root__Group_3__0");
put(grammarAccess.getRootAccess().getGroup_4(), "rule__Root__Group_4__0");
put(grammarAccess.getRootAccess().getGroup_5(), "rule__Root__Group_5__0");
put(grammarAccess.getIncludeAccess().getGroup(), "rule__Include__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup(), "rule__PropertyDefinition__Group__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0(), "rule__PropertyDefinition__Group_3_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_0(), "rule__PropertyDefinition__Group_3_0_4_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_0_4_1(), "rule__PropertyDefinition__Group_3_0_4_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1(), "rule__PropertyDefinition__Group_3_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_0(), "rule__PropertyDefinition__Group_3_1_1_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_1_1_1(), "rule__PropertyDefinition__Group_3_1_1_1__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2(), "rule__PropertyDefinition__Group_3_2__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_0(), "rule__PropertyDefinition__Group_3_2_1_0__0");
put(grammarAccess.getPropertyDefinitionAccess().getGroup_3_2_1_1(), "rule__PropertyDefinition__Group_3_2_1_1__0");
put(grammarAccess.getPropertyDefaultAccess().getGroup(), "rule__PropertyDefault__Group__0");
put(grammarAccess.getPropertyUsageAccess().getGroup(), "rule__PropertyUsage__Group__0");
put(grammarAccess.getPropertyUsageAccess().getGroup_3(), "rule__PropertyUsage__Group_3__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup(), "rule__ComponentDefinition__Group__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_0(), "rule__ComponentDefinition__Group_3_0__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_1(), "rule__ComponentDefinition__Group_3_1__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_2(), "rule__ComponentDefinition__Group_3_2__0");
put(grammarAccess.getComponentDefinitionAccess().getGroup_3_3(), "rule__ComponentDefinition__Group_3_3__0");
put(grammarAccess.getInstantiationAccess().getGroup(), "rule__Instantiation__Group__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0(), "rule__Instantiation__Group_0_0__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_0_1(), "rule__Instantiation__Group_0_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_0_1(), "rule__Instantiation__Group_0_1__0");
put(grammarAccess.getInstantiationAccess().getGroup_2(), "rule__Instantiation__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_3(), "rule__ComponentInstance__Group_3__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_4(), "rule__ComponentInstance__Group_4__0");
put(grammarAccess.getComponentInstanceAccess().getGroup_5(), "rule__ComponentInstance__Group_5__0");
put(grammarAccess.getRangeAccess().getGroup(), "rule__Range__Group__0");
put(grammarAccess.getRangeAccess().getGroup_1_0(), "rule__Range__Group_1_0__0");
put(grammarAccess.getDefaultProperyAssignmentAccess().getGroup(), "rule__DefaultProperyAssignment__Group__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_0(), "rule__ExplicitPropertyAssignment__Group_0__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1(), "rule__ExplicitPropertyAssignment__Group_1__0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getGroup_1_1(), "rule__ExplicitPropertyAssignment__Group_1_1__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup(), "rule__PostPropertyAssignment__Group__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_0_0(), "rule__PostPropertyAssignment__Group_0_0__0");
put(grammarAccess.getPostPropertyAssignmentAccess().getGroup_1(), "rule__PostPropertyAssignment__Group_1__0");
put(grammarAccess.getInstancePropertyRefAccess().getGroup(), "rule__InstancePropertyRef__Group__0");
put(grammarAccess.getInstancePropertyRefAccess().getGroup_1(), "rule__InstancePropertyRef__Group_1__0");
put(grammarAccess.getInstanceRefAccess().getGroup(), "rule__InstanceRef__Group__0");
put(grammarAccess.getInstanceRefAccess().getGroup_1(), "rule__InstanceRef__Group_1__0");
put(grammarAccess.getHierInstanceRefAccess().getGroup(), "rule__HierInstanceRef__Group__0");
put(grammarAccess.getHierInstanceRefAccess().getGroup_1(), "rule__HierInstanceRef__Group_1__0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getGroup_2(), "rule__PropertyAssignmentRhs__Group_2__0");
put(grammarAccess.getConcatAccess().getGroup(), "rule__Concat__Group__0");
put(grammarAccess.getConcatAccess().getGroup_2(), "rule__Concat__Group_2__0");
put(grammarAccess.getEnumDefinitionAccess().getGroup(), "rule__EnumDefinition__Group__0");
put(grammarAccess.getEnumBodyAccess().getGroup(), "rule__EnumBody__Group__0");
put(grammarAccess.getEnumEntryAccess().getGroup(), "rule__EnumEntry__Group__0");
put(grammarAccess.getEnumEntryAccess().getGroup_3(), "rule__EnumEntry__Group_3__0");
put(grammarAccess.getEnumPropertyAccess().getGroup(), "rule__EnumProperty__Group__0");
put(grammarAccess.getEnumPropertyAccess().getGroup_0_0(), "rule__EnumProperty__Group_0_0__0");
put(grammarAccess.getEnumPropertyAccess().getGroup_0_1(), "rule__EnumProperty__Group_0_1__0");
put(grammarAccess.getRootAccess().getIncludesAssignment_0(), "rule__Root__IncludesAssignment_0");
put(grammarAccess.getRootAccess().getComponentDefinitionsAssignment_1_0(), "rule__Root__ComponentDefinitionsAssignment_1_0");
put(grammarAccess.getRootAccess().getEnumDefinitionsAssignment_2_0(), "rule__Root__EnumDefinitionsAssignment_2_0");
put(grammarAccess.getRootAccess().getInstantiationsAssignment_3_0(), "rule__Root__InstantiationsAssignment_3_0");
put(grammarAccess.getRootAccess().getPropertyAssignmentsAssignment_4_0(), "rule__Root__PropertyAssignmentsAssignment_4_0");
put(grammarAccess.getRootAccess().getPropertyDefinitionsAssignment_5_0(), "rule__Root__PropertyDefinitionsAssignment_5_0");
put(grammarAccess.getIncludeAccess().getImportURIAssignment_1(), "rule__Include__ImportURIAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getNameAssignment_1(), "rule__PropertyDefinition__NameAssignment_1");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_0_2(), "rule__PropertyDefinition__TypeAssignment_3_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_0_0(), "rule__PropertyDefinition__UsageAssignment_3_0_4_0_0");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_0_1(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_0_1");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_0_4_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_0_4_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_0_4_1_1(), "rule__PropertyDefinition__UsageAssignment_3_0_4_1_1");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_1_0(), "rule__PropertyDefinition__UsageAssignment_3_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_1_1_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_0_4(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_1_1_1_0(), "rule__PropertyDefinition__DefaultAssignment_3_1_1_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_1_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_1_1_1_3");
put(grammarAccess.getPropertyDefinitionAccess().getDefaultAssignment_3_2_0(), "rule__PropertyDefinition__DefaultAssignment_3_2_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_0_2(), "rule__PropertyDefinition__TypeAssignment_3_2_1_0_2");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_0_4(), "rule__PropertyDefinition__UsageAssignment_3_2_1_0_4");
put(grammarAccess.getPropertyDefinitionAccess().getUsageAssignment_3_2_1_1_0(), "rule__PropertyDefinition__UsageAssignment_3_2_1_1_0");
put(grammarAccess.getPropertyDefinitionAccess().getTypeAssignment_3_2_1_1_3(), "rule__PropertyDefinition__TypeAssignment_3_2_1_1_3");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_0(), "rule__PropertyDefault__StringAssignment_2_0");
put(grammarAccess.getPropertyDefaultAccess().getValueAssignment_2_1(), "rule__PropertyDefault__ValueAssignment_2_1");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_2(), "rule__PropertyDefault__StringAssignment_2_2");
put(grammarAccess.getPropertyDefaultAccess().getStringAssignment_2_3(), "rule__PropertyDefault__StringAssignment_2_3");
put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_2(), "rule__PropertyUsage__ComponentsAssignment_2");
put(grammarAccess.getPropertyUsageAccess().getComponentsAssignment_3_1(), "rule__PropertyUsage__ComponentsAssignment_3_1");
put(grammarAccess.getComponentDefinitionAccess().getTypeAssignment_0(), "rule__ComponentDefinition__TypeAssignment_0");
put(grammarAccess.getComponentDefinitionAccess().getNameAssignment_1(), "rule__ComponentDefinition__NameAssignment_1");
put(grammarAccess.getComponentDefinitionAccess().getComponentDefinitionsAssignment_3_0_0(), "rule__ComponentDefinition__ComponentDefinitionsAssignment_3_0_0");
put(grammarAccess.getComponentDefinitionAccess().getInstantiationsAssignment_3_1_0(), "rule__ComponentDefinition__InstantiationsAssignment_3_1_0");
put(grammarAccess.getComponentDefinitionAccess().getPropertyAssignmentsAssignment_3_2_0(), "rule__ComponentDefinition__PropertyAssignmentsAssignment_3_2_0");
put(grammarAccess.getComponentDefinitionAccess().getEnumDefinitionsAssignment_3_3_0(), "rule__ComponentDefinition__EnumDefinitionsAssignment_3_3_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_0_0(), "rule__Instantiation__InstanceTypeAssignment_0_0_0");
put(grammarAccess.getInstantiationAccess().getAliasAssignment_0_0_1_1(), "rule__Instantiation__AliasAssignment_0_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentRefAssignment_0_0_2(), "rule__Instantiation__ComponentRefAssignment_0_0_2");
put(grammarAccess.getInstantiationAccess().getComponentAssignment_0_1_0(), "rule__Instantiation__ComponentAssignment_0_1_0");
put(grammarAccess.getInstantiationAccess().getInstanceTypeAssignment_0_1_1(), "rule__Instantiation__InstanceTypeAssignment_0_1_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_1(), "rule__Instantiation__ComponentInstancesAssignment_1");
put(grammarAccess.getInstantiationAccess().getComponentInstancesAssignment_2_1(), "rule__Instantiation__ComponentInstancesAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getNameAssignment_0(), "rule__ComponentInstance__NameAssignment_0");
put(grammarAccess.getComponentInstanceAccess().getRangeAssignment_1(), "rule__ComponentInstance__RangeAssignment_1");
put(grammarAccess.getComponentInstanceAccess().getResetAssignment_2_1(), "rule__ComponentInstance__ResetAssignment_2_1");
put(grammarAccess.getComponentInstanceAccess().getAddressAssignment_3_1(), "rule__ComponentInstance__AddressAssignment_3_1");
put(grammarAccess.getComponentInstanceAccess().getAddrIncAssignment_4_1(), "rule__ComponentInstance__AddrIncAssignment_4_1");
put(grammarAccess.getComponentInstanceAccess().getAddrModAssignment_5_1(), "rule__ComponentInstance__AddrModAssignment_5_1");
put(grammarAccess.getRangeAccess().getLeftAssignment_1_0_0(), "rule__Range__LeftAssignment_1_0_0");
put(grammarAccess.getRangeAccess().getRightAssignment_1_0_2(), "rule__Range__RightAssignment_1_0_2");
put(grammarAccess.getRangeAccess().getSizeAssignment_1_1(), "rule__Range__SizeAssignment_1_1");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getModifierAssignment_0_0(), "rule__ExplicitPropertyAssignment__ModifierAssignment_0_0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_0_1(), "rule__ExplicitPropertyAssignment__NameAssignment_0_1");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getNameAssignment_1_0(), "rule__ExplicitPropertyAssignment__NameAssignment_1_0");
put(grammarAccess.getExplicitPropertyAssignmentAccess().getRhsAssignment_1_1_1(), "rule__ExplicitPropertyAssignment__RhsAssignment_1_1_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getInstanceAssignment_0_0_0(), "rule__PostPropertyAssignment__InstanceAssignment_0_0_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyEnumAssignment_0_0_2_0(), "rule__PostPropertyAssignment__PropertyEnumAssignment_0_0_2_0");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_0_2_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_0_2_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getPropertyAssignment_0_1(), "rule__PostPropertyAssignment__PropertyAssignment_0_1");
put(grammarAccess.getPostPropertyAssignmentAccess().getRhsAssignment_1_1(), "rule__PostPropertyAssignment__RhsAssignment_1_1");
put(grammarAccess.getInstancePropertyRefAccess().getInstanceAssignment_0(), "rule__InstancePropertyRef__InstanceAssignment_0");
put(grammarAccess.getInstancePropertyRefAccess().getPropertyEnumAssignment_1_1_0(), "rule__InstancePropertyRef__PropertyEnumAssignment_1_1_0");
put(grammarAccess.getInstancePropertyRefAccess().getPropertyAssignment_1_1_1(), "rule__InstancePropertyRef__PropertyAssignment_1_1_1");
put(grammarAccess.getInstanceRefAccess().getInstanceAssignment_0(), "rule__InstanceRef__InstanceAssignment_0");
put(grammarAccess.getInstanceRefAccess().getTailAssignment_1_1(), "rule__InstanceRef__TailAssignment_1_1");
put(grammarAccess.getHierInstanceRefAccess().getInstanceAssignment_0(), "rule__HierInstanceRef__InstanceAssignment_0");
put(grammarAccess.getHierInstanceRefAccess().getTailAssignment_1_1(), "rule__HierInstanceRef__TailAssignment_1_1");
put(grammarAccess.getPropertyAssignmentRhsAccess().getValueAssignment_0(), "rule__PropertyAssignmentRhs__ValueAssignment_0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getInstPropRefAssignment_1(), "rule__PropertyAssignmentRhs__InstPropRefAssignment_1");
put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumRefAssignment_2_0(), "rule__PropertyAssignmentRhs__EnumRefAssignment_2_0");
put(grammarAccess.getPropertyAssignmentRhsAccess().getEnumsAssignment_2_2(), "rule__PropertyAssignmentRhs__EnumsAssignment_2_2");
put(grammarAccess.getPropertyAssignmentRhsAccess().getElementsAssignment_3(), "rule__PropertyAssignmentRhs__ElementsAssignment_3");
put(grammarAccess.getConcatAccess().getElementsAssignment_1(), "rule__Concat__ElementsAssignment_1");
put(grammarAccess.getConcatAccess().getElementsAssignment_2_1(), "rule__Concat__ElementsAssignment_2_1");
put(grammarAccess.getConcatElemAccess().getInstPropRefAssignment_0(), "rule__ConcatElem__InstPropRefAssignment_0");
put(grammarAccess.getConcatElemAccess().getValueAssignment_1(), "rule__ConcatElem__ValueAssignment_1");
put(grammarAccess.getPropertyRvalueConstantAccess().getValAssignment_0(), "rule__PropertyRvalueConstant__ValAssignment_0");
put(grammarAccess.getPropertyRvalueConstantAccess().getNumAssignment_1(), "rule__PropertyRvalueConstant__NumAssignment_1");
put(grammarAccess.getPropertyRvalueConstantAccess().getStrAssignment_2(), "rule__PropertyRvalueConstant__StrAssignment_2");
put(grammarAccess.getEnumDefinitionAccess().getNameAssignment_1(), "rule__EnumDefinition__NameAssignment_1");
put(grammarAccess.getEnumDefinitionAccess().getBodyAssignment_2(), "rule__EnumDefinition__BodyAssignment_2");
put(grammarAccess.getEnumBodyAccess().getEntriesAssignment_2(), "rule__EnumBody__EntriesAssignment_2");
put(grammarAccess.getEnumEntryAccess().getNameAssignment_0(), "rule__EnumEntry__NameAssignment_0");
put(grammarAccess.getEnumEntryAccess().getIndexAssignment_2(), "rule__EnumEntry__IndexAssignment_2");
put(grammarAccess.getEnumEntryAccess().getPropertiesAssignment_3_1(), "rule__EnumEntry__PropertiesAssignment_3_1");
put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_0_0(), "rule__EnumProperty__NameAssignment_0_0_0");
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_0_2(), "rule__EnumProperty__ValueAssignment_0_0_2");
put(grammarAccess.getEnumPropertyAccess().getNameAssignment_0_1_0(), "rule__EnumProperty__NameAssignment_0_1_0");
put(grammarAccess.getEnumPropertyAccess().getValueAssignment_0_1_2(), "rule__EnumProperty__ValueAssignment_0_1_2");
put(grammarAccess.getEnumInstanceTypeAccess().getEXTERNALAssignment_0(), "rule__EnumInstanceType__EXTERNALAssignment_0");
put(grammarAccess.getEnumInstanceTypeAccess().getINTERNALAssignment_1(), "rule__EnumInstanceType__INTERNALAssignment_1");
}
};
}
return nameMappings.get(element);
return nameMappings.getRuleName(element);
}
@Override
protected String[] getInitialHiddenTokens() {
return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ESCAPE_JSP", "RULE_ESCAPE_ORDL" };
@ -226,4 +241,12 @@ public class RDLParser extends AbstractContentAssistParser {
public void setGrammarAccess(RDLGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
public NameMappings getNameMappings() {
return nameMappings;
}
public void setNameMappings(NameMappings nameMappings) {
this.nameMappings = nameMappings;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
grammar InternalRDL;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ide;

View File

@ -3,7 +3,7 @@
id="com.minres.rdl.platform.feature"
label="Xtext Platform Feature"
version="1.0.0.qualifier"
provider-name="MINRES">
provider-name="MINRES Technologies GmbH">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
@ -17,400 +17,21 @@
[Enter License Description here.]
</license>
<includes
id="org.eclipse.xtext.runtime"
version="0.0.0"/>
<includes
id="org.eclipse.rcp"
version="0.0.0"/>
<requires>
<import plugin="org.eclipse.e4.core.di" version="1.5.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.codegen" version="2.11.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.text" version="3.5.0" match="compatible"/>
<import plugin="org.apache.batik.util.gui" version="1.7.0" match="equivalent"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.debug.core" version="3.9.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.800" match="compatible"/>
<import plugin="org.eclipse.xtend" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xpand" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtend.typesystem.emf" version="1.0.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.common" version="2.10.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.security" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.5.300" match="compatible"/>
<import plugin="org.eclipse.help" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.emf.codegen.ecore" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.pde.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.views" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.pde.build" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ant.launching" version="1.0.400" match="compatible"/>
<import plugin="org.eclipse.ant.ui" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.intro" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.cheatsheets" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.update.configurator" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.ui.views.log" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator.resources" version="3.3.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.ui" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.metadata" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.engine" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.core" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.director" version="2.1.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.artifact.repository" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.metadata.repository" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.operations" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.frameworkadmin" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.pde.launching" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.simpleconfigurator" version="1.0.200" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository.tools" version="2.0.100" match="compatible"/>
<import plugin="org.eclipse.team.ui" version="3.6.100" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.ui.trace" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.bidi" version="0.10.0"/>
<import plugin="org.eclipse.equinox.registry" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.codegen.ecore" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit.ui" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.emf.ecore.edit" version="2.9.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.3.0" match="compatible"/>
<import plugin="org.sat4j.core" version="2.3.5" match="compatible"/>
<import plugin="org.sat4j.pb" version="2.3.5" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.observable" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.property" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.registry" version="3.4.0" match="compatible"/>
<import plugin="com.google.guava" version="14.0.0"/>
<import plugin="com.google.inject" version="3.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.services" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi.services" version="3.2.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench.renderers.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.widgets" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.core" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.di" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.7.0" match="greaterOrEqual"/>
<import plugin="org.apache.ant" version="1.9.4" match="greaterOrEqual"/>
<import plugin="org.eclipse.ant.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.externaltools" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ant.launching" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.externaltools" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit" version="2.10.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.200" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.6.0" match="compatible"/>
<import plugin="org.w3c.css.sac" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.registry" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.preferences" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.help" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.9.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.101.0" match="compatible"/>
<import plugin="org.eclipse.jface.databinding" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.observable" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.swt" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.di" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="0.9.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt.theme" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.bindings" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench3" version="0.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.addons.swt" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.7.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.13.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench.renderers.swt" version="0.10.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.tukaani.xz" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.text" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.core.filebuffers" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.ant.core" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.repository" version="2.0.0"/>
<import plugin="org.eclipse.equinox.p2.garbagecollector" version="1.0.100" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.0.0" match="compatible"/>
<import plugin="org.eclipse.emf.common" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.core.commands" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.107.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.security.ui" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.1.0" match="compatible"/>
<import plugin="org.eclipse.compare.core" version="3.5.200" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.debug.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.help" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.compare" version="3.5.101" match="greaterOrEqual"/>
<import plugin="org.eclipse.jface.databinding" version="1.3.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding.beans" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.launching" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.apache.batik.util" version="1.7.0" match="equivalent"/>
<import plugin="org.eclipse.emf.common.ui" version="2.11.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.emf.xpath" version="0.1.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.editor" version="2.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.views" version="3.3.100" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug.ui" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit.runtime" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.200" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.junit.core" version="3.6.0" match="compatible"/>
<import plugin="com.ibm.icu" version="4.4.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.xmi" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.ide" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.compare.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench.swt" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi.services" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.200" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.5.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.3.0" match="compatible"/>
<import plugin="com.jcraft.jsch" version="0.1.50" match="compatible"/>
<import plugin="org.eclipse.core.net" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.104.0" match="compatible"/>
<import plugin="org.eclipse.core.commands" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.106.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.services" version="2.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.contexts" version="1.3.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.11.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.1.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.di" version="1.6.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.14.0" match="compatible"/>
<import plugin="org.eclipse.osgi.services" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.12.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.mwe2.runtime" version="2.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtext" version="2.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.xtext.common.types" version="2.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.4.1" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.help" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.expressions" version="3.4.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.common" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.swt" version="3.103.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.9.0" match="compatible"/>
<import plugin="org.objectweb.asm" version="5.0.1" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.7.100" match="compatible"/>
<import plugin="org.eclipse.core.variables" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.ui" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.search" version="3.5.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.swt" version="3.0.0" match="compatible"/>
<import plugin="org.eclipse.core.filebuffers" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.jdt.ui" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.console" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.junit" version="3.8.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.console" version="3.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.preferences" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.core.contenttype" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.equinox.app" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.metadata.repository" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.artifact.repository" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.7.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.3.200" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.team.ui" version="3.4.100" match="compatible"/>
<import plugin="org.eclipse.ui.forms" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui" version="3.3.0" match="compatible"/>
<import plugin="org.apache.commons.lang" version="2.0.0" match="compatible"/>
<import plugin="org.apache.commons.logging" version="1.0.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.3.0" match="compatible"/>
<import plugin="org.hamcrest.core" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.views.properties.tabbed" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.10.100" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.105.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.expressions" version="3.4.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.navigator" version="3.4.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.extensions" version="0.13.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.resources" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.editors" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jface.text" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.ide" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.views" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.edit.ui" version="2.10.2" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.4.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.forms" version="3.4.1" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.core" version="0.10.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.11.100" match="greaterOrEqual"/>
<import plugin="org.apache.commons.jxpath" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore" version="2.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.core.di.annotations" version="1.4.0" match="compatible"/>
<import plugin="org.eclipse.core.runtime" version="3.1.0" match="compatible"/>
<import plugin="org.eclipse.core.externaltools" version="1.0.300" match="compatible"/>
<import plugin="org.apache.lucene.core" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.ui.views" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.emf.edit" version="2.12.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.search" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.debug.ui" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.jdt.launching" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.jface" version="3.11.0" match="compatible"/>
<import plugin="org.eclipse.ui.workbench.texteditor" version="3.10.0" match="compatible"/>
<import plugin="org.eclipse.ltk.ui.refactoring" version="3.8.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator.resources" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.jdt.core.manipulation" version="1.7.0" match="compatible"/>
<import plugin="org.w3c.dom.smil" version="1.0.0" match="equivalent"/>
<import plugin="org.eclipse.core.runtime" version="3.12.0" match="compatible"/>
<import plugin="org.eclipse.core.resources" version="3.8.100" match="compatible"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.e4.core.commands" version="0.11.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.ecore.change" version="2.5.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.3.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.preferences" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.equinox.registry" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.xtext.ide" version="2.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ant.core" version="3.1.100" match="compatible"/>
<import plugin="org.eclipse.osgi" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.jarprocessor" version="1.0.1" match="compatible"/>
<import plugin="org.eclipse.equinox.p2.publisher" version="1.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.director.app" version="1.0.200" match="greaterOrEqual"/>
<import plugin="org.eclipse.equinox.p2.publisher.eclipse" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.osgi" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.team.core" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.compare" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui.navigator" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.jface.text" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ui.editors" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.ltk.core.refactoring" version="3.6.0" match="compatible"/>
<import plugin="org.eclipse.debug.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.pde.core" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.jdt.debug" version="3.2.0" match="compatible"/>
<import plugin="org.eclipse.help.base" version="4.0.0" match="compatible"/>
<import plugin="org.eclipse.equinox.app" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.e4.ui.workbench" version="0.10.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services" version="0.1.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.css.swt" version="0.9.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench3" version="0.11.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.jobs" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.filesystem" version="1.3.0" match="greaterOrEqual"/>
<import plugin="org.apache.lucene.analysis" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.net" version="1.2.200" match="greaterOrEqual"/>
<import plugin="org.apache.batik.css" version="1.7.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.emf.mwe.utils" version="1.3.0" match="greaterOrEqual"/>
</requires>
<includes
id="org.eclipse.xtext.redist"
version="0.0.0"/>
<includes
id="org.eclipse.xtext.ui"
version="0.0.0"/>
<includes
id="org.eclipse.help"
version="0.0.0"/>
<plugin
id="org.eclipse.e4.core.di.extensions"
@ -433,13 +54,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.util"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.p2.director.app"
download-size="0"
@ -531,13 +145,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.p2.repository"
download-size="0"
@ -657,13 +264,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.workbench"
download-size="0"
@ -713,13 +313,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="javax.xml"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.core.jobs"
download-size="0"
@ -784,13 +377,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.css"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.common"
download-size="0"
@ -812,13 +398,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.ecore"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.jdt.junit"
download-size="0"
@ -915,13 +494,6 @@
install-size="0"
version="0.0.0"/>
<plugin
id="com.minres.rdl.product"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.mwe2.language"
download-size="0"
@ -1313,13 +885,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.minres.rdl"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.navigator.resources"
download-size="0"
@ -1348,13 +913,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.codetemplates.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.e4.ui.di"
download-size="0"
@ -1362,13 +920,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.forms"
download-size="0"
@ -1411,13 +962,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.batik.util.gui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.e4.emf.xpath"
download-size="0"
@ -1446,13 +990,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.lucene.analysis"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.edit.ui"
download-size="0"
@ -1627,13 +1164,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.shared"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.emf.ecore.editor"
download-size="0"
@ -1739,13 +1269,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtext.ui.codetemplates"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.xtend.lib"
download-size="0"
@ -1901,4 +1424,18 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.antlr.runtime"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.ui.genericeditor"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@ -9,6 +9,24 @@
<artifactId>com.minres.rdl.platform.feature</artifactId>
<packaging>eclipse-feature</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>none</phase>
<!-- <goals>
<goal>source-feature</goal>
</goals>
--> </execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>

View File

@ -2,7 +2,8 @@
<feature
id="com.minres.rdl.product.feature"
label="RDL Feature "
version="1.0.0.qualifier">
version="1.0.0.qualifier"
provider-name="MINRES Technologies GmbH">
<requires>
<import feature="com.minres.rdl.feature" version="1.0.0.qualifier"/>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.minres.rdl.product.releng</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product name="RDL" uid="com.minres.rdl.product.product" id="com.minres.rdl.product.product" application="org.eclipse.ui.ide.workbench" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
<product name="RDL Editor" uid="com.minres.rdl.product.product" id="com.minres.rdl.product.product" application="org.eclipse.ui.ide.workbench" version="1.2.0.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
@ -14,14 +13,12 @@
<windowImages/>
<launcher>
<solaris/>
<launcher name="rdl-editor">
<win useIco="false">
<bmp/>
</win>
</launcher>
<vm>
</vm>
@ -106,6 +103,16 @@
<feature id="com.minres.rdl.platform.feature" version="1.0.0.qualifier"/>
<feature id="com.minres.rdl.product.feature" version="1.0.0.qualifier"/>
<feature id="com.minres.rdl.feature" version="1.0.0.qualifier"/>
<feature id="org.eclipse.emf.ecore"/>
<feature id="org.eclipse.rcp"/>
<feature id="org.eclipse.emf.common"/>
<feature id="org.eclipse.xtext.runtime"/>
<feature id="org.eclipse.e4.rcp"/>
<feature id="org.eclipse.xtext.xbase"/>
<feature id="org.eclipse.help"/>
<feature id="org.eclipse.xtext.redist"/>
<feature id="org.eclipse.xtext.xbase.lib"/>
<feature id="org.eclipse.xtext.ui"/>
</features>
<configurations>

View File

@ -0,0 +1,45 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>com.minres.rdl.product.releng</artifactId>
<packaging>eclipse-repository</packaging>
<name>RDL EEditor</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
</formats>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -3,5 +3,5 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -2,7 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: RDL Editor
Bundle-SymbolicName: com.minres.rdl.product;singleton:=true
Bundle-Version: 1.1.0.qualifier
Bundle-Vendor: MINRES
Bundle-Version: 1.1.1.qualifier
Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.12.0"
Automatic-Module-Name: com.minres.rdl.product

View File

@ -1,5 +1,4 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml

View File

@ -6,10 +6,10 @@
point="org.eclipse.core.runtime.products">
<product
application="org.eclipse.ui.ide.workbench"
name="RDL">
name="RDL Editor">
<property
name="appName"
value="RDL">
value="RDL Editor">
</property>
</product>
</extension>

View File

@ -4,18 +4,9 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.1.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.product</artifactId>
<packaging>eclipse-application</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<packaging>eclipse-plugin</packaging>
<version>1.1.1-SNAPSHOT</version>
</project>

View File

@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="com.minres.rdl.feature" version="0.0.0">
<category name="main"/>
</feature>
<category-def name="main" label="RDL"/>
<feature id="com.minres.rdl.feature" version="0.0.0">
<category name="main"/>
</feature>
<feature id="com.minres.rdl.feature.source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="RDL"/>
<category-def name="main.source" label="RDL (Sources)"/>
</site>

View File

@ -7,6 +7,7 @@
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.repository</artifactId>
<version>1.1.1-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<build>

View File

@ -12,11 +12,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>

View File

@ -1,5 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -168,6 +168,7 @@
<parent>
<artifactId>com.minres.rdl.parent</artifactId>
<groupId>com.minres.rdl</groupId>
<version>1.1.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<version>1.1.1-SNAPSHOT</version>
</project>

View File

@ -1,25 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="com.minres.rdl.target" sequenceNumber="3">
<?pde version="3.8"?><target name="com.minres.rdl.target" sequenceNumber="1">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.12.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.draw2d.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
<unit id="org.eclipse.xpand" version="0.0.0"/>
<unit id="org.eclipse.xtend" version="0.0.0"/>
<unit id="org.eclipse.xtend.typesystem.emf" version="0.0.0"/>
<repository location="http://download.eclipse.org/releases/neon/201606221000/"/>
<repository location="http://download.eclipse.org/releases/photon"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.1/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.14.0/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.google.gson" version="2.7.0.v20170129-0911"/>
<unit id="org.antlr.runtime" version="3.2.0.v201101311130"/>
<unit id="org.junit" version="4.12.0.v201504281640"/>
<unit id="org.objectweb.asm" version="6.1.1.v20180414-0329"/>
<unit id="org.objectweb.asm.tree" version="6.1.1.v20180414-0329"/>
<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20180504181223/repository"/>
</location>
</locations>
</target>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.1.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.target</artifactId>
<packaging>eclipse-target-definition</packaging>

View File

@ -3,6 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.tests
Bundle-Vendor: My Company
@ -9,13 +10,7 @@ Require-Bundle: com.minres.rdl,
org.junit;bundle-version="4.12.0",
org.eclipse.xtext.testing,
org.eclipse.xtext.xbase.testing,
org.eclipse.xtext.xbase.lib
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.tests;x-internal=true
Import-Package: org.hamcrest.core,
org.junit;version="4.5.0",
org.junit.runners.model;version="4.5.0",
org.junit.runner;version="4.5.0",
org.junit.runners;version="4.5.0",
org.junit.runner.manipulation;version="4.5.0",
org.junit.runner.notification;version="4.5.0"

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests
@ -21,9 +21,53 @@ class RDLParsingTest {
@Test
def void loadModel() {
val result = parseHelper.parse('''
Hello Xtext!
regfile uart_regs {
reg {
name="txdata";
desc="Transmit data register";
field {} data[7:0];
field {} full[31:31];
} txdata @0x00;
reg {
name="rxdata";
desc="Receive data register";
field {} data[7:0];
field {} empty[31:31];
}rxdata @0x04;
reg {
name="txctrl";
desc="Transmit control register";
field {} txen[1];
field {} nstop[1];
field {} txcnt[18:16];
}txctrl @0x08;
reg {
name="rxctrl";
desc="Receive control register";
field {} rxen[1];
field {} rxcnt[18:16];
}rxctrl @0x0C;
reg {
name="ie";
desc="UART interrupt enable";
field{} txwm[1];
field{} rxwm[1];
}ie @0x10;
reg {
name="ip";
desc="UART Interrupt pending";
field{} txwm[1];
field{} rxwm[1];
} ip @0x14;
reg {
name="div";
desc="Baud rate divisor";
field{} div[16];
} div @0x18;
};
''')
Assert.assertNotNull(result)
Assert.assertTrue(result.eResource.errors.isEmpty)
val errors = result.eResource.errors
Assert.assertTrue('''Unexpected errors: «errors.join(", ")»''', errors.isEmpty)
}
}

View File

@ -1,16 +1,19 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.tests;
import com.google.inject.Inject;
import com.minres.rdl.rdl.Root;
import com.minres.rdl.tests.RDLInjectorProvider;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.testing.InjectWith;
import org.eclipse.xtext.testing.XtextRunner;
import org.eclipse.xtext.testing.util.ParseHelper;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -26,11 +29,144 @@ public class RDLParsingTest {
public void loadModel() {
try {
StringConcatenation _builder = new StringConcatenation();
_builder.append("Hello Xtext!");
_builder.append("regfile uart_regs {");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"txdata\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Transmit data register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} data[7:0];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} full[31:31];");
_builder.newLine();
_builder.append("\t");
_builder.append("} txdata @0x00;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"rxdata\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Receive data register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} data[7:0];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} empty[31:31];");
_builder.newLine();
_builder.append("\t");
_builder.append("}rxdata @0x04;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"txctrl\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Transmit control register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} txen[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} nstop[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} txcnt[18:16];");
_builder.newLine();
_builder.append("\t");
_builder.append("}txctrl @0x08;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"rxctrl\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Receive control register\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} rxen[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field {} rxcnt[18:16];");
_builder.newLine();
_builder.append("\t");
_builder.append("}rxctrl @0x0C;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"ie\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"UART interrupt enable\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} txwm[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} rxwm[1];");
_builder.newLine();
_builder.append("\t");
_builder.append("}ie @0x10;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"ip\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"UART Interrupt pending\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} txwm[1];");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} rxwm[1];");
_builder.newLine();
_builder.append("\t");
_builder.append("} ip @0x14;");
_builder.newLine();
_builder.append("\t");
_builder.append("reg {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("name=\"div\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("desc=\"Baud rate divisor\";");
_builder.newLine();
_builder.append("\t\t");
_builder.append("field{} div[16];");
_builder.newLine();
_builder.append("\t");
_builder.append("} div @0x18;");
_builder.newLine();
_builder.append("};");
_builder.newLine();
final Root result = this.parseHelper.parse(_builder);
Assert.assertNotNull(result);
Assert.assertTrue(result.eResource().getErrors().isEmpty());
final EList<Resource.Diagnostic> errors = result.eResource().getErrors();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("Unexpected errors: ");
String _join = IterableExtensions.join(errors, ", ");
_builder_1.append(_join);
Assert.assertTrue(_builder_1.toString(), errors.isEmpty());
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}

View File

@ -3,6 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="target/classes"/>

View File

@ -1,4 +1,5 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ui.tests
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui.tests
Bundle-Vendor: My Company
@ -15,10 +16,4 @@ Require-Bundle: com.minres.rdl.ui,
org.eclipse.ui.workbench;resolution:=optional
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.ui.tests;x-internal=true
Import-Package: org.hamcrest.core,
org.junit;version="4.5.0",
org.junit.runners.model;version="4.5.0",
org.junit.runner;version="4.5.0",
org.junit.runners;version="4.5.0",
org.junit.runner.manipulation;version="4.5.0",
org.junit.runner.notification;version="4.5.0"

View File

@ -18,7 +18,6 @@
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<failIfNoTests>false</failIfNoTests>
<useUIHarness>true</useUIHarness>
@ -45,18 +44,4 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>testing-on-mac</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<tycho.testArgLine>-XstartOnFirstThread</tycho.testArgLine>
</properties>
</profile>
</profiles>
</project>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.tests;

View File

@ -0,0 +1 @@
/plugin.xml_gen

View File

@ -1,8 +1,9 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl.ui
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl.ui
Bundle-Vendor: My Company
Bundle-Version: 1.1.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.2.0.qualifier
Bundle-SymbolicName: com.minres.rdl.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: com.minres.rdl,
@ -15,11 +16,13 @@ Require-Bundle: com.minres.rdl,
org.eclipse.ui,
org.eclipse.compare,
org.eclipse.xtext.builder,
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
org.eclipse.xtend.lib;resolution:=optional,
org.eclipse.xtext.xbase.lib
org.eclipse.core.runtime,
org.eclipse.core.resources
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl.ui.internal,
com.minres.rdl.ui.quickfix,
com.minres.rdl.ui.contentassist
com.minres.rdl.ui.contentassist,
com.minres.rdl.ui.quickfix
Bundle-Activator: com.minres.rdl.ui.internal.RdlActivator

View File

@ -3,5 +3,6 @@ source.. = src/,\
xtend-gen/
bin.includes = .,\
META-INF/,\
plugin.xml
plugin.xml,\
icons/
bin.excludes = **/*.xtend

View File

@ -98,16 +98,12 @@
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
<page category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.preferences.RdlPreferencePage"
id="com.minres.rdl.ui.preferences.TextPreferencePage"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.preferences.RdlPreferencePage"
id="com.minres.rdl.RDL.preferences"
name="Generator">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.core.runtime.preferences">
<initializer class="com.minres.rdl.preferences.PreferenceInitializer">
</initializer>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
@ -214,6 +210,15 @@
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.core.runtime.text"
file-extensions="rdl"
id="com.minres.rdl.RDL.contenttype"
name="RDL File"
priority="normal">
</content-type>
</extension>
<!-- adding resource factories -->
<extension
point="org.eclipse.emf.ecore.extension_parser">
@ -250,6 +255,15 @@
<super type="org.eclipse.xtext.ui.check.expensive"/>
<persistent value="true"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.minres.rdl.RDL"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage"
id="com.minres.rdl.RDL.validator.preferencePage"
name="Errors/Warnings">
<keywordReference id="com.minres.rdl.ui.keyword_RDL"/>
</page>
</extension>
<extension point="org.eclipse.xtext.builder.participant">
<participant
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
@ -398,12 +412,18 @@
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="rdl">
</viewer>
<contentTypeBinding
contentTypeId="com.minres.rdl.RDL.contenttype"
contentViewerId="com.minres.rdl.RDL.compare.contentViewers" />
</extension>
<extension point="org.eclipse.compare.contentMergeViewers">
<viewer id="com.minres.rdl.RDL.compare.contentMergeViewers"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="rdl" label="RDL Compare">
</viewer>
<contentTypeBinding
contentTypeId="com.minres.rdl.RDL.contenttype"
contentMergeViewerId="com.minres.rdl.RDL.compare.contentMergeViewers" />
</extension>
<extension point="org.eclipse.ui.editors.documentProviders">
<provider id="com.minres.rdl.RDL.editors.documentProviders"
@ -417,4 +437,18 @@
type="text">
</fileTypes>
</extension>
<extension
point="org.eclipse.ui.newWizards">
<wizard
category="com.minres.category"
class="com.minres.rdl.ui.RDLExecutableExtensionFactory:com.minres.rdl.ui.wizard.RDLNewProjectWizard"
id="com.minres.rdl.ui.wizard.RDLNewProjectWizard"
name="RDL Project"
project="true">
</wizard>
<category
id="com.minres.category"
name="MINRES">
</category>
</extension>
</plugin>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.1.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.ui</artifactId>
<packaging>eclipse-plugin</packaging>
@ -18,4 +18,5 @@
</plugins>
</build>
<version>1.2.0-SNAPSHOT</version>
</project>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
@ -14,6 +14,8 @@ import com.minres.rdl.ui.labeling.RDLDescriptionLabelProvider;
import com.minres.rdl.ui.labeling.RDLLabelProvider;
import com.minres.rdl.ui.outline.RDLOutlineTreeProvider;
import com.minres.rdl.ui.quickfix.RDLQuickfixProvider;
import com.minres.rdl.ui.wizard.RDLProjectCreator;
import com.minres.rdl.validation.RDLValidatorConfigurationBlock;
import org.eclipse.compare.IViewerCreator;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
@ -76,6 +78,8 @@ import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport;
import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences;
import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider;
import org.eclipse.xtext.ui.shared.Access;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
/**
* Manual modifications go to {@link RDLUiModule}.
@ -133,6 +137,11 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
binder.bind(InternalRDLLexer.class).toProvider(LexerProvider.create(InternalRDLLexer.class));
}
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
public Class<? extends AbstractValidatorConfigurationBlock> bindAbstractValidatorConfigurationBlock() {
return RDLValidatorConfigurationBlock.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
public Class<? extends PrefixMatcher> bindPrefixMatcher() {
return FQNPrefixMatcher.class;
@ -210,6 +219,13 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
return RDLProposalProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public void configureIPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class)
.annotatedWith(Names.named("RefactoringPreferences"))
.to(RefactoringPreferences.Initializer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameStrategy> bindIRenameStrategy() {
return DefaultRenameStrategy.class;
@ -220,13 +236,6 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
return DefaultReferenceUpdater.class;
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public void configureIPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class)
.annotatedWith(Names.named("RefactoringPreferences"))
.to(RefactoringPreferences.Initializer.class);
}
// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() {
return DefaultRenameRefactoringProvider.class;
@ -278,6 +287,11 @@ public abstract class AbstractRDLUiModule extends DefaultUiModule {
binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("RDL Compare");
}
// contributed by org.eclipse.xtext.xtext.generator.ui.projectWizard.SimpleProjectWizardFragment2
public Class<? extends IProjectCreator> bindIProjectCreator() {
return RDLProjectCreator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() {
return DefaultDependentElementsCalculator.class;

View File

@ -1,10 +1,11 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
import com.google.inject.Injector;
import com.minres.rdl.ui.internal.RdlActivator;
import org.eclipse.core.runtime.Platform;
import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
import org.osgi.framework.Bundle;
@ -16,12 +17,13 @@ public class RDLExecutableExtensionFactory extends AbstractGuiceAwareExecutableE
@Override
protected Bundle getBundle() {
return RdlActivator.getInstance().getBundle();
return Platform.getBundle(RdlActivator.PLUGIN_ID);
}
@Override
protected Injector getInjector() {
return RdlActivator.getInstance().getInjector(RdlActivator.COM_MINRES_RDL_RDL);
RdlActivator activator = RdlActivator.getInstance();
return activator != null ? activator.getInjector(RdlActivator.COM_MINRES_RDL_RDL) : null;
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist;

View File

@ -1,12 +1,11 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.internal;
import com.google.common.collect.Maps;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
import com.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.ui.RDLUiModule;
import java.util.Collections;
@ -23,6 +22,7 @@ import org.osgi.framework.BundleContext;
*/
public class RdlActivator extends AbstractUIPlugin {
public static final String PLUGIN_ID = "com.minres.rdl.ui";
public static final String COM_MINRES_RDL_RDL = "com.minres.rdl.RDL";
private static final Logger logger = Logger.getLogger(RdlActivator.class);
@ -60,10 +60,10 @@ public class RdlActivator extends AbstractUIPlugin {
protected Injector createInjector(String language) {
try {
Module runtimeModule = getRuntimeModule(language);
Module sharedStateModule = getSharedStateModule();
Module uiModule = getUiModule(language);
Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
com.google.inject.Module runtimeModule = getRuntimeModule(language);
com.google.inject.Module sharedStateModule = getSharedStateModule();
com.google.inject.Module uiModule = getUiModule(language);
com.google.inject.Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule);
return Guice.createInjector(mergedModule);
} catch (Exception e) {
logger.error("Failed to create injector for " + language);
@ -72,22 +72,23 @@ public class RdlActivator extends AbstractUIPlugin {
}
}
protected Module getRuntimeModule(String grammar) {
protected com.google.inject.Module getRuntimeModule(String grammar) {
if (COM_MINRES_RDL_RDL.equals(grammar)) {
return new RDLRuntimeModule();
}
throw new IllegalArgumentException(grammar);
}
protected Module getUiModule(String grammar) {
protected com.google.inject.Module getUiModule(String grammar) {
if (COM_MINRES_RDL_RDL.equals(grammar)) {
return new RDLUiModule(this);
}
throw new IllegalArgumentException(grammar);
}
protected Module getSharedStateModule() {
protected com.google.inject.Module getSharedStateModule() {
return new SharedStateModule();
}
}

View File

@ -0,0 +1,55 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.XtextNewProjectWizard;
import org.eclipse.xtext.ui.wizard.IExtendedProjectInfo;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
import com.google.inject.Inject;
public class RDLNewProjectWizard extends XtextNewProjectWizard {
private RDLWizardNewProjectCreationPage mainPage;
@Inject
public RDLNewProjectWizard(IProjectCreator projectCreator) {
super(projectCreator);
setWindowTitle("New RDL Project");
}
protected RDLWizardNewProjectCreationPage getMainPage() {
return mainPage;
}
/**
* Use this method to add pages to the wizard.
* The one-time generated version of this class will add a default new project page to the wizard.
*/
@Override
public void addPages() {
mainPage = createMainPage("basicNewProjectPage");
mainPage.setTitle("RDL Project");
mainPage.setDescription("Create a new RDL project.");
addPage(mainPage);
}
protected RDLWizardNewProjectCreationPage createMainPage(String pageName) {
return new RDLWizardNewProjectCreationPage(pageName);
}
/**
* Use this method to read the project settings from the wizard pages and feed them into the project info class.
*/
@Override
protected IExtendedProjectInfo getProjectInfo() {
RDLProjectInfo projectInfo = new RDLProjectInfo();
projectInfo.setProjectName(mainPage.getProjectName());
if (!mainPage.useDefaults()) {
projectInfo.setLocationPath(mainPage.getLocationPath());
}
return projectInfo;
}
}

View File

@ -0,0 +1,98 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.AbstractPluginProjectCreator;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.generator.IFileSystemAccess2;
import org.eclipse.xtext.generator.IOutputConfigurationProvider;
import org.eclipse.xtext.generator.OutputConfiguration;
import org.eclipse.xtext.ui.util.PluginProjectFactory;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class RDLProjectCreator extends AbstractPluginProjectCreator {
protected static final String DSL_PROJECT_NAME = "com.minres.rdl";
@Inject
private RDLNewProjectWizardInitialContents initialContents;
@Inject
private Provider<EclipseResourceFileSystemAccess2> fileSystemAccessProvider;
@Inject
private IOutputConfigurationProvider outputConfigurationProvider;
@Override
protected PluginProjectFactory createProjectFactory() {
PluginProjectFactory projectFactory = super.createProjectFactory();
projectFactory.setWithPluginXml(false);
return projectFactory;
}
@Override
protected RDLProjectInfo getProjectInfo() {
return (RDLProjectInfo) super.getProjectInfo();
}
@Override
protected String getModelFolderName() {
return "src";
}
@Override
protected List<String> getAllFolders() {
Set<OutputConfiguration> outputConfigurations = outputConfigurationProvider.getOutputConfigurations();
String outputFolder = "src-gen";
for (OutputConfiguration outputConfiguration : outputConfigurations) {
if (IFileSystemAccess.DEFAULT_OUTPUT.equals(outputConfiguration.getName())) {
outputFolder = outputConfiguration.getOutputDirectory();
break;
}
}
return ImmutableList.of(getModelFolderName(), outputFolder);
}
@Override
protected List<String> getRequiredBundles() {
return Lists.newArrayList(DSL_PROJECT_NAME);
}
@Override
protected void enhanceProject(final IProject project, final IProgressMonitor monitor) throws CoreException {
IFileSystemAccess2 access = getFileSystemAccess(project, monitor);
initialContents.generateInitialContents(access);
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
}
protected IFileSystemAccess2 getFileSystemAccess(final IProject project, final IProgressMonitor monitor) {
EclipseResourceFileSystemAccess2 access = fileSystemAccessProvider.get();
access.setContext(project);
access.setMonitor(monitor);
OutputConfiguration defaultOutput = new OutputConfiguration(IFileSystemAccess.DEFAULT_OUTPUT);
defaultOutput.setDescription("Output Folder");
defaultOutput.setOutputDirectory("./");
defaultOutput.setOverrideExistingResources(true);
defaultOutput.setCreateOutputDirectory(true);
defaultOutput.setCleanUpDerivedResources(false);
defaultOutput.setSetDerivedProperty(false);
defaultOutput.setKeepLocalHistory(false);
HashMap<String, OutputConfiguration> outputConfigurations = new HashMap<String, OutputConfiguration>();
outputConfigurations.put(IFileSystemAccess.DEFAULT_OUTPUT, defaultOutput);
access.setOutputConfigurations(outputConfigurations);
return access;
}
}

View File

@ -0,0 +1,65 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.validation;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.xtext.ui.preferences.OptionsConfigurationBlock;
import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
import org.eclipse.xtext.validation.SeverityConverter;
@SuppressWarnings("restriction")
public class RDLValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock {
@Override
protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) {
addComboBox(RDLConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent);
}
@Override
protected Job getBuildJob(IProject project) {
Job buildJob = new OptionsConfigurationBlock.BuildJob("Validation Settings Changed", project);
buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
buildJob.setUser(true);
return buildJob;
}
@Override
protected String[] getFullBuildDialogStrings(boolean workspaceSettings) {
return new String[] { "Validation Settings Changed",
"Validation settings have changed. A full rebuild is required for changes to take effect. Do the full build now?" };
}
@Override
protected void validateSettings(String changedKey, String oldValue, String newValue) {
}
protected Combo addComboBox(String prefKey, String label, Composite parent, int indent) {
String[] values = new String[] { SeverityConverter.SEVERITY_ERROR, SeverityConverter.SEVERITY_WARNING,
SeverityConverter.SEVERITY_INFO, SeverityConverter.SEVERITY_IGNORE };
String[] valueLabels = new String[] { "Error", "Warning", "Info", "Ignore" };
Combo comboBox = addComboBox(parent, label, prefKey, indent, values, valueLabels);
return comboBox;
}
@Override
public void dispose() {
storeSectionExpansionStates(getDialogSettings());
super.dispose();
}
@Override
protected IDialogSettings getDialogSettings() {
IDialogSettings dialogSettings = super.getDialogSettings();
IDialogSettings section = dialogSettings.getSection("RDL");
if (section == null) {
return dialogSettings.addNewSection("RDL");
}
return section;
}
}

View File

@ -0,0 +1,17 @@
package com.minres.rdl.ui;
import org.eclipse.xtext.ui.XtextProjectHelper;
import com.minres.rdl.ui.wizard.RDLProjectCreator;
public class JDTFreeStructuralProjectCreator extends RDLProjectCreator {
@Override
protected String[] getProjectNatures() {
return new String[] {XtextProjectHelper.NATURE_ID};
}
@Override
protected String[] getBuilders() {
return new String[] {XtextProjectHelper.BUILDER_ID};
}
}

View File

@ -1,11 +1,18 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider
import org.eclipse.xtext.ui.wizard.IProjectCreator
import org.eclipse.xtext.ui.resource.IResourceSetProvider
import org.eclipse.xtext.ui.resource.SimpleResourceSetProvider
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
import com.minres.structural.ui.hyperlink.MyXtextHyperlink
/**
* Use this class to register components to be used within the Eclipse IDE.
@ -21,4 +28,20 @@ class RDLUiModule extends AbstractRDLUiModule {
typeof(RDLEObjectDocumentationProvider);
}
override Class<? extends IProjectCreator> bindIProjectCreator() {
return JDTFreeStructuralProjectCreator;
}
override Class<? extends IResourceSetProvider> bindIResourceSetProvider() {
return SimpleResourceSetProvider
}
def Class<? extends HyperlinkHelper> bindHyperlinkHelper() {
return MyHyperlinkHelper
}
def Class<? extends XtextHyperlink> bindHyperlink() {
return MyXtextHyperlink
}
}

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.outline

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.quickfix

View File

@ -0,0 +1,26 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard
import com.google.inject.Inject
import org.eclipse.xtext.generator.IFileSystemAccess2
import org.eclipse.xtext.resource.FileExtensionProvider
class RDLNewProjectWizardInitialContents {
@Inject
FileExtensionProvider fileExtensionProvider
def generateInitialContents(IFileSystemAccess2 fsa) {
fsa.generateFile(
"src/model/Model." + fileExtensionProvider.primaryFileExtension,
'''
/*
* This is an example model
*/
Hello Xtext!
'''
)
}
}

View File

@ -0,0 +1,10 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.DefaultProjectInfo;
public class RDLProjectInfo extends DefaultProjectInfo {
}

View File

@ -0,0 +1,14 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
public class RDLWizardNewProjectCreationPage extends WizardNewProjectCreationPage {
public RDLWizardNewProjectCreationPage(String pageName) {
super(pageName);
}
}

View File

@ -0,0 +1,52 @@
package com.minres.structural.ui.hyperlink
import com.google.inject.Inject
import org.eclipse.emf.common.util.URI
import org.eclipse.emf.ecore.util.EcoreUtil
import org.eclipse.jface.text.Region
import org.eclipse.xtext.EcoreUtil2
import org.eclipse.xtext.nodemodel.util.NodeModelUtils
import org.eclipse.xtext.resource.XtextResource
import org.eclipse.xtext.scoping.impl.ImportUriResolver
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkAcceptor
import org.eclipse.xtext.util.TextRegion
class MyHyperlinkHelper extends HyperlinkHelper {
@Inject ImportUriResolver resolver;
override createHyperlinksByOffset(XtextResource resource, int offset, IHyperlinkAcceptor acceptor) {
val region = new TextRegion(offset, 0)
val crossRefNode = getEObjectAtOffsetHelper().getCrossReferenceNode(resource, region);
if (crossRefNode === null){
val parseResult = resource.getParseResult();
if (parseResult !== null) {
val leaf = NodeModelUtils.findLeafNodeAtOffset(parseResult.getRootNode(), region.getOffset());
//val rule = EcoreUtil2.getContainerOfType(leaf.grammarElement, AbstractRule);
val semObj = NodeModelUtils.findActualSemanticObjectFor(leaf);
val importURI = resolver.resolve(semObj);
if (importURI !== null && EcoreUtil2.isValidUri(semObj, URI.createURI(importURI))) {
val referencedResource = EcoreUtil2.getResource(resource, importURI)
if(referencedResource !== null && referencedResource.contents.size>0){
val top = referencedResource.contents.get(0)
val textRegion = leaf.getTextRegion();
val uri = EcoreUtil.getURI(top);
val result = hyperlinkProvider.get();
result.setHyperlinkRegion(new Region(textRegion.getOffset(), textRegion.getLength()));
result.setURI(if(uri.isPlatformResource()) uri else resource.getResourceSet().getURIConverter().normalize(uri));
result.setHyperlinkText(labelProvider.getText(top));
if(result instanceof MyXtextHyperlink) result.selectTarget=false
acceptor.accept(result);
}
}
}
} else {
val crossLinkedEObject = getEObjectAtOffsetHelper().getCrossReferencedElement(crossRefNode);
if (crossLinkedEObject !== null && !crossLinkedEObject.eIsProxy()) {
createHyperlinksTo(resource, crossRefNode, crossLinkedEObject, acceptor);
}
}
}
}

View File

@ -0,0 +1,24 @@
package com.minres.structural.ui.hyperlink
import com.google.inject.Inject
import org.eclipse.xtext.ui.editor.IURIEditorOpener
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
class MyXtextHyperlink extends XtextHyperlink {
var boolean select = true
@Inject var IURIEditorOpener uriEditorOpener;
override void open() {
uriEditorOpener.open(getURI(), select);
}
def boolean getSelectTarget(){
return select
}
def void setSelectTarget(boolean select){
this.select=select
}
}

View File

@ -1,15 +1,23 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui;
import com.minres.rdl.ui.AbstractRDLUiModule;
import com.minres.rdl.ui.JDTFreeStructuralProjectCreator;
import com.minres.rdl.ui.RDLEObjectDocumentationProvider;
import com.minres.rdl.ui.RDLEObjectHoverProvider;
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper;
import com.minres.structural.ui.hyperlink.MyXtextHyperlink;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider;
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
import org.eclipse.xtext.ui.resource.IResourceSetProvider;
import org.eclipse.xtext.ui.resource.SimpleResourceSetProvider;
import org.eclipse.xtext.ui.wizard.IProjectCreator;
/**
* Use this class to register components to be used within the Eclipse IDE.
@ -25,6 +33,24 @@ public class RDLUiModule extends AbstractRDLUiModule {
return RDLEObjectDocumentationProvider.class;
}
@Override
public Class<? extends IProjectCreator> bindIProjectCreator() {
return JDTFreeStructuralProjectCreator.class;
}
@Override
public Class<? extends IResourceSetProvider> bindIResourceSetProvider() {
return SimpleResourceSetProvider.class;
}
public Class<? extends HyperlinkHelper> bindHyperlinkHelper() {
return MyHyperlinkHelper.class;
}
public Class<? extends XtextHyperlink> bindHyperlink() {
return MyXtextHyperlink.class;
}
public RDLUiModule(final AbstractUIPlugin arg0) {
super(arg0);
}

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.contentassist;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.labeling;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.outline;

View File

@ -1,5 +1,5 @@
/**
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.quickfix;

View File

@ -0,0 +1,32 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import com.google.inject.Inject;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.IFileSystemAccess2;
import org.eclipse.xtext.resource.FileExtensionProvider;
@SuppressWarnings("all")
public class RDLNewProjectWizardInitialContents {
@Inject
private FileExtensionProvider fileExtensionProvider;
public void generateInitialContents(final IFileSystemAccess2 fsa) {
String _primaryFileExtension = this.fileExtensionProvider.getPrimaryFileExtension();
String _plus = ("src/model/Model." + _primaryFileExtension);
StringConcatenation _builder = new StringConcatenation();
_builder.append("/*");
_builder.newLine();
_builder.append(" ");
_builder.append("* This is an example model");
_builder.newLine();
_builder.append(" ");
_builder.append("*/");
_builder.newLine();
_builder.append("Hello Xtext!");
_builder.newLine();
fsa.generateFile(_plus, _builder);
}
}

View File

@ -0,0 +1,72 @@
package com.minres.structural.ui.hyperlink;
import com.google.inject.Inject;
import com.minres.structural.ui.hyperlink.MyXtextHyperlink;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jface.text.Region;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.nodemodel.ILeafNode;
import org.eclipse.xtext.nodemodel.INode;
import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
import org.eclipse.xtext.parser.IParseResult;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.scoping.impl.ImportUriResolver;
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper;
import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkAcceptor;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
import org.eclipse.xtext.util.ITextRegion;
import org.eclipse.xtext.util.TextRegion;
@SuppressWarnings("all")
public class MyHyperlinkHelper extends HyperlinkHelper {
@Inject
private ImportUriResolver resolver;
@Override
public void createHyperlinksByOffset(final XtextResource resource, final int offset, final IHyperlinkAcceptor acceptor) {
final TextRegion region = new TextRegion(offset, 0);
final INode crossRefNode = this.getEObjectAtOffsetHelper().getCrossReferenceNode(resource, region);
if ((crossRefNode == null)) {
final IParseResult parseResult = resource.getParseResult();
if ((parseResult != null)) {
final ILeafNode leaf = NodeModelUtils.findLeafNodeAtOffset(parseResult.getRootNode(), region.getOffset());
final EObject semObj = NodeModelUtils.findActualSemanticObjectFor(leaf);
final String importURI = this.resolver.resolve(semObj);
if (((importURI != null) && EcoreUtil2.isValidUri(semObj, URI.createURI(importURI)))) {
final Resource referencedResource = EcoreUtil2.getResource(resource, importURI);
if (((referencedResource != null) && (referencedResource.getContents().size() > 0))) {
final EObject top = referencedResource.getContents().get(0);
final ITextRegion textRegion = leaf.getTextRegion();
final URI uri = EcoreUtil.getURI(top);
final XtextHyperlink result = this.getHyperlinkProvider().get();
int _offset = textRegion.getOffset();
int _length = textRegion.getLength();
Region _region = new Region(_offset, _length);
result.setHyperlinkRegion(_region);
URI _xifexpression = null;
boolean _isPlatformResource = uri.isPlatformResource();
if (_isPlatformResource) {
_xifexpression = uri;
} else {
_xifexpression = resource.getResourceSet().getURIConverter().normalize(uri);
}
result.setURI(_xifexpression);
result.setHyperlinkText(this.getLabelProvider().getText(top));
if ((result instanceof MyXtextHyperlink)) {
((MyXtextHyperlink)result).setSelectTarget(false);
}
acceptor.accept(result);
}
}
}
} else {
final EObject crossLinkedEObject = this.getEObjectAtOffsetHelper().getCrossReferencedElement(crossRefNode);
if (((crossLinkedEObject != null) && (!crossLinkedEObject.eIsProxy()))) {
this.createHyperlinksTo(resource, crossRefNode, crossLinkedEObject, acceptor);
}
}
}
}

View File

@ -0,0 +1,26 @@
package com.minres.structural.ui.hyperlink;
import com.google.inject.Inject;
import org.eclipse.xtext.ui.editor.IURIEditorOpener;
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink;
@SuppressWarnings("all")
public class MyXtextHyperlink extends XtextHyperlink {
private boolean select = true;
@Inject
private IURIEditorOpener uriEditorOpener;
@Override
public void open() {
this.uriEditorOpener.open(this.getURI(), this.select);
}
public boolean getSelectTarget() {
return this.select;
}
public void setSelectTarget(final boolean select) {
this.select = select;
}
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.minres.rdl.web</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,44 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Example Web Editor</title>
<link rel="stylesheet" type="text/css" href="xtext/2.14.0/xtext-ace.css"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script src="webjars/requirejs/2.3.2/require.min.js"></script>
<script type="text/javascript">
var baseUrl = window.location.pathname;
var fileIndex = baseUrl.indexOf("index.html");
if (fileIndex > 0)
baseUrl = baseUrl.slice(0, fileIndex);
require.config({
baseUrl: baseUrl,
paths: {
"jquery": "webjars/jquery/2.2.4/jquery.min",
"ace/ext/language_tools": "webjars/ace/1.2.3/src/ext-language_tools",
"xtext/xtext-ace": "xtext/2.14.0/xtext-ace"
}
});
require(["webjars/ace/1.2.3/src/ace"], function() {
require(["xtext/xtext-ace"], function(xtext) {
xtext.createEditor({
baseUrl: baseUrl,
syntaxDefinition: "xtext-resources/generated/mode-rdl"
});
});
});
</script>
</head>
<body>
<div class="container">
<div class="header">
<h1>Example RDL Web Editor</h1>
</div>
<div class="content">
<div id="xtext-editor" data-editor-xtext-lang="rdl"></div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,56 @@
body {
width: 100%;
height: 100%;
overflow: hidden;
font: 16px Helvetica,sans-serif;
}
a {
color: #22a;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.container {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: 20px;
}
.header {
display: block;
position: absolute;
background-color: #e8e8e8;
top: 0;
left: 0;
right: 0;
height: 60px;
padding: 10px;
}
.content {
display: block;
position: absolute;
top: 90px;
bottom: 0;
left: 0;
width: 640px;
}
#xtext-editor {
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 4px;
border: 1px solid #aaa;
}

View File

@ -0,0 +1,26 @@
define(["ace/lib/oop", "ace/mode/text", "ace/mode/text_highlight_rules"], function(oop, mText, mTextHighlightRules) {
var HighlightRules = function() {
var keywords = "UNDEFINED|UNSPECIFIED|accesswidth|activehigh|activelow|addressing|addrmap|alias|alignment|all|anded|arbiter|async|bigendian|boolean|bothedge|bridge|clock|compact|component|counter|cpuif_reset|decr|decrsaturate|decrthreshold|decrvalue|decrwidth|default|desc|dontcompare|donttest|enable|encode|enum|errextbus|external|false|field|field_reset|fieldwidth|fullalign|halt|haltenable|haltmask|hw|hwclr|hwenable|hwmask|hwset|incr|incrvalue|incrwidth|internal|intr|level|littleendian|lsb0|mask|msb0|na|name|negedge|next|nonsticky|number|ored|overflow|posedge|precedence|property|r|rclr|ref|reg|regalign|regfile|regwidth|reset|resetsignal|rset|rsvdset|rsvdsetX|rw|saturate|shared|sharedextbus|signal|signalwidth|singlepulse|sticky|stickybit|string|sw|swacc|swmod|swwe|swwel|sync|threshold|true|type|underflow|w|we|wel|woclr|woset|wr|xored";
this.$rules = {
"start": [
{token: "lparen", regex: "[\\[{]"},
{token: "rparen", regex: "[\\]}]"},
{token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}
]
};
};
oop.inherits(HighlightRules, mTextHighlightRules.TextHighlightRules);
var Mode = function() {
this.HighlightRules = HighlightRules;
};
oop.inherits(Mode, mText.Mode);
Mode.prototype.$id = "xtext/rdl";
Mode.prototype.getCompletions = function(state, session, pos, prefix) {
return [];
}
return {
Mode: Mode
};
});

View File

@ -0,0 +1,129 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl.web</artifactId>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/*.xtend</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<warSourceDirectory>WebRoot</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.9.v20180320</version>
<configuration>
<webAppSourceDirectory>WebRoot</webAppSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>add-source</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
<goal>add-resource</goal>
</goals>
<configuration>
<sources>
<source>src-gen</source>
</sources>
<resources>
<resource>
<directory>src-gen</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.minres.rdl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>com.minres.rdl.ide</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase.web</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.web.servlet</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>ace</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>9.4.9.v20180320</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,14 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import org.eclipse.xtext.web.server.DefaultWebModule;
/**
* Manual modifications go to {@link RDLWebModule}.
*/
@SuppressWarnings("all")
public abstract class AbstractRDLWebModule extends DefaultWebModule {
}

View File

@ -0,0 +1,32 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import javax.servlet.annotation.WebServlet
import org.eclipse.xtext.util.DisposableRegistry
import org.eclipse.xtext.web.servlet.XtextServlet
/**
* Deploy this class into a servlet container to enable DSL-specific services.
*/
@WebServlet(name = 'XtextServices', urlPatterns = '/xtext-service/*')
class RDLServlet extends XtextServlet {
DisposableRegistry disposableRegistry
override init() {
super.init()
val injector = new RDLWebSetup().createInjectorAndDoEMFRegistration()
disposableRegistry = injector.getInstance(DisposableRegistry)
}
override destroy() {
if (disposableRegistry !== null) {
disposableRegistry.dispose()
disposableRegistry = null
}
super.destroy()
}
}

View File

@ -0,0 +1,11 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
/**
* Use this class to register additional components to be used within the web application.
*/
class RDLWebModule extends AbstractRDLWebModule {
}

View File

@ -0,0 +1,22 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import com.google.inject.Guice
import com.google.inject.Injector
import com.minres.rdl.RDLRuntimeModule
import com.minres.rdl.RDLStandaloneSetup
import com.minres.rdl.ide.RDLIdeModule
import org.eclipse.xtext.util.Modules2
/**
* Initialization support for running Xtext languages in web applications.
*/
class RDLWebSetup extends RDLStandaloneSetup {
override Injector createInjector() {
return Guice.createInjector(Modules2.mixin(new RDLRuntimeModule, new RDLIdeModule, new RDLWebModule))
}
}

View File

@ -0,0 +1,54 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web
import java.net.InetSocketAddress
import org.eclipse.jetty.annotations.AnnotationConfiguration
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.util.log.Slf4jLog
import org.eclipse.jetty.webapp.MetaInfConfiguration
import org.eclipse.jetty.webapp.WebAppContext
import org.eclipse.jetty.webapp.WebInfConfiguration
import org.eclipse.jetty.webapp.WebXmlConfiguration
/**
* This program starts an HTTP server for testing the web integration of your DSL.
* Just execute it and point a web browser to http://localhost:8080/
*/
class ServerLauncher {
def static void main(String[] args) {
val server = new Server(new InetSocketAddress('localhost', 8080))
server.handler = new WebAppContext => [
resourceBase = 'WebRoot'
welcomeFiles = #["index.html"]
contextPath = "/"
configurations = #[
new AnnotationConfiguration,
new WebXmlConfiguration,
new WebInfConfiguration,
new MetaInfConfiguration
]
setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, '.*/com\\.minres\\.rdl\\.web/.*,.*\\.jar')
setInitParameter("org.mortbay.jetty.servlet.Default.useFileMappedBuffer", "false")
]
val log = new Slf4jLog(ServerLauncher.name)
try {
server.start
log.info('Server started ' + server.getURI + '...')
new Thread[
log.info('Press enter to stop the server...')
val key = System.in.read
if (key != -1) {
server.stop
} else {
log.warn('Console input is not available. In order to stop the server, you need to cancel process manually.')
}
].start
server.join
} catch (Exception exception) {
log.warn(exception.message)
System.exit(1)
}
}
}

View File

@ -0,0 +1,40 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.google.inject.Injector;
import com.minres.rdl.web.RDLWebSetup;
import javax.servlet.annotation.WebServlet;
import org.eclipse.xtext.util.DisposableRegistry;
import org.eclipse.xtext.web.servlet.XtextServlet;
import org.eclipse.xtext.xbase.lib.Exceptions;
/**
* Deploy this class into a servlet container to enable DSL-specific services.
*/
@WebServlet(name = "XtextServices", urlPatterns = "/xtext-service/*")
@SuppressWarnings("all")
public class RDLServlet extends XtextServlet {
private DisposableRegistry disposableRegistry;
@Override
public void init() {
try {
super.init();
final Injector injector = new RDLWebSetup().createInjectorAndDoEMFRegistration();
this.disposableRegistry = injector.<DisposableRegistry>getInstance(DisposableRegistry.class);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
}
@Override
public void destroy() {
if ((this.disposableRegistry != null)) {
this.disposableRegistry.dispose();
this.disposableRegistry = null;
}
super.destroy();
}
}

View File

@ -0,0 +1,13 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.minres.rdl.web.AbstractRDLWebModule;
/**
* Use this class to register additional components to be used within the web application.
*/
@SuppressWarnings("all")
public class RDLWebModule extends AbstractRDLWebModule {
}

View File

@ -0,0 +1,26 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.minres.rdl.RDLRuntimeModule;
import com.minres.rdl.RDLStandaloneSetup;
import com.minres.rdl.ide.RDLIdeModule;
import com.minres.rdl.web.RDLWebModule;
import org.eclipse.xtext.util.Modules2;
/**
* Initialization support for running Xtext languages in web applications.
*/
@SuppressWarnings("all")
public class RDLWebSetup extends RDLStandaloneSetup {
@Override
public Injector createInjector() {
RDLRuntimeModule _rDLRuntimeModule = new RDLRuntimeModule();
RDLIdeModule _rDLIdeModule = new RDLIdeModule();
RDLWebModule _rDLWebModule = new RDLWebModule();
return Guice.createInjector(Modules2.mixin(_rDLRuntimeModule, _rDLIdeModule, _rDLWebModule));
}
}

View File

@ -0,0 +1,77 @@
/**
* generated by Xtext 2.14.0
*/
package com.minres.rdl.web;
import java.net.InetSocketAddress;
import java.net.URI;
import org.eclipse.jetty.annotations.AnnotationConfiguration;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.log.Slf4jLog;
import org.eclipse.jetty.webapp.Configuration;
import org.eclipse.jetty.webapp.MetaInfConfiguration;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.webapp.WebInfConfiguration;
import org.eclipse.jetty.webapp.WebXmlConfiguration;
import org.eclipse.xtext.xbase.lib.Exceptions;
import org.eclipse.xtext.xbase.lib.ObjectExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
/**
* This program starts an HTTP server for testing the web integration of your DSL.
* Just execute it and point a web browser to http://localhost:8080/
*/
@SuppressWarnings("all")
public class ServerLauncher {
public static void main(final String[] args) {
InetSocketAddress _inetSocketAddress = new InetSocketAddress("localhost", 8080);
final Server server = new Server(_inetSocketAddress);
WebAppContext _webAppContext = new WebAppContext();
final Procedure1<WebAppContext> _function = (WebAppContext it) -> {
it.setResourceBase("WebRoot");
it.setWelcomeFiles(new String[] { "index.html" });
it.setContextPath("/");
AnnotationConfiguration _annotationConfiguration = new AnnotationConfiguration();
WebXmlConfiguration _webXmlConfiguration = new WebXmlConfiguration();
WebInfConfiguration _webInfConfiguration = new WebInfConfiguration();
MetaInfConfiguration _metaInfConfiguration = new MetaInfConfiguration();
it.setConfigurations(new Configuration[] { _annotationConfiguration, _webXmlConfiguration, _webInfConfiguration, _metaInfConfiguration });
it.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, ".*/com\\.minres\\.rdl\\.web/.*,.*\\.jar");
it.setInitParameter("org.mortbay.jetty.servlet.Default.useFileMappedBuffer", "false");
};
WebAppContext _doubleArrow = ObjectExtensions.<WebAppContext>operator_doubleArrow(_webAppContext, _function);
server.setHandler(_doubleArrow);
String _name = ServerLauncher.class.getName();
final Slf4jLog log = new Slf4jLog(_name);
try {
server.start();
URI _uRI = server.getURI();
String _plus = ("Server started " + _uRI);
String _plus_1 = (_plus + "...");
log.info(_plus_1);
final Runnable _function_1 = () -> {
try {
log.info("Press enter to stop the server...");
final int key = System.in.read();
if ((key != (-1))) {
server.stop();
} else {
log.warn("Console input is not available. In order to stop the server, you need to cancel process manually.");
}
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);
}
};
new Thread(_function_1).start();
server.join();
} catch (final Throwable _t) {
if (_t instanceof Exception) {
final Exception exception = (Exception)_t;
log.warn(exception.getMessage());
System.exit(1);
} else {
throw Exceptions.sneakyThrow(_t);
}
}
}
}

View File

@ -0,0 +1,4 @@
/Run RDL Generator DBT-RISCV (test).launch
/Run RDL Generator DBT-RISCV.launch
/Run RDL Generator SC-Components-Test.launch
/plugin.xml_gen

View File

@ -1,7 +1,8 @@
Manifest-Version: 1.0
Automatic-Module-Name: com.minres.rdl
Bundle-ManifestVersion: 2
Bundle-Name: com.minres.rdl
Bundle-Vendor: My Company
Bundle-Vendor: MINRES Technologies GmbH
Bundle-Version: 1.1.0.qualifier
Bundle-SymbolicName: com.minres.rdl; singleton:=true
Bundle-ActivationPolicy: lazy
@ -9,11 +10,11 @@ Require-Bundle: org.eclipse.xtext,
org.eclipse.xtext.xbase,
org.eclipse.equinox.common;bundle-version="3.5.0",
org.eclipse.emf.ecore,
org.eclipse.xtext.xbase.lib,
org.antlr.runtime,
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
org.eclipse.xtext.util,
org.eclipse.xtend.lib,
org.eclipse.emf.common,
org.eclipse.xtend.lib;bundle-version="2.14.0",
org.antlr.runtime,
org.eclipse.equinox.preferences
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: com.minres.rdl,

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.12.0" modelDirectory="/com.minres.rdl/src-gen"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.14.0" modelDirectory="/com.minres.rdl/src-gen"
modelPluginID="com.minres.rdl" forceOverwrite="true" modelName="RDL" updateClasspath="false"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" complianceLevel="6.0"
copyrightFields="false" runtimeVersion="2.12">

View File

@ -4,7 +4,7 @@
<parent>
<groupId>com.minres.rdl</groupId>
<artifactId>com.minres.rdl.parent</artifactId>
<version>1.1.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>com.minres.rdl</artifactId>
<packaging>eclipse-plugin</packaging>
@ -39,7 +39,7 @@
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.mwe2.launch</artifactId>
<version>2.9.0.201605261059</version>
<version>2.9.1.201705291010</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
@ -103,6 +103,12 @@
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../com.minres.rdl.web/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/model/generated/</directory>
</fileset>
@ -146,4 +152,5 @@
</pluginManagement>
</build>
<version>1.1.0-SNAPSHOT</version>
</project>

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl;
@ -14,6 +14,7 @@ import com.minres.rdl.scoping.RDLScopeProvider;
import com.minres.rdl.serializer.RDLSemanticSequencer;
import com.minres.rdl.serializer.RDLSyntacticSequencer;
import com.minres.rdl.services.RDLGrammarAccess;
import com.minres.rdl.validation.RDLConfigurableIssueCodesProvider;
import com.minres.rdl.validation.RDLValidator;
import java.util.Properties;
import org.eclipse.xtext.Constants;
@ -49,6 +50,7 @@ import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer;
import org.eclipse.xtext.service.DefaultRuntimeModule;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
/**
* Manual modifications go to {@link RDLRuntimeModule}.
@ -141,6 +143,31 @@ public abstract class AbstractRDLRuntimeModule extends DefaultRuntimeModule {
return RDLValidator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
return RDLConfigurableIssueCodesProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IScopeProvider> bindIScopeProvider() {
return RDLScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
return DefaultGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIgnoreCaseLinking(Binder binder) {
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
}
// contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2
public Class<? extends IContainer.Manager> bindIContainer$Manager() {
return StateBasedContainerManager.class;
@ -166,26 +193,6 @@ public abstract class AbstractRDLRuntimeModule extends DefaultRuntimeModule {
return RDLGenerator.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IScopeProvider> bindIScopeProvider() {
return RDLScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class);
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
return DefaultGlobalScopeProvider.class;
}
// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
public void configureIgnoreCaseLinking(Binder binder) {
binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false);
}
// contributed by org.eclipse.xtext.xtext.generator.exporting.SimpleNamesFragment2
public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return SimpleNameProvider.class;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.parser.antlr;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
package com.minres.rdl.parser.antlr;

View File

@ -1,5 +1,5 @@
/*
* generated by Xtext 2.12.0
* generated by Xtext 2.14.0
*/
grammar InternalRDL;

Some files were not shown because too many files have changed in this diff Show More