]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_codesigning/antlr2/src/NoViableAltException.cpp
Security-58286.1.32.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / antlr2 / src / NoViableAltException.cpp
1 /* ANTLR Translator Generator
2 * Project led by Terence Parr at http://www.jGuru.com
3 * Software rights: http://www.antlr.org/license.html
4 *
5 * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/src/NoViableAltException.cpp#2 $
6 */
7
8 #include "antlr/NoViableAltException.hpp"
9 #include "antlr/String.hpp"
10
11 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
12 namespace antlr {
13 #endif
14
15 ANTLR_USING_NAMESPACE(std)
16
17 NoViableAltException::NoViableAltException(RefAST t)
18 : RecognitionException("NoViableAlt","<AST>",-1,-1),
19 token(0), node(t)
20 {
21 }
22
23 NoViableAltException::NoViableAltException(
24 RefToken t,
25 const ANTLR_USE_NAMESPACE(std)string& fileName_
26 ) : RecognitionException("NoViableAlt",fileName_,t->getLine(),t->getColumn()),
27 token(t), node(nullASTptr)
28 {
29 }
30
31 ANTLR_USE_NAMESPACE(std)string NoViableAltException::getMessage() const
32 {
33 if (token)
34 {
35 if( token->getType() == Token::EOF_TYPE )
36 return string("unexpected end of file");
37 else if( token->getType() == Token::NULL_TREE_LOOKAHEAD )
38 return string("unexpected end of tree");
39 else
40 return string("unexpected token: ")+token->getText();
41 }
42
43 // must a tree parser error if token==null
44 if (!node)
45 return "unexpected end of subtree";
46
47 return string("unexpected AST node: ")+node->toString();
48 }
49
50 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
51 }
52 #endif