Make subcomposant in composant

This commit is contained in:
jeffcheasey88 2023-07-14 20:44:49 +02:00
parent 958ab49552
commit 664e0134d8

View file

@ -118,8 +118,6 @@ public class ParserComposantGenerator {
comp.title = parent.title+"_"+bag.<Token>get().getValue();
parent.declare(bag.<Token>get().getValue(), comp.current);
System.out.println("+\t"+composant);
return comp;
});
@ -150,14 +148,10 @@ public class ParserComposantGenerator {
StateTree<Element> op_childs = new StateTree<>();
op_childs.then((v) -> v.validate((t) -> t.getValue().equals("(")))
.then(new RedirectStateTree<>(operations, (bag) -> {
System.out.println("Go on op_childs !");
return "operations";
}))
.then((v) -> v.validate((t) -> t.getValue().equals(")")))
.end((composant, bag) -> {
System.out.println("");
System.out.println("\t"+composant);
System.out.println("\t"+bag);
return composant;
});
@ -166,9 +160,11 @@ public class ParserComposantGenerator {
StateTree<Element> op_validator = operation.then(new RedirectStateTree<>(validator, (bag) -> "validator"));
op_validator.<Element>end((composant, bag) -> {
Element result = bag.<Bag>get("validator").<Element>get();
Validator result = bag.<Bag>get("validator").<Validator>get();
bag.set(result);
return new Composant();
Composant comp = new Composant();
result.composant = comp;
return comp;
}).then(op_childs);
op_validator.then(new RedirectStateTree<>(namedValidator, (bag) -> "namedValidator")).<Element>end((composant, bag) -> {
NamedElement result = null;
@ -179,9 +175,11 @@ public class ParserComposantGenerator {
StateTree<Element> op_call = operation.then(new RedirectStateTree<>(methodCall, (bag) -> "methodCall"));
op_call.<Element>end((composant, bag) -> {
Element result = bag.<Bag>get("methodCall").<Element>get();
ComposantCall result = bag.<Bag>get("methodCall").<ComposantCall>get();
bag.set(result);
return new Composant();
Composant comp = new Composant();
result.composant = comp;
return comp;
}).then(op_childs);
op_call.then(new RedirectStateTree<>(namedValidator, (bag) -> "namedValidator")).<Element>end((composant, bag) -> {
NamedElement result = null;
@ -192,9 +190,11 @@ public class ParserComposantGenerator {
StateTree<Element> op_redirect = operation.then(new RedirectStateTree<>(redirection, (bag) -> "redirection"));
op_redirect.<Element>end((composant, bag) -> {
Element result = bag.<Bag>get("redirection").<Element>get();
Redirection result = bag.<Bag>get("redirection").<Redirection>get();
bag.set(result);
return new Composant();
Composant comp = new Composant();
result.composant = comp;
return comp;
}).then(op_childs);
op_redirect.then(new RedirectStateTree<>(namedValidator, (bag) -> "namedValidator")).<Element>end((composant, bag) -> {
NamedElement result = null;
@ -221,7 +221,6 @@ public class ParserComposantGenerator {
linked.elements.add(op.get());
}
way.elements.add(linked);
System.out.println(",\t"+way);
return composant;
}).then(suit);
suit.then((v) -> v.validate((t) -> t.getValue().equals(";")))
@ -237,7 +236,6 @@ public class ParserComposantGenerator {
}
way.elements.add(linked);
((Composant)composant).include();
System.out.println(";\t"+way);
return composant;
}).then(suit);
suit.end((composant, bag) -> {
@ -252,7 +250,6 @@ public class ParserComposantGenerator {
}
way.elements.add(linked);
((Composant)composant).include();
System.out.println("none\t"+way);
return composant;
});
@ -414,7 +411,7 @@ public class ParserComposantGenerator {
@Override
public String toString(){
return action+((loop ? "*":""))+((end ? "=":""));
return action+((loop ? "*":""))+((end ? "=":""))+((composant == null || composant.path == null) ? "":"("+composant+")");
}
}
@ -455,7 +452,7 @@ public class ParserComposantGenerator {
@Override
public String toString(){
return target;
return target+((composant == null || composant.path == null) ? "":"("+composant+")");
}
}
@ -472,7 +469,7 @@ public class ParserComposantGenerator {
@Override
public String toString(){
return ":"+name;
return ":"+name+((composant == null || composant.path == null) ? "":"("+composant+")");
}
}