ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/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

# User Rev Content
1 tim 2469 /* 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