1<?php
2/*************************************************************************************
3 * oracle11.php
4 * -----------
5 * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
6 * Contributions:
7 * - Updated for 11i by Simon Redhead
8 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
9 * Release Version: 1.0.9.1
10 * Date Started: 2004/06/04
11 *
12 * Oracle 11i language file for GeSHi.
13 *
14 * CHANGES
15 * -------
16 * 2008/04/08 (1.0.8)
17 *  -  SR changes to oracle8.php to support Oracle 11i reserved words.
18 * 2005/01/29 (1.0.0)
19 *  -  First Release
20 *
21 * TODO (updated 2004/11/27)
22 * -------------------------
23 *
24 *************************************************************************************
25 *
26 *     This file is part of GeSHi.
27 *
28 *   GeSHi is free software; you can redistribute it and/or modify
29 *   it under the terms of the GNU General Public License as published by
30 *   the Free Software Foundation; either version 2 of the License, or
31 *   (at your option) any later version.
32 *
33 *   GeSHi is distributed in the hope that it will be useful,
34 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
35 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
36 *   GNU General Public License for more details.
37 *
38 *   You should have received a copy of the GNU General Public License
39 *   along with GeSHi; if not, write to the Free Software
40 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
41 *
42 ************************************************************************************/
43
44$language_data = array (
45    'LANG_NAME' => 'Oracle 11 SQL',
46    'COMMENT_SINGLE' => array(1 => '--'),
47    'COMMENT_MULTI' => array('/*' => '*/'),
48    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
49    'QUOTEMARKS' => array("'", '"', '`'),
50    'ESCAPE_CHAR' => '\\',
51    'KEYWORDS' => array(
52//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
53//        6 => array(
54//            ),
55
56//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
57//        5 => array(
58//            ),
59
60//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
61//        4 => array(
62//            ),
63
64//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
65//        3 => array(
66//            ),
67
68        //Put ORACLE reserved keywords here (11i).  I like mine uppercase.
69        1 => array(
70            'ABS',
71            'ACCESS',
72            'ACOS',
73            'ADD',
74            'ADD_MONTHS',
75            'ALL',
76            'ALTER',
77            'ANALYZE',
78            'AND',
79            'ANY',
80            'APPENDCHILDXML',
81            'ARRAY',
82            'AS',
83            'ASC',
84            'ASCII',
85            'ASCIISTR',
86            'ASIN',
87            'ASSOCIATE',
88            'AT',
89            'ATAN',
90            'ATAN2',
91            'AUDIT',
92            'AUTHID',
93            'AVG',
94            'BEGIN',
95            'BETWEEN',
96            'BFILENAME',
97            'BIN_TO_NUM',
98            'BINARY_INTEGER',
99            'BITAND',
100            'BODY',
101            'BOOLEAN',
102            'BULK',
103            'BY',
104            'CALL',
105            'CARDINALITY',
106            'CASCADE',
107            'CASE',
108            'CAST',
109            'CEIL',
110            'CHAR',
111            'CHAR_BASE',
112            'CHARTOROWID',
113            'CHECK',
114            'CHR',
115            'CLOSE',
116            'CLUSTER',
117            'CLUSTER_ID',
118            'CLUSTER_PROBABILITY',
119            'CLUSTER_SET',
120            'COALESCE',
121            'COLLECT',
122            'COLUMN',
123            'COMMENT',
124            'COMMIT',
125            'COMPOSE',
126            'COMPRESS',
127            'CONCAT',
128            'CONNECT',
129            'CONSTANT',
130            'CONSTRAINT',
131            'CONSTRAINTS',
132            'CONTEXT',
133            'CONTROLFILE',
134            'CONVERT',
135            'CORR',
136            'CORR_K',
137            'CORR_S',
138            'COS',
139            'COSH',
140            'COST',
141            'COUNT',
142            'COVAR_POP',
143            'COVAR_SAMP',
144            'CREATE',
145            'CUBE_TABLE',
146            'CUME_DIST',
147            'CURRENT',
148            'CURRENT_DATE',
149            'CURRENT_TIMESTAMP',
150            'CURRVAL',
151            'CURSOR',
152            'CV',
153            'DATABASE',
154            'DATAOBJ_TO_PARTITION',
155            'DATE',
156            'DAY',
157            'DBTIMEZONE',
158            'DECIMAL',
159            'DECLARE',
160            'DECODE',
161            'DECOMPOSE',
162            'DEFAULT',
163            'DELETE',
164            'DELETEXML',
165            'DENSE_RANK',
166            'DEPTH',
167            'DEREF',
168            'DESC',
169            'DIMENSION',
170            'DIRECTORY',
171            'DISASSOCIATE',
172            'DISTINCT',
173            'DO',
174            'DROP',
175            'DUMP',
176            'ELSE',
177            'ELSIF',
178            'EMPTY_BLOB',
179            'EMPTY_CLOB',
180            'END',
181            'EXCEPTION',
182            'EXCLUSIVE',
183            'EXEC',
184            'EXECUTE',
185            'EXISTS',
186            'EXISTSNODE',
187            'EXIT',
188            'EXP',
189            'EXPLAIN',
190            'EXTENDS',
191            'EXTRACT',
192            'EXTRACTVALUE',
193            'FALSE',
194            'FEATURE_ID',
195            'FEATURE_SET',
196            'FEATURE_VALUE',
197            'FETCH',
198            'FILE',
199            'FIRST',
200            'FIRST_VALUE',
201            'FLOAT',
202            'FLOOR',
203            'FOR',
204            'FORALL',
205            'FROM',
206            'FROM_TZ',
207            'FUNCTION',
208            'GOTO',
209            'GRANT',
210            'GREATEST',
211            'GROUP',
212            'GROUP_ID',
213            'GROUPING',
214            'GROUPING_ID',
215            'HAVING',
216            'HEAP',
217            'HEXTORAW',
218            'HOUR',
219            'IDENTIFIED',
220            'IF',
221            'IMMEDIATE',
222            'IN',
223            'INCREMENT',
224            'INDEX',
225            'INDEXTYPE',
226            'INDICATOR',
227            'INITCAP',
228            'INITIAL',
229            'INSERT',
230            'INSERTCHILDXML',
231            'INSERTXMLBEFORE',
232            'INSTR',
233            'INSTRB',
234            'INTEGER',
235            'INTERFACE',
236            'INTERSECT',
237            'INTERVAL',
238            'INTO',
239            'IS',
240            'ISOLATION',
241            'ITERATION_NUMBER',
242            'JAVA',
243            'KEY',
244            'LAG',
245            'LAST',
246            'LAST_DAY',
247            'LAST_VALUE',
248            'LEAD',
249            'LEAST',
250            'LENGTH',
251            'LENGTHB',
252            'LEVEL',
253            'LIBRARY',
254            'LIKE',
255            'LIMITED',
256            'LINK',
257            'LN',
258            'LNNVL',
259            'LOCALTIMESTAMP',
260            'LOCK',
261            'LOG',
262            'LONG',
263            'LOOP',
264            'LOWER',
265            'LPAD',
266            'LTRIM',
267            'MAKE_REF',
268            'MATERIALIZED',
269            'MAX',
270            'MAXEXTENTS',
271            'MEDIAN',
272            'MIN',
273            'MINUS',
274            'MINUTE',
275            'MLSLABEL',
276            'MOD',
277            'MODE',
278            'MODIFY',
279            'MONTH',
280            'MONTHS_BETWEEN',
281            'NANVL',
282            'NATURAL',
283            'NATURALN',
284            'NCHR',
285            'NEW',
286            'NEW_TIME',
287            'NEXT_DAY',
288            'NEXTVAL',
289            'NLS_CHARSET_DECL_LEN',
290            'NLS_CHARSET_ID',
291            'NLS_CHARSET_NAME',
292            'NLS_INITCAP',
293            'NLS_LOWER',
294            'NLS_UPPER',
295            'NLSSORT',
296            'NOAUDIT',
297            'NOCOMPRESS',
298            'NOCOPY',
299            'NOT',
300            'NOWAIT',
301            'NTILE',
302            'NULL',
303            'NULLIF',
304            'NUMBER',
305            'NUMBER_BASE',
306            'NUMTODSINTERVAL',
307            'NUMTOYMINTERVAL',
308            'NVL',
309            'NVL2',
310            'OCIROWID',
311            'OF',
312            'OFFLINE',
313            'ON',
314            'ONLINE',
315            'OPAQUE',
316            'OPEN',
317            'OPERATOR',
318            'OPTION',
319            'OR',
320            'ORA_HASH',
321            'ORDER',
322            'ORGANIZATION',
323            'OTHERS',
324            'OUT',
325            'OUTLINE',
326            'PACKAGE',
327            'PARTITION',
328            'PATH',
329            'PCTFREE',
330            'PERCENT_RANK',
331            'PERCENTILE_CONT',
332            'PERCENTILE_DISC',
333            'PLAN',
334            'PLS_INTEGER',
335            'POSITIVE',
336            'POSITIVEN',
337            'POWER',
338            'POWERMULTISET',
339            'POWERMULTISET_BY_CARDINALITY',
340            'PRAGMA',
341            'PREDICTION',
342            'PREDICTION_BOUNDS',
343            'PREDICTION_COST',
344            'PREDICTION_DETAILS',
345            'PREDICTION_PROBABILITY',
346            'PREDICTION_SET',
347            'PRESENTNNV',
348            'PRESENTV',
349            'PREVIOUS',
350            'PRIMARY',
351            'PRIOR',
352            'PRIVATE',
353            'PRIVILEGES',
354            'PROCEDURE',
355            'PROFILE',
356            'PUBLIC',
357            'RAISE',
358            'RANGE',
359            'RANK',
360            'RATIO_TO_REPORT',
361            'RAW',
362            'RAWTOHEX',
363            'RAWTONHEX',
364            'REAL',
365            'RECORD',
366            'REF',
367            'REFTOHEX',
368            'REGEXP_COUNT',
369            'REGEXP_INSTR',
370            'REGEXP_REPLACE',
371            'REGEXP_SUBSTR',
372            'REGR_AVGX',
373            'REGR_AVGY',
374            'REGR_COUNT',
375            'REGR_INTERCEPT',
376            'REGR_R2',
377            'REGR_SLOPE',
378            'REGR_SXX',
379            'REGR_SXY',
380            'REGR_SYY',
381            'RELEASE',
382            'REMAINDER',
383            'RENAME',
384            'REPLACE',
385            'RESOURCE',
386            'RETURN',
387            'RETURNING',
388            'REVERSE',
389            'REVOKE',
390            'ROLE',
391            'ROLLBACK',
392            'ROUND',
393            'ROW',
394            'ROW_NUMBER',
395            'ROWID',
396            'ROWIDTOCHAR',
397            'ROWIDTONCHAR',
398            'ROWNUM',
399            'ROWS',
400            'ROWTYPE',
401            'RPAD',
402            'RTRIM',
403            'SAVEPOINT',
404            'SCHEMA',
405            'SCN_TO_TIMESTAMP',
406            'SECOND',
407            'SEGMENT',
408            'SELECT',
409            'SEPERATE',
410            'SEQUENCE',
411            'SESSION',
412            'SESSIONTIMEZONE',
413            'SET',
414            'SHARE',
415            'SIGN',
416            'SIN',
417            'SINH',
418            'SIZE',
419            'SMALLINT',
420            'SOUNDEX',
421            'SPACE',
422            'SQL',
423            'SQLCODE',
424            'SQLERRM',
425            'SQRT',
426            'START',
427            'STATISTICS',
428            'STATS_BINOMIAL_TEST',
429            'STATS_CROSSTAB',
430            'STATS_F_TEST',
431            'STATS_KS_TEST',
432            'STATS_MODE',
433            'STATS_MW_TEST',
434            'STATS_ONE_WAY_ANOVA',
435            'STATS_T_TEST_INDEP',
436            'STATS_T_TEST_INDEPU',
437            'STATS_T_TEST_ONE',
438            'STATS_T_TEST_PAIRED',
439            'STATS_WSR_TEST',
440            'STDDEV',
441            'STDDEV_POP',
442            'STDDEV_SAMP',
443            'STOP',
444            'SUBSTR',
445            'SUBSTRB',
446            'SUBTYPE',
447            'SUCCESSFUL',
448            'SUM',
449            'SYNONYM',
450            'SYS_CONNECT_BY_PATH',
451            'SYS_CONTEXT',
452            'SYS_DBURIGEN',
453            'SYS_EXTRACT_UTC',
454            'SYS_GUID',
455            'SYS_TYPEID',
456            'SYS_XMLAGG',
457            'SYS_XMLGEN',
458            'SYSDATE',
459            'SYSTEM',
460            'SYSTIMESTAMP',
461            'TABLE',
462            'TABLESPACE',
463            'TAN',
464            'TANH',
465            'TEMPORARY',
466            'THEN',
467            'TIME',
468            'TIMESTAMP',
469            'TIMESTAMP_TO_SCN',
470            'TIMEZONE_ABBR',
471            'TIMEZONE_HOUR',
472            'TIMEZONE_MINUTE',
473            'TIMEZONE_REGION',
474            'TIMING',
475            'TO',
476            'TO_BINARY_DOUBLE',
477            'TO_BINARY_FLOAT',
478            'TO_CHAR',
479            'TO_CLOB',
480            'TO_DATE',
481            'TO_DSINTERVAL',
482            'TO_LOB',
483            'TO_MULTI_BYTE',
484            'TO_NCHAR',
485            'TO_NCLOB',
486            'TO_NUMBER',
487            'TO_SINGLE_BYTE',
488            'TO_TIMESTAMP',
489            'TO_TIMESTAMP_TZ',
490            'TO_YMINTERVAL',
491            'TRANSACTION',
492            'TRANSLATE',
493            'TREAT',
494            'TRIGGER',
495            'TRIM',
496            'TRUE',
497            'TRUNC',
498            'TRUNCATE',
499            'TYPE',
500            'TZ_OFFSET',
501            'UI',
502            'UID',
503            'UNION',
504            'UNIQUE',
505            'UNISTR',
506            'UPDATE',
507            'UPDATEXML',
508            'UPPER',
509            'USE',
510            'USER',
511            'USERENV',
512            'USING',
513            'VALIDATE',
514            'VALUE',
515            'VALUES',
516            'VAR_POP',
517            'VAR_SAMP',
518            'VARCHAR',
519            'VARCHAR2',
520            'VARIANCE',
521            'VIEW',
522            'VSIZE',
523            'WHEN',
524            'WHENEVER',
525            'WHERE',
526            'WHILE',
527            'WIDTH_BUCKET',
528            'WITH',
529            'WORK',
530            'WRITE',
531            'XMLAGG',
532            'XMLCAST',
533            'XMLCDATA',
534            'XMLCOLATTVAL',
535            'XMLCOMMENT',
536            'XMLCONCAT',
537            'XMLDIFF',
538            'XMLELEMENT',
539            'XMLEXISTS',
540            'XMLFOREST',
541            'XMLPARSE',
542            'XMLPATCH',
543            'XMLPI',
544            'XMLQUERY',
545            'XMLROOT',
546            'XMLSEQUENCE',
547            'XMLSERIALIZE',
548            'XMLTABLE',
549            'XMLTRANSFORM',
550            'YEAR',
551            'ZONE'
552            )
553        ),
554    'SYMBOLS' => array(
555        '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
556        ),
557    'CASE_SENSITIVE' => array(
558        GESHI_COMMENTS => false,
559        1 => false,
560//        3 => false,
561//        4 => false,
562//        5 => false,
563//        6 => false
564        ),
565    'STYLES' => array(
566        'KEYWORDS' => array(
567            1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
568            ),
569        'COMMENTS' => array(
570            1 => 'color: #808080; font-style: italic;',
571            ),
572        'ESCAPE_CHAR' => array(
573            0 => 'color: #000099; font-weight: bold;'
574            ),
575        'BRACKETS' => array(
576            0 => 'color: #66cc66;'
577            ),
578        'STRINGS' => array(
579            0 => 'color: #ff0000;'
580            ),
581        'NUMBERS' => array(
582            0 => 'color: #cc66cc;'
583            ),
584        'METHODS' => array(
585            1 => 'color: #ff0000;'
586            ),
587        'SYMBOLS' => array(
588            0 => 'color: #66cc66;'
589            ),
590        'SCRIPT' => array(
591            ),
592        'REGEXPS' => array(
593            )
594        ),
595    'URLS' => array(
596        1 => '',
597//        3 => '',
598//        4 => '',
599//        5 => '',
600//        6 => ''
601        ),
602    'OOLANG' => false,
603    'OBJECT_SPLITTERS' => array(
604        ),
605    'REGEXPS' => array(
606        ),
607    'STRICT_MODE_APPLIES' => GESHI_NEVER,
608    'SCRIPT_DELIMITERS' => array(
609        ),
610    'HIGHLIGHT_STRICT_BLOCK' => array(
611        )
612);
613