diff --git a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java index 968244b..2e719e2 100644 --- a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java +++ b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java @@ -85,28 +85,28 @@ public class JavaParser extends Parser { Function LAMBDA_1 = (v) -> v.validate((t) -> t.getValue().equals(";")); Function LAMBDA_3 = (v) -> v.validate((t) -> t.getValue().equals("import")); Function LAMBDA_4 = (v) -> v.validate((t) -> t.getValue().equals("static"), (bag, token) -> bag.set("static", "bool")); - Function LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<")); - Function LAMBDA_6 = (v) -> v.validate((t) -> t.getValue().equals(">")); + Function LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_6 = (v) -> v.validate((t) -> t.getValue().equals(">"), (bag, t) -> bag.set("type", t)); Function LAMBDA_7 = (v) -> v.validate((t) -> t.getValue().equals(",")); - Function LAMBDA_8 = (v) -> v.validate((t) -> t.getValue().equals("=")); - Function LAMBDA_10 = (v) -> v.validate((t) -> t.getValue().equals("!")); - Function LAMBDA_11 = (v) -> v.validate((t) -> t.getValue().equals("?")); - Function LAMBDA_12 = (v) -> v.validate((t) -> t.getValue().equals(":")); - Function LAMBDA_13 = (v) -> v.validate((t) -> t.getValue().equals("~")); - Function LAMBDA_14 = (v) -> v.validate((t) -> t.getValue().equals("+")); - Function LAMBDA_15 = (v) -> v.validate((t) -> t.getValue().equals("-")); - Function LAMBDA_16 = (v) -> v.validate((t) -> t.getValue().equals("/")); - Function LAMBDA_17 = (v) -> v.validate((t) -> t.getValue().equals("*")); - Function LAMBDA_18 = (v) -> v.validate((t) -> t.getValue().equals("&")); - Function LAMBDA_19 = (v) -> v.validate((t) -> t.getValue().equals("|")); - Function LAMBDA_20 = (v) -> v.validate((t) -> t.getValue().equals("^")); - Function LAMBDA_21 = (v) -> v.validate((t) -> t.getValue().equals("%")); - Function LAMBDA_23 = (v) -> v.validate((t) -> t.getValue().equals("(")); - Function LAMBDA_24 = (v) -> v.validate((t) -> t.getValue().equals(")")); - Function LAMBDA_25 = (v) -> v.validate((t) -> t.getValue().equals(".")); - Function LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\"")); - Function LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\"")); - Function LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'")); + Function LAMBDA_8 = (v) -> v.validate((t) -> t.getValue().equals("="), (bag, t) -> bag.set("type", t)); + Function LAMBDA_10 = (v) -> v.validate((t) -> t.getValue().equals("!"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_11 = (v) -> v.validate((t) -> t.getValue().equals("?"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_12 = (v) -> v.validate((t) -> t.getValue().equals(":"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_13 = (v) -> v.validate((t) -> t.getValue().equals("~"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_14 = (v) -> v.validate((t) -> t.getValue().equals("+"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_15 = (v) -> v.validate((t) -> t.getValue().equals("-"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_16 = (v) -> v.validate((t) -> t.getValue().equals("/"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_17 = (v) -> v.validate((t) -> t.getValue().equals("*"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_18 = (v) -> v.validate((t) -> t.getValue().equals("&"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_19 = (v) -> v.validate((t) -> t.getValue().equals("|"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_20 = (v) -> v.validate((t) -> t.getValue().equals("^"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_21 = (v) -> v.validate((t) -> t.getValue().equals("%"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_23 = (v) -> v.validate((t) -> t.getValue().equals("("), (bag, t) -> bag.set("type", t)); + Function LAMBDA_24 = (v) -> v.validate((t) -> t.getValue().equals(")"), (bag, t) -> bag.set("type", t)); + Function LAMBDA_25 = (v) -> v.validate((t) -> t.getValue().equals("."), (bag, t) -> bag.set("type", t)); + Function LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\""), (bag, t) -> bag.set("type", t)); + Function LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\""), (bag, t) -> bag.set("type", t)); + Function LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'"), (bag, t) -> bag.set("type", t)); Function LAMBDA_29 = (v) -> v.validate((t) -> t.getValue().equals("oneChar")); Function LAMBDA_30 = (v) -> v.validate((t) -> t.getValue().equals("if")); Function LAMBDA_31 = (v) -> v.validate((t) -> t.getValue().equals("for")); @@ -131,6 +131,7 @@ public class JavaParser extends Parser { 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 { //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().get("?").get()); + Value v = new BiValue((Value)element, validator.getBag().get("?").get(), validator.getBag().get("type")); Value origin = (Value)element; origin.switchInto(v); validator.getBag().set(v); diff --git a/src/be/jeffcheasey88/peeratcode/parser/java/Value.java b/src/be/jeffcheasey88/peeratcode/parser/java/Value.java index acb226a..861b220 100644 --- a/src/be/jeffcheasey88/peeratcode/parser/java/Value.java +++ b/src/be/jeffcheasey88/peeratcode/parser/java/Value.java @@ -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+"]"; } }