Rule binary(Rule innerExpression, Operator... operators) { return binary(innerExpression, innerExpression, operators); }
Rule binary(Rule innerExpression, Operator... operators) { return binary(innerExpression, innerExpression, operators); }
Rule equalityExpression() { return binary( relationalExpression(), Operator.EQUAL, Operator.DIFF ); }
protected Rule orExpression() { return binary( andExpression(), Operator.OR ); }
Rule andExpression() { return binary( equalityExpression(), Operator.AND ); }
protected Rule orExpression() { return binary( andExpression(), Operator.OR ); }
Rule andExpression() { return binary( equalityExpression(), Operator.AND ); }
Rule addition() { return binary( multiplication(), Operator.ADD, Operator.SUB ); }
Rule equalityExpression() { return binary( relationalExpression(), Operator.EQUAL, Operator.DIFF ); }
Rule addition() { return binary( multiplication(), Operator.ADD, Operator.SUB ); }
Rule multiplication() { return binary( composition(), Operator.INT_DIV, Operator.INT_TIMES, Operator.TIMES, Operator.DIV, Operator.MOD ); }
Rule specificJtwigOperators() { return binary( orExpression(), Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.MATCHES, Operator.IN ); }
Rule multiplication() { return binary( composition(), Operator.INT_DIV, Operator.INT_TIMES, Operator.TIMES, Operator.DIV, Operator.MOD ); }
Rule specificJtwigOperators() { return binary( orExpression(), Operator.STARTS_WITH, Operator.ENDS_WITH, Operator.MATCHES, Operator.IN ); }
Rule composition() { return binary( selection(), FirstOf( functionWithBrackets(), variable() ), COMPOSITION ); }
Rule composition() { return binary( selection(), FirstOf( functionWithBrackets(), variable() ), COMPOSITION ); }
Rule relationalExpression() { return binary( FirstOf( negation(), addition(), negative() ), Operator.LTE, Operator.GTE, Operator.LT, Operator.GT ); }
Rule relationalExpression() { return binary( FirstOf( negation(), addition(), negative() ), Operator.LTE, Operator.GTE, Operator.LT, Operator.GT ); }
Rule selection() { return binary( isOperation(), FirstOf( functionWithBrackets(), mapEntry(), variable() ), SELECTION ); }
Rule selection() { return binary( isOperation(), FirstOf( functionWithBrackets(), mapEntry(), variable() ), SELECTION ); }