Skip to content

Commit

Permalink
+ Mesh Editor.
Browse files Browse the repository at this point in the history
#2 ExportAs ok
Improving TreeNode. Addition vectors 1/1 (revert to my Android Calculator App)
Game works again.
TextDialog in feature processing
Include spaces in AlgebraicTree formulas.
New class analyze StringAnalyser.+

Signed-off-by: Manuel Daniel Dahmen <[email protected]>
  • Loading branch information
manuelddahmen committed Jan 30, 2024
1 parent a8b9023 commit ae64027
Show file tree
Hide file tree
Showing 4 changed files with 133 additions and 44 deletions.
12 changes: 12 additions & 0 deletions src/main/java/one/empty3/library1/tree/Class.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,16 @@ public void setFinal(boolean b) {
public void setPackageName(String packageName) {
this.packageName = packageName;
}

@Override
public String toString() {
return "Class{" +
"name='" + name + '\'' +
", variableList=" + variableList +
", methodList=" + methodList +
", accessModifier='" + accessModifier + '\'' +
", mFinal=" + mFinal +
", packageName='" + packageName + '\'' +
'}';
}
}
12 changes: 12 additions & 0 deletions src/main/java/one/empty3/library1/tree/Method.java
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,16 @@ public int hashCode() {
public void setScope(String choice) {
this.scope = choice;
}

@Override
public String toString() {
return "Method{" +
"name='" + name + '\'' +
", ofClass=" + ofClass +
", parameterList=" + parameterList +
", variableList=" + variableList +
", instructions=" + instructions +
", scope='" + scope + '\'' +
'}';
}
}
144 changes: 100 additions & 44 deletions src/main/java/one/empty3/library1/tree/StringAnalyser.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ protected boolean isSuccessful() {
public void setSuccessful(boolean successful) {
this.successful = successful;
if (successful && action != null)
action.action();
action();
}

public Action getAction() {
Expand Down Expand Up @@ -453,9 +453,49 @@ public int parse(String input, int position) {
}
}
}
if (isSuccessful() && !getNextToken().getData1d().isEmpty()) {
int position3 = getNextToken().getElem(0).parse(input, position2);
setSuccessful(getNextToken().getElem(0).isSuccessful());
if (isSuccessful()) {
return position3;
} else {
return position2;
}
}
setSuccessful(true);
if (isSuccessful() && getNextToken().getElem(0) != null)
position2 = getNextToken().getElem(0).parse(input, position2);
return position2;
}
}

class SingleTokenOptional extends Token {

private final Token choice;

public SingleTokenOptional(Token choice) {
this.choice = choice;
}

@Override
public int parse(String input, int position) {
position = super.parse(input, position);
int position1 = position;
int position2 = choice.parse(input, position1);
if (choice.isSuccessful()) {
if (!getNextToken().getData1d().isEmpty()) {
int position3 = getNextToken().getElem(0).parse(input, position2);
if (getNextToken().getElem(0).isSuccessful()) {
setSuccessful(true);
return position3;
} else {
setSuccessful(false);
return position3;
}
} else {
setSuccessful(true);
return position2;
}
}
setSuccessful(false);
return position2;
}
}
Expand All @@ -474,22 +514,36 @@ public int parse(String input, int position) {
position = super.parse(input, position);
boolean allOk = true;
int position1 = position;
boolean allNotOk = false;
while (!allNotOk) {
allNotOk = true;
int i = 0;
int position0 = position1;
while (allOk) {
for (Token token : choices) {
position1 = token.parse(input, position1);
if (!token.isSuccessful()) {
allOk = false;
setSuccessful(allOk);
return position1;
} else {
allNotOk = false;
if (i > 0) {
setSuccessful(true);
if (!getNextToken().getData1d().isEmpty())
return getNextToken().getData1d().get(0).parse(input, position0);
return position0;
} else {
setSuccessful(false);
return position;
}
}
}
position0 = position1;
if (allOk) {
setSuccessful(true);
if (!getNextToken().getData1d().isEmpty())
return getNextToken().getData1d().get(0).parse(input, position0);
return position0;

}
i++;
}
setSuccessful(allOk);
return position1;
setSuccessful(false);
return position;
}
}

Expand Down Expand Up @@ -523,17 +577,16 @@ public int parse(String input, int position) {
}
if (passed && i - position1 > 0) {
this.setName(input.substring(position1, i));
setSuccessful(true);
if (!getNextToken().getData1d().isEmpty()) {
i = getNextToken().getElem(0).parse(input, i);
if (getNextToken().getElem(0).isSuccessful()) {
setSuccessful(true);
return i;
} else {
setSuccessful(false);
return i;
return position1;
}
} else {
setSuccessful(true);
return i;
}
} else {
Expand Down Expand Up @@ -628,14 +681,17 @@ public boolean action() {
Action setNewClassName = new Action(className) {
@Override
public boolean action() {
String name = ((TokenName) getToken()).getName();
construct.currentClass.setPackageName(construct.packageName);
construct.currentClass.setName(name);
if (construct.currentClass != null) {
if (token.isSuccessful()) {
String name = ((TokenName) getToken()).getName();
construct.currentClass.setPackageName(construct.packageName);
construct.currentClass.setName(name);
if (construct.currentClass != null) {

}
actualContext.setCurrentClassname(construct.currentClass);
return true;
}
actualContext.setCurrentClassname(construct.currentClass);
return true;
return false;
}
};
Token closeBracket = new TokenCloseBracket();
Expand Down Expand Up @@ -768,30 +824,30 @@ public boolean action() {
return false;
}
};
Token aPackage = definitions.put(0, new TokenCodeFile().addToken(new MultiTokenOptional(
new MultiTokenMandatory(new TokenString("package"),
packageQualifiedName, new TokenSemiColon()))
Token aPackage = definitions.put(0, new TokenCodeFile().addToken(new SingleTokenOptional(
new MultiTokenMandatory(new TokenString("package"),
packageQualifiedName, new TokenSemiColon())))
.addToken(new MultiTokenOptional(new TokenClassScope(),
isFinal).addToken(tokenClassKeyword.addToken(className).addToken(new TokenOpenBracket())
.addToken(new MultiTokenOptional(new Token[]{
// Variables
new MultiTokenOptional(new Token[]{tokenVariableScope, tokenConstantModifier})
.addToken(tokenQualifiedNameVariable)}).addToken(new TokenSemiColon()))// Commit changes
// Methods
.addToken(new MultiTokenOptional(new Token[]{tokenNameReturnType, tokenMethodScope
.addToken(tokenConstantModifierMethod).addToken(tokenMethodMemberDefinition)
// Arguments' list
.addToken(new TokenOpenParenthesized()).addToken(new MultiTokenOptional(new MultiTokenMandatory(
new TokenVariableMemberDefinitionClassName(), new TokenName(), new TokenComa()
)))
.addToken(new TokenCloseParenthesized())
// Instructions' block
.addToken(tokenBeginOfMethod.
addToken(new MultiTokenOptional(new MultiTokenMandatory(tokenVariableInMethodName
, new TokenName(), new TokenEquals())
.addToken(new TokenExpression()), new TokenComa()).addToken(endOfInstruction)// Commit changes
))})))
.addToken(closeBracket))));// Commit changes
isFinal).addToken(new MultiTokenMandatory(tokenClassKeyword, className, new TokenOpenBracket()))
.addToken(new MultiTokenOptional(new Token[]{
// Variables
new MultiTokenOptional(new Token[]{tokenVariableScope, tokenConstantModifier})
.addToken(tokenQualifiedNameVariable)}).addToken(new TokenSemiColon()))// Commit changes
// Methods
.addToken(new MultiTokenOptional(new Token[]{tokenNameReturnType, tokenMethodScope
.addToken(tokenConstantModifierMethod).addToken(tokenMethodMemberDefinition)
// Arguments' list
.addToken(new TokenOpenParenthesized()).addToken(new MultiTokenOptional(new MultiTokenMandatory(
new TokenVariableMemberDefinitionClassName(), new TokenName(), new TokenComa()
)))
.addToken(new TokenCloseParenthesized())
// Instructions' block
.addToken(tokenBeginOfMethod.
addToken(new MultiTokenOptional(new MultiTokenMandatory(tokenVariableInMethodName
, new TokenName(), new TokenEquals())
.addToken(new TokenExpression()), new TokenComa()).addToken(endOfInstruction)// Commit changes
))})))
.addToken(closeBracket));// Commit changes

}

Expand Down
9 changes: 9 additions & 0 deletions src/main/java/one/empty3/library1/tree/Variable.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,13 @@ public void setValue(Class value) {
public void setScope(String choice) {
this.scope = choice;
}

@Override
public String toString() {
return "Variable{" +
"name='" + name + '\'' +
", value=" + value +
", scope='" + scope + '\'' +
'}';
}
}

0 comments on commit ae64027

Please sign in to comment.