Value Operation

This commit is contained in:
jeffcheasey88 2023-07-09 13:06:54 +02:00
parent ede16e8d81
commit 70b389140b
2 changed files with 29 additions and 24 deletions

View file

@ -85,28 +85,28 @@ public class JavaParser extends Parser<JavaFile> {
Function<TokenValidator, Boolean> LAMBDA_1 = (v) -> v.validate((t) -> t.getValue().equals(";"));
Function<TokenValidator, Boolean> LAMBDA_3 = (v) -> v.validate((t) -> t.getValue().equals("import"));
Function<TokenValidator, Boolean> LAMBDA_4 = (v) -> v.validate((t) -> t.getValue().equals("static"), (bag, token) -> bag.set("static", "bool"));
Function<TokenValidator, Boolean> LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<"));
Function<TokenValidator, Boolean> LAMBDA_6 = (v) -> v.validate((t) -> t.getValue().equals(">"));
Function<TokenValidator, Boolean> LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_6 = (v) -> v.validate((t) -> t.getValue().equals(">"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_7 = (v) -> v.validate((t) -> t.getValue().equals(","));
Function<TokenValidator, Boolean> LAMBDA_8 = (v) -> v.validate((t) -> t.getValue().equals("="));
Function<TokenValidator, Boolean> LAMBDA_10 = (v) -> v.validate((t) -> t.getValue().equals("!"));
Function<TokenValidator, Boolean> LAMBDA_11 = (v) -> v.validate((t) -> t.getValue().equals("?"));
Function<TokenValidator, Boolean> LAMBDA_12 = (v) -> v.validate((t) -> t.getValue().equals(":"));
Function<TokenValidator, Boolean> LAMBDA_13 = (v) -> v.validate((t) -> t.getValue().equals("~"));
Function<TokenValidator, Boolean> LAMBDA_14 = (v) -> v.validate((t) -> t.getValue().equals("+"));
Function<TokenValidator, Boolean> LAMBDA_15 = (v) -> v.validate((t) -> t.getValue().equals("-"));
Function<TokenValidator, Boolean> LAMBDA_16 = (v) -> v.validate((t) -> t.getValue().equals("/"));
Function<TokenValidator, Boolean> LAMBDA_17 = (v) -> v.validate((t) -> t.getValue().equals("*"));
Function<TokenValidator, Boolean> LAMBDA_18 = (v) -> v.validate((t) -> t.getValue().equals("&"));
Function<TokenValidator, Boolean> LAMBDA_19 = (v) -> v.validate((t) -> t.getValue().equals("|"));
Function<TokenValidator, Boolean> LAMBDA_20 = (v) -> v.validate((t) -> t.getValue().equals("^"));
Function<TokenValidator, Boolean> LAMBDA_21 = (v) -> v.validate((t) -> t.getValue().equals("%"));
Function<TokenValidator, Boolean> LAMBDA_23 = (v) -> v.validate((t) -> t.getValue().equals("("));
Function<TokenValidator, Boolean> LAMBDA_24 = (v) -> v.validate((t) -> t.getValue().equals(")"));
Function<TokenValidator, Boolean> LAMBDA_25 = (v) -> v.validate((t) -> t.getValue().equals("."));
Function<TokenValidator, Boolean> LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\""));
Function<TokenValidator, Boolean> LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\""));
Function<TokenValidator, Boolean> LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'"));
Function<TokenValidator, Boolean> LAMBDA_8 = (v) -> v.validate((t) -> t.getValue().equals("="), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_10 = (v) -> v.validate((t) -> t.getValue().equals("!"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_11 = (v) -> v.validate((t) -> t.getValue().equals("?"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_12 = (v) -> v.validate((t) -> t.getValue().equals(":"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_13 = (v) -> v.validate((t) -> t.getValue().equals("~"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_14 = (v) -> v.validate((t) -> t.getValue().equals("+"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_15 = (v) -> v.validate((t) -> t.getValue().equals("-"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_16 = (v) -> v.validate((t) -> t.getValue().equals("/"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_17 = (v) -> v.validate((t) -> t.getValue().equals("*"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_18 = (v) -> v.validate((t) -> t.getValue().equals("&"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_19 = (v) -> v.validate((t) -> t.getValue().equals("|"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_20 = (v) -> v.validate((t) -> t.getValue().equals("^"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_21 = (v) -> v.validate((t) -> t.getValue().equals("%"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_23 = (v) -> v.validate((t) -> t.getValue().equals("("), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_24 = (v) -> v.validate((t) -> t.getValue().equals(")"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_25 = (v) -> v.validate((t) -> t.getValue().equals("."), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\""), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\""), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'"), (bag, t) -> bag.set("type", t));
Function<TokenValidator, Boolean> LAMBDA_29 = (v) -> v.validate((t) -> t.getValue().equals("oneChar"));
Function<TokenValidator, Boolean> LAMBDA_30 = (v) -> v.validate((t) -> t.getValue().equals("if"));
Function<TokenValidator, Boolean> LAMBDA_31 = (v) -> v.validate((t) -> t.getValue().equals("for"));
@ -131,6 +131,7 @@ public class JavaParser extends Parser<JavaFile> {
System.out.println("----");
//(ab = (cd & 34))
tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","34",")",")"));
// tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","(","ay","/","34",")",")",")"));
// tokenizer.getTokens().addAll(build("(","ab","=","cd",")"));
// tokenizer.getTokens().addAll(build("(","ab",")"));
value_q0.seed(tokenizer, null);
@ -229,7 +230,7 @@ public class JavaParser extends Parser<JavaFile> {
//create new value from parent & created single value
System.out.println("\tbivalue\t"+element);
System.out.println("\t"+validator.getBag());
Value v = new BiValue((Value)element, validator.getBag().<Bag>get("?").get());
Value v = new BiValue((Value)element, validator.getBag().<Bag>get("?").get(), validator.getBag().get("type"));
Value origin = (Value)element;
origin.switchInto(v);
validator.getBag().set(v);

View file

@ -33,15 +33,19 @@ public class Value extends JavaElement{
private Value left;
private Value right;
public BiValue(Value left, Value right){
private Token type; //make a concat later
public BiValue(Value left, Value right, Token operation){
this.left = left;
this.right = right;
this.type = operation;
System.out.println(this);
}
@Override
public String toString(){
return "[BiValue left="+left+" right="+right+"]";
return "[BiValue left="+left+" type="+type+" right="+right+"]";
}
}