a json parser based on flex/bison