manually made parser.js because the one generated by jison isn't powerful enough