Пример #1
0
def dec_octet():
    return Choice(
        0, DIGIT(),
        Sequence(HorizontalChoice("1", "2", "3", "4", "5", "6", "7", "8", "9"),
                 DIGIT()), Sequence("1", DIGIT(), DIGIT()),
        Sequence("2", HorizontalChoice("0", "1", "2", "3", "4"), DIGIT()),
        Sequence("25", HorizontalChoice("0", "1", "2", "3", "4", "5")))
def unreserved():
    return Choice(0, HorizontalChoice(ALPHA(), DIGIT()),
                  HorizontalChoice("-", ".", "_", "~"))
def reserved():
    return HorizontalChoice(";", "/", "?", ":", "@", "&", "=", "+", "$", ",")
def mark():
    return HorizontalChoice("-", "_", ".", "!", "~", "*", "'", "(", ")")
def param_unreserved():
    return HorizontalChoice("[", "]", "/", ":", "&", "+", "$")
def visual_separator():
    return HorizontalChoice("-", ".", "(", ")")
Пример #7
0
def scheme():
    return Sequence(
        ALPHA(),
        ZeroOrMore(HorizontalChoice(ALPHA(), DIGIT()),
                   HorizontalChoice("+", "-", ".")))
Пример #8
0
def sub_delims():
    return Choice(0, HorizontalChoice("!", "$", "&", "'", "(", ")"),
                  HorizontalChoice("*", "+", ",", ";", "="))