示例#1
0
 def setUp(self):
     a = CharacterParser("a")
     b = CharacterParser("b")
     c = CharacterParser("c")
     eos = EndOfStringParser()
     self.seq = SequenceParser(
         a,
         b,
         c,
         eos
     )
示例#2
0
asdf/asdf
------------------------
"""


class WordParser(OneOrMoreParser):
    def __init__(self):
        OneOrMoreParser.__init__(
            self, CharacterClassParser(ascii_letters + digits + "-"))

    def transform(self, result):
        return "".join(result)


seplineparser = SequenceParser(CharacterParser("-"),
                               OneOrMoreParser(CharacterParser("-")),
                               CharacterParser("\n"))


class KVLineParser(SequenceParser):
    def __init__(self):
        SequenceParser.__init__(self, WordParser(), CharacterParser(":"),
                                OneOrMoreParser(CharacterParser(" ")),
                                WordParser(), CharacterParser("\n"))

    def transform(self, result):
        return (result[0], result[3])


headerparser = SequenceParser(seplineparser, OneOrMoreParser(KVLineParser()),
                              seplineparser)
示例#3
0
 def setUp(self):
     a = CharacterParser("a")
     b = CharacterParser("b")
     c = CharacterParser("c")
     self.seqparser = SequenceParser(a, b, c)