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 }