diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/src/Main.java b/src/Main.java index 270ae23..e02bf34 100644 --- a/src/Main.java +++ b/src/Main.java @@ -26,13 +26,13 @@ EvaluatableTerm te4 = EvaluatableTerm.of(te3, f, te1); var te5 = te4.linearRightNormalize(); - System.out.println(te4.toStr()); + System.out.println(te4.toString()); System.out.println(te4.getOrder()); te4.selfLinearRightNormalize(); - System.out.println(te4.toStr()); + System.out.println(te4.toString()); System.out.println(te4.isLinearRightNormal()); System.out.println(te4.getOrder()); - System.out.println(te5.toStr()); + System.out.println(te5.toString()); } diff --git a/src/models/Dependency.java b/src/models/Dependency.java index bfefc35..b41abeb 100644 --- a/src/models/Dependency.java +++ b/src/models/Dependency.java @@ -1,6 +1,7 @@ package models; import lombok.Getter; +import models.algebra.Symbol; @Getter public class Dependency extends RDLTerm{ @@ -10,7 +11,7 @@ private Dependency dependency; public Dependency(RDLTerm dependingTerm, ResourceVariable dependedVariable) { - super(dependedVariable.getOrder()); + super(new Symbol(":", 2), dependedVariable.getOrder()); this.dependingTerm = dependingTerm; this.dependedVariable = dependedVariable; this.dependency = null; @@ -19,7 +20,7 @@ } public Dependency(Dependency dependency) { - super(dependency.getOrder() - 1); + super(new Symbol(":", 1), dependency.getOrder() - 1); this.dependency = dependency; this.dependingTerm = null; this.dependedVariable = null; @@ -27,7 +28,7 @@ } public Dependency(RDLTerm dependingTerm, ResourceVariable dependedVariable, int order) { - super(order); + super(new Symbol(":", order == dependedVariable.order ? 2 : 1), order); if(order == dependedVariable.order) { this.dependingTerm = dependingTerm; this.dependedVariable = dependedVariable; @@ -54,38 +55,38 @@ @Override - public String toStr() { + public String toString() { StringBuilder sb = new StringBuilder(); if(dependency == null) { - sb.append(dependingTerm.toStr()); + sb.append(dependingTerm.toString()); sb.append(" : "); - sb.append(dependedVariable.toStr()); + sb.append(dependedVariable.toString()); } else { sb.append('['); - sb.append(dependency.toStr()); + sb.append(dependency.toString()); sb.append(']'); } return sb.toString(); } @Override - public String toStrWithOrder() { + public String toStringWithOrder() { StringBuilder sb = new StringBuilder(); if(dependency == null) { - sb.append(dependingTerm.toStrWithOrder()); + sb.append(dependingTerm.toStringWithOrder()); sb.append(" : "); - sb.append(dependedVariable.toStrWithOrder()); + sb.append(dependedVariable.toStringWithOrder()); } else { sb.append('['); - sb.append(dependency.toStrWithOrder()); + sb.append(dependency.toStringWithOrder()); sb.append(']'); } return sb.toString() + "(" + order + ")"; } @Override - public String toTermStr() { - return "[" + toStr() + "]"; + public String toTermString() { + return "[" + toString() + "]"; } @Override diff --git a/src/models/DependencyTerm.java b/src/models/DependencyTerm.java index ba31015..a03746c 100644 --- a/src/models/DependencyTerm.java +++ b/src/models/DependencyTerm.java @@ -1,6 +1,7 @@ package models; import lombok.Getter; +import models.algebra.Symbol; @Getter public class DependencyTerm extends EvaluatableTerm{ @@ -9,11 +10,11 @@ private EvaluatableTerm argumentTerm; public DependencyTerm(int order) { - super(order); + super(new Symbol(":", 3), order); } public DependencyTerm(Dependency dependency, EvaluatableTerm argumentTerm) { - super(dependency.getDependedVariable().getOrder() - 1); + super(new Symbol(":", 3), dependency.getDependedVariable().getOrder() - 1); this.dependency = dependency; this.argumentTerm = argumentTerm; this.addChild(dependency.getDependingTerm()); @@ -98,27 +99,27 @@ } @Override - public String toStr() { + public String toString() { StringBuilder sb = new StringBuilder(); sb.append('['); - sb.append(dependency.getDependingTerm().toStr()); + sb.append(dependency.getDependingTerm().toString()); sb.append(" : "); - sb.append(dependency.getDependedVariable().toStr()); + sb.append(dependency.getDependedVariable().toString()); sb.append(" -> "); - sb.append(argumentTerm.toStr()); + sb.append(argumentTerm.toString()); sb.append(']'); return sb.toString(); } @Override - public String toStrWithOrder() { + public String toStringWithOrder() { StringBuilder sb = new StringBuilder(); sb.append('['); - sb.append(dependency.getDependingTerm().toStrWithOrder()); + sb.append(dependency.getDependingTerm().toStringWithOrder()); sb.append(" : "); - sb.append(dependency.getDependedVariable().toStrWithOrder()); + sb.append(dependency.getDependedVariable().toStringWithOrder()); sb.append(" -> "); - sb.append(argumentTerm.toStrWithOrder()); + sb.append(argumentTerm.toStringWithOrder()); sb.append(']'); sb.append('('); sb.append(order); diff --git a/src/models/EvaluatableTerm.java b/src/models/EvaluatableTerm.java index e7c17c7..5a80673 100644 --- a/src/models/EvaluatableTerm.java +++ b/src/models/EvaluatableTerm.java @@ -1,11 +1,12 @@ package models; +import models.algebra.Symbol; import models.algebra.Type; public abstract class EvaluatableTerm extends RDLTerm{ - public EvaluatableTerm(int order) { - super(order); + public EvaluatableTerm(Symbol symbol, int order) { + super(symbol, order); } public abstract boolean isLinearRightNormal(); diff --git a/src/models/RDLTerm.java b/src/models/RDLTerm.java index de37c7a..fdfac9b 100644 --- a/src/models/RDLTerm.java +++ b/src/models/RDLTerm.java @@ -9,8 +9,8 @@ protected int order; - public RDLTerm(int order) { - super(new Symbol("aaa", 3)); + public RDLTerm(Symbol symbol, int order) { + super(symbol); this.order = order; } @@ -18,12 +18,13 @@ return getOrder(); } - public abstract String toStr(); + @Override + public abstract String toString(); - public abstract String toStrWithOrder(); + public abstract String toStringWithOrder(); - public String toTermStr() { - return toStr(); + public String toTermString() { + return toString(); } } diff --git a/src/models/ResourceConstant.java b/src/models/ResourceConstant.java index 010cb46..df03de3 100644 --- a/src/models/ResourceConstant.java +++ b/src/models/ResourceConstant.java @@ -2,6 +2,7 @@ import lombok.Getter; import lombok.Setter; +import models.algebra.Symbol; import models.algebra.Type; @Getter @@ -12,13 +13,13 @@ private Type type; public ResourceConstant(String name) { - super(0); + super(new Symbol("", 0), 0); this.name = name; this.type = null; } public ResourceConstant(String name, Type type) { - super(0); + super(new Symbol("", 0), 0); this.name = name; this.type = type; } @@ -38,12 +39,12 @@ } @Override - public String toStr() { + public String toString() { return this.name; } @Override - public String toStrWithOrder() { + public String toStringWithOrder() { return this.name + "(" + order + ")"; } diff --git a/src/models/ResourceVariable.java b/src/models/ResourceVariable.java index aa8a02b..b2e2f71 100644 --- a/src/models/ResourceVariable.java +++ b/src/models/ResourceVariable.java @@ -2,6 +2,7 @@ import lombok.Getter; import lombok.Setter; +import models.algebra.Symbol; import models.algebra.Type; @Setter @@ -12,7 +13,7 @@ private Type type; public ResourceVariable(String name, Type type, int order) { - super(order); + super(new Symbol("", 0), order); this.name = name; this.type = type; } @@ -32,12 +33,12 @@ } @Override - public String toStr() { + public String toString() { return this.name; } @Override - public String toStrWithOrder() { + public String toStringWithOrder() { return this.name + "(" + order + ")"; } diff --git a/src/models/SetEvaluatableTerm.java b/src/models/SetEvaluatableTerm.java index a9ee787..31a364c 100644 --- a/src/models/SetEvaluatableTerm.java +++ b/src/models/SetEvaluatableTerm.java @@ -2,6 +2,7 @@ import lombok.Getter; import lombok.Setter; +import models.algebra.Symbol; @Getter @Setter @@ -10,13 +11,13 @@ private EvaluatableTerm term; public SetEvaluatableTerm(EvaluatableTerm term) { - super(term.getOrder() - 1); + super(new Symbol("", 1), term.getOrder() - 1); this.term = term; this.addChild(term); } public SetEvaluatableTerm(EvaluatableTerm term, int order) { - super(order); + super(new Symbol("", 1), order); if(term.getOrder() > order + 1) { var childTerm = new SetEvaluatableTerm(term, order+1); this.term = childTerm; @@ -42,19 +43,19 @@ } @Override - public String toStr() { + public String toString() { StringBuilder sb = new StringBuilder(); sb.append('{'); - sb.append(term.toStr()); + sb.append(term.toString()); sb.append('}'); return sb.toString(); } @Override - public String toStrWithOrder() { + public String toStringWithOrder() { StringBuilder sb = new StringBuilder(); sb.append('{'); - sb.append(term.toStrWithOrder()); + sb.append(term.toStringWithOrder()); sb.append('}'); return sb.toString() + "(" + order + ")"; } diff --git a/target/classes/Main.class b/target/classes/Main.class index ef4faad..f6b89b4 100644 --- a/target/classes/Main.class +++ b/target/classes/Main.class Binary files differ diff --git a/target/classes/models/Dependency.class b/target/classes/models/Dependency.class index 9c879d5..bcf1f38 100644 --- a/target/classes/models/Dependency.class +++ b/target/classes/models/Dependency.class Binary files differ diff --git a/target/classes/models/DependencyTerm.class b/target/classes/models/DependencyTerm.class index 535436b..2bec431 100644 --- a/target/classes/models/DependencyTerm.class +++ b/target/classes/models/DependencyTerm.class Binary files differ diff --git a/target/classes/models/EvaluatableTerm.class b/target/classes/models/EvaluatableTerm.class index 9ba4ef6..f85c35c 100644 --- a/target/classes/models/EvaluatableTerm.class +++ b/target/classes/models/EvaluatableTerm.class Binary files differ diff --git a/target/classes/models/RDLTerm.class b/target/classes/models/RDLTerm.class index d032fec..2a3d702 100644 --- a/target/classes/models/RDLTerm.class +++ b/target/classes/models/RDLTerm.class Binary files differ diff --git a/target/classes/models/ResourceConstant.class b/target/classes/models/ResourceConstant.class index 26777fd..0ee92ca 100644 --- a/target/classes/models/ResourceConstant.class +++ b/target/classes/models/ResourceConstant.class Binary files differ diff --git a/target/classes/models/ResourceVariable.class b/target/classes/models/ResourceVariable.class index b56168a..1d655bf 100644 --- a/target/classes/models/ResourceVariable.class +++ b/target/classes/models/ResourceVariable.class Binary files differ diff --git a/target/classes/models/SetEvaluatableTerm.class b/target/classes/models/SetEvaluatableTerm.class index 5e8fd02..42cda3b 100644 --- a/target/classes/models/SetEvaluatableTerm.class +++ b/target/classes/models/SetEvaluatableTerm.class Binary files differ