ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/antlr/ANTLRException.hpp
Revision: 2469
Committed: Fri Dec 2 15:38:03 2005 UTC (18 years, 7 months ago) by tim
File size: 1421 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 #ifndef INC_ANTLRException_hpp__
2 #define INC_ANTLRException_hpp__
3
4 /* ANTLR Translator Generator
5 * Project led by Terence Parr at http://www.jGuru.com
6 * Software rights: http://www.antlr.org/license.html
7 *
8 * $Id: ANTLRException.hpp,v 1.1 2005-12-02 15:38:02 tim Exp $
9 */
10
11 #include <antlr/config.hpp>
12 #include <string>
13
14 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
15 namespace antlr {
16 #endif
17
18 class ANTLR_API ANTLRException
19 {
20 public:
21 /// Create ANTLR base exception without error message
22 ANTLRException() : text("")
23 {
24 }
25 /// Create ANTLR base exception with error message
26 ANTLRException(const ANTLR_USE_NAMESPACE(std)string& s)
27 : text(s)
28 {
29 }
30 virtual ~ANTLRException() throw()
31 {
32 }
33
34 /** Return complete error message with line/column number info (if present)
35 * @note for your own exceptions override this one. Call getMessage from
36 * here to get the 'clean' error message stored in the text attribute.
37 */
38 virtual ANTLR_USE_NAMESPACE(std)string toString() const
39 {
40 return text;
41 }
42
43 /** Return error message without additional info (if present)
44 * @note when making your own exceptions classes override toString
45 * and call in toString getMessage which relays the text attribute
46 * from here.
47 */
48 virtual ANTLR_USE_NAMESPACE(std)string getMessage() const
49 {
50 return text;
51 }
52 private:
53 ANTLR_USE_NAMESPACE(std)string text;
54 };
55 #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
56 }
57 #endif
58
59 #endif //INC_ANTLRException_hpp__