From 908310ea7bb2819460d76e2313bfb581d5fec271 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Wed, 2 Jun 2021 17:39:22 +0200 Subject: [PATCH] Update relast-preprocessor to newest version. - remove mustache (reuse the submodule of the preprocessor) - align attributes and build logic to changes in preprocessor --- .gitmodules | 5 +--- ragconnect.base/build.gradle | 3 +- .../src/main/jastadd/Navigation.jrag | 29 ++++++++++++------- .../MustacheNodesToYAML.jrag | 2 +- ragconnect.base/src/main/jastadd/mustache | 1 - .../ragconnect/tests/RegressionTests.java | 3 +- relast-preprocessor | 2 +- settings.gradle | 6 ++++ 8 files changed, 31 insertions(+), 20 deletions(-) delete mode 160000 ragconnect.base/src/main/jastadd/mustache diff --git a/.gitmodules b/.gitmodules index 0163ef8..58efd10 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,4 @@ [submodule "relast-preprocessor"] path = relast-preprocessor url = ../relast-preprocessor.git - branch = jastadd-fix-inc-param-debug -[submodule "ragconnect.base/src/main/jastadd/mustache"] - path = ragconnect.base/src/main/jastadd/mustache - url = ../mustache + branch = develop diff --git a/ragconnect.base/build.gradle b/ragconnect.base/build.gradle index e212a39..77bafe5 100644 --- a/ragconnect.base/build.gradle +++ b/ragconnect.base/build.gradle @@ -78,7 +78,7 @@ jar { File preprocessorGrammar = file('../relast-preprocessor/src/main/jastadd/RelAst.relast') File ragConnectGrammar = file('./src/main/jastadd/RagConnect.relast') File intermediateGrammar = file('./src/main/jastadd/intermediate/MustacheNodes.relast') -File mustacheGrammar = file('./src/main/jastadd/mustache/Mustache.relast') +File mustacheGrammar = file('../relast-preprocessor/src/main/jastadd/mustache/Mustache.relast') task relast(type: JavaExec) { group = 'Build' main = "-jar" @@ -220,3 +220,4 @@ publishing { } publish.dependsOn jar +jar.dependsOn ":relast-preprocessor:jar" diff --git a/ragconnect.base/src/main/jastadd/Navigation.jrag b/ragconnect.base/src/main/jastadd/Navigation.jrag index 6ab782f..d3890f7 100644 --- a/ragconnect.base/src/main/jastadd/Navigation.jrag +++ b/ragconnect.base/src/main/jastadd/Navigation.jrag @@ -1,7 +1,7 @@ import java.util.List; import java.util.ArrayList; -aspect Navigation { +aspect RagConnectNavigation { // --- program --- eq RagConnect.getChild().program() = getProgram(); @@ -12,16 +12,27 @@ aspect Navigation { eq RagConnect.getChild().ragconnect() = this; eq MRagConnect.getChild().ragconnect() = getRagConnect(); + // --- containedConnectSpecification --- + inh ConnectSpecification ASTNode.containedConnectSpecification(); + eq RagConnect.getChild().containedConnectSpecification() = null; + eq MRagConnect.getChild().containedConnectSpecification() = null; + eq Document.getChild().containedConnectSpecification() = null; + eq Program.getChild().containedConnectSpecification() = null; + eq ConnectSpecification.getChild().containedConnectSpecification() = this; + // --- containedFile - eq Grammar.getChild().containedFile() = null; eq RagConnect.getChild().containedFile() = null; eq MRagConnect.getChild().containedFile() = null; // --- containedFileName --- - eq Grammar.getChild().containedFileName() = null; // should be in PP - eq RagConnect.getChild().containedFileName() = null; - eq ConnectSpecificationFile.getChild().containedFileName() = getFileName(); - eq MRagConnect.getChild().containedFileName() = null; + eq ConnectSpecificationFile.containedFileName() = getFileName(); + refine Navigation eq ASTNode.containedFileName() { + if (containedFile() == null) { + return containedConnectSpecification().containedFileName(); + } + return refined(); +// return containedFile().getFileName(); + } //--- allEndpointDefinitionList --- syn List<EndpointDefinition> RagConnect.allEndpointDefinitionList() { @@ -128,8 +139,6 @@ aspect Navigation { // --- rootTypeComponents --- syn JastAddList<MTypeComponent> MHandler.rootTypeComponents() = mragconnect().getRootTypeComponents(); - // === for preprocessor === - // --- isOptComponent --- - syn boolean TypeComponent.isOptComponent() = false; - eq OptComponent.isOptComponent() = true; + // --- isListComponent --- (defined in PP, but only on TypeComponent) + syn boolean Component.isListComponent() = false; } diff --git a/ragconnect.base/src/main/jastadd/intermediate2mustache/MustacheNodesToYAML.jrag b/ragconnect.base/src/main/jastadd/intermediate2mustache/MustacheNodesToYAML.jrag index 9de1c1e..ef54a74 100644 --- a/ragconnect.base/src/main/jastadd/intermediate2mustache/MustacheNodesToYAML.jrag +++ b/ragconnect.base/src/main/jastadd/intermediate2mustache/MustacheNodesToYAML.jrag @@ -206,5 +206,5 @@ aspect Navigation { eq Document.getChild().program() = null; eq Document.getChild().ragconnect() = null; eq Document.getChild().containedFile() = null; - eq Document.getChild().containedFileName() = getFileName(); + eq Document.containedFileName() = getFileName(); } diff --git a/ragconnect.base/src/main/jastadd/mustache b/ragconnect.base/src/main/jastadd/mustache deleted file mode 160000 index c10bed0..0000000 --- a/ragconnect.base/src/main/jastadd/mustache +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c10bed0d03e3fa18b8133ce1de48de7646899615 diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java index 5aeca96..d4d7389 100644 --- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java +++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java @@ -21,8 +21,7 @@ public class RegressionTests { String connectFile = "regression-tests/issue27/Test.connect"; grammarFile = ensureNoTrailingNewLine(grammarFile); connectFile = ensureNoTrailingNewLine(connectFile); - // FIXME Once fixed in pre-processor, change expected return value from 1 to 0 - TestUtils.runCompiler(grammarFile, Collections.singletonList(connectFile), "A", REGRESSION_TEST_OUTPUT_DIRECTORY, 1); + TestUtils.runCompiler(grammarFile, Collections.singletonList(connectFile), "A", REGRESSION_TEST_OUTPUT_DIRECTORY, 0); } private String ensureNoTrailingNewLine(String inputFileSuffix) throws IOException { diff --git a/relast-preprocessor b/relast-preprocessor index b538a7f..02f8e35 160000 --- a/relast-preprocessor +++ b/relast-preprocessor @@ -1 +1 @@ -Subproject commit b538a7f709167c5f56fe65e6d9e9f02179cacaef +Subproject commit 02f8e35993dc3f62ab49e94f69a6dc27170660da diff --git a/settings.gradle b/settings.gradle index e776987..8a597cf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,9 @@ +pluginManagement { + plugins { + id 'org.jastadd' version '1.13.3' + } +} + rootProject.name = 'ragconnect' include 'relast-preprocessor' -- GitLab