public Predicate exec(Prolog engine) {
// '$parse_tokens'(A,B,C,D):-'$parse_tokens_skip_spaces'(C,E),'$parse_tokens1'(B,F,G,E,H),!,'$parse_tokens_skip_spaces'(H,I),'$parse_tokens2'(B,F,G,A,J,I,D),!
engine.setB0();
Term a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;
Predicate p1, p2, p3, p4, p5;
a1 = arg1;
a2 = arg2;
a3 = arg3;
a4 = arg4;
// '$parse_tokens'(A,B,C,D):-['$get_level'(E),'$parse_tokens_skip_spaces'(C,F),'$parse_tokens1'(B,G,H,F,I),'$cut'(E),'$parse_tokens_skip_spaces'(I,J),'$parse_tokens2'(B,G,H,A,K,J,D),'$cut'(E)]