@Test @DisplayName("chained modifiers are okay") void syntaxChainedModifier_tpq() { var klass = FluentBuilder.from(MyClass.class); final var sut = klass.syntax("(parameter+)?"); sut.optimize(); Assertions.assertEquals("parameter*", sut.toString()); }
public Syntax(Lexer lexer, FluentNodeCreator nodeCreator) { this.lexer = lexer; this.nodeCreator = nodeCreator; }
Syntax { public Syntax(Lexer lexer, FluentNodeCreator nodeCreator) { this.lexer = lexer; this.nodeCreator = nodeCreator; } }
Syntax { public Syntax(Lexer lexer, FluentNodeCreator nodeCreator) { this.lexer = lexer; this.nodeCreator = nodeCreator; } Syntax(Lexer lexer, FluentNodeCreator nodeCreator); }
Syntax { public Syntax(Lexer lexer, FluentNodeCreator nodeCreator) { this.lexer = lexer; this.nodeCreator = nodeCreator; } Syntax(Lexer lexer, FluentNodeCreator nodeCreator); List<Node> expression(); List<Node> subExpression(); List<Node> alternate(); List<Node> simple(); List<Node> terminal(); }
Syntax { public Syntax(Lexer lexer, FluentNodeCreator nodeCreator) { this.lexer = lexer; this.nodeCreator = nodeCreator; } Syntax(Lexer lexer, FluentNodeCreator nodeCreator); List<Node> expression(); List<Node> subExpression(); List<Node> alternate(); List<Node> simple(); List<Node> terminal();  }