View Javadoc

1   /*
2    * PLSQLTokenMarker.java - Oracle PL/SQL token marker
3    * Copyright (C) 2002 Oliver Henning
4    * 
5    * adapted from:
6    * plsqlTokenMarker.java - Transact-SQL token marker
7    * Copyright (C) 1999 mike dillon
8    *
9    * You may use and modify this package for any purpose. Redistribution is
10   * permitted, in both source and binary form, provided that this notice
11   * remains intact in all source distributions of this package.
12   */
13  
14  package org.syntax.jedit.tokenmarker;
15  
16  import org.syntax.jedit.KeywordMap;
17  
18  /***
19   * Oracle PL-SQL token marker.
20   * 
21   * @author oliver henning
22   * @version $Id: PLSQLTokenMarker.java,v 1.9 1999/12/13 03:40:30 sp Exp $
23   */
24  public class PLSQLTokenMarker extends SQLTokenMarker
25  {
26  	// public members
27  	public PLSQLTokenMarker()
28  	{
29  		super( getKeywordMap(), true );
30  	}
31  
32  	public static KeywordMap getKeywordMap()
33  	{
34  		if( plsqlKeywords == null )
35  		{
36  			plsqlKeywords = new KeywordMap( true );
37  			addKeywords();
38  			addDataTypes();
39  			addSystemFunctions();
40  			addOperators();
41  			addSystemStoredProcedures();
42  			addSystemTables();
43  		}
44  		return plsqlKeywords;
45  	}
46  
47  	private static void addKeywords()
48  	{
49  		plsqlKeywords.add( "ABORT", Token.KEYWORD1 );
50  		plsqlKeywords.add( "ACCESS", Token.KEYWORD1 );
51  		plsqlKeywords.add( "ADD", Token.KEYWORD1 );
52  		plsqlKeywords.add( "ALTER", Token.KEYWORD1 );
53  		plsqlKeywords.add( "ARRAY", Token.KEYWORD1 );
54  		plsqlKeywords.add( "ARRAY_LEN", Token.KEYWORD1 );
55  		plsqlKeywords.add( "AS", Token.KEYWORD1 );
56  		plsqlKeywords.add( "ASC", Token.KEYWORD1 );
57  		plsqlKeywords.add( "ASSERT", Token.KEYWORD1 );
58  		plsqlKeywords.add( "ASSIGN", Token.KEYWORD1 );
59  		plsqlKeywords.add( "AT", Token.KEYWORD1 );
60  		plsqlKeywords.add( "AUDIT", Token.KEYWORD1 );
61  		plsqlKeywords.add( "AUTHORIZATION", Token.KEYWORD1 );
62  		plsqlKeywords.add( "AVG", Token.KEYWORD1 );
63  		plsqlKeywords.add( "BASE_TABLE", Token.KEYWORD1 );
64  		plsqlKeywords.add( "BEGIN", Token.KEYWORD1 );
65  		plsqlKeywords.add( "BODY", Token.KEYWORD1 );
66  		plsqlKeywords.add( "CASE", Token.KEYWORD1 );
67  		plsqlKeywords.add( "CHAR", Token.KEYWORD1 );
68  		plsqlKeywords.add( "CHAR_BASE", Token.KEYWORD1 );
69  		plsqlKeywords.add( "CHECK", Token.KEYWORD1 );
70  		plsqlKeywords.add( "CLOSE", Token.KEYWORD1 );
71  		plsqlKeywords.add( "CLUSTER", Token.KEYWORD1 );
72  		plsqlKeywords.add( "CLUSTERS", Token.KEYWORD1 );
73  		plsqlKeywords.add( "COLAUTH", Token.KEYWORD1 );
74  		plsqlKeywords.add( "COLUMN", Token.KEYWORD1 );
75  		plsqlKeywords.add( "COMMENT", Token.KEYWORD1 );
76  		plsqlKeywords.add( "COMMIT", Token.KEYWORD1 );
77  		plsqlKeywords.add( "COMPRESS", Token.KEYWORD1 );
78  		plsqlKeywords.add( "CONSTANT", Token.KEYWORD1 );
79  		plsqlKeywords.add( "CONSTRAINT", Token.KEYWORD1 );
80  		plsqlKeywords.add( "COUNT", Token.KEYWORD1 );
81  		plsqlKeywords.add( "CREATE", Token.KEYWORD1 );
82  		plsqlKeywords.add( "CURRENT", Token.KEYWORD1 );
83  		plsqlKeywords.add( "CURRVAL", Token.KEYWORD1 );
84  		plsqlKeywords.add( "CURSOR", Token.KEYWORD1 );
85  		plsqlKeywords.add( "DATABASE", Token.KEYWORD1 );
86  		plsqlKeywords.add( "DATA_BASE", Token.KEYWORD1 );
87  		plsqlKeywords.add( "DATE", Token.KEYWORD1 );
88  		plsqlKeywords.add( "DBA", Token.KEYWORD1 );
89  		plsqlKeywords.add( "DEBUGOFF", Token.KEYWORD1 );
90  		plsqlKeywords.add( "DEBUGON", Token.KEYWORD1 );
91  		plsqlKeywords.add( "DECLARE", Token.KEYWORD1 );
92  		plsqlKeywords.add( "DEFAULT", Token.KEYWORD1 );
93  		plsqlKeywords.add( "DEFINITION", Token.KEYWORD1 );
94  		plsqlKeywords.add( "DELAY", Token.KEYWORD1 );
95  		plsqlKeywords.add( "DELETE", Token.KEYWORD1 );
96  		plsqlKeywords.add( "DESC", Token.KEYWORD1 );
97  		plsqlKeywords.add( "DIGITS", Token.KEYWORD1 );
98  		plsqlKeywords.add( "DISPOSE", Token.KEYWORD1 );
99  		plsqlKeywords.add( "DISTINCT", Token.KEYWORD1 );
100 		plsqlKeywords.add( "DO", Token.KEYWORD1 );
101 		plsqlKeywords.add( "DROP", Token.KEYWORD1 );
102 		plsqlKeywords.add( "DUMP", Token.KEYWORD1 );
103 		plsqlKeywords.add( "ELSE", Token.KEYWORD1 );
104 		plsqlKeywords.add( "ELSIF", Token.KEYWORD1 );
105 		plsqlKeywords.add( "END", Token.KEYWORD1 );
106 		plsqlKeywords.add( "ENTRY", Token.KEYWORD1 );
107 		plsqlKeywords.add( "EXCEPTION", Token.KEYWORD1 );
108 		plsqlKeywords.add( "EXCEPTION_INIT", Token.KEYWORD1 );
109 		plsqlKeywords.add( "EXCLUSIVE", Token.KEYWORD1 );
110 		plsqlKeywords.add( "EXIT", Token.KEYWORD1 );
111 		plsqlKeywords.add( "FALSE", Token.KEYWORD1 );
112 		plsqlKeywords.add( "FETCH", Token.KEYWORD1 );
113 		plsqlKeywords.add( "FILE", Token.KEYWORD1 );
114 		plsqlKeywords.add( "FOR", Token.KEYWORD1 );
115 		plsqlKeywords.add( "FORM", Token.KEYWORD1 );
116 		plsqlKeywords.add( "FROM", Token.KEYWORD1 );
117 		plsqlKeywords.add( "FUNCTION", Token.KEYWORD1 );
118 		plsqlKeywords.add( "GENERIC", Token.KEYWORD1 );
119 		plsqlKeywords.add( "GOTO", Token.KEYWORD1 );
120 		plsqlKeywords.add( "GRANT", Token.KEYWORD1 );
121 		plsqlKeywords.add( "GREATEST", Token.KEYWORD1 );
122 		plsqlKeywords.add( "GROUP", Token.KEYWORD1 );
123 		plsqlKeywords.add( "HAVING", Token.KEYWORD1 );
124 		plsqlKeywords.add( "IDENTIFIED", Token.KEYWORD1 );
125 		plsqlKeywords.add( "IDENTITYCOL", Token.KEYWORD1 );
126 		plsqlKeywords.add( "IF", Token.KEYWORD1 );
127 		plsqlKeywords.add( "IMMEDIATE", Token.KEYWORD1 );
128 		plsqlKeywords.add( "INCREMENT", Token.KEYWORD1 );
129 		plsqlKeywords.add( "INDEX", Token.KEYWORD1 );
130 		plsqlKeywords.add( "INDEXES", Token.KEYWORD1 );
131 		plsqlKeywords.add( "INDICATOR", Token.KEYWORD1 );
132 		plsqlKeywords.add( "INITIAL", Token.KEYWORD1 );
133 		plsqlKeywords.add( "INSERT", Token.KEYWORD1 );
134 		plsqlKeywords.add( "INTERFACE", Token.KEYWORD1 );
135 		plsqlKeywords.add( "INTO", Token.KEYWORD1 );
136 		plsqlKeywords.add( "IS", Token.KEYWORD1 );
137 		plsqlKeywords.add( "LEAST", Token.KEYWORD1 );
138 		plsqlKeywords.add( "LEVEL", Token.KEYWORD1 );
139 		plsqlKeywords.add( "LIMITED", Token.KEYWORD1 );
140 		plsqlKeywords.add( "LOCK", Token.KEYWORD1 );
141 		plsqlKeywords.add( "LONG", Token.KEYWORD1 );
142 		plsqlKeywords.add( "LOOP", Token.KEYWORD1 );
143 		plsqlKeywords.add( "MAX", Token.KEYWORD1 );
144 		plsqlKeywords.add( "MAXEXTENTS", Token.KEYWORD1 );
145 		plsqlKeywords.add( "MIN", Token.KEYWORD1 );
146 		plsqlKeywords.add( "MINUS", Token.KEYWORD1 );
147 		plsqlKeywords.add( "MLSLABEL", Token.KEYWORD1 );
148 		plsqlKeywords.add( "MOD", Token.KEYWORD1 );
149 		plsqlKeywords.add( "MORE", Token.KEYWORD1 );
150 		plsqlKeywords.add( "NEW", Token.KEYWORD1 );
151 		plsqlKeywords.add( "NEXTVAL", Token.KEYWORD1 );
152 		plsqlKeywords.add( "NOAUDIT", Token.KEYWORD1 );
153 		plsqlKeywords.add( "NOCOMPRESS", Token.KEYWORD1 );
154 		plsqlKeywords.add( "NOWAIT", Token.KEYWORD1 );
155 		plsqlKeywords.add( "NULL", Token.KEYWORD1 );
156 		plsqlKeywords.add( "NUMBER_BASE", Token.KEYWORD1 );
157 		plsqlKeywords.add( "OF", Token.KEYWORD1 );
158 		plsqlKeywords.add( "OFFLINE", Token.KEYWORD1 );
159 		plsqlKeywords.add( "ON", Token.KEYWORD1 );
160 		plsqlKeywords.add( "OFF", Token.KEYWORD1 );
161 		plsqlKeywords.add( "ONLINE", Token.KEYWORD1 );
162 		plsqlKeywords.add( "OPEN", Token.KEYWORD1 );
163 		plsqlKeywords.add( "OPTION", Token.KEYWORD1 );
164 		plsqlKeywords.add( "ORDER", Token.KEYWORD1 );
165 		plsqlKeywords.add( "OTHERS", Token.KEYWORD1 );
166 		plsqlKeywords.add( "OUT", Token.KEYWORD1 );
167 		plsqlKeywords.add( "PACKAGE", Token.KEYWORD1 );
168 		plsqlKeywords.add( "PARTITION", Token.KEYWORD1 );
169 		plsqlKeywords.add( "PCTFREE", Token.KEYWORD1 );
170 		plsqlKeywords.add( "PRAGMA", Token.KEYWORD1 );
171 		plsqlKeywords.add( "PRIVATE", Token.KEYWORD1 );
172 		plsqlKeywords.add( "PRIVILEGES", Token.KEYWORD1 );
173 		plsqlKeywords.add( "PROCEDURE", Token.KEYWORD1 );
174 		plsqlKeywords.add( "PUBLIC", Token.KEYWORD1 );
175 		plsqlKeywords.add( "QUOTED_IDENTIFIER", Token.KEYWORD1 );
176 		plsqlKeywords.add( "RAISE", Token.KEYWORD1 );
177 		plsqlKeywords.add( "RANGE", Token.KEYWORD1 );
178 		plsqlKeywords.add( "RECORD", Token.KEYWORD1 );
179 		plsqlKeywords.add( "REF", Token.KEYWORD1 );
180 		plsqlKeywords.add( "RELEASE", Token.KEYWORD1 );
181 		plsqlKeywords.add( "REMR", Token.KEYWORD1 );
182 		plsqlKeywords.add( "RENAME", Token.KEYWORD1 );
183 		plsqlKeywords.add( "RESOURCE", Token.KEYWORD1 );
184 		plsqlKeywords.add( "RETURN", Token.KEYWORD1 );
185 		plsqlKeywords.add( "REVERSE", Token.KEYWORD1 );
186 		plsqlKeywords.add( "REVOKE", Token.KEYWORD1 );
187 		plsqlKeywords.add( "ROLLBACK", Token.KEYWORD1 );
188 		plsqlKeywords.add( "ROW", Token.KEYWORD1 );
189 		plsqlKeywords.add( "ROWLABEL", Token.KEYWORD1 );
190 		plsqlKeywords.add( "ROWNUM", Token.KEYWORD1 );
191 		plsqlKeywords.add( "ROWS", Token.KEYWORD1 );
192 		plsqlKeywords.add( "ROWTYPE", Token.KEYWORD1 );
193 		plsqlKeywords.add( "RUN", Token.KEYWORD1 );
194 		plsqlKeywords.add( "SAVEPOINT", Token.KEYWORD1 );
195 		plsqlKeywords.add( "SCHEMA", Token.KEYWORD1 );
196 		plsqlKeywords.add( "SELECT", Token.KEYWORD1 );
197 		plsqlKeywords.add( "SEPERATE", Token.KEYWORD1 );
198 		plsqlKeywords.add( "SESSION", Token.KEYWORD1 );
199 		plsqlKeywords.add( "SET", Token.KEYWORD1 );
200 		plsqlKeywords.add( "SHARE", Token.KEYWORD1 );
201 		plsqlKeywords.add( "SPACE", Token.KEYWORD1 );
202 		plsqlKeywords.add( "SQL", Token.KEYWORD1 );
203 		plsqlKeywords.add( "SQLCODE", Token.KEYWORD1 );
204 		plsqlKeywords.add( "SQLERRM", Token.KEYWORD1 );
205 		plsqlKeywords.add( "STATEMENT", Token.KEYWORD1 );
206 		plsqlKeywords.add( "STDDEV", Token.KEYWORD1 );
207 		plsqlKeywords.add( "SUBTYPE", Token.KEYWORD1 );
208 		plsqlKeywords.add( "SUCCESSFULL", Token.KEYWORD1 );
209 		plsqlKeywords.add( "SUM", Token.KEYWORD1 );
210 		plsqlKeywords.add( "SYNONYM", Token.KEYWORD1 );
211 		plsqlKeywords.add( "SYSDATE", Token.KEYWORD1 );
212 		plsqlKeywords.add( "TABAUTH", Token.KEYWORD1 );
213 		plsqlKeywords.add( "TABLE", Token.KEYWORD1 );
214 		plsqlKeywords.add( "TABLES", Token.KEYWORD1 );
215 		plsqlKeywords.add( "TASK", Token.KEYWORD1 );
216 		plsqlKeywords.add( "TERMINATE", Token.KEYWORD1 );
217 		plsqlKeywords.add( "THEN", Token.KEYWORD1 );
218 		plsqlKeywords.add( "TO", Token.KEYWORD1 );
219 		plsqlKeywords.add( "TRIGGER", Token.KEYWORD1 );
220 		plsqlKeywords.add( "TRUE", Token.KEYWORD1 );
221 		plsqlKeywords.add( "TYPE", Token.KEYWORD1 );
222 		plsqlKeywords.add( "UID", Token.KEYWORD1 );
223 		plsqlKeywords.add( "UNION", Token.KEYWORD1 );
224 		plsqlKeywords.add( "UNIQUE", Token.KEYWORD1 );
225 		plsqlKeywords.add( "UPDATE", Token.KEYWORD1 );
226 		plsqlKeywords.add( "UPDATETEXT", Token.KEYWORD1 );
227 		plsqlKeywords.add( "USE", Token.KEYWORD1 );
228 		plsqlKeywords.add( "USER", Token.KEYWORD1 );
229 		plsqlKeywords.add( "USING", Token.KEYWORD1 );
230 		plsqlKeywords.add( "VALIDATE", Token.KEYWORD1 );
231 		plsqlKeywords.add( "VALUES", Token.KEYWORD1 );
232 		plsqlKeywords.add( "VARIANCE", Token.KEYWORD1 );
233 		plsqlKeywords.add( "VIEW", Token.KEYWORD1 );
234 		plsqlKeywords.add( "VIEWS", Token.KEYWORD1 );
235 		plsqlKeywords.add( "WHEN", Token.KEYWORD1 );
236 		plsqlKeywords.add( "WHENEVER", Token.KEYWORD1 );
237 		plsqlKeywords.add( "WHERE", Token.KEYWORD1 );
238 		plsqlKeywords.add( "WHILE", Token.KEYWORD1 );
239 		plsqlKeywords.add( "WITH", Token.KEYWORD1 );
240 		plsqlKeywords.add( "WORK", Token.KEYWORD1 );
241 		plsqlKeywords.add( "WRITE", Token.KEYWORD1 );
242 		plsqlKeywords.add( "XOR", Token.KEYWORD1 );
243 
244 		plsqlKeywords.add( "ABS", Token.KEYWORD2 );
245 		plsqlKeywords.add( "ACOS", Token.KEYWORD2 );
246 		plsqlKeywords.add( "ADD_MONTHS", Token.KEYWORD2 );
247 		plsqlKeywords.add( "ASCII", Token.KEYWORD2 );
248 		plsqlKeywords.add( "ASIN", Token.KEYWORD2 );
249 		plsqlKeywords.add( "ATAN", Token.KEYWORD2 );
250 		plsqlKeywords.add( "ATAN2", Token.KEYWORD2 );
251 		plsqlKeywords.add( "CEIL", Token.KEYWORD2 );
252 		plsqlKeywords.add( "CHARTOROWID", Token.KEYWORD2 );
253 		plsqlKeywords.add( "CHR", Token.KEYWORD2 );
254 		plsqlKeywords.add( "CONCAT", Token.KEYWORD2 );
255 		plsqlKeywords.add( "CONVERT", Token.KEYWORD2 );
256 		plsqlKeywords.add( "COS", Token.KEYWORD2 );
257 		plsqlKeywords.add( "COSH", Token.KEYWORD2 );
258 		plsqlKeywords.add( "DECODE", Token.KEYWORD2 );
259 		plsqlKeywords.add( "DEFINE", Token.KEYWORD2 );
260 		plsqlKeywords.add( "FLOOR", Token.KEYWORD2 );
261 		plsqlKeywords.add( "HEXTORAW", Token.KEYWORD2 );
262 		plsqlKeywords.add( "INITCAP", Token.KEYWORD2 );
263 		plsqlKeywords.add( "INSTR", Token.KEYWORD2 );
264 		plsqlKeywords.add( "INSTRB", Token.KEYWORD2 );
265 		plsqlKeywords.add( "LAST_DAY", Token.KEYWORD2 );
266 		plsqlKeywords.add( "LENGTH", Token.KEYWORD2 );
267 		plsqlKeywords.add( "LENGTHB", Token.KEYWORD2 );
268 		plsqlKeywords.add( "LN", Token.KEYWORD2 );
269 		plsqlKeywords.add( "LOG", Token.KEYWORD2 );
270 		plsqlKeywords.add( "LOWER", Token.KEYWORD2 );
271 		plsqlKeywords.add( "LPAD", Token.KEYWORD2 );
272 		plsqlKeywords.add( "LTRIM", Token.KEYWORD2 );
273 		plsqlKeywords.add( "MOD", Token.KEYWORD2 );
274 		plsqlKeywords.add( "MONTHS_BETWEEN", Token.KEYWORD2 );
275 		plsqlKeywords.add( "NEW_TIME", Token.KEYWORD2 );
276 		plsqlKeywords.add( "NEXT_DAY", Token.KEYWORD2 );
277 		plsqlKeywords.add( "NLSSORT", Token.KEYWORD2 );
278 		plsqlKeywords.add( "NSL_INITCAP", Token.KEYWORD2 );
279 		plsqlKeywords.add( "NLS_LOWER", Token.KEYWORD2 );
280 		plsqlKeywords.add( "NLS_UPPER", Token.KEYWORD2 );
281 		plsqlKeywords.add( "NVL", Token.KEYWORD2 );
282 		plsqlKeywords.add( "POWER", Token.KEYWORD2 );
283 		plsqlKeywords.add( "RAWTOHEX", Token.KEYWORD2 );
284 		plsqlKeywords.add( "REPLACE", Token.KEYWORD2 );
285 		plsqlKeywords.add( "ROUND", Token.KEYWORD2 );
286 		plsqlKeywords.add( "ROWIDTOCHAR", Token.KEYWORD2 );
287 		plsqlKeywords.add( "RPAD", Token.KEYWORD2 );
288 		plsqlKeywords.add( "RTRIM", Token.KEYWORD2 );
289 		plsqlKeywords.add( "SIGN", Token.KEYWORD2 );
290 		plsqlKeywords.add( "SOUNDEX", Token.KEYWORD2 );
291 		plsqlKeywords.add( "SIN", Token.KEYWORD2 );
292 		plsqlKeywords.add( "SINH", Token.KEYWORD2 );
293 		plsqlKeywords.add( "SQRT", Token.KEYWORD2 );
294 		plsqlKeywords.add( "SUBSTR", Token.KEYWORD2 );
295 		plsqlKeywords.add( "SUBSTRB", Token.KEYWORD2 );
296 		plsqlKeywords.add( "TAN", Token.KEYWORD2 );
297 		plsqlKeywords.add( "TANH", Token.KEYWORD2 );
298 		plsqlKeywords.add( "TO_CHAR", Token.KEYWORD2 );
299 		plsqlKeywords.add( "TO_DATE", Token.KEYWORD2 );
300 		plsqlKeywords.add( "TO_MULTIBYTE", Token.KEYWORD2 );
301 		plsqlKeywords.add( "TO_NUMBER", Token.KEYWORD2 );
302 		plsqlKeywords.add( "TO_SINGLE_BYTE", Token.KEYWORD2 );
303 		plsqlKeywords.add( "TRANSLATE", Token.KEYWORD2 );
304 		plsqlKeywords.add( "TRUNC", Token.KEYWORD2 );
305 		plsqlKeywords.add( "UPPER", Token.KEYWORD2 );
306 
307 		plsqlKeywords.add( "VERIFY", Token.KEYWORD1 );
308 		plsqlKeywords.add( "SERVEROUTPUT", Token.KEYWORD1 );
309 		plsqlKeywords.add( "PAGESIZE", Token.KEYWORD1 );
310 		plsqlKeywords.add( "LINESIZE", Token.KEYWORD1 );
311 		plsqlKeywords.add( "ARRAYSIZE", Token.KEYWORD1 );
312 		plsqlKeywords.add( "DBMS_OUTPUT", Token.KEYWORD1 );
313 		plsqlKeywords.add( "PUT_LINE", Token.KEYWORD1 );
314 		plsqlKeywords.add( "ENABLE", Token.KEYWORD1 );
315 
316 	}
317 
318 	private static void addDataTypes()
319 	{
320 
321 		plsqlKeywords.add( "binary", Token.KEYWORD1 );
322 		plsqlKeywords.add( "bit", Token.KEYWORD1 );
323 		plsqlKeywords.add( "blob", Token.KEYWORD1 );
324 		plsqlKeywords.add( "boolean", Token.KEYWORD1 );
325 		plsqlKeywords.add( "char", Token.KEYWORD1 );
326 		plsqlKeywords.add( "character", Token.KEYWORD1 );
327 		plsqlKeywords.add( "DATE", Token.KEYWORD1 );
328 		plsqlKeywords.add( "datetime", Token.KEYWORD1 );
329 		plsqlKeywords.add( "DEC", Token.KEYWORD1 );
330 		plsqlKeywords.add( "decimal", Token.KEYWORD1 );
331 		plsqlKeywords.add( "DOUBLE PRECISION", Token.KEYWORD1 );
332 		plsqlKeywords.add( "float", Token.KEYWORD1 );
333 		plsqlKeywords.add( "image", Token.KEYWORD1 );
334 		plsqlKeywords.add( "int", Token.KEYWORD1 );
335 		plsqlKeywords.add( "integer", Token.KEYWORD1 );
336 		plsqlKeywords.add( "money", Token.KEYWORD1 );
337 		plsqlKeywords.add( "name", Token.KEYWORD1 );
338 		plsqlKeywords.add( "NATURAL", Token.KEYWORD1 );
339 		plsqlKeywords.add( "NATURALN", Token.KEYWORD1 );
340 		plsqlKeywords.add( "NUMBER", Token.KEYWORD1 );
341 		plsqlKeywords.add( "numeric", Token.KEYWORD1 );
342 		plsqlKeywords.add( "nchar", Token.KEYWORD1 );
343 		plsqlKeywords.add( "nvarchar", Token.KEYWORD1 );
344 		plsqlKeywords.add( "ntext", Token.KEYWORD1 );
345 		plsqlKeywords.add( "pls_integer", Token.KEYWORD1 );
346 		plsqlKeywords.add( "POSITIVE", Token.KEYWORD1 );
347 		plsqlKeywords.add( "POSITIVEN", Token.KEYWORD1 );
348 		plsqlKeywords.add( "RAW", Token.KEYWORD1 );
349 		plsqlKeywords.add( "real", Token.KEYWORD1 );
350 		plsqlKeywords.add( "ROWID", Token.KEYWORD1 );
351 		plsqlKeywords.add( "SIGNTYPE", Token.KEYWORD1 );
352 		plsqlKeywords.add( "smalldatetime", Token.KEYWORD1 );
353 		plsqlKeywords.add( "smallint", Token.KEYWORD1 );
354 		plsqlKeywords.add( "smallmoney", Token.KEYWORD1 );
355 		plsqlKeywords.add( "text", Token.KEYWORD1 );
356 		plsqlKeywords.add( "timestamp", Token.KEYWORD1 );
357 		plsqlKeywords.add( "tinyint", Token.KEYWORD1 );
358 		plsqlKeywords.add( "uniqueidentifier", Token.KEYWORD1 );
359 		plsqlKeywords.add( "UROWID", Token.KEYWORD1 );
360 		plsqlKeywords.add( "varbinary", Token.KEYWORD1 );
361 		plsqlKeywords.add( "varchar", Token.KEYWORD1 );
362 		plsqlKeywords.add( "varchar2", Token.KEYWORD1 );
363 
364 	}
365 
366 	private static void addSystemFunctions()
367 	{
368 		plsqlKeywords.add( "SYSDATE", Token.KEYWORD2 );
369 
370 	}
371 
372 	private static void addOperators()
373 	{
374 		plsqlKeywords.add( "ALL", Token.OPERATOR );
375 		plsqlKeywords.add( "AND", Token.OPERATOR );
376 		plsqlKeywords.add( "ANY", Token.OPERATOR );
377 		plsqlKeywords.add( "BETWEEN", Token.OPERATOR );
378 		plsqlKeywords.add( "BY", Token.OPERATOR );
379 		plsqlKeywords.add( "CONNECT", Token.OPERATOR );
380 		plsqlKeywords.add( "EXISTS", Token.OPERATOR );
381 		plsqlKeywords.add( "IN", Token.OPERATOR );
382 		plsqlKeywords.add( "INTERSECT", Token.OPERATOR );
383 		plsqlKeywords.add( "LIKE", Token.OPERATOR );
384 		plsqlKeywords.add( "NOT", Token.OPERATOR );
385 		plsqlKeywords.add( "NULL", Token.OPERATOR );
386 		plsqlKeywords.add( "OR", Token.OPERATOR );
387 		plsqlKeywords.add( "START", Token.OPERATOR );
388 		plsqlKeywords.add( "UNION", Token.OPERATOR );
389 		plsqlKeywords.add( "WITH", Token.OPERATOR );
390 
391 	}
392 
393 	private static void addSystemStoredProcedures()
394 	{
395 		plsqlKeywords.add( "sp_add_agent_parameter", Token.KEYWORD3 );
396 	}
397 
398 	private static void addSystemTables()
399 	{
400 		plsqlKeywords.add( "backupfile", Token.KEYWORD3 );
401 	}
402 
403 	private static KeywordMap plsqlKeywords;
404 }