From 97e3ffa4f7da4ef6644a88f586108db97c7631f5 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 17 Apr 2025 15:55:32 +0200 Subject: [PATCH 1/5] moved all dependency versions into gradle.properties, migrated to new monticore generator plugin --- build.gradle | 2 +- gradle.properties | 13 +++++-- gradle/libs.versions.toml | 36 ------------------- javaDSL-emf/build.gradle | 53 +++++++-------------------- javaDSL/build.gradle | 15 ++++---- ref-code-adaptation/build.gradle | 62 +++++++++++++------------------- 6 files changed, 56 insertions(+), 125 deletions(-) delete mode 100644 gradle/libs.versions.toml diff --git a/build.gradle b/build.gradle index 4e53400f..6eac4cf9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - alias(libs.plugins.monticore) apply false + id "de.monticore.generator" version "$mc_version" apply false } allprojects { diff --git a/gradle.properties b/gradle.properties index 867780ae..fa6d675a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,16 @@ repo=https://nexus.se.rwth-aachen.de/content/groups/public useLocalRepo=false -version=7.7.0-SNAPSHOT - org.gradle.caching=true org.gradle.welcome=never +org.gradle.jvmargs=-Xms3072m -Dfile.encoding=UTF-8 + +# dependency versions +mc_version=7.7.0-SNAPSHOT +emf_version=2.15.0 +shadow_plugin_version=7.1.2 +guava_version=31.1-jre +junit_version=5.10.3 +google_java_format_version=0.9 +spoon_core_version=10.2.0 +commons_lang3_version=3.9 \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml deleted file mode 100644 index d60ad87a..00000000 --- a/gradle/libs.versions.toml +++ /dev/null @@ -1,36 +0,0 @@ -[versions] -emf = "2.15.0" -gradle-shadow-plugin = "7.1.2" -guava = "31.1-jre" -junit = "5.9.0" -monticore = "7.7.0-SNAPSHOT" - - -[libraries] -# com.google.guava - Guava -guava = { module = "com.google.guava:guava", version.ref = "guava" } - -# de.monticore - MontiCore -monticore-grammar = { module = "de.monticore:monticore-grammar", version.ref = "monticore" } -monticore-grammar-emf = { module = "de.monticore:monticore-grammar-emf", version.ref = "monticore" } -monticore-runtime = { module = "de.monticore:monticore-runtime", version.ref = "monticore" } -monticore-runtime-emf = { module = "de.monticore:monticore-runtime-emf", version.ref = "monticore" } - -# org.eclipse.emf - EMF -emf-common = { module = "org.eclipse.emf:org.eclipse.emf.common", version.ref = "emf" } -emf-ecore = { module = "org.eclipse.emf:org.eclipse.emf.ecore", version.ref = "emf" } -emf-ecore-xmi = { module = "org.eclipse.emf:org.eclipse.emf.ecore.xmi", version.ref = "emf" } - -# org.junit - JUnit -junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" } -junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } -junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } -junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit" } - - -[plugins] -# de.monticore - MontiCore -monticore = { id = "monticore", version.ref = "monticore" } - -# com.github.johnrengelman.shadow - Shadow -shadow = { id = "com.github.johnrengelman.shadow", version.ref = "gradle-shadow-plugin" } \ No newline at end of file diff --git a/javaDSL-emf/build.gradle b/javaDSL-emf/build.gradle index 63784b50..f6d5c7d8 100644 --- a/javaDSL-emf/build.gradle +++ b/javaDSL-emf/build.gradle @@ -6,9 +6,6 @@ def srcTestDir = "$buildDir/copied-sources/test" def grammarsDir = "${project(":javaDSL").projectDir}/src/main/grammars" sourceSets { - main.java.srcDirs("$srcMainDir/java", "$buildDir/generated-sources/monticore/sourcecode") - test.java.srcDirs("$srcTestDir/java") - grammars { resources { srcDir(grammarsDir) @@ -23,62 +20,38 @@ java { } } -task copyMainSources(type: Copy) { +tasks.register('copyMainSources', Copy) { destinationDir = file srcMainDir from "${project(':javaDSL').projectDir}/src/main" } -task copyTestSources(type: Copy) { +tasks.register('copyTestSources', Copy) { destinationDir = file srcTestDir from "${project(':javaDSL').projectDir}/src/main" } -tasks.register("generateTextBlock", MCTask) { +generateMCGrammars { dependsOn(copyMainSources, copyTestSources) - - grammar = file "$grammarsDir/de/monticore/java/TextBlock.mc4" - outputDir = file "$buildDir/generated-sources/monticore/sourcecode" - handcodedPath "$srcMainDir/java" - script = "de/monticore/monticore_emf.groovy" - - def upToDate = incCheck("de/monticore/java/TextBlock.mc4") - outputs.upToDateWhen { upToDate } -} - -tasks.register("generate", MCTask) { - dependsOn(tasks.generateTextBlock) - dependsOn(copyMainSources, copyTestSources) - - grammar = file "$grammarsDir/de/monticore/java/JavaDSL.mc4" - outputDir = file "$buildDir/generated-sources/monticore/sourcecode" - modelPath "$grammarsDir" - handcodedPath "$srcMainDir/java" - - script = "de/monticore/monticore_emf.groovy" - - def upToDate = incCheck("de/monticore/java/JavaDSL.mc4") - outputs.upToDateWhen { upToDate } } dependencies { - implementation(platform(libs.junit.bom)) - implementation "de.monticore.lang:cd4analysis:7.7.0-SNAPSHOT" + implementation "de.monticore.lang:cd4analysis:$mc_version" - api(libs.monticore.grammar.emf) - api(libs.monticore.runtime.emf) + implementation "org.eclipse.emf:org.eclipse.emf.common:$emf_version" + implementation "org.eclipse.emf:org.eclipse.emf.ecore:$emf_version" + implementation "org.eclipse.emf:org.eclipse.emf.ecore.xmi:$emf_version" - api(libs.emf.common) - api(libs.emf.ecore) - api(libs.emf.ecore.xmi) + implementation "de.monticore:monticore-grammar-emf:$mc_version" + implementation "de.monticore:monticore-runtime-emf:$mc_version" - grammar(libs.monticore.grammar) { + grammar("de.monticore:monticore-grammar:$mc_version") { capabilities { requireCapability("de.monticore:monticore-grammar-grammars") } } - testImplementation(libs.junit.jupiter.api) - testImplementation(libs.junit.jupiter.params) - testRuntimeOnly(libs.junit.jupiter.engine) + testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version" } \ No newline at end of file diff --git a/javaDSL/build.gradle b/javaDSL/build.gradle index 139344bd..670a7294 100644 --- a/javaDSL/build.gradle +++ b/javaDSL/build.gradle @@ -62,21 +62,20 @@ tasks.withType(Test).configureEach { } dependencies { - implementation(platform(libs.junit.bom)) - implementation "de.monticore.lang:cd4analysis:$version" + implementation "de.monticore.lang:cd4analysis:$mc_version" - api(libs.monticore.grammar) - api(libs.monticore.runtime) + implementation "de.monticore:monticore-grammar:$mc_version" + implementation "de.monticore:monticore-runtime:$mc_version" - grammar(libs.monticore.grammar) { + grammar("de.monticore:monticore-grammar:$mc_version") { capabilities { requireCapability("de.monticore:monticore-grammar-grammars") } } - testImplementation(libs.junit.jupiter.api) - testImplementation(libs.junit.jupiter.params) - testRuntimeOnly(libs.junit.jupiter.engine) + testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version" corpus(corpus.guava) corpus(corpus.monticore.runtime) diff --git a/ref-code-adaptation/build.gradle b/ref-code-adaptation/build.gradle index 09a7c560..aa14a250 100644 --- a/ref-code-adaptation/build.gradle +++ b/ref-code-adaptation/build.gradle @@ -3,49 +3,35 @@ import com.github.sherter.googlejavaformatgradleplugin.VerifyGoogleJavaFormat plugins { id 'java' id 'java-gradle-plugin' - - id 'monticore' version "$version" - id 'com.github.johnrengelman.shadow' version "7.1.2" id 'maven-publish' - id "com.github.sherter.google-java-format" version "0.9" // Task "verifyGoogleJavaFormat" and "googleJavaFormat" + id "de.monticore.generator" version "$mc_version" + id "com.github.johnrengelman.shadow" version "$shadow_plugin_version" + id "com.github.sherter.google-java-format" version "$google_java_format_version" // Task "verifyGoogleJavaFormat" and "googleJavaFormat" } dependencies { - - implementation group: 'de.se_rwth.commons', name: 'se-commons-logging', version:version - implementation group: 'de.monticore', name: 'monticore-runtime', version: version - implementation group: 'de.monticore', name: 'monticore-grammar', version: version - implementation group: 'de.monticore', name: 'class2mc', version: version - implementation group: 'de.monticore.lang', name: 'cd4analysis', version: version - implementation group: 'de.monticore', name: 'javaDSL', version: version - implementation group: 'de.monticore.lang', name: 'od',version: version - implementation group: 'com.google.guava', name: 'guava', version: '31.1-jre' - implementation 'fr.inria.gforge.spoon:spoon-core:10.2.0' - - - - implementation "org.apache.commons:commons-lang3:3.9" - - implementation 'org.junit.jupiter:junit-jupiter:5.9.0' - implementation 'de.monticore.lang:cd4analysis:$version:cddiff' - implementation 'de.monticore.lang:cd4analysis:$version:tool' - - - testImplementation(libs.junit.jupiter.api) - testImplementation(libs.junit.jupiter.params) - testRuntimeOnly(libs.junit.jupiter.engine) - - - - - //implementation "org.codehaus.groovy:groovy:$groovy_version" - //implementation "de.se_rwth.commons:se-commons-groovy:3.0.7" - testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' - grammar("de.monticore.lang:cd4analysis:$version") { - } - grammar("de.monticore:monticore-grammar:$version") { - } + implementation project(":javaDSL") + implementation "de.se_rwth.commons:se-commons-logging:$mc_version" + implementation "de.monticore:monticore-runtime:$mc_version" + implementation "de.monticore:monticore-grammar:$mc_version" + implementation "de.monticore:class2mc:$mc_version" + implementation "de.monticore.lang:cd4analysis:$mc_version" + implementation "de.monticore.lang:od:$mc_version" + implementation "com.google.guava:guava:$guava_version" + implementation "fr.inria.gforge.spoon:spoon-core:$spoon_core_version" + + implementation "org.apache.commons:commons-lang3:$commons_lang3_version" + + implementation "de.monticore.lang:cd4analysis:$mc_version:cddiff" + implementation "de.monticore.lang:cd4analysis:$mc_version:tool" + + implementation "org.junit.jupiter:junit-jupiter-api:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-engine:$junit_version" + testImplementation "org.junit.jupiter:junit-jupiter-params:$junit_version" + + grammar("de.monticore.lang:cd4analysis:$mc_version") + grammar("de.monticore:monticore-grammar:$mc_version") } shadowJar { // all in one jar From c44f74a8a74b389ad49c9c208252624333d132c9 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 17 Apr 2025 16:56:05 +0200 Subject: [PATCH 2/5] init and use mills --- .../java/de/monticore/java/AbstractTest.java | 6 ++++++ .../de/monticore/java/JavaDSLAssertions.java | 5 +++-- .../de/monticore/java/JavaDSLParserTest.java | 19 ++++++++++--------- .../java/JavaDSLPrettyPrinterTest.java | 4 ++-- .../java/JavaSourceTestFileVisitor.java | 3 ++- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/javaDSL/src/test/java/de/monticore/java/AbstractTest.java b/javaDSL/src/test/java/de/monticore/java/AbstractTest.java index a4d01f73..1006df8e 100644 --- a/javaDSL/src/test/java/de/monticore/java/AbstractTest.java +++ b/javaDSL/src/test/java/de/monticore/java/AbstractTest.java @@ -1,5 +1,7 @@ package de.monticore.java; +import de.monticore.cd4code.CD4CodeMill; +import de.monticore.java.javadsl.JavaDSLMill; import de.se_rwth.commons.logging.LogStub; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; @@ -19,6 +21,10 @@ public static void setup() { @BeforeEach public void reset() { LogStub.init(); + JavaDSLMill.init(); + JavaDSLMill.globalScope().clear(); + CD4CodeMill.init(); + CD4CodeMill.globalScope().clear(); } } \ No newline at end of file diff --git a/javaDSL/src/test/java/de/monticore/java/JavaDSLAssertions.java b/javaDSL/src/test/java/de/monticore/java/JavaDSLAssertions.java index d61ca18b..e03c152c 100644 --- a/javaDSL/src/test/java/de/monticore/java/JavaDSLAssertions.java +++ b/javaDSL/src/test/java/de/monticore/java/JavaDSLAssertions.java @@ -1,5 +1,6 @@ package de.monticore.java; +import de.monticore.java.javadsl.JavaDSLMill; import de.monticore.java.javadsl._ast.ASTCompilationUnit; import de.monticore.java.javadsl._parser.JavaDSLParser; import de.se_rwth.commons.logging.Log; @@ -12,7 +13,7 @@ public final class JavaDSLAssertions { public static void assertParsingFailure(String pathToModel) { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional optCompilationUnit; @@ -28,7 +29,7 @@ public static void assertParsingFailure(String pathToModel) { } public static ASTCompilationUnit assertParsingSuccess(String pathToModel) { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional optCompilationUnit; Throwable cause = null; diff --git a/javaDSL/src/test/java/de/monticore/java/JavaDSLParserTest.java b/javaDSL/src/test/java/de/monticore/java/JavaDSLParserTest.java index 218ff097..7b9a10db 100644 --- a/javaDSL/src/test/java/de/monticore/java/JavaDSLParserTest.java +++ b/javaDSL/src/test/java/de/monticore/java/JavaDSLParserTest.java @@ -2,6 +2,7 @@ package de.monticore.java; import de.monticore.expressions.expressionsbasis._ast.ASTExpression; +import de.monticore.java.javadsl.JavaDSLMill; import de.monticore.java.javadsl._ast.ASTCompilationUnit; import de.monticore.java.javadsl._ast.ASTJavaBlock; import de.monticore.java.javadsl._ast.ASTTextBlockLiteral; @@ -24,7 +25,7 @@ public class JavaDSLParserTest extends AbstractTest { @Test public void test1() throws IOException { Path model = Paths.get("src/test/resources/de/monticore/java/parser/ASTClassDeclaration.java"); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(model.toString()); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -34,7 +35,7 @@ public void test1() throws IOException { @Test public void test2() throws IOException { Path model = Paths.get("src/test/resources/de/monticore/java/parser/ParseException.java"); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(model.toString()); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -44,7 +45,7 @@ public void test2() throws IOException { @Test public void test3() throws IOException { Path model = Paths.get("src/test/resources/de/monticore/java/parser/TokenMgrError.java"); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(model.toString()); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -63,7 +64,7 @@ public void test4() throws IOException { buffer.append("getCompiler().addComment(_comment);"); buffer.append("}"); buffer.append("} "); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parseJavaBlock(new StringReader(buffer.toString())); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -73,7 +74,7 @@ public void test4() throws IOException { public void test5() throws IOException { Path model = Paths .get("src/test/resources/parsableAndCompilableModels/simpleTestClasses/HelloWorld.java"); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(model.toString()); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -82,14 +83,14 @@ public void test5() throws IOException { @Test public void testCondition() throws IOException { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse_StringExpression("ch = str.charAt(i) < 0x20"); assertTrue(ast.isPresent()); } @Test public void testLambdas() throws IOException { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); assertTrue(parser.parse_StringExpression("foo -> foo").isPresent()); assertTrue(parser.parse_StringExpression("(foo, bar) -> foo").isPresent()); assertTrue(parser.parse_StringExpression("(foo, bar) -> { return foo; }").isPresent()); @@ -97,7 +98,7 @@ public void testLambdas() throws IOException { @Test public void testMethodReferences() throws IOException { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); assertTrue(parser.parse_StringExpression("String::length").isPresent()); assertTrue(parser.parse_StringExpression("System::currentTimeMillis").isPresent()); assertTrue(parser.parse_StringExpression("List::size").isPresent()); @@ -122,7 +123,7 @@ public void testTextBlocks() throws IOException { "\t\t\tIndented" + "\n" + "\"\"\""; - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional optLiteral = parser.parse_StringLiteral(textBlock); assertTrue(optLiteral.isPresent()); diff --git a/javaDSL/src/test/java/de/monticore/java/JavaDSLPrettyPrinterTest.java b/javaDSL/src/test/java/de/monticore/java/JavaDSLPrettyPrinterTest.java index 30c95425..ca495bea 100644 --- a/javaDSL/src/test/java/de/monticore/java/JavaDSLPrettyPrinterTest.java +++ b/javaDSL/src/test/java/de/monticore/java/JavaDSLPrettyPrinterTest.java @@ -20,7 +20,7 @@ public final class JavaDSLPrettyPrinterTest extends AbstractTest { private ASTJavaDSLNode parse(String modelName) throws IOException { Path model = Paths.get(modelName); - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(model.toString()); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); @@ -28,7 +28,7 @@ private ASTJavaDSLNode parse(String modelName) throws IOException { } private ASTJavaDSLNode parse(StringReader reader) throws IOException { - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional ast = parser.parse(reader); assertFalse(parser.hasErrors()); assertTrue(ast.isPresent()); diff --git a/javaDSL/src/test/java/de/monticore/java/JavaSourceTestFileVisitor.java b/javaDSL/src/test/java/de/monticore/java/JavaSourceTestFileVisitor.java index a0366c32..2bc12860 100644 --- a/javaDSL/src/test/java/de/monticore/java/JavaSourceTestFileVisitor.java +++ b/javaDSL/src/test/java/de/monticore/java/JavaSourceTestFileVisitor.java @@ -14,6 +14,7 @@ import java.util.Optional; import java.util.stream.Collectors; +import de.monticore.java.javadsl.JavaDSLMill; import de.monticore.java.javadsl._parser.JavaDSLParser; import org.antlr.v4.runtime.RecognitionException; @@ -156,7 +157,7 @@ private ASTCompilationUnit parse(String parentDirectory, String modelPath) throw try { String pathToModel = parentDirectory + File.pathSeparator + modelPath + ".java"; - JavaDSLParser parser = new JavaDSLParser(); + JavaDSLParser parser = JavaDSLMill.parser(); Optional optCompilationUnit; Throwable cause = null; From 1fa7100a305abb8675a5161e1df6ebba7af504f3 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 24 Apr 2025 13:39:02 +0200 Subject: [PATCH 3/5] update to MC 7.8.0 --- gradle.properties | 4 +++- gradle/corpus.versions.toml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index fa6d675a..4572e0a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,8 +8,10 @@ org.gradle.caching=true org.gradle.welcome=never org.gradle.jvmargs=-Xms3072m -Dfile.encoding=UTF-8 +version=7.8.0-SNAPSHOT + # dependency versions -mc_version=7.7.0-SNAPSHOT +mc_version=7.8.0-SNAPSHOT emf_version=2.15.0 shadow_plugin_version=7.1.2 guava_version=31.1-jre diff --git a/gradle/corpus.versions.toml b/gradle/corpus.versions.toml index 4cc8c8ab..fd93b2d8 100644 --- a/gradle/corpus.versions.toml +++ b/gradle/corpus.versions.toml @@ -17,4 +17,4 @@ guava = { module = "com.google.guava:guava", version = "31.1-jre" } # de.monticore - MontiCore # https://github.com/MontiCore/monticore - Java 11 -monticore-runtime = { module = "de.monticore:monticore-runtime", version = "7.6.0-SNAPSHOT" } \ No newline at end of file +monticore-runtime = { module = "de.monticore:monticore-runtime", version = "7.8.0-SNAPSHOT" } \ No newline at end of file From bf044af1edbdaf9535f8810a911abff9c340c5fd Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 24 Apr 2025 13:49:14 +0200 Subject: [PATCH 4/5] reorder grammar extensions to fix incorrect production override As MCCommonLiterals has been added to JavaLight, the overridden production rules of MCJavaLiterals have been ignored. Changing their order results in a prioritization of the MCJavaLiterals. --- javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 b/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 index 12fa5901..0fd092a7 100644 --- a/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 +++ b/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 @@ -68,10 +68,10 @@ package de.monticore.java; */ grammar JavaDSL extends de.monticore.java.TextBlock, + de.monticore.literals.MCJavaLiterals, de.monticore.JavaLight, de.monticore.expressions.BitExpressions, de.monticore.expressions.LambdaExpressions, // TODO: move to JavaLight? - de.monticore.literals.MCJavaLiterals, de.monticore.statements.MCFullJavaStatements, de.monticore.types.MCArrayTypes, de.monticore.types.MCFullGenericTypes, From ac5b6ad935512f49ad233f99880fbf4036b22c41 Mon Sep 17 00:00:00 2001 From: Janik Rapp Date: Thu, 24 Apr 2025 14:23:11 +0200 Subject: [PATCH 5/5] update grammar dependency tree --- .../grammars/de/monticore/java/JavaDSL.mc4 | 62 +++++++++++-------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 b/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 index 0fd092a7..a30449f4 100644 --- a/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 +++ b/javaDSL/src/main/grammars/de/monticore/java/JavaDSL.mc4 @@ -3,66 +3,74 @@ package de.monticore.java; /** - * The full grammar dependency tree as of 7.4 + * The full grammar dependency tree as of 7.8 * * JavaDSL + * |-> de.monticore.java.TextBlock + * |-> de.monticore.literals.MCJavaLiterals + * |-> de.monticore.literals.MCCommonLiterals + * |-> de.monticore.MCBasics + * |-> de.monticore.literals.MCLiteralsBasis * |-> de.monticore.JavaLight * |-> de.monticore.expressions.AssignmentExpressions * |-> de.monticore.expressions.ExpressionsBasis - * |-> de.monticore.MCBasics - * |-> de.monticore.literals.MCLiteralsBasis + * |-> de.monticore.MCBasics (*) + * |-> de.monticore.literals.MCLiteralsBasis (*) * |-> de.monticore.expressions.JavaClassExpressions * |-> de.monticore.expressions.CommonExpressions * |-> de.monticore.expressions.ExpressionsBasis (*) - * |-> de.monticore.statements.MCArrayStatements * |-> de.monticore.statements.MCVarDeclarationStatements + * |-> de.monticore.statements.MCStatementBasis + * |-> de.monticore.types.MCBasicTypes + * |-> de.monticore.MCBasics (*) * |-> de.monticore.expressions.ExpressionsBasis (*) - * |-> de.monticore.statements.MCStatementsBasis * |-> de.monticore.symbols.OOSymbols * |-> de.monticore.symbols.BasicSymbols * |-> de.monticore.MCBasics (*) - * |-> de.monticore.types.MCBasicTypes - * |-> de.monticore.MCBasics (*) + * |-> de.monticore.types.MCFullGenericTypes + * |-> de.monticore.types.MCSimpleGenericTypes + * |-> de.monticore.types.MCCollectionTypes + * |-> de.monticore.types.MCBasicTypes (*) + * |-> de.monticore.expressions.UglyExpressions + * |-> de.monticore.types.MCBasicTypes (*) + * |-> de.monticore.expressions.ExpressionsBasis (*) + * |-> de.monticore.statements.MCCommonLiterals (*) * |-> de.monticore.statements.MCCommonStatements * |-> de.monticore.statements.MCVarDeclarationStatements (*) + * |-> de.monticore.statements.MCArrayStatements + * |-> de.monticore.statements.MCVarDeclarationStatements (*) * |-> de.monticore.statements.MCReturnStatements + * |-> de.monticore.statements.MCStatementsBasis * |-> de.monticore.expressions.ExpressionsBasis (*) - * |-> de.monticore.statements.MCStatementsBasis (*) + * |-> de.monticore.types.TypeParameters + * |-> de.monticore.symbols.BasicSymbols (*) + * |-> de.monticore.types.MCBasicTypes (*) * |-> de.monticore.expressions.BitExpressions * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.expressions.LambdaExpressions - * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.symbols.BasicSymbols (*) * |-> de.monticore.types.MCBasicTypes (*) - * |-> de.monticore.literals.MCJavaLiterals - * |-> de.monticore.literals.MCCommonLiterals (*) - * |-> de.monticore.MCBasics (*) - * |-> de.monticore.literals.MCLiteralsBasis (*) + * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.statements.MCFullJavaStatements - * |-> de.monticore.statements.MCArrayStatements (*) * |-> de.monticore.statements.MCAssertStatements - * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.statements.MCStatementsBasis (*) + * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.statements.MCExceptionStatements * |-> de.monticore.statements.MCCommonStatements (*) * |-> de.monticore.statements.MCLowLevelStatements - * |-> de.monticore.MCBasics (*) * |-> de.monticore.statements.MCStatementsBasis (*) + * |-> de.monticore.MCBasics (*) * |-> de.monticore.statements.MCReturnStatements (*) + * |-> de.monticore.statements.MCStatementsBasis (*) + * |-> de.monticore.expressions.ExpressionsBasis (*) * |-> de.monticore.statements.MCSynchronizedStatements * |-> de.monticore.statements.MCCommonStatements (*) + * |-> de.monticore.statements.MCArrayStatements (*) + * |-> de.monticore.statements.MCVarDeclarationStatements (*) * |-> de.monticore.types.MCArrayTypes - * |-> de.monticore.types.MCBasicTypes - * |-> de.monticore.MCBasics (*) - * |-> de.monticore.types.MCFullGenericTypes - * |-> de.monticore.types.MCSimpleGenericTypes - * |-> de.monticore.types.MCCollectionTypes - * |-> de.monticore.types.MCBasicTypes (*) - * |-> de.monticore.types.TypeParameters - * |-> de.monticore.symbols.BasicSymbols - * |-> de.monticore.MCBasics (*) - * |-> de.monticore.types.MCBasicTypes - * |-> de.monticore.MCBasics (*) + * |-> de.monticore.types.MCBasicTypes (*) + * |-> de.monticore.types.MCFullGenericTypes (*) + * |-> de.monticore.types.TypeParameters (*) * * (*) Repeated Dependencies are omitted. */