Package io.vertigo.commons.peg
Class PegRules
- java.lang.Object
-
- io.vertigo.commons.peg.PegRules
-
public final class PegRules extends Object
Factory of all PeRules.- Author:
- pchretien
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static PegRule<PegChoice>
choice(PegRule<?>... rules)
static PegRule<PegChoice>
choice(List<PegRule<?>> rules)
static <R> PegRule<R>
named(PegRule<R> innerRule, String ruleName)
Named a Rule.static String
namedRulesAsHtml(PegRule<?> rootRule)
static <R> PegRule<List<R>>
oneOrMore(PegRule<R> rule, boolean untilEnd)
static <R> PegRule<Optional<R>>
optional(PegRule<R> rule)
static <O> PegRule<O>
parseAll(PegRule<O> innerRule)
static PegRule<List<Object>>
sequence(PegRule<?>... rules)
static PegRule<List<Object>>
sequence(List<PegRule<?>> rules)
static PegRule<PegRule.Dummy>
skipBlanks(String blanks)
static PegRule<String>
term(String term)
static PegRule<String>
word(boolean emptyAccepted, String checkedChars, PegWordRule.Mode mode, String readableExpression)
static <R> PegRule<List<R>>
zeroOrMore(PegRule<R> rule, boolean untilEnd)
-
-
-
Method Detail
-
named
public static <R> PegRule<R> named(PegRule<R> innerRule, String ruleName)
Named a Rule.- Parameters:
innerRule
- Rule to nameruleName
- Rule name- Returns:
- Named rule
-
optional
public static <R> PegRule<Optional<R>> optional(PegRule<R> rule)
- Parameters:
rule
- Inner rule- Returns:
- Optional rule
-
term
public static PegRule<String> term(String term)
- Parameters:
term
- Terminal- Returns:
- Term rule
-
sequence
public static PegRule<List<Object>> sequence(PegRule<?>... rules)
- Parameters:
rules
- rules list- Returns:
- sequence rule of inner rules
-
sequence
public static PegRule<List<Object>> sequence(List<PegRule<?>> rules)
- Parameters:
rules
- rules list- Returns:
- sequence rule of inner rules
-
choice
public static PegRule<PegChoice> choice(PegRule<?>... rules)
- Parameters:
rules
- the list of rules to test- Returns:
- choice rule of inner rules
-
choice
public static PegRule<PegChoice> choice(List<PegRule<?>> rules)
- Parameters:
rules
- the list of rules to test- Returns:
- choice rule of inner rules
-
zeroOrMore
public static <R> PegRule<List<R>> zeroOrMore(PegRule<R> rule, boolean untilEnd)
- Parameters:
rule
- Rule to repeatuntilEnd
- If text should be parsed entirely- Returns:
- zeroOrMore rule
-
oneOrMore
public static <R> PegRule<List<R>> oneOrMore(PegRule<R> rule, boolean untilEnd)
- Parameters:
rule
- Rule to repeatuntilEnd
- If text should be parsed entirely- Returns:
- oneOrMore rule
-
skipBlanks
public static PegRule<PegRule.Dummy> skipBlanks(String blanks)
- Parameters:
blanks
- list of char to skip- Returns:
- Rule to match any blank char
-
word
public static PegRule<String> word(boolean emptyAccepted, String checkedChars, PegWordRule.Mode mode, String readableExpression)
- Parameters:
emptyAccepted
- Si les mots vides sont acceptéscheckedChars
- Liste des caractères vérifiésmode
- Indique le comportement du parseur : si les caractères vérifiés sont les seuls acceptés, sinon les seuls rejetés, et si l'echappement est autoriséreadableExpression
- Expression nommée- Returns:
- Word rule (capture a word)
-
parseAll
public static <O> PegRule<O> parseAll(PegRule<O> innerRule)
- Type Parameters:
O
- Result object- Parameters:
innerRule
- InnerRule- Returns:
- Rule to ensure innerRull match whole text
-
-