Added optionality by means of boost::optional to parser.
llvm-style rtti added.