Class PegRules


  • public final class PegRules
    extends Object
    Factory of all PeRules.
    Author:
    pchretien
    • Method Detail

      • named

        public static <R> PegRule<R> named​(PegRule<R> innerRule,
                                           String ruleName)
        Named a Rule.
        Parameters:
        innerRule - Rule to name
        ruleName - 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 repeat
        untilEnd - 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 repeat
        untilEnd - 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és
        checkedChars - Liste des caractères vérifiés
        mode - 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
      • namedRulesAsHtml

        public static String namedRulesAsHtml​(PegRule<?> rootRule)
        Parameters:
        rootRule - Root rule to start with
        Returns:
        Html railroad diagram