The kernel of ProB is written in Prolog, the B parser is developed in Java using SableCC. The ProB parser is available on github. There is a comprehensive Java API available (also known as ProB 2.0).
A new ProB Developer Manual is available, superseding the information below.
The documentation for the Java API to ProB can be found here.