diff --git a/.gitignore b/.gitignore index b83d222..6fa2869 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,11 @@ -/target/ +target/ +bin/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties + +.classpath +.project +.settings/ diff --git a/bin/Main.class b/bin/Main.class deleted file mode 100644 index b25c141..0000000 --- a/bin/Main.class +++ /dev/null Binary files differ diff --git a/bin/models/Dependency.class b/bin/models/Dependency.class deleted file mode 100644 index 62d1839..0000000 --- a/bin/models/Dependency.class +++ /dev/null Binary files differ diff --git a/bin/models/EvaluableTerm.class b/bin/models/EvaluableTerm.class deleted file mode 100644 index 135be5b..0000000 --- a/bin/models/EvaluableTerm.class +++ /dev/null Binary files differ diff --git a/bin/models/RDLConstant.class b/bin/models/RDLConstant.class deleted file mode 100644 index 12de35c..0000000 --- a/bin/models/RDLConstant.class +++ /dev/null Binary files differ diff --git a/bin/models/RDLTerm.class b/bin/models/RDLTerm.class deleted file mode 100644 index 59a825b..0000000 --- a/bin/models/RDLTerm.class +++ /dev/null Binary files differ diff --git a/bin/models/RDLVariable.class b/bin/models/RDLVariable.class deleted file mode 100644 index 242a007..0000000 --- a/bin/models/RDLVariable.class +++ /dev/null Binary files differ diff --git a/src/models/DependencyTerm.java b/src/models/DependencyTerm.java index 87a35a0..3a437df 100644 --- a/src/models/DependencyTerm.java +++ b/src/models/DependencyTerm.java @@ -6,20 +6,22 @@ @Getter public class DependencyTerm extends EvaluatableTerm{ - private Dependency dependency; + private EvaluatableTerm dependingTerm; + private ResourceVariable dependedVariable; private EvaluatableTerm argumentTerm; public DependencyTerm(int order) { super(new Symbol(":", 3), order); } - public DependencyTerm(Dependency dependency, EvaluatableTerm argumentTerm) { - super(new Symbol(":", 3), dependency.getDependedVariable().getOrder() - 1); - this.dependency = dependency; + public DependencyTerm(EvaluatableTerm dependingTerm, ResourceVariable dependedVariable, EvaluatableTerm argumentTerm) { + super(new Symbol(":", 3), dependedVariable.getOrder() == argumentTerm.getOrder() ? dependedVariable.getOrder() : dependedVariable.getOrder() - 1); + this.dependingTerm = dependingTerm; + this.dependedVariable = dependedVariable; this.argumentTerm = argumentTerm; - this.addChild(dependency.getDependingTerm()); - this.addChild(dependency.getDependedVariable()); - this.addChild(argumentTerm); + addChild(dependingTerm); + addChild(dependedVariable); + addChild(argumentTerm); } @Override @@ -35,52 +37,38 @@ } @Override - public int getOrder() { - ResourceVariable variable = dependency.getDependedVariable(); - if(variable.getOrder() == argumentTerm.getOrder()) { - return variable.getOrder(); - } else { - return variable.getOrder() - 1; - } - } - - @Override public void selfLinearRightNormalize() { - EvaluatableTerm term = (EvaluatableTerm) dependency.getDependingTerm(); //depending term. a of [a : b -> c] - if(term instanceof ResourceVariable || term instanceof SetEvaluatableTerm) { + if(dependingTerm instanceof ResourceVariable || dependingTerm instanceof SetEvaluatableTerm) { argumentTerm.selfLinearRightNormalize(); return; } - DependencyTerm dependencyTerm = (DependencyTerm) term; + DependencyTerm dependencyTerm = (DependencyTerm) dependingTerm; if(! dependencyTerm.isLinearRightNormal()) { dependencyTerm.selfLinearRightNormalize(); } if(! isLinearRightNormal()) { - Dependency childDependency = dependencyTerm.getDependency(); EvaluatableTerm childArgumentTerm = dependencyTerm.getArgumentTerm(); - Dependency nextDependency = new Dependency(childArgumentTerm, dependency.getDependedVariable()); - DependencyTerm nextDependencyTerm = new DependencyTerm(nextDependency, argumentTerm); + DependencyTerm nextDependencyTerm = new DependencyTerm(childArgumentTerm, dependedVariable, argumentTerm); + this.dependingTerm = dependencyTerm.getDependingTerm(); + this.dependedVariable = dependencyTerm.getDependedVariable(); this.argumentTerm = nextDependencyTerm; - this.dependency = childDependency; this.setChild(3, nextDependencyTerm); - this.setChild(0, childDependency.getChild(0)); - this.setChild(1, childDependency.getChild(1)); + this.setChild(0, dependencyTerm.getDependingTerm()); + this.setChild(1, dependencyTerm.getDependedVariable()); } argumentTerm.selfLinearRightNormalize(); } private boolean isLinearRightNormal(int depth) { - EvaluatableTerm term = (EvaluatableTerm) dependency.getDependingTerm(); //depending term. a of [a : b -> c] - ResourceVariable variable = dependency.getDependedVariable(); - if(term instanceof ResourceVariable || term instanceof SetEvaluatableTerm) { - return term.getOrder() == variable.getOrder(); + if(dependingTerm instanceof ResourceVariable || dependingTerm instanceof SetEvaluatableTerm) { + return dependingTerm.getOrder() == dependedVariable.getOrder(); } - DependencyTerm dependencyTerm = (DependencyTerm) term; + DependencyTerm dependencyTerm = (DependencyTerm) dependingTerm; if( dependencyTerm.isLinearRightNormal(depth + 1) && - dependencyTerm.getDependency().getDependedVariable().getOrder() - 1 == variable.getOrder() && - dependencyTerm.getOrder() == variable.getOrder() && + dependencyTerm.getDependedVariable().getOrder() - 1 == dependedVariable.getOrder() && + dependencyTerm.getOrder() == dependedVariable.getOrder() && argumentTerm.getOrder() <= dependencyTerm.getOrder() && depth == 0 ) { @@ -88,8 +76,8 @@ } if( dependencyTerm.isLinearRightNormal(depth + 1) && - dependencyTerm.getDependency().getDependedVariable().getOrder() - 1 == variable.getOrder() && - dependencyTerm.getOrder() == variable.getOrder() && + dependencyTerm.getDependedVariable().getOrder() - 1 == dependedVariable.getOrder() && + dependencyTerm.getOrder() == dependedVariable.getOrder() && argumentTerm.getOrder() < dependencyTerm.getOrder() ) { return true; @@ -102,9 +90,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append('['); - sb.append(dependency.getDependingTerm().toString()); + sb.append(getDependingTerm().toString()); sb.append(" : "); - sb.append(dependency.getDependedVariable().toString()); + sb.append(getDependedVariable().toString()); sb.append(" -> "); sb.append(argumentTerm.toString()); sb.append(']'); @@ -115,9 +103,9 @@ public String toStringWithOrder() { StringBuilder sb = new StringBuilder(); sb.append('['); - sb.append(dependency.getDependingTerm().toStringWithOrder()); + sb.append(getDependingTerm().toStringWithOrder()); sb.append(" : "); - sb.append(dependency.getDependedVariable().toStringWithOrder()); + sb.append(getDependedVariable().toStringWithOrder()); sb.append(" -> "); sb.append(argumentTerm.toStringWithOrder()); sb.append(']'); @@ -133,7 +121,9 @@ return false; } DependencyTerm term = (DependencyTerm) another; - return term.getDependency().equals(dependency) && term.getArgumentTerm().equals(argumentTerm); + return dependingTerm.equals(term.getDependingTerm()) && + dependedVariable.equals(term.getDependedVariable()) && + argumentTerm.equals(term.getArgumentTerm()); } @Override @@ -144,7 +134,8 @@ @Override public Object clone() { return new DependencyTerm( - (Dependency) dependency.clone(), + (EvaluatableTerm) dependingTerm.clone(), + (ResourceVariable) dependedVariable.clone(), (EvaluatableTerm) argumentTerm.clone() ); } diff --git a/src/models/EvaluatableTerm.java b/src/models/EvaluatableTerm.java index 5a80673..24d7e9e 100644 --- a/src/models/EvaluatableTerm.java +++ b/src/models/EvaluatableTerm.java @@ -1,5 +1,6 @@ package models; +import exceptions.IllegalTypeException; import models.algebra.Symbol; import models.algebra.Type; @@ -19,31 +20,39 @@ } public static DependencyTerm of(EvaluatableTerm term, ResourceVariable variable, EvaluatableTerm valueTerm) { - return new DependencyTerm(new Dependency(term, variable), valueTerm); + return new DependencyTerm(term, variable, valueTerm); } public static EvaluatableTerm of(EvaluatableTerm term, ResourceVariable variable, EvaluatableTerm valueTerm, int order) { if(variable.getOrder() == valueTerm.getOrder() && variable.getOrder() == order) { - return new DependencyTerm(new Dependency(term, variable), valueTerm); + return new DependencyTerm(term, variable, valueTerm); } else if(variable.getOrder() -1 == order) { - return new DependencyTerm(new Dependency(term, variable), valueTerm); + return new DependencyTerm(term, variable, valueTerm); } else { - return new SetEvaluatableTerm(new DependencyTerm(new Dependency(term, variable), valueTerm), order); + return new SetEvaluatableTerm(new DependencyTerm(term, variable, valueTerm), order); } } public static DependencyTerm of(Dependency dependency, EvaluatableTerm argumentTerm) { - return new DependencyTerm(dependency, argumentTerm); + RDLTerm term = dependency.getDependingTerm(); + if(! (term instanceof EvaluatableTerm)) { + throw new IllegalTypeException(); + } + return new DependencyTerm((EvaluatableTerm) term, dependency.getDependedVariable(), argumentTerm); } public static EvaluatableTerm of(Dependency dependency, EvaluatableTerm argumentTerm, int order) { + RDLTerm term = dependency.getDependingTerm(); + if(! (term instanceof EvaluatableTerm)) { + throw new IllegalTypeException(); + } ResourceVariable variable = dependency.getDependedVariable(); if(variable.getOrder() == argumentTerm.getOrder() && variable.getOrder() == order) { - return new DependencyTerm(dependency, argumentTerm); + return new DependencyTerm((EvaluatableTerm) term, variable, argumentTerm); } else if(variable.getOrder() - 1 == order) { - return new DependencyTerm(dependency, argumentTerm); + return new DependencyTerm((EvaluatableTerm) term, variable, argumentTerm); } else { - return new SetEvaluatableTerm(new DependencyTerm(dependency, argumentTerm), order); + return new SetEvaluatableTerm(new DependencyTerm((EvaluatableTerm) term, variable, argumentTerm), order); } } diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF deleted file mode 100644 index 6ea90ca..0000000 --- a/target/classes/META-INF/MANIFEST.MF +++ /dev/null @@ -1,5 +0,0 @@ -Manifest-Version: 1.0 -Built-By: takot -Build-Jdk: 17.0.10 -Created-By: Maven Integration for Eclipse - diff --git a/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.properties b/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.properties deleted file mode 100644 index e8ea7d7..0000000 --- a/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by Maven Integration for Eclipse -#Sat Oct 18 21:55:42 JST 2025 -m2e.projectLocation=C\:\\pleiades\\2023-03\\myproject\\ResourceDependencyLogic -m2e.projectName=ResourceDependencyLogic -groupId=ResourceDependencyLogic -artifactId=ResourceDependencyLogic -version=0.0.1-SNAPSHOT diff --git a/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.xml b/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.xml deleted file mode 100644 index 16b3e9a..0000000 --- a/target/classes/META-INF/maven/ResourceDependencyLogic/ResourceDependencyLogic/pom.xml +++ /dev/null @@ -1,43 +0,0 @@ - - 4.0.0 - ResourceDependencyLogic - ResourceDependencyLogic - 0.0.1-SNAPSHOT - - - - org.projectlombok - lombok - 1.18.34 - provided - - - - org.junit.jupiter - junit-jupiter - 5.11.3 - test - - - - - src - - - - maven-compiler-plugin - 3.8.1 - - 17 - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.2.5 - - - - - \ No newline at end of file diff --git a/target/classes/Main.class b/target/classes/Main.class deleted file mode 100644 index 013b56c..0000000 --- a/target/classes/Main.class +++ /dev/null Binary files differ diff --git a/target/classes/models/Dependency.class b/target/classes/models/Dependency.class deleted file mode 100644 index eebf1e7..0000000 --- a/target/classes/models/Dependency.class +++ /dev/null Binary files differ diff --git a/target/classes/models/DependencyTerm.class b/target/classes/models/DependencyTerm.class deleted file mode 100644 index a7920f5..0000000 --- a/target/classes/models/DependencyTerm.class +++ /dev/null Binary files differ diff --git a/target/classes/models/EvaluatableTerm.class b/target/classes/models/EvaluatableTerm.class deleted file mode 100644 index f85c35c..0000000 --- a/target/classes/models/EvaluatableTerm.class +++ /dev/null Binary files differ diff --git a/target/classes/models/RDLTerm.class b/target/classes/models/RDLTerm.class deleted file mode 100644 index a3f8285..0000000 --- a/target/classes/models/RDLTerm.class +++ /dev/null Binary files differ diff --git a/target/classes/models/ResourceConstant.class b/target/classes/models/ResourceConstant.class deleted file mode 100644 index 2d0f5ac..0000000 --- a/target/classes/models/ResourceConstant.class +++ /dev/null Binary files differ diff --git a/target/classes/models/ResourceVariable.class b/target/classes/models/ResourceVariable.class deleted file mode 100644 index 0bee4dc..0000000 --- a/target/classes/models/ResourceVariable.class +++ /dev/null Binary files differ diff --git a/target/classes/models/SetEvaluatableTerm.class b/target/classes/models/SetEvaluatableTerm.class deleted file mode 100644 index ac9eb8e..0000000 --- a/target/classes/models/SetEvaluatableTerm.class +++ /dev/null Binary files differ diff --git a/target/classes/tests/LinearRightNormalTest.class b/target/classes/tests/LinearRightNormalTest.class deleted file mode 100644 index ec019b6..0000000 --- a/target/classes/tests/LinearRightNormalTest.class +++ /dev/null Binary files differ