ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/antlr/NoViableAltException.cpp
Revision: 2469
Committed: Fri Dec 2 15:38:03 2005 UTC (18 years, 7 months ago) by tim
File size: 1283 byte(s)
Log Message:
End of the Link --> List
Return of the Oject-Oriented
replace yacc/lex parser with antlr parser

File Contents

# Content
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: NoViableAltException.cpp,v 1.1 2005-12-02 15:38:02 tim Exp $
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