Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.utils / src / main / java / org / gvsig / utils / console / jedit / CCTokenMarker.java @ 40561

History | View | Annotate | Download (5.17 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.utils.console.jedit;
25
/*
26
 * CCTokenMarker.java - C++ token marker
27
 * Copyright (C) 1999 Slava Pestov
28
 *
29
 * You may use and modify this package for any purpose. Redistribution is
30
 * permitted, in both source and binary form, provided that this notice
31
 * remains intact in all source distributions of this package.
32
 */
33

    
34

    
35
/**
36
 * C++ token marker.
37
 *
38
 * @author Slava Pestov
39
 * @version $Id$
40
 */
41
public class CCTokenMarker extends CTokenMarker
42
{
43
        public CCTokenMarker()
44
        {
45
                super(true,getKeywords());
46
        }
47

    
48
        public static KeywordMap getKeywords()
49
        {
50
                if(ccKeywords == null)
51
                {
52
                        ccKeywords = new KeywordMap(false);
53

    
54
                        ccKeywords.add("and", Token.KEYWORD3);
55
                        ccKeywords.add("and_eq", Token.KEYWORD3);
56
                        ccKeywords.add("asm", Token.KEYWORD2);         //
57
                        ccKeywords.add("auto", Token.KEYWORD1);        //
58
                        ccKeywords.add("bitand", Token.KEYWORD3);
59
                        ccKeywords.add("bitor", Token.KEYWORD3);
60
                        ccKeywords.add("bool",Token.KEYWORD3);
61
                        ccKeywords.add("break", Token.KEYWORD1);           //
62
                        ccKeywords.add("case", Token.KEYWORD1);                   //
63
                        ccKeywords.add("catch", Token.KEYWORD1);
64
                        ccKeywords.add("char", Token.KEYWORD3);                   //
65
                        ccKeywords.add("class", Token.KEYWORD3);
66
                        ccKeywords.add("compl", Token.KEYWORD3);
67
                        ccKeywords.add("const", Token.KEYWORD1);           //
68
                        ccKeywords.add("const_cast", Token.KEYWORD3);
69
                        ccKeywords.add("continue", Token.KEYWORD1);           //
70
                        ccKeywords.add("default", Token.KEYWORD1);           //
71
                        ccKeywords.add("delete", Token.KEYWORD1);
72
                        ccKeywords.add("do",Token.KEYWORD1);           //
73
                        ccKeywords.add("double" ,Token.KEYWORD3);           //
74
                        ccKeywords.add("dynamic_cast", Token.KEYWORD3);
75
                        ccKeywords.add("else",         Token.KEYWORD1);           //
76
                        ccKeywords.add("enum",  Token.KEYWORD3);           //
77
                        ccKeywords.add("explicit", Token.KEYWORD1);                        
78
                        ccKeywords.add("export", Token.KEYWORD2);
79
                        ccKeywords.add("extern", Token.KEYWORD2);           //
80
                        ccKeywords.add("false", Token.LITERAL2);
81
                        ccKeywords.add("float", Token.KEYWORD3);           //
82
                        ccKeywords.add("for", Token.KEYWORD1);                   //
83
                        ccKeywords.add("friend", Token.KEYWORD1);                        
84
                        ccKeywords.add("goto", Token.KEYWORD1);        //
85
                        ccKeywords.add("if", Token.KEYWORD1);                   //
86
                        ccKeywords.add("inline", Token.KEYWORD1);
87
                        ccKeywords.add("int", Token.KEYWORD3);                   //
88
                        ccKeywords.add("long", Token.KEYWORD3);                   //
89
                        ccKeywords.add("mutable", Token.KEYWORD3);
90
                        ccKeywords.add("namespace", Token.KEYWORD2);
91
                        ccKeywords.add("new", Token.KEYWORD1);
92
                        ccKeywords.add("not", Token.KEYWORD3);
93
                        ccKeywords.add("not_eq", Token.KEYWORD3);
94
                        ccKeywords.add("operator", Token.KEYWORD3);
95
                        ccKeywords.add("or", Token.KEYWORD3);
96
                        ccKeywords.add("or_eq", Token.KEYWORD3);
97
                        ccKeywords.add("private", Token.KEYWORD1);
98
                        ccKeywords.add("protected", Token.KEYWORD1);
99
                        ccKeywords.add("public", Token.KEYWORD1);
100
                        ccKeywords.add("register", Token.KEYWORD1);
101
                        ccKeywords.add("reinterpret_cast", Token.KEYWORD3);
102
                        ccKeywords.add("return", Token.KEYWORD1);      //
103
                        ccKeywords.add("short", Token.KEYWORD3);           //
104
                        ccKeywords.add("signed", Token.KEYWORD3);           //
105
                        ccKeywords.add("sizeof", Token.KEYWORD1);           //
106
                        ccKeywords.add("static", Token.KEYWORD1);           //
107
                        ccKeywords.add("static_cast", Token.KEYWORD3);
108
                        ccKeywords.add("struct", Token.KEYWORD3);           //
109
                        ccKeywords.add("switch", Token.KEYWORD1);           //
110
                        ccKeywords.add("template", Token.KEYWORD3);
111
                        ccKeywords.add("this", Token.LITERAL2);
112
                        ccKeywords.add("throw", Token.KEYWORD1);
113
                        ccKeywords.add("true", Token.LITERAL2);
114
                        ccKeywords.add("try", Token.KEYWORD1);
115
                        ccKeywords.add("typedef", Token.KEYWORD3);           //
116
                        ccKeywords.add("typeid", Token.KEYWORD3);
117
                        ccKeywords.add("typename", Token.KEYWORD3);
118
                        ccKeywords.add("union", Token.KEYWORD3);           //
119
                        ccKeywords.add("unsigned", Token.KEYWORD3);           //
120
                        ccKeywords.add("using", Token.KEYWORD2);
121
                        ccKeywords.add("virtual", Token.KEYWORD1);
122
                        ccKeywords.add("void", Token.KEYWORD1);                   //
123
                        ccKeywords.add("volatile", Token.KEYWORD1);           //
124
                        ccKeywords.add("wchar_t", Token.KEYWORD3);
125
                        ccKeywords.add("while", Token.KEYWORD1);           //
126
                        ccKeywords.add("xor", Token.KEYWORD3);
127
                        ccKeywords.add("xor_eq", Token.KEYWORD3);            
128

    
129
                        // non ANSI keywords
130
                        ccKeywords.add("NULL", Token.LITERAL2);
131
                }
132
                return ccKeywords;
133
        }
134

    
135
        // private members
136
        private static KeywordMap ccKeywords;
137
}