A monadic parser inspired by Parsec, written in Java