コード例 #1
0
def ipv4address():
    return [
        NonTerminal("dec-octet"), ".",
        NonTerminal("dec-octet"), ".",
        NonTerminal("dec-octet"), ".",
        NonTerminal("dec-octet")
    ]
コード例 #2
0
def global_number_digits():
    return Sequence(
        "+",
        ZeroOrMore(NonTerminal("phonedigit")),
        DIGIT(),
        ZeroOrMore(NonTerminal("phonedigit"))
    )
コード例 #3
0
def local_number():
    return Sequence(
        local_number_digits(),
        ZeroOrMore(NonTerminal("par")),
        context(),
        ZeroOrMore(NonTerminal("par"))
    )
コード例 #4
0
def global_number():
    return Sequence(global_number_digits(), ZeroOrMore(NonTerminal("par")))
コード例 #5
0
def ip_literal():
    return [
        "[",
        Choice(0, NonTerminal("IPv6address"), NonTerminal("IPvFuture")), "]"
    ]
コード例 #6
0
def ietf_token():
    return NonTerminal("ietf-token")
コード例 #7
0
def iana_token():
    return NonTerminal("iana-token")
コード例 #8
0
def isdn_subaddress():
    return Sequence(";isub=", OneOrMore(NonTerminal("uric")))
コード例 #9
0
def authority():
    return [
        Optional(Sequence(NonTerminal("userinfo"), "@")),
        NonTerminal("host"),
        Optional(Sequence(":", NonTerminal("port")))
    ]
コード例 #10
0
def host():
    return Choice(1, Sequence(*ip_literal()), Sequence(*ipv4address()),
                  NonTerminal("reg-name"))
コード例 #11
0
def port():
    return NonTerminal("port")
コード例 #12
0
def path_empty():
    return NonTerminal("path-empty")
コード例 #13
0
def uri():
    return Sequence(NonTerminal("scheme"), ":", Group(hier_part(),
                                                      "hier-part"),
                    Optional(Sequence("?", NonTerminal("query"))),
                    Optional(Sequence("#", NonTerminal("fragment"))))
コード例 #14
0
def path_rootless():
    return Sequence(NonTerminal("segment-nz"),
                    Optional(Sequence("/", NonTerminal("segment"))))
コード例 #15
0
def path_absolute():
    return Sequence(
        "/",
        Optional(
            Sequence(NonTerminal("segment-nz"),
                     Optional(Sequence("/", NonTerminal("segment"))))))
コード例 #16
0
def path_abempty():
    return Optional(Sequence("/", NonTerminal("segment")))
コード例 #17
0
def pvalue():
    return OneOrMore(NonTerminal("paramchar"))
コード例 #18
0
def DIGIT():
    return NonTerminal("DIGIT")
コード例 #19
0
def context():
    return NonTerminal("context")
コード例 #20
0
def alphanum():
    return NonTerminal("ALPHANUM")
コード例 #21
0
def ALPHA():
    return NonTerminal("ALPHA")
コード例 #22
0
def ipvfuture():
    return [
        "v",
        OneOrMore(NonTerminal("HEXDIG")), ".",
        OneOrMore(Choice(0, unreserved(), sub_delims(), ":"))
    ]
コード例 #23
0
def HEXDIG():
    return NonTerminal("HEXDIG")
コード例 #24
0
def local_number_digits():
    return Sequence(
        ZeroOrMore(NonTerminal("phonedigit_hex")),
        Choice(0, HEXDIG(), "*", "#"),
        ZeroOrMore(NonTerminal("phonedigit_hex"))
    )
コード例 #25
0
def quoted_string():
    return Sequence('"', NonTerminal("ASCII"), '"')
コード例 #26
0
def context():
    return Sequence(";phone-context=", NonTerminal("descriptor"))
コード例 #27
0
def x_token():
    return Sequence(Choice(0, "X-", "x-"), NonTerminal("token"))
コード例 #28
0
def extension():
    return Sequence(";ext=", OneOrMore(NonTerminal("phonedigit")))
コード例 #29
0
ファイル: diagrams.py プロジェクト: time-rs/book
            Optional(Sequence(copy(whitespace), Choice(0, *modifiers)),
                     skip=SKIP))

    return Sequence(
        name,
        ZeroOrMore(Sequence(
            copy(whitespace),
            Choice(0, *modifiers),
        ),
                   skip=SKIP),
    )


complete = Diagram(
    ZeroOrMore(Choice(
        0, NonTerminal('literal'),
        Sequence(
            '[',
            Choice(
                1, '[',
                Sequence(
                    Optional(copy(whitespace), skip=SKIP),
                    Choice(
                        0,
                        generate_sequence(
                            'month',
                            copy(padding),
                            copy(month_repr),
                            copy(case_sensitive),
                        ),
                        generate_sequence(
コード例 #30
0
def ipv6address():
    return Choice(
        0,
        Sequence(NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("ls32")),
        Sequence("::", NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("ls32")),
        Sequence(Optional(NonTerminal("h16")), "::", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("h16"), ":",
                 NonTerminal("h16"), ":", NonTerminal("ls32")),
        Sequence(
            Optional(
                Sequence(Optional(Sequence(NonTerminal("h16"), ":")),
                         NonTerminal("h16"))), "::", NonTerminal("h16"), ":",
            NonTerminal("h16"), ":", NonTerminal("h16"), ":",
            NonTerminal("ls32")),
        Sequence(
            Optional(
                Sequence(
                    Optional(
                        Sequence(NonTerminal("h16"), ":",
                                 Optional(Sequence(NonTerminal("h16"), ":")))),
                    NonTerminal("h16"))), "::", NonTerminal("h16"), ":",
            NonTerminal("h16"), ":", NonTerminal("ls32")),
        Sequence(
            Optional(
                Sequence(
                    Optional(
                        Sequence(
                            NonTerminal("h16"), ":",
                            Optional(
                                Sequence(
                                    NonTerminal("h16"), ":",
                                    Optional(Sequence(NonTerminal("h16"),
                                                      ":")))))),
                    NonTerminal("h16"))), "::", NonTerminal("h16"), ":",
            NonTerminal("ls32")),
        Sequence(
            Optional(
                Sequence(
                    Optional(
                        Sequence(
                            NonTerminal("h16"), ":",
                            Optional(
                                Sequence(
                                    NonTerminal("h16"), ":",
                                    Optional(
                                        Sequence(
                                            NonTerminal("h16"), ":",
                                            Optional(
                                                Sequence(
                                                    NonTerminal("h16"),
                                                    ":")))))))),
                    NonTerminal("h16"))), "::", NonTerminal("ls32")),
        Sequence(
            Optional(
                Sequence(
                    Optional(
                        Sequence(
                            NonTerminal("h16"), ":",
                            Optional(
                                Sequence(
                                    NonTerminal("h16"), ":",
                                    Optional(
                                        Sequence(
                                            NonTerminal("h16"), ":",
                                            Optional(
                                                Sequence(
                                                    NonTerminal("h16"), ":",
                                                    Optional(
                                                        Sequence(
                                                            NonTerminal("h16"),
                                                            ":")))))))))),
                    NonTerminal("h16"))), "::", NonTerminal("h16")),
        Sequence(
            Optional(
                Sequence(
                    Optional(
                        Sequence(
                            NonTerminal("h16"), ":",
                            Optional(
                                Sequence(
                                    NonTerminal("h16"), ":",
                                    Optional(
                                        Sequence(
                                            NonTerminal("h16"), ":",
                                            Optional(
                                                Sequence(
                                                    NonTerminal("h16"), ":",
                                                    Optional(
                                                        Sequence(
                                                            NonTerminal("h16"),
                                                            ":",
                                                            Optional(
                                                                Sequence(
                                                                    NonTerminal(
                                                                        "h16"),
                                                                    ":"))))))))
                                )))), NonTerminal("h16"))), "::"))