ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/antlr/RecognitionException.cpp
Revision: 2469
Committed: Fri Dec 2 15:38:03 2005 UTC (18 years, 7 months ago) by tim
File size: 1690 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: RecognitionException.cpp,v 1.1 2005-12-02 15:38:02 tim Exp $
6     */
7    
8     #include "antlr/RecognitionException.hpp"
9     #include "antlr/String.hpp"
10    
11     #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
12     namespace antlr {
13     #endif
14    
15     RecognitionException::RecognitionException()
16     : ANTLRException("parsing error")
17     , line(-1)
18     , column(-1)
19     {
20     }
21    
22     RecognitionException::RecognitionException(const ANTLR_USE_NAMESPACE(std)string& s)
23     : ANTLRException(s)
24     , line(-1)
25     , column(-1)
26     {
27     }
28    
29     RecognitionException::RecognitionException(const ANTLR_USE_NAMESPACE(std)string& s,
30     const ANTLR_USE_NAMESPACE(std)string& fileName_,
31     int line_,int column_)
32     : ANTLRException(s)
33     , fileName(fileName_)
34     , line(line_)
35     , column(column_)
36     {
37     }
38    
39     ANTLR_USE_NAMESPACE(std)string RecognitionException::getFileLineColumnString() const
40     {
41     ANTLR_USE_NAMESPACE(std)string fileLineColumnString;
42    
43     if ( fileName.length() > 0 )
44     fileLineColumnString = fileName + ":";
45    
46     if ( line != -1 )
47     {
48     if ( fileName.length() == 0 )
49     fileLineColumnString = fileLineColumnString + "line ";
50    
51     fileLineColumnString = fileLineColumnString + line;
52    
53     if ( column != -1 )
54     fileLineColumnString = fileLineColumnString + ":" + column;
55    
56     fileLineColumnString = fileLineColumnString + ":";
57     }
58    
59     fileLineColumnString = fileLineColumnString + " ";
60    
61     return fileLineColumnString;
62     }
63    
64     ANTLR_USE_NAMESPACE(std)string RecognitionException::toString() const
65     {
66     return getFileLineColumnString()+getMessage();
67     }
68    
69     #ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
70     }
71     #endif