EDN reader and writer implementation in Python, using PLY (lex, yacc)