[Parse Class] -> Function signature
This commit is contained in:
parent
34e374729e
commit
eef3e16527
3 changed files with 164 additions and 64 deletions
|
@ -29,6 +29,11 @@ public class Class extends JavaElement{
|
||||||
this.elements = new ArrayList<>();
|
this.elements = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString(){
|
||||||
|
return "class "+name+" extends "+extend+" implements "+implement;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ public class Function extends JavaElement{
|
||||||
private List<JavaElement> elements;
|
private List<JavaElement> elements;
|
||||||
|
|
||||||
public Function(Bag bag){
|
public Function(Bag bag){
|
||||||
|
System.out.println(bag);
|
||||||
this.returnType = bag.<Bag>get("return").<Token>get().getValue();
|
this.returnType = bag.<Bag>get("return").<Token>get().getValue();
|
||||||
if(JavaParser.getModifier(this.returnType) > 0) this.returnType = null;
|
if(JavaParser.getModifier(this.returnType) > 0) this.returnType = null;
|
||||||
this.name = bag.<Token>get("name").getValue();
|
this.name = bag.<Token>get("name").getValue();
|
||||||
|
|
|
@ -45,7 +45,6 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
if(base == null) bag.set(token);
|
if(base == null) bag.set(token);
|
||||||
else bag.set(base.concat(token));
|
else bag.set(base.concat(token));
|
||||||
}),
|
}),
|
||||||
// LAMBDA_name = (v) -> v.validate((t) -> {if(t.getType().equals(TokenType.NAME) && JavaParser.getModifier(t.getValue()) == 0) { System.out.println("valid type name --> "+t.getValue()); return true;}else return false;}),
|
|
||||||
LAMBDA_mod = (v) -> v.validate((t) ->
|
LAMBDA_mod = (v) -> v.validate((t) ->
|
||||||
JavaParser.getModifier(t.getValue()) > 0,
|
JavaParser.getModifier(t.getValue()) > 0,
|
||||||
(bag, token) -> {
|
(bag, token) -> {
|
||||||
|
@ -68,7 +67,7 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
System.out.println("new var");
|
System.out.println("new var");
|
||||||
return new Variable(validator.getBag());
|
return new Variable(validator.getBag());
|
||||||
});
|
});
|
||||||
BiFunction<JavaElement, TokenValidator, be.jeffcheasey88.peeratcode.parser.java.Function>
|
BiFunction<JavaElement, TokenValidator, JavaElement>
|
||||||
END_FUNC = ((javafile, validator) -> {
|
END_FUNC = ((javafile, validator) -> {
|
||||||
System.out.println("new function");
|
System.out.println("new function");
|
||||||
return new be.jeffcheasey88.peeratcode.parser.java.Function(validator.getBag());
|
return new be.jeffcheasey88.peeratcode.parser.java.Function(validator.getBag());
|
||||||
|
@ -77,6 +76,10 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
END_MODIFIER = ((javafile, validator) ->{
|
END_MODIFIER = ((javafile, validator) ->{
|
||||||
return validator.getBag().get();
|
return validator.getBag().get();
|
||||||
});
|
});
|
||||||
|
BiFunction<JavaElement, TokenValidator, JavaElement>
|
||||||
|
END_OP = ((javafile, validator) -> {
|
||||||
|
return javafile;
|
||||||
|
});
|
||||||
|
|
||||||
public JavaParser(){
|
public JavaParser(){
|
||||||
Tokenizer tokenizer = new Tokenizer();
|
Tokenizer tokenizer = new Tokenizer();
|
||||||
|
@ -85,46 +88,15 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
Function<TokenValidator, Boolean> LAMBDA_1 = (v) -> v.validate((t) -> t.getValue().equals(";"));
|
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_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_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("<"), (bag, t) -> bag.set("type", t));
|
Function<TokenValidator, Boolean> LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<"));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_6 = (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(">"));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_7 = (v) -> v.validate((t) -> t.getValue().equals(","));
|
Function<TokenValidator, Boolean> LAMBDA_7 = (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_8 = (v) -> v.validate((t) -> t.getValue().equals("="));
|
||||||
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("("));
|
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_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("."));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\""), (bag, t) -> {
|
|
||||||
Bag sub = bag.get("?");
|
|
||||||
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_28 = (v) -> v.validate((t) -> t.getValue().equals("'"));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_29 = (v) -> v.validate((t) -> t.getValue().length() == 1, (bag, t) -> {
|
Function<TokenValidator, Boolean> LAMBDA_29 = (v) -> v.validate((t) -> t.getValue().equals("oneChar"));
|
||||||
Bag sub = new Bag();
|
|
||||||
sub.set(new Value(t));
|
|
||||||
bag.set("?", sub);
|
|
||||||
});
|
|
||||||
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"));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_32 = (v) -> v.validate((t) -> t.getValue().equals("while"));
|
Function<TokenValidator, Boolean> LAMBDA_32 = (v) -> v.validate((t) -> t.getValue().equals("while"));
|
||||||
|
@ -143,7 +115,112 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
Function<TokenValidator, Boolean> LAMBDA_48 = (v) -> v.validate((t) -> t.getValue().equals("extends"));
|
Function<TokenValidator, Boolean> LAMBDA_48 = (v) -> v.validate((t) -> t.getValue().equals("extends"));
|
||||||
|
|
||||||
StateTree<JavaFile> main = new StateTree<>();
|
StateTree<JavaFile> main = new StateTree<>();
|
||||||
StateTree<JavaElement> value_q0 = value(LAMBDA_5, LAMBDA_6, LAMBDA_7, LAMBDA_8, LAMBDA_10, LAMBDA_11, LAMBDA_12, LAMBDA_13, LAMBDA_14, LAMBDA_15, LAMBDA_16, LAMBDA_17, LAMBDA_18, LAMBDA_19, LAMBDA_20, LAMBDA_21, LAMBDA_23, LAMBDA_24, LAMBDA_25, LAMBDA_26, LAMBDA_27, LAMBDA_28, LAMBDA_29);
|
StateTree<JavaFile> package_q0 = new StateTree<>();
|
||||||
|
package_q0.then(LAMBDA_0).then((v) -> v.validate((t) -> !t.getValue().equals(";"), groupToken("package"))).loop().then(LAMBDA_1).<JavaFile>end(END_PACKAGE);
|
||||||
|
|
||||||
|
StateTree<JavaFile> import_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaFile> import_q1 = import_q0.then(LAMBDA_3);
|
||||||
|
StateTree<JavaFile> import_q3 = import_q1.then((v) -> v.validate((t) -> !t.getValue().equals(";"), groupToken("import"))).loop();
|
||||||
|
import_q3.then(LAMBDA_1).<JavaFile>end(END_IMPORT);
|
||||||
|
StateTree<JavaFile> import_q2 = import_q1.then(LAMBDA_4);
|
||||||
|
import_q2.then(import_q3);
|
||||||
|
|
||||||
|
StateTree<JavaElement> modifier_q0 = new StateTree<>();
|
||||||
|
modifier_q0.then(LAMBDA_mod).<Integer>end(END_MODIFIER);
|
||||||
|
|
||||||
|
StateTree<JavaElement> type_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaElement> type_q1 = type_q0.then(LAMBDA_name);
|
||||||
|
StateTree<JavaElement> type_q3 = type_q1.then(LAMBDA_5);
|
||||||
|
StateTree<JavaElement> type_q4 = type_q3.then(LAMBDA_name);
|
||||||
|
StateTree<JavaElement> type_q5 = type_q4.then(LAMBDA_6).loop();
|
||||||
|
type_q5.<Token>end(END_TYPE);
|
||||||
|
StateTree<JavaElement> type_q6 = type_q4.then(LAMBDA_7);
|
||||||
|
type_q5.then(type_q6);
|
||||||
|
type_q5.then(type_q4);
|
||||||
|
type_q6.then(type_q4);
|
||||||
|
type_q4.then(type_q3);
|
||||||
|
type_q1.<Token>end(END_TYPE);
|
||||||
|
|
||||||
|
StateTree<JavaElement> value_q0 = value();
|
||||||
|
|
||||||
|
StateTree<JavaElement> variable_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaElement> variable_q1 = variable_q0.then(new RedirectStateTree<>(type_q0,(bag) -> "type=token"));
|
||||||
|
StateTree<JavaElement> variable_q2 = variable_q1.then(LAMBDA_name);
|
||||||
|
StateTree<JavaElement> variable_q5 = variable_q2.then(LAMBDA_7);
|
||||||
|
StateTree<JavaElement> variable_q7 = variable_q2.then(LAMBDA_8).then(new RedirectStateTree<>(value_q0,(bag) -> "?"));
|
||||||
|
variable_q7.then(variable_q5);
|
||||||
|
variable_q7.then(LAMBDA_1).<Variable>end(END_VAR);
|
||||||
|
variable_q2.then(LAMBDA_1).<Variable>end(END_VAR);
|
||||||
|
variable_q5.then(variable_q2);
|
||||||
|
StateTree<JavaElement> variable_q10 = variable_q0.then(new RedirectStateTree<>(modifier_q0,(bag) -> "modifier"));
|
||||||
|
variable_q10.then(variable_q1);
|
||||||
|
|
||||||
|
StateTree<JavaElement> operation_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaElement> operation_q1 = operation_q0.then(LAMBDA_name);
|
||||||
|
operation_q1.then(new RedirectStateTree<>(value_q0,(bag) -> "?")).end(END_OP);
|
||||||
|
StateTree<JavaElement> operation_q5 = operation_q1.then(LAMBDA_25);
|
||||||
|
operation_q5.then(operation_q1);
|
||||||
|
operation_q0.then(LAMBDA_30).then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_31).then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_32).then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_33).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_1).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_34).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_35).then(LAMBDA_23).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_24).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_36).then(LAMBDA_1).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_37).then(new RedirectStateTree<>(value_q0,(bag) -> "?")).then(LAMBDA_1).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_38).then(LAMBDA_1).<JavaElement>end(END_OP);
|
||||||
|
operation_q0.then(LAMBDA_39).<JavaElement>end(END_OP);
|
||||||
|
|
||||||
|
StateTree<JavaElement> function_q17 = new StateTree<>();
|
||||||
|
StateTree<JavaElement> function_q18 = function_q17.then(LAMBDA_40);
|
||||||
|
function_q18.then(LAMBDA_41).end(END_FUNC);
|
||||||
|
StateTree<JavaElement> function_q22 = function_q18.then(new RedirectStateTree<>(operation_q0,(bag) -> "?"));
|
||||||
|
function_q22.then(function_q18);
|
||||||
|
StateTree<JavaElement> function_q21 = function_q18.then(new RedirectStateTree<>(variable_q0,(bag) -> "?"));
|
||||||
|
function_q21.then(function_q18);
|
||||||
|
StateTree<JavaElement> function_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaElement> function_q1 = function_q0.then(new RedirectStateTree<>(type_q0,(bag) -> "return"));
|
||||||
|
function_q1.then(LAMBDA_40).end(END_FUNC).then(function_q17);
|
||||||
|
StateTree<JavaElement> function_q3 = function_q1.then((v) -> v.validate(
|
||||||
|
(t) -> t.getType().equals(TokenType.NAME),
|
||||||
|
(bag, t) -> bag.set("name", t))).then(LAMBDA_23);
|
||||||
|
StateTree<JavaElement> function_q4 = function_q3.then(LAMBDA_24);
|
||||||
|
StateTree<JavaElement> function_q10 = function_q4.then(LAMBDA_44).then(new RedirectStateTree<>(type_q0,(bag) -> "?"));
|
||||||
|
function_q10.end(END_FUNC).then(function_q17);
|
||||||
|
StateTree<JavaElement> function_q11 = function_q10.then(LAMBDA_7);
|
||||||
|
function_q11.then(function_q10);
|
||||||
|
function_q4.end(END_FUNC).then(function_q17);
|
||||||
|
StateTree<JavaElement> function_q7 = function_q3.then(new RedirectStateTree<>(type_q0,(bag) -> "?")).then(LAMBDA_name);
|
||||||
|
function_q7.then(function_q4);
|
||||||
|
StateTree<JavaElement> function_q6 = function_q3.then(new RedirectStateTree<>(type_q0,(bag) -> "?"));
|
||||||
|
StateTree<JavaElement> function_q8 = function_q7.then(LAMBDA_7);
|
||||||
|
function_q8.then(function_q6);
|
||||||
|
StateTree<JavaElement> function_q15 = function_q0.then(new RedirectStateTree<>(modifier_q0,(bag) -> "modifier"));
|
||||||
|
function_q15.then(function_q1);
|
||||||
|
|
||||||
|
StateTree<Class> class_q16 = new StateTree<>();
|
||||||
|
StateTree<Class> class_q18 = class_q16.then(new RedirectStateTree<>(variable_q0,(bag) -> "?"));
|
||||||
|
class_q18.then(class_q16);
|
||||||
|
StateTree<Class> class_q19 = class_q16.then(new RedirectStateTree<>(function_q0,(bag) -> "?"));
|
||||||
|
class_q19.then(class_q16);
|
||||||
|
StateTree<JavaFile> class_q0 = new StateTree<>();
|
||||||
|
StateTree<JavaFile> class_q1 = class_q0.then(LAMBDA_46);
|
||||||
|
StateTree<JavaFile> class_q2 = class_q1.then(new RedirectStateTree<>(type_q0,(bag) -> "name"));
|
||||||
|
StateTree<JavaFile> class_q9 = class_q2.then(LAMBDA_47);
|
||||||
|
StateTree<JavaFile> class_q11 = class_q9.then(new RedirectStateTree<>(type_q0,(bag) -> "implement"));
|
||||||
|
class_q11.then(LAMBDA_40).<Class>end(END_CLASS).then(class_q16);
|
||||||
|
StateTree<JavaFile> class_q12 = class_q11.then(LAMBDA_7);
|
||||||
|
class_q12.then(class_q11);
|
||||||
|
StateTree<JavaFile> class_q7 = class_q2.then(LAMBDA_48).then(new RedirectStateTree<>(type_q0,(bag) -> "extend"));
|
||||||
|
class_q7.then(class_q9);
|
||||||
|
class_q7.then(LAMBDA_40).<Class>end(END_CLASS).then(class_q16);
|
||||||
|
class_q2.then(LAMBDA_40).<Class>end(END_CLASS).then(class_q16);
|
||||||
|
StateTree<JavaFile> class_q3 = class_q0.then(new RedirectStateTree<>(modifier_q0,(bag) -> "modifier"));
|
||||||
|
class_q3.then(class_q1);
|
||||||
|
|
||||||
|
main.then(new RedirectStateTree<>(package_q0, (b) -> null)).then(main);
|
||||||
|
main.then(new RedirectStateTree<>(import_q0, (b) -> null)).then(main);
|
||||||
|
main.then(new RedirectStateTree<>(class_q0, (b) -> null)).then(main);
|
||||||
|
|
||||||
System.out.println((System.currentTimeMillis()-time)+"ms");
|
System.out.println((System.currentTimeMillis()-time)+"ms");
|
||||||
|
|
||||||
|
@ -189,31 +266,48 @@ public class JavaParser extends Parser<JavaFile> {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private StateTree<JavaElement> value(
|
private StateTree<JavaElement> value(){
|
||||||
Function<TokenValidator, Boolean> LAMBDA_5,
|
Function<TokenValidator, Boolean> LAMBDA_5 = (v) -> v.validate((t) -> t.getValue().equals("<"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_6,
|
Function<TokenValidator, Boolean> LAMBDA_6 = (v) -> v.validate((t) -> t.getValue().equals(">"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_7,
|
Function<TokenValidator, Boolean> LAMBDA_7 = (v) -> v.validate((t) -> t.getValue().equals(","));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_8,
|
Function<TokenValidator, Boolean> LAMBDA_8 = (v) -> v.validate((t) -> t.getValue().equals("="), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_10,
|
Function<TokenValidator, Boolean> LAMBDA_10 = (v) -> v.validate((t) -> t.getValue().equals("!"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_11,
|
Function<TokenValidator, Boolean> LAMBDA_11 = (v) -> v.validate((t) -> t.getValue().equals("?"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_12,
|
Function<TokenValidator, Boolean> LAMBDA_12 = (v) -> v.validate((t) -> t.getValue().equals(":"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_13,
|
Function<TokenValidator, Boolean> LAMBDA_13 = (v) -> v.validate((t) -> t.getValue().equals("~"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_14,
|
Function<TokenValidator, Boolean> LAMBDA_14 = (v) -> v.validate((t) -> t.getValue().equals("+"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_15,
|
Function<TokenValidator, Boolean> LAMBDA_15 = (v) -> v.validate((t) -> t.getValue().equals("-"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_16,
|
Function<TokenValidator, Boolean> LAMBDA_16 = (v) -> v.validate((t) -> t.getValue().equals("/"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_17,
|
Function<TokenValidator, Boolean> LAMBDA_17 = (v) -> v.validate((t) -> t.getValue().equals("*"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_18,
|
Function<TokenValidator, Boolean> LAMBDA_18 = (v) -> v.validate((t) -> t.getValue().equals("&"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_19,
|
Function<TokenValidator, Boolean> LAMBDA_19 = (v) -> v.validate((t) -> t.getValue().equals("|"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_20,
|
Function<TokenValidator, Boolean> LAMBDA_20 = (v) -> v.validate((t) -> t.getValue().equals("^"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_21,
|
Function<TokenValidator, Boolean> LAMBDA_21 = (v) -> v.validate((t) -> t.getValue().equals("%"), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_23,
|
Function<TokenValidator, Boolean> LAMBDA_23 = (v) -> v.validate((t) -> t.getValue().equals("("));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_24,
|
Function<TokenValidator, Boolean> LAMBDA_24 = (v) -> v.validate((t) -> t.getValue().equals(")"));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_25,
|
Function<TokenValidator, Boolean> LAMBDA_25 = (v) -> v.validate((t) -> t.getValue().equals("."), (bag, t) -> bag.set("type", t));
|
||||||
Function<TokenValidator, Boolean> LAMBDA_26,
|
Function<TokenValidator, Boolean> LAMBDA_26 = (v) -> v.validate((t) -> t.getValue().equals("\""), (bag, t) -> {
|
||||||
Function<TokenValidator, Boolean> LAMBDA_27,
|
Bag sub = bag.get("?");
|
||||||
Function<TokenValidator, Boolean> LAMBDA_28,
|
if(sub == null) return;
|
||||||
Function<TokenValidator, Boolean> LAMBDA_29
|
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().length() == 1, (bag, t) -> {
|
||||||
|
Bag sub = new Bag();
|
||||||
|
sub.set(new Value(t));
|
||||||
|
bag.set("?", sub);
|
||||||
|
});
|
||||||
|
|
||||||
BiFunction<JavaElement, TokenValidator, JavaElement> END_NATIVE_VALUE = (element, validator) -> {
|
BiFunction<JavaElement, TokenValidator, JavaElement> END_NATIVE_VALUE = (element, validator) -> {
|
||||||
Value result = validator.getBag().<Bag>get("?").get();
|
Value result = validator.getBag().<Bag>get("?").get();
|
||||||
if(result.get() != null){
|
if(result.get() != null){
|
||||||
|
|
Loading…
Add table
Reference in a new issue