--- /dev/null
+#ifndef MSP_PARSER_ERROR_H_
+#define MSP_PARSER_ERROR_H_
+
+#include <msp/core/error.h>
+
+namespace Msp {
+namespace Parser {
+
+class TypeError: public Exception
+{
+public:
+ TypeError(const std::string &w_): Exception(w_) { }
+};
+
+class ParseError: public Exception
+{
+public:
+ ParseError(const std::string &w_, const std::string &s, unsigned l): Exception(w_), source(s), line(l) { }
+ const std::string &get_source() const { return source; }
+ unsigned get_line() const { return line; }
+ ~ParseError() throw() { }
+private:
+ std::string source;
+ unsigned line;
+};
+
+} // namespace Parser
+} // namespace Msp
+
+#endif