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  			plsqlKeywords = new KeywordMap(true);
36  			addKeywords();
37  			addDataTypes();
38  			addSystemFunctions();
39  			addOperators();
40  	  		addSystemStoredProcedures();
41  			addSystemTables();
42  		}
43  		return plsqlKeywords;
44  	}	
45  
46  	private static void addKeywords()
47  	{
48  		plsqlKeywords.add("ABORT",Token.KEYWORD1);
49  		plsqlKeywords.add("ACCESS",Token.KEYWORD1);
50  		plsqlKeywords.add("ADD",Token.KEYWORD1);
51  		plsqlKeywords.add("ALTER",Token.KEYWORD1);
52  		plsqlKeywords.add("ARRAY",Token.KEYWORD1);
53  		plsqlKeywords.add("ARRAY_LEN",Token.KEYWORD1);
54  		plsqlKeywords.add("AS",Token.KEYWORD1);
55  		plsqlKeywords.add("ASC",Token.KEYWORD1);
56  		plsqlKeywords.add("ASSERT",Token.KEYWORD1);
57  		plsqlKeywords.add("ASSIGN",Token.KEYWORD1);
58  		plsqlKeywords.add("AT",Token.KEYWORD1);
59  		plsqlKeywords.add("AUDIT",Token.KEYWORD1);
60  		plsqlKeywords.add("AUTHORIZATION",Token.KEYWORD1);
61  		plsqlKeywords.add("AVG",Token.KEYWORD1);
62  		plsqlKeywords.add("BASE_TABLE",Token.KEYWORD1);
63  		plsqlKeywords.add("BEGIN",Token.KEYWORD1);
64  		plsqlKeywords.add("BODY",Token.KEYWORD1);
65  		plsqlKeywords.add("CASE",Token.KEYWORD1);
66  		plsqlKeywords.add("CHAR",Token.KEYWORD1);
67  		plsqlKeywords.add("CHAR_BASE",Token.KEYWORD1);
68  		plsqlKeywords.add("CHECK",Token.KEYWORD1);
69  		plsqlKeywords.add("CLOSE",Token.KEYWORD1);
70  		plsqlKeywords.add("CLUSTER",Token.KEYWORD1);
71  		plsqlKeywords.add("CLUSTERS",Token.KEYWORD1);
72  		plsqlKeywords.add("COLAUTH",Token.KEYWORD1);
73  		plsqlKeywords.add("COLUMN",Token.KEYWORD1);
74  		plsqlKeywords.add("COMMENT",Token.KEYWORD1);
75  		plsqlKeywords.add("COMMIT",Token.KEYWORD1);
76  		plsqlKeywords.add("COMPRESS",Token.KEYWORD1);
77  		plsqlKeywords.add("CONSTANT",Token.KEYWORD1);
78  		plsqlKeywords.add("CONSTRAINT",Token.KEYWORD1);
79  		plsqlKeywords.add("COUNT",Token.KEYWORD1);
80  		plsqlKeywords.add("CREATE",Token.KEYWORD1);
81  		plsqlKeywords.add("CURRENT",Token.KEYWORD1);
82  		plsqlKeywords.add("CURRVAL",Token.KEYWORD1);
83  		plsqlKeywords.add("CURSOR",Token.KEYWORD1);
84  		plsqlKeywords.add("DATABASE",Token.KEYWORD1);
85  		plsqlKeywords.add("DATA_BASE",Token.KEYWORD1);
86  		plsqlKeywords.add("DATE",Token.KEYWORD1);
87  		plsqlKeywords.add("DBA",Token.KEYWORD1);
88  		plsqlKeywords.add("DEBUGOFF",Token.KEYWORD1);
89  		plsqlKeywords.add("DEBUGON",Token.KEYWORD1);
90  		plsqlKeywords.add("DECLARE",Token.KEYWORD1);
91  		plsqlKeywords.add("DEFAULT",Token.KEYWORD1);
92  		plsqlKeywords.add("DEFINITION",Token.KEYWORD1);
93  		plsqlKeywords.add("DELAY",Token.KEYWORD1);
94  		plsqlKeywords.add("DELETE",Token.KEYWORD1);
95  		plsqlKeywords.add("DESC",Token.KEYWORD1);
96  		plsqlKeywords.add("DIGITS",Token.KEYWORD1);
97  		plsqlKeywords.add("DISPOSE",Token.KEYWORD1);
98  		plsqlKeywords.add("DISTINCT",Token.KEYWORD1);
99  		plsqlKeywords.add("DO",Token.KEYWORD1);
100 		plsqlKeywords.add("DROP",Token.KEYWORD1);
101 		plsqlKeywords.add("DUMP",Token.KEYWORD1);
102 		plsqlKeywords.add("ELSE",Token.KEYWORD1);
103 		plsqlKeywords.add("ELSIF",Token.KEYWORD1);
104 		plsqlKeywords.add("END",Token.KEYWORD1);
105 		plsqlKeywords.add("ENTRY",Token.KEYWORD1);
106 		plsqlKeywords.add("EXCEPTION",Token.KEYWORD1);
107 		plsqlKeywords.add("EXCEPTION_INIT",Token.KEYWORD1);
108 		plsqlKeywords.add("EXCLUSIVE",Token.KEYWORD1);
109 		plsqlKeywords.add("EXIT",Token.KEYWORD1);
110 		plsqlKeywords.add("FALSE",Token.KEYWORD1);
111 		plsqlKeywords.add("FETCH",Token.KEYWORD1);
112 		plsqlKeywords.add("FILE",Token.KEYWORD1);
113 		plsqlKeywords.add("FOR",Token.KEYWORD1);
114 		plsqlKeywords.add("FORM",Token.KEYWORD1);
115 		plsqlKeywords.add("FROM",Token.KEYWORD1);
116 		plsqlKeywords.add("FUNCTION",Token.KEYWORD1);
117 		plsqlKeywords.add("GENERIC",Token.KEYWORD1);
118 		plsqlKeywords.add("GOTO",Token.KEYWORD1);
119 		plsqlKeywords.add("GRANT",Token.KEYWORD1);
120 		plsqlKeywords.add("GREATEST",Token.KEYWORD1);
121 		plsqlKeywords.add("GROUP",Token.KEYWORD1);
122 		plsqlKeywords.add("HAVING",Token.KEYWORD1);
123 		plsqlKeywords.add("IDENTIFIED",Token.KEYWORD1);
124 		plsqlKeywords.add("IDENTITYCOL",Token.KEYWORD1);
125 		plsqlKeywords.add("IF",Token.KEYWORD1);
126 		plsqlKeywords.add("IMMEDIATE",Token.KEYWORD1);
127 		plsqlKeywords.add("INCREMENT",Token.KEYWORD1);
128 		plsqlKeywords.add("INDEX",Token.KEYWORD1);
129 		plsqlKeywords.add("INDEXES",Token.KEYWORD1);
130 		plsqlKeywords.add("INDICATOR",Token.KEYWORD1);
131 		plsqlKeywords.add("INITIAL",Token.KEYWORD1);
132 		plsqlKeywords.add("INSERT",Token.KEYWORD1);
133 		plsqlKeywords.add("INTERFACE",Token.KEYWORD1);
134 		plsqlKeywords.add("INTO",Token.KEYWORD1);
135 		plsqlKeywords.add("IS",Token.KEYWORD1);
136 		plsqlKeywords.add("LEAST",Token.KEYWORD1);
137 		plsqlKeywords.add("LEVEL",Token.KEYWORD1);
138 		plsqlKeywords.add("LIMITED",Token.KEYWORD1);
139 		plsqlKeywords.add("LOCK",Token.KEYWORD1);
140 		plsqlKeywords.add("LONG",Token.KEYWORD1);
141 		plsqlKeywords.add("LOOP",Token.KEYWORD1);
142 		plsqlKeywords.add("MAX",Token.KEYWORD1);
143 		plsqlKeywords.add("MAXEXTENTS",Token.KEYWORD1);
144 		plsqlKeywords.add("MIN",Token.KEYWORD1);
145 		plsqlKeywords.add("MINUS",Token.KEYWORD1);
146 		plsqlKeywords.add("MLSLABEL",Token.KEYWORD1);
147 		plsqlKeywords.add("MOD",Token.KEYWORD1);
148 		plsqlKeywords.add("MORE",Token.KEYWORD1);
149 		plsqlKeywords.add("NEW",Token.KEYWORD1);
150 		plsqlKeywords.add("NEXTVAL",Token.KEYWORD1);
151 		plsqlKeywords.add("NOAUDIT",Token.KEYWORD1);
152 		plsqlKeywords.add("NOCOMPRESS",Token.KEYWORD1);
153 		plsqlKeywords.add("NOWAIT",Token.KEYWORD1);
154 		plsqlKeywords.add("NULL",Token.KEYWORD1);
155 		plsqlKeywords.add("NUMBER_BASE",Token.KEYWORD1);
156 		plsqlKeywords.add("OF",Token.KEYWORD1);
157 		plsqlKeywords.add("OFFLINE",Token.KEYWORD1);
158 		plsqlKeywords.add("ON",Token.KEYWORD1);
159 		plsqlKeywords.add("OFF",Token.KEYWORD1);
160 		plsqlKeywords.add("ONLINE",Token.KEYWORD1);
161 		plsqlKeywords.add("OPEN",Token.KEYWORD1);
162 		plsqlKeywords.add("OPTION",Token.KEYWORD1);
163 		plsqlKeywords.add("ORDER",Token.KEYWORD1);
164 		plsqlKeywords.add("OTHERS",Token.KEYWORD1);
165 		plsqlKeywords.add("OUT",Token.KEYWORD1);
166 		plsqlKeywords.add("PACKAGE",Token.KEYWORD1);
167 		plsqlKeywords.add("PARTITION",Token.KEYWORD1);
168 		plsqlKeywords.add("PCTFREE",Token.KEYWORD1);
169 		plsqlKeywords.add("PRAGMA",Token.KEYWORD1);
170 		plsqlKeywords.add("PRIVATE",Token.KEYWORD1);
171 		plsqlKeywords.add("PRIVILEGES",Token.KEYWORD1);
172 		plsqlKeywords.add("PROCEDURE",Token.KEYWORD1);
173 		plsqlKeywords.add("PUBLIC",Token.KEYWORD1);
174 		plsqlKeywords.add("QUOTED_IDENTIFIER",Token.KEYWORD1);
175 		plsqlKeywords.add("RAISE",Token.KEYWORD1);
176 		plsqlKeywords.add("RANGE",Token.KEYWORD1);
177 		plsqlKeywords.add("RECORD",Token.KEYWORD1);
178 		plsqlKeywords.add("REF",Token.KEYWORD1);
179 		plsqlKeywords.add("RELEASE",Token.KEYWORD1);
180 		plsqlKeywords.add("REMR",Token.KEYWORD1);
181 		plsqlKeywords.add("RENAME",Token.KEYWORD1);
182 		plsqlKeywords.add("RESOURCE",Token.KEYWORD1);
183 		plsqlKeywords.add("RETURN",Token.KEYWORD1);
184 		plsqlKeywords.add("REVERSE",Token.KEYWORD1);
185 		plsqlKeywords.add("REVOKE",Token.KEYWORD1);
186 		plsqlKeywords.add("ROLLBACK",Token.KEYWORD1);
187 		plsqlKeywords.add("ROW",Token.KEYWORD1);
188 		plsqlKeywords.add("ROWLABEL",Token.KEYWORD1);
189 		plsqlKeywords.add("ROWNUM",Token.KEYWORD1);
190 		plsqlKeywords.add("ROWS",Token.KEYWORD1);
191 		plsqlKeywords.add("ROWTYPE",Token.KEYWORD1);
192 		plsqlKeywords.add("RUN",Token.KEYWORD1);
193 		plsqlKeywords.add("SAVEPOINT",Token.KEYWORD1);
194 		plsqlKeywords.add("SCHEMA",Token.KEYWORD1);
195 		plsqlKeywords.add("SELECT",Token.KEYWORD1);
196 		plsqlKeywords.add("SEPERATE",Token.KEYWORD1);
197 		plsqlKeywords.add("SESSION",Token.KEYWORD1);
198 		plsqlKeywords.add("SET",Token.KEYWORD1);
199 		plsqlKeywords.add("SHARE",Token.KEYWORD1);
200 		plsqlKeywords.add("SPACE",Token.KEYWORD1);
201 		plsqlKeywords.add("SQL",Token.KEYWORD1);
202 		plsqlKeywords.add("SQLCODE",Token.KEYWORD1);
203 		plsqlKeywords.add("SQLERRM",Token.KEYWORD1);
204 		plsqlKeywords.add("STATEMENT",Token.KEYWORD1);
205 		plsqlKeywords.add("STDDEV",Token.KEYWORD1);
206 		plsqlKeywords.add("SUBTYPE",Token.KEYWORD1);
207 		plsqlKeywords.add("SUCCESSFULL",Token.KEYWORD1);
208 		plsqlKeywords.add("SUM",Token.KEYWORD1);
209 		plsqlKeywords.add("SYNONYM",Token.KEYWORD1);
210 		plsqlKeywords.add("SYSDATE",Token.KEYWORD1);
211 		plsqlKeywords.add("TABAUTH",Token.KEYWORD1);
212 		plsqlKeywords.add("TABLE",Token.KEYWORD1);
213 		plsqlKeywords.add("TABLES",Token.KEYWORD1);
214 		plsqlKeywords.add("TASK",Token.KEYWORD1);
215 		plsqlKeywords.add("TERMINATE",Token.KEYWORD1);
216 		plsqlKeywords.add("THEN",Token.KEYWORD1);
217 		plsqlKeywords.add("TO",Token.KEYWORD1);
218 		plsqlKeywords.add("TRIGGER",Token.KEYWORD1);
219 		plsqlKeywords.add("TRUE",Token.KEYWORD1);
220 		plsqlKeywords.add("TYPE",Token.KEYWORD1);
221 		plsqlKeywords.add("UID",Token.KEYWORD1);
222 		plsqlKeywords.add("UNION",Token.KEYWORD1);
223 		plsqlKeywords.add("UNIQUE",Token.KEYWORD1);
224 		plsqlKeywords.add("UPDATE",Token.KEYWORD1);
225 		plsqlKeywords.add("UPDATETEXT",Token.KEYWORD1);
226 		plsqlKeywords.add("USE",Token.KEYWORD1);
227 		plsqlKeywords.add("USER",Token.KEYWORD1);
228 		plsqlKeywords.add("USING",Token.KEYWORD1);
229 		plsqlKeywords.add("VALIDATE",Token.KEYWORD1);
230 		plsqlKeywords.add("VALUES",Token.KEYWORD1);
231 		plsqlKeywords.add("VARIANCE",Token.KEYWORD1);
232 		plsqlKeywords.add("VIEW",Token.KEYWORD1);
233 		plsqlKeywords.add("VIEWS",Token.KEYWORD1);
234 		plsqlKeywords.add("WHEN",Token.KEYWORD1);
235 		plsqlKeywords.add("WHENEVER",Token.KEYWORD1);
236 		plsqlKeywords.add("WHERE",Token.KEYWORD1);
237 		plsqlKeywords.add("WHILE",Token.KEYWORD1);
238 		plsqlKeywords.add("WITH",Token.KEYWORD1);
239 		plsqlKeywords.add("WORK",Token.KEYWORD1);
240 		plsqlKeywords.add("WRITE",Token.KEYWORD1);
241 		plsqlKeywords.add("XOR",Token.KEYWORD1);
242 		
243 		plsqlKeywords.add("ABS",Token.KEYWORD2);
244 		plsqlKeywords.add("ACOS",Token.KEYWORD2);
245 		plsqlKeywords.add("ADD_MONTHS",Token.KEYWORD2);
246 		plsqlKeywords.add("ASCII",Token.KEYWORD2);
247 		plsqlKeywords.add("ASIN",Token.KEYWORD2);
248 		plsqlKeywords.add("ATAN",Token.KEYWORD2);
249 		plsqlKeywords.add("ATAN2",Token.KEYWORD2);
250 		plsqlKeywords.add("CEIL",Token.KEYWORD2);
251 		plsqlKeywords.add("CHARTOROWID",Token.KEYWORD2);
252 		plsqlKeywords.add("CHR",Token.KEYWORD2);
253 		plsqlKeywords.add("CONCAT",Token.KEYWORD2);
254 		plsqlKeywords.add("CONVERT",Token.KEYWORD2);
255 		plsqlKeywords.add("COS",Token.KEYWORD2);
256 		plsqlKeywords.add("COSH",Token.KEYWORD2);
257 		plsqlKeywords.add("DECODE",Token.KEYWORD2);
258 		plsqlKeywords.add("DEFINE",Token.KEYWORD2);
259 		plsqlKeywords.add("FLOOR",Token.KEYWORD2);
260 		plsqlKeywords.add("HEXTORAW",Token.KEYWORD2);
261 		plsqlKeywords.add("INITCAP",Token.KEYWORD2);
262 		plsqlKeywords.add("INSTR",Token.KEYWORD2);
263 		plsqlKeywords.add("INSTRB",Token.KEYWORD2);
264 		plsqlKeywords.add("LAST_DAY",Token.KEYWORD2);
265 		plsqlKeywords.add("LENGTH",Token.KEYWORD2);
266 		plsqlKeywords.add("LENGTHB",Token.KEYWORD2);
267 		plsqlKeywords.add("LN",Token.KEYWORD2);
268 		plsqlKeywords.add("LOG",Token.KEYWORD2);
269 		plsqlKeywords.add("LOWER",Token.KEYWORD2);
270 		plsqlKeywords.add("LPAD",Token.KEYWORD2);
271 		plsqlKeywords.add("LTRIM",Token.KEYWORD2);
272 		plsqlKeywords.add("MOD",Token.KEYWORD2);
273 		plsqlKeywords.add("MONTHS_BETWEEN",Token.KEYWORD2);
274 		plsqlKeywords.add("NEW_TIME",Token.KEYWORD2);
275 		plsqlKeywords.add("NEXT_DAY",Token.KEYWORD2);
276 		plsqlKeywords.add("NLSSORT",Token.KEYWORD2);
277 		plsqlKeywords.add("NSL_INITCAP",Token.KEYWORD2);
278 		plsqlKeywords.add("NLS_LOWER",Token.KEYWORD2);
279 		plsqlKeywords.add("NLS_UPPER",Token.KEYWORD2);
280 		plsqlKeywords.add("NVL",Token.KEYWORD2);
281 		plsqlKeywords.add("POWER",Token.KEYWORD2);
282 		plsqlKeywords.add("RAWTOHEX",Token.KEYWORD2);
283 		plsqlKeywords.add("REPLACE",Token.KEYWORD2);
284 		plsqlKeywords.add("ROUND",Token.KEYWORD2);
285 		plsqlKeywords.add("ROWIDTOCHAR",Token.KEYWORD2);
286 		plsqlKeywords.add("RPAD",Token.KEYWORD2);
287 		plsqlKeywords.add("RTRIM",Token.KEYWORD2);
288 		plsqlKeywords.add("SIGN",Token.KEYWORD2);
289 		plsqlKeywords.add("SOUNDEX",Token.KEYWORD2);
290 		plsqlKeywords.add("SIN",Token.KEYWORD2);
291 		plsqlKeywords.add("SINH",Token.KEYWORD2);
292 		plsqlKeywords.add("SQRT",Token.KEYWORD2);
293 		plsqlKeywords.add("SUBSTR",Token.KEYWORD2);
294 		plsqlKeywords.add("SUBSTRB",Token.KEYWORD2);
295 		plsqlKeywords.add("TAN",Token.KEYWORD2);
296 		plsqlKeywords.add("TANH",Token.KEYWORD2);
297 		plsqlKeywords.add("TO_CHAR",Token.KEYWORD2);
298 		plsqlKeywords.add("TO_DATE",Token.KEYWORD2);
299 		plsqlKeywords.add("TO_MULTIBYTE",Token.KEYWORD2);
300 		plsqlKeywords.add("TO_NUMBER",Token.KEYWORD2);
301 		plsqlKeywords.add("TO_SINGLE_BYTE",Token.KEYWORD2);
302 		plsqlKeywords.add("TRANSLATE",Token.KEYWORD2);
303 		plsqlKeywords.add("TRUNC",Token.KEYWORD2);
304 		plsqlKeywords.add("UPPER",Token.KEYWORD2);
305 		
306 		plsqlKeywords.add("VERIFY",Token.KEYWORD1);
307 		plsqlKeywords.add("SERVEROUTPUT",Token.KEYWORD1);
308 		plsqlKeywords.add("PAGESIZE",Token.KEYWORD1);
309 		plsqlKeywords.add("LINESIZE",Token.KEYWORD1);
310 		plsqlKeywords.add("ARRAYSIZE",Token.KEYWORD1);
311 		plsqlKeywords.add("DBMS_OUTPUT",Token.KEYWORD1);
312 		plsqlKeywords.add("PUT_LINE",Token.KEYWORD1);
313 		plsqlKeywords.add("ENABLE",Token.KEYWORD1);
314 
315 	}
316 
317 	private static void addDataTypes()
318 	{
319 
320 		plsqlKeywords.add("binary",Token.KEYWORD1);
321 		plsqlKeywords.add("bit",Token.KEYWORD1);
322 		plsqlKeywords.add("blob",Token.KEYWORD1);
323 		plsqlKeywords.add("boolean",Token.KEYWORD1);
324 		plsqlKeywords.add("char",Token.KEYWORD1);
325 		plsqlKeywords.add("character",Token.KEYWORD1);
326 		plsqlKeywords.add("DATE",Token.KEYWORD1);
327 		plsqlKeywords.add("datetime",Token.KEYWORD1);
328 		plsqlKeywords.add("DEC",Token.KEYWORD1);
329  		plsqlKeywords.add("decimal",Token.KEYWORD1);
330 		plsqlKeywords.add("DOUBLE PRECISION",Token.KEYWORD1);
331 		plsqlKeywords.add("float",Token.KEYWORD1);
332 		plsqlKeywords.add("image",Token.KEYWORD1);
333 		plsqlKeywords.add("int",Token.KEYWORD1);
334 		plsqlKeywords.add("integer",Token.KEYWORD1);
335 		plsqlKeywords.add("money",Token.KEYWORD1);
336 		plsqlKeywords.add("name",Token.KEYWORD1);
337 		plsqlKeywords.add("NATURAL",Token.KEYWORD1);
338 		plsqlKeywords.add("NATURALN",Token.KEYWORD1);
339 		plsqlKeywords.add("NUMBER",Token.KEYWORD1);
340 		plsqlKeywords.add("numeric",Token.KEYWORD1);
341 		plsqlKeywords.add("nchar",Token.KEYWORD1);
342 		plsqlKeywords.add("nvarchar",Token.KEYWORD1);
343 		plsqlKeywords.add("ntext",Token.KEYWORD1);
344 		plsqlKeywords.add("pls_integer",Token.KEYWORD1);
345 		plsqlKeywords.add("POSITIVE",Token.KEYWORD1);
346 		plsqlKeywords.add("POSITIVEN",Token.KEYWORD1);
347 		plsqlKeywords.add("RAW",Token.KEYWORD1);
348 		plsqlKeywords.add("real",Token.KEYWORD1);
349 		plsqlKeywords.add("ROWID",Token.KEYWORD1);
350 		plsqlKeywords.add("SIGNTYPE",Token.KEYWORD1);
351 		plsqlKeywords.add("smalldatetime",Token.KEYWORD1);
352 		plsqlKeywords.add("smallint",Token.KEYWORD1);
353 		plsqlKeywords.add("smallmoney",Token.KEYWORD1);
354 		plsqlKeywords.add("text",Token.KEYWORD1);
355 		plsqlKeywords.add("timestamp",Token.KEYWORD1);
356 		plsqlKeywords.add("tinyint",Token.KEYWORD1);
357 		plsqlKeywords.add("uniqueidentifier",Token.KEYWORD1);
358 		plsqlKeywords.add("UROWID",Token.KEYWORD1);
359 		plsqlKeywords.add("varbinary",Token.KEYWORD1);
360 		plsqlKeywords.add("varchar",Token.KEYWORD1);
361 		plsqlKeywords.add("varchar2",Token.KEYWORD1);
362 
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 }