def parser(tokens):
   p = Parser(tokens)
   return p.one_of(
       (lambda: p.expect('eq')), 
       (lambda: p.expect('dash')),
       (lambda: p.expect('under'))
   )['value']
 def parser(tokens):
   p = Parser(tokens)
   return p.many_of(lambda: p.expect('eq')['value'])
 def parser(tokens):
   p = Parser(tokens)
   p.expect('lparen')
   res = p.maybe(lambda: p.expect('eq'))
   p.expect('rparen')
   return res['value'] if res else True
 def parser(tokens):
   p = Parser(tokens)
   p.expect('eq')
   p.expect('dash')
   p.expect('under')
   return True
 def parser(tokens):
   p = Parser(tokens)
   p.expect('anything')
 def parser(tokens):
   p = Parser(tokens)
   p.expect('eq')
   return True