--- /dev/null
+/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
+ * Use of this file is governed by the BSD 3-clause license that
+ * can be found in the LICENSE.txt file in the project root.
+ */
+
+#pragma once
+
+#include "RecognitionException.h"
+#include "atn/ATNConfigSet.h"
+
+namespace antlr4 {
+
+ class ANTLR4CPP_PUBLIC LexerNoViableAltException : public RecognitionException {
+ public:
+ LexerNoViableAltException(Lexer *lexer, CharStream *input, size_t startIndex,
+ atn::ATNConfigSet *deadEndConfigs);
+
+ virtual size_t getStartIndex();
+ virtual atn::ATNConfigSet* getDeadEndConfigs();
+ virtual std::string toString();
+
+ private:
+ /// Matching attempted at what input index?
+ const size_t _startIndex;
+
+ /// Which configurations did we try at input.index() that couldn't match input.LA(1)?
+ atn::ATNConfigSet *_deadEndConfigs;
+
+ };
+
+} // namespace antlr4