Esempio n. 1
0
def RightAssoc(*pairs):
    return lambda subexpr: \
        recur(lambda expr:
                  seclude(subexpr + alt([peg + expr + oper
                                         for peg, oper in pairs]).maybe()))
Esempio n. 2
0
def Node(margin):
    return P.seclude(P.match(r'( {%d,})' % margin)
                     + swallow(lambda indent:
                               (line + Node(len(indent)+1).star()) >> P.hug))
Esempio n. 3
0
def LeftAssoc(*pairs):
    return lambda subexpr: \
        seclude(subexpr + alt([peg + subexpr + oper
                               for peg, oper in pairs]).star())