mirror of https://github.com/Minres/RDL-Editor.git
95 lines
4.0 KiB
Java
95 lines
4.0 KiB
Java
/**
|
|
* generated by Xtext 2.14.0
|
|
*/
|
|
package com.minres.rdl.ui.wizard;
|
|
|
|
import java.util.List;
|
|
import org.eclipse.xtend2.lib.StringConcatenation;
|
|
import org.eclipse.xtext.ui.XtextProjectHelper;
|
|
import org.eclipse.xtext.ui.util.PluginProjectFactory;
|
|
import org.eclipse.xtext.ui.wizard.template.AbstractProjectTemplate;
|
|
import org.eclipse.xtext.ui.wizard.template.IProjectGenerator;
|
|
import org.eclipse.xtext.ui.wizard.template.ProjectTemplate;
|
|
import org.eclipse.xtext.xbase.lib.ObjectExtensions;
|
|
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
|
|
|
|
@ProjectTemplate(label = "RDL template", icon = "project_template.png", description = "<p><b>RDL</b></p><p>This is a simple project for RDL.</p>")
|
|
@SuppressWarnings("all")
|
|
public final class RdlProject extends AbstractProjectTemplate {
|
|
@Override
|
|
public void generateProjects(final IProjectGenerator generator) {
|
|
PluginProjectFactory _pluginProjectFactory = new PluginProjectFactory();
|
|
final Procedure1<PluginProjectFactory> _function = (PluginProjectFactory it) -> {
|
|
it.setProjectName(this.getProjectInfo().getProjectName());
|
|
it.setLocation(this.getProjectInfo().getLocationPath());
|
|
List<String> _projectNatures = it.getProjectNatures();
|
|
_projectNatures.add(XtextProjectHelper.NATURE_ID);
|
|
List<String> _builderIds = it.getBuilderIds();
|
|
_builderIds.add(XtextProjectHelper.BUILDER_ID);
|
|
List<String> _folders = it.getFolders();
|
|
_folders.add("src");
|
|
StringConcatenation _builder = new StringConcatenation();
|
|
_builder.append("src/Model.rdl");
|
|
StringConcatenation _builder_1 = new StringConcatenation();
|
|
_builder_1.append("enum ERRSLICE0_MISSIONERR_ENABLE_ERR25_enum{");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("DISABLE = 1\'d0;");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("ENABLE = 1\'d1;");
|
|
_builder_1.newLine();
|
|
_builder_1.append("};");
|
|
_builder_1.newLine();
|
|
_builder_1.append("addrmap {");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("name = \"foo registers\";");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("desc = \"this is a bunch of foo regs bla bla bla\";");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("regfile bar_regs {");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("name = \"bar registers\";");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("desc = \"this is a bunch of bar regs bla bla bla\";");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.newLine();
|
|
_builder_1.append("\t ");
|
|
_builder_1.append("reg {");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("field { name=\"field 1\"; sw=rw; hw=rw; we; } fld1[9:0] = 10\'d0;");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("field { name=\"field 2\"; sw=rw; hw=r; } fld2[15:15];");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("field {encode=ERRSLICE0_MISSIONERR_ENABLE_ERR25_enum; sw=rw; hw=r; reset=1\'h1;} ERR25[25:25];");
|
|
_builder_1.newLine();
|
|
_builder_1.append("\t ");
|
|
_builder_1.append("} a_reg[2];\t ");
|
|
_builder_1.newLine();
|
|
_builder_1.append("\t ");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.append("} bar;");
|
|
_builder_1.newLine();
|
|
_builder_1.append(" ");
|
|
_builder_1.newLine();
|
|
_builder_1.append("} foo;");
|
|
_builder_1.newLine();
|
|
this.addFile(it, _builder, _builder_1);
|
|
};
|
|
PluginProjectFactory _doubleArrow = ObjectExtensions.<PluginProjectFactory>operator_doubleArrow(_pluginProjectFactory, _function);
|
|
generator.generate(_doubleArrow);
|
|
}
|
|
}
|