Rule OneOrMoreS(Object rule) { return OneOrMore(rule).label("OneOrMore").skipNode(); } Rule OneOrMoreS(Object rule, Object rule2, Object... moreRules) {
Rule OneOrMoreS(Object rule, Object rule2, Object... moreRules) { return OneOrMore(rule, rule2, moreRules).label("OneOrMore").skipNode(); } Rule OptionalS(Rule r) {
Rule OptionalS(Rule r) { return Optional(r).label("Optional").skipNode(); } Rule OptionalS(Object rule, Object rule2, Object... moreRules) {
Rule ZeroOrMoreS(Object rule, Object rule2, Object... moreRules) { return ZeroOrMore(rule, rule2, moreRules).label("ZeroOrMore").skipNode(); } public Rule IgnoreCase(String s) {
Rule FirstOfS(Object rule, Object rule2, Object... moreRules) { return FirstOf(rule, rule2, moreRules).label("FirstOf").skipNode(); } Rule OneOrMoreS(Object rule) {
Rule OptionalS(Object rule, Object rule2, Object... moreRules) { return Optional(rule, rule2, moreRules).label("Optional").skipNode(); } Rule SequenceS(Object rule, Object rule2, Object... moreRules) {
Rule SequenceS(Object rule, Object rule2, Object... moreRules) { return Sequence(rule, rule2, moreRules).label("Sequence").skipNode(); } Rule ZeroOrMoreS(Object rule) {
Rule ZeroOrMoreS(Object rule) { return ZeroOrMore(rule).label("ZeroOrMore").skipNode(); } Rule ZeroOrMoreS(Object rule, Object rule2, Object... moreRules) {
public Rule skipNode() { if (target == null) { // if we have no target yet we need to save the marker and "apply" it later setNodeSkipped(true); return this; } // we already have a target to which we can directly apply the marker Rule inner = unwrap(target); target = (Matcher) inner.skipNode(); // since this might change the instance we have to update it setNodeSkipped(false); return target; }
public Rule AggregateObject() { return Sequence( ZeroOrMore( WhiteSpace() ).skipNode(), "{ ", AggregatePair(), "} " ); }
public Rule AggregateObject() { return Sequence( ZeroOrMore( WhiteSpace() ).skipNode(), "{ ", AggregatePair(), "} " ); }
public Rule JsonObject() { return Sequence( ZeroOrMore( WhiteSpace() ).skipNode(), "{ ", FirstOf( Sequence( Pair(), ZeroOrMore( Sequence( ", ", Pair() ) ) ), Optional( Pair() ) ).suppressNode(), "} " ); }
public Rule JsonObject() { return Sequence( ZeroOrMore( WhiteSpace() ).skipNode(), "{ ", FirstOf( Sequence( Pair(), ZeroOrMore( Sequence( ", ", Pair() ) ) ), Optional( Pair() ) ).suppressNode(), "} " ); }