From 7febe0b4781c5bb0fab34895ad642040ae143a8b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 27 Jun 2021 23:21:42 +0200 Subject: Add data constant support --- language-web/src/main/webapp/index.html | 9 +++++++-- .../src/main/webapp/xtext-resources/generated/mode-problem.js | 8 +++++--- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'language-web') diff --git a/language-web/src/main/webapp/index.html b/language-web/src/main/webapp/index.html index 97c4dbab..3e068f68 100644 --- a/language-web/src/main/webapp/index.html +++ b/language-web/src/main/webapp/index.html @@ -22,8 +22,9 @@ class Person { Person[] children opposite parent - Person parent opposite children - TaxStatus[1] taxStatus + Person[0..1] parent opposite children + int age + TaxStatus taxStatus } enum TaxStatus { @@ -41,6 +42,10 @@ members('family', ciri). children(anne, ciri). ?children(bob, ciri). taxStatus(anne, adult). +age(anne, 35). +bobAge: 27. +age(bob, bobAge). +!age(ciri, bobAge). scope Family = 1, Person += 5..10. diff --git a/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js b/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js index 92adcff1..ba39dd13 100644 --- a/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js +++ b/language-web/src/main/webapp/xtext-resources/generated/mode-problem.js @@ -1,5 +1,6 @@ define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, SimpleMode) { var keywords = "abstract|class|contains|enum|error|extends|false|opposite|pred|problem|refers|scope|true|unknown"; + var extraKeywords = "!|\\(|\\)|\\*|\\+|,|-|\\.|:|;|=|\\?|\\[|\\]|\\{|\\}"; CodeMirror.defineSimpleMode("xtext/problem", { start: [ {token: "comment", regex: "\\/\\*", next : "comment"}, @@ -10,9 +11,10 @@ define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, Simp {token: "comment", regex: "%.*$"}, {token: "comment", regex: "\\/\\/.*$"}, {token: "lparen", indent: true, regex: "[[({]"}, - {token: "rparen", dedent: true, dedentIfLineStart: true, regex: "[\\])}]"}, + {token: "rparen", dedent: true, regex: "[\\])}]"}, {indent: true, push: "predicateBody", regex: ":-"}, - {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} + {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"}, + {token: "keyword", regex: "(?:^|\\s)(?:" + extraKeywords + ")(?=[\\s.:;,!?+\\-*/&|<>()[\\]{}]|$)"} ], comment: [ {token: "comment", regex: ".*?\\*\\/", next : "start"}, @@ -32,7 +34,7 @@ define(["codemirror", "codemirror/addon/mode/simple"], function(CodeMirror, Simp {token: "comment", regex: "%.*$"}, {token: "comment", regex: "\\/\\/.*$"}, {token: "lparen", indent: true, regex: "[[({]"}, - {token: "rparen", dedent: true, dedentIfLineStart: true, regex: "[\\])}]"}, + {token: "rparen", dedent: true, regex: "[\\])}]"}, {dedent: true, dedentIfLineStart: false, pop: true, regex: "\\.\\s*$"}, {indent: true, dedent: true, regex: "[;]"}, {token: "keyword", regex: "\\b(?:" + keywords + ")\\b"} -- cgit v1.2.3-70-g09d2