grammar updates
use parse tree to make pool dict