aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath35
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project40
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle35
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java36
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java11
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java65
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html43
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js20
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css91
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java14
15 files changed, 449 insertions, 0 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
new file mode 100644
index 00000000..659559e1
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.classpath
@@ -0,0 +1,35 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" output="bin/main" path="src/main/java">
4 <attributes>
5 <attribute name="gradle_scope" value="main"/>
6 <attribute name="gradle_used_by_scope" value="main,test"/>
7 </attributes>
8 </classpathentry>
9 <classpathentry kind="src" output="bin/main" path="src/main/resources">
10 <attributes>
11 <attribute name="gradle_scope" value="main"/>
12 <attribute name="gradle_used_by_scope" value="main,test"/>
13 </attributes>
14 </classpathentry>
15 <classpathentry kind="src" output="bin/main" path="src/main/xtext-gen">
16 <attributes>
17 <attribute name="gradle_scope" value="main"/>
18 <attribute name="gradle_used_by_scope" value="main,test"/>
19 </attributes>
20 </classpathentry>
21 <classpathentry kind="src" output="bin/main" path="src/main/xtend-gen">
22 <attributes>
23 <attribute name="gradle_scope" value="main"/>
24 <attribute name="gradle_used_by_scope" value="main,test"/>
25 </attributes>
26 </classpathentry>
27 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
28 <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
29 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
30 <attributes>
31 <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
32 </attributes>
33 </classpathentry>
34 <classpathentry kind="output" path="bin/default"/>
35</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore
new file mode 100644
index 00000000..84c048a7
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.gitignore
@@ -0,0 +1 @@
/build/
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project
new file mode 100644
index 00000000..9b5a8e63
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>org.eclipse.viatra.solver.language.web</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.wst.common.project.facet.core.builder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.wst.validation.validationbuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.jdt.core.javanature</nature>
36 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
37 <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
38 <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
1eclipse.preferences.version=1
2encoding/<project>=UTF-8
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..7adc0fb9
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
4org.eclipse.jdt.core.compiler.compliance=11
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
7org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
9org.eclipse.jdt.core.compiler.release=enabled
10org.eclipse.jdt.core.compiler.source=11
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
new file mode 100644
index 00000000..a3bfc039
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/build.gradle
@@ -0,0 +1,35 @@
1plugins {
2 id 'war'
3}
4
5dependencies {
6 compile project(':org.eclipse.viatra.solver.language')
7 compile project(':org.eclipse.viatra.solver.language.ide')
8 compile "org.eclipse.xtext:org.eclipse.xtext.xbase.web:${xtextVersion}"
9 compile "org.eclipse.xtext:org.eclipse.xtext.web.servlet:${xtextVersion}"
10 compile "org.eclipse.xtend:org.eclipse.xtend.lib:${xtextVersion}"
11 compile "org.webjars:requirejs:2.3.6"
12 compile "org.webjars:requirejs-text:2.0.15"
13 compile "org.webjars:jquery:3.6.0"
14 compile "org.webjars:codemirror:5.41.0"
15 providedCompile "org.eclipse.jetty:jetty-annotations:9.4.42.v20210604"
16 providedCompile "org.eclipse.jetty:jetty-rewrite:9.4.42.v20210604"
17 providedCompile "org.slf4j:slf4j-simple:1.7.31"
18}
19
20task jettyRun(type:JavaExec) {
21 dependsOn(sourceSets.main.runtimeClasspath)
22 classpath = sourceSets.main.runtimeClasspath.filter{it.exists()}
23 main = 'org.eclipse.viatra.solver.language.web.ServerLauncher'
24 standardInput = System.in
25 group = 'run'
26 description = 'Starts an example Jetty server with your language'
27}
28
29eclipse {
30 project {
31 file.whenMerged {
32 natures.remove('org.eclipse.wst.common.modulecore.ModuleCoreNature')
33 }
34 }
35} \ No newline at end of file
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java
new file mode 100644
index 00000000..5de708f0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemServlet.java
@@ -0,0 +1,36 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import com.google.inject.Injector;
7import javax.servlet.ServletException;
8import javax.servlet.annotation.WebServlet;
9import org.eclipse.xtext.util.DisposableRegistry;
10import org.eclipse.xtext.web.servlet.XtextServlet;
11
12/**
13 * Deploy this class into a servlet container to enable DSL-specific services.
14 */
15@WebServlet(name = "XtextServices", urlPatterns = "/xtext-service/*")
16public class ProblemServlet extends XtextServlet {
17
18 private static final long serialVersionUID = 1L;
19
20 DisposableRegistry disposableRegistry;
21
22 public void init() throws ServletException {
23 super.init();
24 Injector injector = new ProblemWebSetup().createInjectorAndDoEMFRegistration();
25 this.disposableRegistry = injector.getInstance(DisposableRegistry.class);
26 }
27
28 public void destroy() {
29 if (disposableRegistry != null) {
30 disposableRegistry.dispose();
31 disposableRegistry = null;
32 }
33 super.destroy();
34 }
35
36}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java
new file mode 100644
index 00000000..0eea7f1e
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebModule.java
@@ -0,0 +1,11 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6
7/**
8 * Use this class to register additional components to be used within the web application.
9 */
10public class ProblemWebModule extends AbstractProblemWebModule {
11}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java
new file mode 100644
index 00000000..8d5778af
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ProblemWebSetup.java
@@ -0,0 +1,23 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import com.google.inject.Guice;
7import com.google.inject.Injector;
8import org.eclipse.viatra.solver.language.ProblemRuntimeModule;
9import org.eclipse.viatra.solver.language.ProblemStandaloneSetup;
10import org.eclipse.viatra.solver.language.ide.ProblemIdeModule;
11import org.eclipse.xtext.util.Modules2;
12
13/**
14 * Initialization support for running Xtext languages in web applications.
15 */
16public class ProblemWebSetup extends ProblemStandaloneSetup {
17
18 @Override
19 public Injector createInjector() {
20 return Guice.createInjector(Modules2.mixin(new ProblemRuntimeModule(), new ProblemIdeModule(), new ProblemWebModule()));
21 }
22
23}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java
new file mode 100644
index 00000000..d25f4ae9
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/java/org/eclipse/viatra/solver/language/web/ServerLauncher.java
@@ -0,0 +1,65 @@
1/*
2 * generated by Xtext 2.25.0
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import java.net.InetSocketAddress;
7import org.eclipse.jetty.annotations.AnnotationConfiguration;
8import org.eclipse.jetty.server.Server;
9import org.eclipse.jetty.util.log.Slf4jLog;
10import org.eclipse.jetty.webapp.Configuration;
11import org.eclipse.jetty.webapp.MetaInfConfiguration;
12import org.eclipse.jetty.webapp.WebAppContext;
13import org.eclipse.jetty.webapp.WebInfConfiguration;
14import org.eclipse.jetty.webapp.WebXmlConfiguration;
15
16/**
17 * This program starts an HTTP server for testing the web integration of your DSL.
18 * Just execute it and point a web browser to http://localhost:8080/
19 */
20public class ServerLauncher {
21 public static void main(String[] args) {
22 Server server = new Server(new InetSocketAddress("localhost", 1313));
23 WebAppContext ctx = new WebAppContext();
24 ctx.setResourceBase("src/main/webapp");
25 ctx.setWelcomeFiles(new String[] {"index.html"});
26 ctx.setContextPath("/");
27 ctx.setConfigurations(new Configuration[] {
28 new AnnotationConfiguration(),
29 new WebXmlConfiguration(),
30 new WebInfConfiguration(),
31 new MetaInfConfiguration()
32 });
33 ctx.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN,
34 ".*/org\\.eclipse\\.viatra\\.solver\\.language\\.web/.*,.*\\.jar");
35 ctx.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "false");
36 server.setHandler(ctx);
37 Slf4jLog log = new Slf4jLog(ServerLauncher.class.getName());
38 try {
39 server.start();
40 log.info("Server started " + server.getURI() + "...");
41 new Thread() {
42
43 public void run() {
44 try {
45 log.info("Press enter to stop the server...");
46 int key = System.in.read();
47 if (key != -1) {
48 server.stop();
49 } else {
50 log.warn(
51 "Console input is not available. In order to stop the server, you need to cancel process manually.");
52 }
53 } catch (Exception e) {
54 log.warn(e);
55 }
56 }
57
58 }.start();
59 server.join();
60 } catch (Exception exception) {
61 log.warn(exception.getMessage());
62 System.exit(1);
63 }
64 }
65}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
new file mode 100644
index 00000000..bf55f237
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/index.html
@@ -0,0 +1,43 @@
1<!DOCTYPE html>
2<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3<meta http-equiv="Content-Language" content="en-us">
4<title>Example Web Editor</title>
5<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.41.0/lib/codemirror.css" />
6<link rel="stylesheet" type="text/css" href="webjars/codemirror/5.41.0/addon/hint/show-hint.css" />
7<link rel="stylesheet" type="text/css" href="xtext/2.26.0.M1/xtext-codemirror.css" />
8<link rel="stylesheet" type="text/css" href="style.css" />
9<body>
10 <div class="container">
11 <div class="header">
12 <h1>Example Problem Web Editor</h1>
13 </div>
14 <div class="content">
15 <div class="xtext-editor"
16 data-editor-xtext-lang="problem"
17 data-editor-enable-formatting-action="true"
18 data-editor-send-full-text="false"
19 ><pre>class Family
20 contains Person[0..*] members.
21
22class Person
23 refers Person[0..*] children opposite parent,
24 refers Person[0..1] parent opposite children.
25
26error loop(Person p) := children+(p, p).
27
28error multipleRoots(Person p, Person q) :=
29 !equals(p, q), !parent(p, _), !parent(q, _).
30
31Family(family).
32members(family, anne).
33members(family, bob).
34members(family, ciri).
35children(anne, ciri).
36?children(bob, ciri).
37
38scope Family = 1, Person += 5..10.</pre></div>
39 </div>
40 </div>
41 <script type="text/javascript" src="webjars/requirejs/2.3.6/require.min.js"></script>
42 <script type="text/javascript" src="script.js"></script>
43</body>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
new file mode 100644
index 00000000..fcaca4a4
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/script.js
@@ -0,0 +1,20 @@
1var baseUrl = window.location.pathname;
2var fileIndex = baseUrl.indexOf("index.html");
3if (fileIndex > 0)
4 baseUrl = baseUrl.slice(0, fileIndex)
5require.config({
6 baseUrl: baseUrl,
7 paths: {
8 "text": "webjars/requirejs-text/2.26.0.M1/text",
9 "jquery": "webjars/jquery/3.6.0/jquery.min",
10 "xtext/xtext-codemirror": "xtext/2.26.0.M1/xtext-codemirror",
11 },
12 packages: [{
13 name: "codemirror",
14 location: "webjars/codemirror/5.41.0",
15 main: "lib/codemirror"
16 }]
17});
18require(["xtext-resources/generated/mode-problem", "xtext/xtext-codemirror"], function(mode, xtext) {
19 window.xtextEditor = xtext.createEditor({baseUrl: baseUrl,});
20});
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
new file mode 100644
index 00000000..f1551c3d
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/style.css
@@ -0,0 +1,91 @@
1body {
2 width: 100%;
3 height: 100%;
4 overflow: hidden;
5 font: 16px Helvetica,sans-serif;
6}
7
8a {
9 color: #22a;
10 text-decoration: none;
11}
12
13a:hover {
14 text-decoration: underline;
15}
16
17.container {
18 display: block;
19 position: absolute;
20 top: 0;
21 bottom: 0;
22 left: 0;
23 right: 0;
24 margin: 24px 24px 36px 24px;
25}
26
27.header {
28 display: block;
29 position: absolute;
30 top: 0;
31 left: 0;
32 right: 0;
33 padding: 16px;
34 background: #dbdbdb;
35 border-radius: 16px;
36 color: #383838;
37}
38
39.header h1 {
40 font-size: 36px;
41 margin: 0;
42}
43
44.content {
45 display: block;
46 position: absolute;
47 top: 108px;
48 bottom: 0;
49 left: 0;
50 width: 50%;
51 box-shadow: 0 0 8px rgba(80, 10, 98, .25), 0 10px 24px rgba(80, 10, 98, .35);
52 border-radius: 16px;
53}
54
55.xtext-editor {
56 display: block;
57 position: absolute;
58 top: 16px;
59 bottom: 16px;
60 left: 16px;
61 right: 16px;
62 border: 1px solid #aaa;
63}
64
65.problem-class {
66 color: #005032;
67}
68
69.problem-abstract {
70 color: #8b8816;
71}
72
73.problem-reference, .problem-containment, .problem-predicate {
74 color: #0000c0;
75}
76
77.problem-error {
78 color: #ab3000;
79}
80
81.problem-containment {
82 font-weight: bold;
83}
84
85.problem-parameter, .problem-variable {
86 color: #6a3e3e;
87}
88
89.problem-node {
90 text-decoration: underline;
91}
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
new file mode 100644
index 00000000..ab748b03
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/webapp/xtext-resources/generated/mode-problem.js
@@ -0,0 +1,23 @@
1define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) {
2 var keywords = "abstract|class|contains|error|extends|false|opposite|pred|refers|scope|true|unknown";
3 CodeMirror.defineSimpleMode("xtext/problem", {
4 start: [
5 {token: "comment", regex: "\\/\\/.*$"},
6 {token: "comment", regex: "\\/\\*", next : "comment"},
7 {token: "string", regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},
8 {token: "string", regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},
9 {token: "constant.numeric", regex: "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},
10 {token: "lparen", regex: "[\\[(]"},
11 {token: "rparen", regex: "[\\])]"},
12 {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}
13 ],
14 comment: [
15 {token: "comment", regex: ".*?\\*\\/", next : "start"},
16 {token: "comment", regex: ".+"}
17 ],
18 meta: {
19 dontIndentStates: ["comment"],
20 lineComment: "//"
21 }
22 });
23});
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java
new file mode 100644
index 00000000..fefb7da3
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.web/src/main/xtext-gen/org/eclipse/viatra/solver/language/web/AbstractProblemWebModule.java
@@ -0,0 +1,14 @@
1/*
2 * generated by Xtext 2.26.0.M1
3 */
4package org.eclipse.viatra.solver.language.web;
5
6import org.eclipse.xtext.web.server.DefaultWebModule;
7
8/**
9 * Manual modifications go to {@link ProblemWebModule}.
10 */
11@SuppressWarnings("all")
12public abstract class AbstractProblemWebModule extends DefaultWebModule {
13
14}