rparsec is a recursive descent parser combinator framework. Declarative API allows creating parser intuitively and dynamically.