String Value

This commit is contained in:
jeffcheasey88 2023-07-09 18:14:58 +02:00
parent 8931ef971a
commit 2f8478d348

View file

@ -101,12 +101,25 @@ public class JavaParser extends Parser<JavaFile> {
Function<TokenValidator, Boolean> LAMBDA_19 = (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_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_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_23 = (v) -> v.validate((t) -> t.getValue().equals("("));
Function<TokenValidator, Boolean> LAMBDA_24 = (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(")"));
Function<TokenValidator, Boolean> LAMBDA_25 = (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_26 = (v) -> v.validate((t) -> t.getValue().equals("\""), (bag, t) -> {
Function<TokenValidator, Boolean> LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\""), (bag, t) -> bag.set("type", t)); Bag sub = bag.get("?");
Function<TokenValidator, Boolean> LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'"), (bag, t) -> bag.set("type", t)); if(sub == null) return;
sub.set(new Value(sub.get()));
});
Function<TokenValidator, Boolean> LAMBDA_27 = (v) -> v.validate((t) -> !t.getValue().equals("\""), (bag,t) -> {
Bag sub = bag.get("?");
if(sub == null){
sub = new Bag();
bag.set("?", sub);
sub.set(t);
return;
}
sub.set(sub.<Token>get().concat(t));
});
Function<TokenValidator, Boolean> LAMBDA_28 = (v) -> v.validate((t) -> t.getValue().equals("'"));
Function<TokenValidator, Boolean> LAMBDA_29 = (v) -> v.validate((t) -> t.getValue().equals("oneChar")); 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_30 = (v) -> v.validate((t) -> t.getValue().equals("if"));
Function<TokenValidator, Boolean> LAMBDA_31 = (v) -> v.validate((t) -> t.getValue().equals("for")); Function<TokenValidator, Boolean> LAMBDA_31 = (v) -> v.validate((t) -> t.getValue().equals("for"));
@ -130,11 +143,12 @@ public class JavaParser extends Parser<JavaFile> {
System.out.println("----"); System.out.println("----");
//(ab = (cd & 34)) //(ab = (cd & 34))
tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","34",")",")")); // tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","34",")",")"));
// tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","(","ay","/","34",")",")",")")); // tokenizer.getTokens().addAll(build("(","ab","=","(","cd","&","(","ay","/","34",")",")",")"));
// tokenizer.getTokens().addAll(build("(","ab","=","cd",")")); // tokenizer.getTokens().addAll(build("(","ab","=","cd",")"));
// tokenizer.getTokens().addAll(build("(","ab",")")); // tokenizer.getTokens().addAll(build("(","ab",")"));
// tokenizer.getTokens().addAll(build("ab","=","cd","/","ef")); // tokenizer.getTokens().addAll(build("ab","=","cd","/","ef"));
tokenizer.getTokens().addAll(build("\"","You","Have","\"","+","78","+","\"","ms","\""));
value_q0.seed(tokenizer, null); value_q0.seed(tokenizer, null);
System.out.println("----"); System.out.println("----");
@ -307,7 +321,7 @@ public class JavaParser extends Parser<JavaFile> {
StateTree<JavaElement> value_q11 = value_q1.then(LAMBDA_25); StateTree<JavaElement> value_q11 = value_q1.then(LAMBDA_25);
value_q11.then(value_q1); value_q11.then(value_q1);
value_q0.then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_NATIVE_VALUE).then(value_q22); value_q0.then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_NATIVE_VALUE).then(value_q22);
value_q0.then(LAMBDA_26).then(LAMBDA_27).then(LAMBDA_26).<JavaElement>end(END_NATIVE_VALUE).then(value_q22); value_q0.then(LAMBDA_26).then(LAMBDA_27).loop().then(LAMBDA_26).<JavaElement>end(END_NATIVE_VALUE).then(value_q22);
value_q0.then(LAMBDA_28).then(LAMBDA_29).then(LAMBDA_28).<JavaElement>end(END_NATIVE_VALUE).then(value_q22); value_q0.then(LAMBDA_28).then(LAMBDA_29).then(LAMBDA_28).<JavaElement>end(END_NATIVE_VALUE).then(value_q22);
return value_q0; return value_q0;
} }