@Override public <U> List<U> oneOrMore(U method) { ParsingExpression expression = pop(); GrammarRuleKey grammarRuleKey = new DummyGrammarRuleKey("oneOrMore", expression); oneOrMores.add(grammarRuleKey); b.rule(grammarRuleKey).is(b.oneOrMore(expression)); invokeRule(grammarRuleKey); return null; }
@Override public <T> List<T> oneOrMore(T method) { ParsingExpression expression = pop(); GrammarRuleKey ruleKey = new DummyGrammarRuleKey("oneOrMore", expression); oneOrMores.add(ruleKey); b.rule(ruleKey).is(b.oneOrMore(expression)); invokeRule(ruleKey); return null; }
@Override public <T> List<T> oneOrMore(T method) { ParsingExpression expression = pop(); GrammarRuleKey ruleKey = new DummyGrammarRuleKey("oneOrMore", expression); oneOrMores.add(ruleKey); b.rule(ruleKey).is(b.oneOrMore(expression)); invokeRule(ruleKey); return null; }
@Override public <U> List<U> oneOrMore(U method) { ParsingExpression expression = pop(); GrammarRuleKey grammarRuleKey = new DummyGrammarRuleKey("oneOrMore", expression); oneOrMores.add(grammarRuleKey); b.rule(grammarRuleKey).is(b.oneOrMore(expression)); invokeRule(grammarRuleKey); return null; }
public static Grammar infiniteOneOrMore() { LexerlessGrammarBuilder b = LexerlessGrammarBuilder.create(); b.rule(A).is(b.oneOrMore(b.optional("foo"))); return b.build(); }
public static Grammar createGrammar() { LexerlessGrammarBuilder b = LexerlessGrammarBuilder.create(); b.rule(S).is(b.next(A, "c"), b.oneOrMore("a"), B, b.nextNot("a", "b", "c")); b.rule(A).is("a", b.optional(A), "b"); b.rule(B).is("b", b.optional(B), "c"); return b.build(); }
b.rule(ATTRIBUTES).is(b.oneOrMore(ATTRIBUTE));
b.rule(RULE).is(RULE_KEY, ASSIGN, FIRST_OF_EXPRESSION, SEMICOLON); b.rule(FIRST_OF_EXPRESSION).is(SEQUENCE_EXPRESSION, b.zeroOrMore(OR, SEQUENCE_EXPRESSION)); b.rule(SEQUENCE_EXPRESSION).is(b.oneOrMore(b.firstOf( ZERO_OR_MORE_EXPRESSION, ONE_OR_MORE_EXPRESSION,
b.rule(BACK_REFERENCE).is("\\", b.regexp("[1-9]")); b.rule(CHARACTER_CLASS).is('[', b.optional("^"), b.oneOrMore(CLASS_ATOM), ']'); b.rule(CLASS_ATOM).is(b.firstOf( b.sequence('\\', b.regexp(".")),
b.firstOf( b.regexp("(?i)(progid:DXImageTransform\\.Microsoft\\.[a-z]+)"), b.sequence("-", b.oneOrMore(_NMCHAR)), b.sequence(_NMSTART, b.zeroOrMore(_NMCHAR)))) .skip();
b.firstOf( b.regexp("(?i)(progid:DXImageTransform\\.Microsoft\\.[a-z]+)"), b.sequence("-", b.oneOrMore(_NMCHAR)), b.sequence(_NMSTART, b.zeroOrMore(_NMCHAR)))) .skip();
private static void module(LexerlessGrammarBuilder b) { b.rule(module).is(spacing, b.optional(moduleElements), eof); b.rule(moduleElements).is(b.oneOrMore( moduleElement ));
b.rule(CASE_ELEMENT).is(b.oneOrMore(CASE_LABEL), b.zeroOrMore(DIRECTIVE)); b.rule(CASE_LABEL).is(b.firstOf(DEFAULT, b.sequence(CASE, LIST_EXPRESSION)), COLON);
b.regexp("(?i)(progid:DXImageTransform\\.Microsoft\\.[a-z]+)"), b.sequence(_NMSTART, b.zeroOrMore(_NMCHAR)), b.oneOrMore(_NMCHAR))) .skip();
private static void macros(LexerlessGrammarBuilder b) { b.rule(_IDENT).is(b.token(GenericTokenType.IDENTIFIER, b.sequence(_NMSTART, b.zeroOrMore(_NMCHAR)))).skip(); b.rule(_NAME).is(b.token(GenericTokenType.LITERAL, b.oneOrMore(_NMCHAR))).skip(); b.rule(_NMSTART).is( b.firstOf(b.regexp(NMSTART_REGEX), "-", "*", _NONASCII, _ESCAPE)).skip();
CLOSE_PARENTHESIS); b.rule(parameters).is(parameter, b.zeroOrMore(comma, parameter)); b.rule(parameter).is(addSpacing(b.oneOrMore(ANY), b)); b.rule(INCLUDES).is(addSpacing("~=", b)); b.rule(DASH_MATCH).is(addSpacing("|=", b));