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