'prettyprint a mapexpr
\'mapexpr\' is something like k = {\'a\': 1, \'b\': 42 }"'

def n_mapexpr(self, node):

    p = self.prec
    self.prec = 100
    assert (node[(-1)] == 'kvlist')
    node = node[(-1)]
    self.indentMore(INDENT_PER_LEVEL)
    line_seperator = (',\n' + self.indent)
    sep = INDENT_PER_LEVEL[:(-1)]
    self.write('{')
    for kv in node:
        assert (kv in ('kv', 'kv2', 'kv3'))
        if (kv == 'kv'):
            name = self.traverse(kv[(-2)], indent='')
            value = self.traverse(kv[1], indent=(self.indent + ((len(name) + 2) * '    ')))
        elif (kv == 'kv2'):
            name = self.traverse(kv[1], indent='')
            value = self.traverse(kv[(-3)], indent=(self.indent + ((len(name) + 2) * '    ')))
        elif (kv == 'kv3'):
            name = self.traverse(kv[(-2)], indent='')
            value = self.traverse(kv[0], indent=(self.indent + ((len(name) + 2) * '    ')))
        self.write(sep, name, ':    ', value)
        sep = line_seperator
    self.write('}')
    self.indentLess(INDENT_PER_LEVEL)
    self.prec = p
    self.prune()
