Use boost::bimap to support compiler as well as parser