h_hashtable_put generated double entries if the match was last in list
fix derpy bugs in grammar analysis
add pretty printers for symbol and token sets