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 StringnamedRulesAsHtml(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
-
-