home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 November / CPNL0711.ISO / communic / email / Evolution-2.8.2-2.msi / Data1.cab / sql.lang < prev    next >
Extensible Markup Language  |  2007-03-07  |  21KB  |  576 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <!-- gtksourceview/language-specs/sql.lang -->
  4.  
  5. <!-- gtksourceview SQL language specification -->
  6.  
  7. <!-- Copyright ┬⌐ 2003, 2005 Evert Verhellen -->
  8.  
  9. <!-- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. -->
  10.  
  11. <!-- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -->
  12.  
  13. <!-- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -->
  14.  
  15. <!DOCTYPE language SYSTEM "language.dtd">
  16. <language _name="SQL" version="1.0" _section="Sources" mimetypes="text/x-sql">
  17.  
  18.     <escape-char>\</escape-char>
  19.  
  20. <!-- Datatypes -->
  21.  
  22.     <keyword-list _name="Oracle Built-in Datatypes" style="Data Type" case-sensitive="FALSE">
  23.         <keyword>N?VARCHAR2</keyword>
  24.         <keyword>NUMBER</keyword>
  25.         <keyword>LONG</keyword>
  26.         <keyword>DATE</keyword>
  27.         <keyword>TIMESTAMP</keyword>
  28.         <keyword>INTERVAL</keyword>
  29.         <keyword>(LONG[ \t\n]+)?RAW</keyword>
  30.         <keyword>U?ROWID</keyword>
  31.         <keyword>N?CHAR</keyword>
  32.         <keyword>(N?C|B)LOB</keyword>
  33.         <keyword>BFILE</keyword>
  34.         <keyword>BINARY_(FLOAT|DOUBLE)</keyword>
  35.     </keyword-list>
  36.  
  37.     <keyword-list _name="ANSI Datatypes" style="Data Type" case-sensitive="FALSE">
  38.         <keyword>(NATIONAL[ \t\n]+)?CHAR(ACTER)?([ \t\n]+VARYING)?</keyword>
  39.         <keyword>NCHAR([ \t\n]+VARYING)?</keyword>
  40.         <keyword>NUMERIC|DECIMAL</keyword>
  41.         <keyword>INTEGER|INT|SMALLINT</keyword>
  42.         <keyword>FLOAT|DOUBLE[ \t\n]+PRECISION|REAL</keyword>
  43.     </keyword-list>
  44.  
  45.     <keyword-list _name="SQL/DS and DB2 Datatypes" style="Data Type" case-sensitive="FALSE">
  46.         <keyword>CHARACTER</keyword>
  47.         <keyword>(LONG[ \t\n]+)?VARCHAR</keyword>
  48.         <keyword>DECIMAL</keyword>
  49.         <keyword>INTEGER|SMALLINT</keyword>
  50.         <keyword>FLOAT</keyword>
  51.     </keyword-list>
  52.  
  53.     <keyword-list _name="Oracle-Supplied Types" style="Data Type" case-sensitive="FALSE">
  54.         <keyword>SYS\.ANY(TYPE|DATA(SET)?)</keyword>
  55.         <keyword>XMLType</keyword>
  56.         <keyword>(HTTP|XDB|DB)?URIType</keyword>
  57.         <keyword>(MDSYS\.)?SDO_((TOPO_)?GEOMETRY|GEORASTER)</keyword>
  58.         <keyword>ORDSYS\.ORD(Audio|Doc|Image(Signature)?|Video)</keyword>
  59.         <keyword>SI_(StillImage|(Average|Positional)?Color|ColorHistogram|Texture|FeatureList)</keyword>
  60.     </keyword-list>
  61.  
  62. <!-- Literals -->
  63.  
  64.     <string _name="Text Literals" style="String" end-at-line-end="FALSE">
  65.         <start-regex>([Nn]?[Qq]?|[Uu]?)'</start-regex>
  66.         <end-regex>'</end-regex>
  67.     </string>
  68.  
  69.     <pattern-item _name="Integer Literals" style="Decimal">
  70.         <regex>\b[0-9]+\b</regex>
  71.     </pattern-item>
  72.  
  73.     <pattern-item _name="Number Literals" style="Floating Point">
  74.         <regex>(\b[0-9]+(\.[0-9]+)?|\.[0-9]+)([Ee][\+-]?[0-9]+)?\b</regex>
  75.     </pattern-item>
  76.  
  77.     <pattern-item _name="Size Clause" style="Decimal">
  78.         <regex>\b[0-9]+[ \t]*([Kk]|[Mm]|[Gg]|[Tt])\b</regex>
  79.     </pattern-item>
  80.  
  81.     <keyword-list _name="Unlimited" style="Decimal" case-sensitive="FALSE">
  82.         <keyword>UNLIMITED</keyword>
  83.     </keyword-list>
  84.  
  85.     <keyword-list _name="Null" style="Decimal" case-sensitive="FALSE">
  86.         <keyword>NULL</keyword>
  87.     </keyword-list>
  88.  
  89. <!-- Comments -->
  90.  
  91.     <block-comment _name="Block Comment" style="Comment">
  92.         <start-regex>/\*</start-regex>
  93.             <end-regex>\*/</end-regex>
  94.     </block-comment>
  95.     
  96.     <line-comment _name="Line Comment" style="Comment">
  97.         <start-regex>--</start-regex>
  98.     </line-comment>
  99.  
  100. <!-- Functions -->
  101.  
  102.     <!-- Single-Row Functions -->
  103.  
  104.     <keyword-list _name="Numeric Functions" style="Function" case-sensitive="FALSE">
  105.         <keyword>ABS</keyword>
  106.         <keyword>A(COS|SIN|TAN2?)</keyword>
  107.         <keyword>BITAND</keyword>
  108.         <keyword>CEIL</keyword>
  109.         <keyword>(COS|SIN|TAN)H?</keyword>
  110.         <keyword>EXP</keyword>
  111.         <keyword>FLOOR</keyword>
  112.         <keyword>LN</keyword>
  113.         <keyword>LOG</keyword>
  114.         <keyword>MOD</keyword>
  115.         <keyword>NANVL</keyword>
  116.         <keyword>POWER</keyword>
  117.         <keyword>REMAINDER</keyword>
  118.         <keyword>ROUND</keyword>
  119.         <keyword>SIGN</keyword>
  120.         <keyword>SQRT</keyword>
  121.         <keyword>TRUNC</keyword>
  122.         <keyword>WIDTH_BUCKET</keyword>
  123.     </keyword-list>
  124.  
  125.     <keyword-list _name="Character Functions Returning Character Values" style="Function" case-sensitive="FALSE">
  126.         <keyword>N?CHR</keyword>
  127.         <keyword>CONCAT</keyword>
  128.         <keyword>(NLS_)?(INITCAP|LOWER|UPPER)</keyword>
  129.         <keyword>(L|R)PAD</keyword>
  130.         <keyword>(L|R)?TRIM</keyword>
  131.         <keyword>NLSSORT</keyword>
  132.         <keyword>REGEXP_(REPLACE|SUBSTR)</keyword>
  133.         <keyword>REPLACE</keyword>
  134.         <keyword>SOUNDEX</keyword>
  135.         <keyword>SUBSTR</keyword>
  136.         <keyword>TRANSLATE</keyword>
  137.         <keyword>TREAT</keyword>
  138.     </keyword-list>
  139.  
  140.     <keyword-list _name="NLS Character Functions" style="Function" case-sensitive="FALSE">
  141.         <keyword>NLS_CHARSET_DECL_LEN</keyword>
  142.         <keyword>NLS_CHARSET_(ID|NAME)</keyword>
  143.     </keyword-list>
  144.  
  145.     <keyword-list _name="Character Functions Returning Number Values" style="Function" case-sensitive="FALSE">
  146.         <keyword>ASCII</keyword>
  147.         <keyword>INSTR</keyword>
  148.         <keyword>LENGTH</keyword>
  149.         <keyword>REGEXP_INSTR</keyword>
  150.     </keyword-list>
  151.  
  152.     <keyword-list _name="Datetime Functions" style="Function" case-sensitive="FALSE">
  153.         <keyword>ADD_MONTHS</keyword>
  154.         <keyword>CURRENT_(DATE|TIMESTAMP)</keyword>
  155.         <keyword>DBTIMEZONE</keyword>
  156.         <keyword>EXTRACT</keyword>
  157.         <keyword>FROM_TZ</keyword>
  158.         <keyword>(LAST|NEXT)_DAY</keyword>
  159.         <keyword>LOCALTIMESTAMP</keyword>
  160.         <keyword>MONTHS_BETWEEN</keyword>
  161.         <keyword>NEW_TIME</keyword>
  162.         <keyword>NUMTO(DS|YM)INTERVAL</keyword>
  163.         <keyword>ROUND</keyword>
  164.         <keyword>SESSIONTIMEZONE</keyword>
  165.         <keyword>SYS_EXTRACT_UTC</keyword>
  166.         <keyword>SYS(DATE|TIMESTAMP)</keyword>
  167.         <keyword>TO_CHAR</keyword>
  168.         <keyword>TO_(DS|YM)INTERVAL</keyword>
  169.         <keyword>TO_TIMESTAMP(_TZ)?</keyword>
  170.         <keyword>TRUNC</keyword>
  171.         <keyword>TZ_OFFSET</keyword>
  172.     </keyword-list>
  173.  
  174.     <keyword-list _name="General Comparison Functions" style="Function" case-sensitive="FALSE">
  175.         <keyword>GREATEST</keyword>
  176.         <keyword>LEAST</keyword>
  177.     </keyword-list>
  178.  
  179.     <keyword-list _name="Conversion Functions" style="Function" case-sensitive="FALSE">
  180.         <keyword>ASCIISTR</keyword>
  181.         <keyword>BIN_TO_NUM</keyword>
  182.         <keyword>CAST</keyword>
  183.         <keyword>CHARTOROWID</keyword>
  184.         <keyword>(DE)?COMPOSE</keyword>
  185.         <keyword>CONVERT</keyword>
  186.         <keyword>HEXTORAW</keyword>
  187.         <keyword>NUMTO(DS|YM)INTERVAL</keyword>
  188.         <keyword>RAWTON?HEX</keyword>
  189.         <keyword>ROWIDTON?CHAR</keyword>
  190.         <keyword>SCN_TO_TIMESTAMP</keyword>
  191.         <keyword>TIMESTAMP_TO_SCN</keyword>
  192.         <keyword>TO_BINARY_(DOUBLE|FLOAT)</keyword>
  193.         <keyword>TO_N?(CHAR|CLOB)</keyword>
  194.         <keyword>TO_DATE</keyword>
  195.         <keyword>TO_(DS|YM)INTERVAL</keyword>
  196.         <keyword>TO_LOB</keyword>
  197.         <keyword>TO_(MULTI|SINGLE)_BYTE</keyword>
  198.         <keyword>TO_NUMBER</keyword>
  199.         <keyword>TRANSLATE</keyword>
  200.         <keyword>UNISTR</keyword>
  201.     </keyword-list>
  202.  
  203.     <keyword-list _name="Large Object Functions" style="Function" case-sensitive="FALSE">
  204.         <keyword>BFILENAME</keyword>
  205.         <keyword>EMPTY_(B|C)LOB</keyword>
  206.     </keyword-list>
  207.  
  208.     <keyword-list _name="Collection Functions" style="Function" case-sensitive="FALSE">
  209.         <keyword>CARDINALITY</keyword>
  210.         <keyword>COLLECT</keyword>
  211.         <keyword>POWERMULTISET(_BY_CARDINALITY)?</keyword>
  212.         <!-- SET -->
  213.     </keyword-list>
  214.  
  215.     <keyword-list _name="Hierarchical Function" style="Function" case-sensitive="FALSE">
  216.         <keyword>SYS_CONNECT_BY_PATH</keyword>
  217.     </keyword-list>
  218.  
  219.     <keyword-list _name="Data Mining Functions" style="Function" case-sensitive="FALSE">
  220.         <keyword>CLUSTER_(ID|PROBABILITY|SET)</keyword>
  221.         <keyword>FEATURE_(ID|SET|VALUE)</keyword>
  222.         <keyword>PREDICTION</keyword>
  223.         <keyword>PREDICTION_(COST|DETAILS|PROBABILITY|SET)</keyword>
  224.     </keyword-list>
  225.  
  226.     <keyword-list _name="XML Functions" style="Function" case-sensitive="FALSE">
  227.         <keyword>(APPEND|INSERT)CHILDXML</keyword>
  228.         <keyword>(DELETE|UPDATE)XML</keyword>
  229.         <keyword>DEPTH</keyword>
  230.         <keyword>EXISTSNODE</keyword>
  231.         <keyword>EXTRACT(VALUE)?</keyword>
  232.         <keyword>INSERTXMLBEFORE</keyword>
  233.         <keyword>PATH</keyword>
  234.         <keyword>SYS_DBURIGEN</keyword>
  235.         <keyword>SYS_XML(AGG|GEN)</keyword>
  236.         <keyword>XML(AGG|CDATA|COLATTVAL|COMMENT|CONCAT|ELEMENT|FOREST|PARSE|PI|QUERY|ROOT|SEQUENCE|SERIALIZE|TABLE|TRANSFORM)</keyword>
  237.     </keyword-list>
  238.  
  239.     <keyword-list _name="Encoding and Decoding Functions" style="Function" case-sensitive="FALSE">
  240.         <keyword>DECODE</keyword>
  241.         <keyword>DUMP</keyword>
  242.         <keyword>ORA_HASH</keyword>
  243.         <keyword>VSIZE</keyword>
  244.     </keyword-list>
  245.  
  246.     <keyword-list _name="NULL-Related Functions" style="Function" case-sensitive="FALSE">
  247.         <keyword>COALESCE</keyword>
  248.         <keyword>LNNVL</keyword>
  249.         <keyword>NULLIF</keyword>
  250.         <keyword>NVL2?</keyword>
  251.     </keyword-list>
  252.  
  253.     <keyword-list _name="Environment and Identifier Functions" style="Function" case-sensitive="FALSE">
  254.         <keyword>SYS_CONTEXT</keyword>
  255.         <keyword>SYS_GUID</keyword>
  256.         <keyword>SYS_TYPEID</keyword>
  257.         <keyword>UID</keyword>
  258.         <keyword>USER</keyword>
  259.         <keyword>USERENV</keyword>
  260.     </keyword-list>
  261.  
  262.     <!-- Aggregate Functions -->
  263.  
  264.     <keyword-list _name="Aggregate Functions" style="Function" case-sensitive="FALSE">
  265.         <keyword>AVG</keyword>
  266.         <!-- COLLECT: See "Collection Functions" -->
  267.         <keyword>CORR(_(S|K))?</keyword>
  268.         <keyword>COUNT</keyword>
  269.         <keyword>COVAR_(POP|SAMP)</keyword>
  270.         <keyword>CUME_DIST</keyword>
  271.         <keyword>(DENSE|PERCENT)_RANK</keyword>
  272.         <keyword>FIRST|LAST</keyword>
  273.         <keyword>GROUP_ID</keyword>
  274.         <keyword>GROUPING(_ID)?</keyword>
  275.         <keyword>MAX|MIN</keyword>
  276.         <keyword>MEDIAN</keyword>
  277.         <keyword>PERCENTILE_(CONT|DISC)</keyword>
  278.         <keyword>RANK</keyword>
  279.         <keyword>REGR_(SLOPE|INTERCEPT|COUNT|R2|AVGX|AVGY|SXX|SYY|SXY)</keyword>
  280.         <keyword>STATS_((BINOMIAL|F|KS|MW|WSR)_TEST|CROSSTAB|MODE|ONE_WAY_ANOVA|T_TEST_(ONE|PAIRED|INDEPU?))</keyword>
  281.         <keyword>STDDEV|VARIANCE</keyword>
  282.         <keyword>(STDDEV|VAR)_(POP|SAMP)</keyword>
  283.         <keyword>SUM</keyword>
  284.     </keyword-list>
  285.  
  286.     <!-- Analytic Functions -->
  287.  
  288.     <keyword-list _name="Analytic Functions" style="Function" case-sensitive="FALSE">
  289.         <keyword>AVG</keyword>
  290.         <keyword>CORR</keyword>
  291.         <keyword>COVAR_(POP|SAMP)</keyword>
  292.         <keyword>COUNT</keyword>
  293.         <keyword>CUME_DIST</keyword>
  294.         <keyword>(DENSE|PERCENT)_RANK</keyword>
  295.         <keyword>(FIRST|LAST)(_VALUE)?</keyword>
  296.         <keyword>LAG</keyword>
  297.         <keyword>LEAD</keyword>
  298.         <keyword>MAX|MIN</keyword>
  299.         <keyword>NTILE</keyword>
  300.         <keyword>PERCENTILE_(CONT|DISC)</keyword>
  301.         <keyword>RANK</keyword>
  302.         <keyword>RATIO_TO_REPORT</keyword>
  303.         <keyword>REGR_(SLOPE|INTERCEPT|COUNT|R2|AVGX|AVGY|SXX|SYY|SXY)</keyword>
  304.         <keyword>ROW_NUMBER</keyword>
  305.         <keyword>STDDEV|VARIANCE</keyword>
  306.         <keyword>(STDDEV|VAR)_(POP|SAMP)</keyword>
  307.         <keyword>SUM</keyword>
  308.     </keyword-list>
  309.  
  310.     <!-- Object Reference Functions -->
  311.  
  312.     <keyword-list _name="Object Reference Functions" style="Function" case-sensitive="FALSE">
  313.         <keyword>DEREF</keyword>
  314.         <keyword>MAKE_REF</keyword>
  315.         <keyword>REF</keyword>
  316.         <keyword>REFTOHEX</keyword>
  317.         <keyword>VALUE</keyword>
  318.     </keyword-list>
  319.  
  320.     <!-- Model Functions -->
  321.  
  322.     <keyword-list _name="Model Functions" style="Function" case-sensitive="FALSE">
  323.         <keyword>CV</keyword>
  324.         <keyword>ITERATION_NUMBER</keyword>
  325.         <keyword>PRESENT(NN)?V</keyword>
  326.         <keyword>PREVIOUS</keyword>
  327.     </keyword-list>
  328.  
  329. <!-- Reserved Words -->
  330.  
  331.     <keyword-list _name="ANSI Reserved Words" style="Keyword" case-sensitive="FALSE">
  332.         <keyword>ADD</keyword>
  333.         <keyword>ALL</keyword>
  334.         <keyword>ALTER</keyword>
  335.         <keyword>AND</keyword>
  336.         <keyword>ANY</keyword>
  337.         <keyword>AS</keyword>
  338.         <keyword>ASC</keyword>
  339.         <keyword>BETWEEN</keyword>
  340.         <keyword>BY</keyword>
  341.         <!-- CHAR: See "Datatypes" -->
  342.         <keyword>CHECK</keyword>
  343.         <!-- CONNECT: See "SQL*Plus" -->
  344.         <keyword>CREATE</keyword>
  345.         <keyword>CURRENT</keyword>
  346.         <!-- DATE: See "Datatypes" -->
  347.         <keyword>DECIMAL</keyword>
  348.         <keyword>DEFAULT</keyword>
  349.         <keyword>DELETE</keyword>
  350.         <!-- DESC: See "SQL*Plus" -->
  351.         <keyword>DISTINCT</keyword>
  352.         <keyword>DROP</keyword>
  353.         <keyword>ELSE</keyword>
  354.         <keyword>FLOAT</keyword>
  355.         <keyword>FOR</keyword>
  356.         <keyword>FROM</keyword>
  357.         <keyword>GRANT</keyword>
  358.         <keyword>GROUP</keyword>
  359.         <keyword>HAVING</keyword>
  360.         <keyword>IMMEDIATE</keyword>
  361.         <keyword>IN</keyword>
  362.         <keyword>INSERT</keyword>
  363.         <keyword>INTEGER</keyword>
  364.         <keyword>INTERSECT</keyword>
  365.         <keyword>INTO</keyword>
  366.         <keyword>IS</keyword>
  367.         <keyword>LEVEL</keyword>
  368.         <keyword>LIKE</keyword>
  369.         <keyword>NOT</keyword>
  370.         <!-- NULL: See "Literals" -->
  371.         <keyword>OF</keyword>
  372.         <keyword>ON</keyword>
  373.         <keyword>OPTION</keyword>
  374.         <keyword>OR</keyword>
  375.         <keyword>ORDER</keyword>
  376.         <keyword>PRIOR</keyword>
  377.         <keyword>PRIVILEGES</keyword>
  378.         <keyword>PUBLIC</keyword>
  379.         <keyword>REVOKE</keyword>
  380.         <keyword>ROWS</keyword>
  381.         <keyword>SELECT</keyword>
  382.         <keyword>SESSION</keyword>
  383.         <keyword>SET</keyword>
  384.         <keyword>SIZE</keyword>
  385.         <keyword>SMALLINT</keyword>
  386.         <keyword>TABLE</keyword>
  387.         <keyword>THEN</keyword>
  388.         <keyword>TO</keyword>
  389.         <keyword>UNION</keyword>
  390.         <keyword>UNIQUE</keyword>
  391.         <keyword>UPDATE</keyword>
  392.         <!-- USER: See "Functions" -->
  393.         <keyword>VALUES</keyword>
  394.         <!-- VARCHAR: See "Datatypes" -->
  395.         <keyword>VIEW</keyword>
  396.         <!-- WHENEVER: See "SQL*Plus" -->
  397.         <keyword>WITH</keyword>
  398.     </keyword-list>
  399.  
  400.     <keyword-list _name="Oracle Reserved Words" style="Keyword" case-sensitive="FALSE">
  401.         <keyword>ACCESS</keyword>
  402.         <keyword>AUDIT</keyword>
  403.         <keyword>CLUSTER</keyword>
  404.         <!-- COLUMN: See "SQL*Plus" -->
  405.         <keyword>COMMENT</keyword>
  406.         <keyword>COMPRESS</keyword>
  407.         <keyword>EXCLUSIVE</keyword>
  408.         <keyword>EXISTS</keyword>
  409.         <keyword>FILE</keyword>
  410.         <keyword>IDENTIFIED</keyword>
  411.         <keyword>INCREMENT</keyword>
  412.         <keyword>INDEX</keyword>
  413.         <keyword>INITIAL</keyword>
  414.         <keyword>LOCK</keyword>
  415.         <!-- LONG: See "Datatypes" -->
  416.         <keyword>MAXEXTENTS</keyword>
  417.         <keyword>MINUS</keyword>
  418.         <keyword>MLSLABEL</keyword>
  419.         <keyword>MODE</keyword>
  420.         <keyword>MODIFY</keyword>
  421.         <keyword>NOAUDIT</keyword>
  422.         <keyword>NOCOMPRESS</keyword>
  423.         <keyword>NOWAIT</keyword>
  424.         <!-- NUMBER: See "Datatypes" -->
  425.         <keyword>OFFLINE</keyword>
  426.         <keyword>ONLINE</keyword>
  427.         <keyword>PCTFREE</keyword>
  428.         <!-- RAW: See "Datatypes" -->
  429.         <keyword>RENAME</keyword>
  430.         <keyword>RESOURCE</keyword>
  431.         <keyword>ROW</keyword>
  432.         <!-- ROWID: See "Datatypes" -->
  433.         <keyword>ROWNUM</keyword>
  434.         <keyword>SHARE</keyword>
  435.         <!-- START: See "SQL*Plus" -->
  436.         <keyword>SUCCESSFUL</keyword>
  437.         <keyword>SYNONYM</keyword>
  438.         <!-- SYSDATE: See "Functions" -->
  439.         <keyword>TRIGGER</keyword>
  440.         <!-- UID: See "Functions" -->
  441.         <keyword>VALIDATE</keyword>
  442.         <!-- VARCHAR2: See "Datatypes" -->
  443.         <keyword>WHERE</keyword>
  444.     </keyword-list>
  445.  
  446.     <keyword-list _name="SQL Statements" style="Keyword" case-sensitive="FALSE" match-empty-string-at-beginning="FALSE" beginning-regex="^[ \t]*">
  447.         <keyword>ALTER[ \t]+(CLUSTER|DATABASE|DIMENSION|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE|PROCEDURE|PROFILE|RESOURCE[ \t]+COST|ROLE|ROLLBACK[ \t]+SEGMENT|SEQUENCE|SESSION|SYSTEM|TABLE(SPACE)?|TRIGGER|TYPE|USER|VIEW)</keyword>
  448.         <keyword>ANALYZE</keyword>
  449.         <keyword>(DIS)?ASSOCIATE[ \t]+STATISTICS</keyword>
  450.         <!-- AUDIT: See "Oracle Reserved Words" -->
  451.         <keyword>CALL</keyword>
  452.         <!-- COMMENT: See "Oracle Reserved Words" -->
  453.         <keyword>COMMIT([ \t]+WORK)?</keyword>
  454.         <keyword>CREATE[ \t]+(CLUSTER|CONTEXT|CONTROLFILE|DATABASE([ \t]+LINK)?|DIMENSION|DIRECTORY|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|LIBRARY|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE([ \t]+BODY)?|S?PFILE|PROCEDURE|PROFILE|RESTORE[ \t]+POINT|ROLE|ROLLBACK[ \t]+SEGMENT|SCHEMA|SEQUENCE|SYNONYM|TABLE(SPACE)?|TRIGGER|TYPE([ \t]+BODY)?|USER|VIEW)</keyword>
  455.         <!-- DELETE: See "ANSI Reserved Words" -->
  456.         <keyword>DROP[ \t]+(CLUSTER|CONTEXT|DATABASE([ \t]+LINK)?|DIMENSION|DIRECTORY|DISKGROUP|FUNCTION|INDEX(TYPE)?|JAVA|LIBRARY|MATERIALIZED[ \t]+VIEW([ \t]+LOG)?|OPERATOR|OUTLINE|PACKAGE|PROCEDURE|PROFILE|RESTORE[ \t]+POINT|ROLE|ROLLBACK[ \t]+SEGMENT|SEQUENCE|SYNONYM|TABLE(SPACE)?|TRIGGER|TYPE([ \t]+BODY)?|USER|VIEW)</keyword>
  457.         <keyword>EXPLAIN[ \t]+PLAN</keyword>
  458.         <keyword>FLASHBACK[ \t]+(DATABASE|TABLE)</keyword>
  459.         <!-- GRANT: See "ANSI Reserved Words" -->
  460.         <!-- INSERT: See "ANSI Reserved Words" -->
  461.         <keyword>LOCK[ \t]+TABLE</keyword>
  462.         <keyword>MERGE</keyword>
  463.         <!-- NOAUDIT: See "Oracle Reserved Words" -->
  464.         <keyword>PURGE</keyword>
  465.         <!-- RENAME: See "Oracle Reserved Words" -->
  466.         <!-- REVOKE: See "ANSI Reserved Words" -->
  467.         <keyword>ROLLBACK</keyword>
  468.         <keyword>SAVEPOINT</keyword>
  469.         <!-- SELECT: See "ANSI Reserved Words" -->
  470.         <keyword>SET[ \t]+CONSTRAINTS?</keyword>
  471.         <keyword>SET[ \t]+ROLE</keyword>
  472.         <keyword>SET[ \t]+TRANSACTION</keyword>
  473.         <keyword>TRUNCATE</keyword>
  474.         <!-- UPDATE: See "ANSI Reserved Words" -->
  475.     </keyword-list>
  476.  
  477.     <keyword-list _name="Operators" style="Keyword" case-sensitive="FALSE">
  478.         <!-- PRIOR: See "ANSI Reserved Words" -->
  479.         <keyword>CONNECT_BY_ROOT</keyword>
  480.         <!-- UNION: See "ANSI Reserved Words" -->
  481.         <!-- UNION ALL: See "ANSI Reserved Words" -->
  482.         <!-- INTERSECT: See "ANSI Reserved Words" -->
  483.         <!-- MINUS: See "Oracle Reserved Words" -->
  484.         <keyword>MULTISET[ \t]+(EXCEPT|INTERSECT|UNION)</keyword>
  485.     </keyword-list>
  486.  
  487.     <keyword-list _name="Conditions" style="Keyword" case-sensitive="FALSE">
  488.         <!-- ANY: See "ANSI Reserved Words" -->
  489.         <keyword>SOME</keyword>
  490.         <!-- ALL: See "ANSI Reserved Words" -->
  491.         <keyword>IS[ \t]+(NOT[ \t]+)?(NAN|INFINITE)</keyword>
  492.         <!-- AND: See "ANSI Reserved Words" -->
  493.         <!-- OR: See "ANSI Reserved Words" -->
  494.         <!-- NOT: See "ANSI Reserved Words" -->
  495.         <!-- BETWEEN: See "ANSI Reserved Words" -->
  496.         <keyword>IS[ \t]+(NOT[ \t]+)?NULL</keyword>
  497.         <keyword>(EQUALS|UNDER)_PATH</keyword>
  498.         <!-- EXISTS: See "Oracle Reserved Words" -->
  499.         <keyword>(NOT[ \t]+)?IN</keyword>
  500.         <keyword>IS[ \t]+(NOT[ \t]+)?A[ \t]+SET</keyword>
  501.         <!-- IS ANY: See "ANSI Reserved Words" -->
  502.         <keyword>IS[ \t]+(NOT[ \t]+)?EMPTY</keyword>
  503.         <keyword>IS[ \t]+(NOT[ \t]+)?OF([ \t]+TYPE)?</keyword>
  504.         <keyword>IS[ \t]+PRESENT</keyword>
  505.         <keyword>(NOT[ \t]+)?LIKE(C|2|4)?</keyword>
  506.         <keyword>(NOT[ \t]+)?MEMBER([ \t]+OF)?</keyword>
  507.         <keyword>REGEXP_LIKE</keyword>
  508.         <keyword>(NOT[ \t]+)?SUBMULTISET([ \t]+OF)?</keyword>
  509.     </keyword-list>
  510.  
  511. <!-- SQL*Plus -->
  512.  
  513.     <pattern-item _name="SQL*Plus At Sign" style="Preprocessor">
  514.         <regex>^[ \t]*@</regex>
  515.     </pattern-item>
  516.  
  517.     <pattern-item _name="SQL*Plus Double At Sign" style="Preprocessor">
  518.         <regex>^[ \t]*@@</regex>
  519.     </pattern-item>
  520.  
  521.     <pattern-item _name="SQL*Plus Slash" style="Preprocessor">
  522.         <regex>^[ \t]*/</regex>
  523.     </pattern-item>
  524.  
  525.     <keyword-list _name="SQL*Plus Commands" style="Preprocessor" case-sensitive="FALSE" match-empty-string-at-beginning="FALSE" beginning-regex="^[ \t]*">
  526.         <keyword>ACC(EPT)?</keyword>
  527.         <keyword>A(PPEND)?</keyword>
  528.         <keyword>ARCHIVE[ \t]LOG</keyword>
  529.         <keyword>ATTRIBUTE</keyword>
  530.         <keyword>BRE(AK)?</keyword>
  531.         <keyword>BTI(TLE)?</keyword>
  532.         <keyword>C(HANGE)?</keyword>
  533.         <keyword>CL(EAR)?</keyword>
  534.         <keyword>COL(UMN)?</keyword>
  535.         <keyword>COMP(UTE)?</keyword>
  536.         <keyword>CONN(ECT)?</keyword>
  537.         <keyword>COPY</keyword>
  538.         <keyword>DEF(INE)?</keyword>
  539.         <keyword>DEL</keyword>
  540.         <keyword>DESC(RIBE)?</keyword>
  541.         <keyword>DISC(ONNECT)?</keyword>
  542.         <keyword>ED(IT)?</keyword>
  543.         <keyword>EXEC(UTE)?</keyword>
  544.         <keyword>EXIT|QUIT</keyword>
  545.         <keyword>GET</keyword>
  546.         <keyword>HELP</keyword>
  547.         <keyword>HO(ST)?</keyword>
  548.         <keyword>I(NPUT)?</keyword>
  549.         <keyword>L(IST)?</keyword>
  550.         <keyword>PASSW(ORD)?</keyword>
  551.         <keyword>PAU(SE)?</keyword>
  552.         <keyword>PRI(NT)?</keyword>
  553.         <keyword>PRO(MPT)?</keyword>
  554.         <!-- QUIT: See "EXIT" -->
  555.         <keyword>RECOVER</keyword>
  556.         <keyword>REM(ARK)?</keyword>
  557.         <keyword>REPF(OOTER)?</keyword>
  558.         <keyword>REPH(EADER)?</keyword>
  559.         <keyword>R(UN)?</keyword>
  560.         <keyword>SAV(E)?</keyword>
  561.         <keyword>SET[ \t]+(APPI(NFO)?|ARRAY(SIZE)?|AUTO(COMMIT)?|AUTOP(RINT)?|AUTORECOVERY|AUTOT(RACE)?|BLO(CKTERMINATOR)?|CMDS(EP)?|COLSEP|COM(PATIBILITY)?|CON(CAT)?|COPYC(OMMIT)?|COPYTYPECHECK|DEF(INE)?|DESCRIBE|ECHO|EDITF(ILE)?|EMB(EDDED)?|ESC(APE)?|FEED(BACK)?|FLAGGER|FLU(SH)?|HEA(DING)?|HEADS(EP)?|INSTANCE|LIN(ESIZE)?|LOBOF(FSET)?|LOGSOURCE|LONG|LONGC(HUNKSIZE)?|MARK(UP)?|NEWP(AGE)?|NULL|NUMF(ORMAT)?|NUM(WIDTH)?|PAGES(IZE)?|PAU(SE)?|RECSEP|RECSEPCHAR|SERVEROUT(PUT)?|SHIFT(INOUT)?|SHOW(MODE)?|SQLBL(ANKLINES)?|SQLC(ASE)?|SQLCO(NTINUE)?|SQLN(UMBER)?|SQLPLUSCOMPAT(IBILITY)?|SQLPRE(FIX)?|SQLP(ROMPT)?|SQLT(ERMINATOR)?|SUF(FIX)?|TAB|TERM(OUT)?|TI(ME)?|TIMI(NG)?|TRIM(OUT)?|TRIMS(POOL)?|UND(ERLINE)?|VER(IFY)?|WRA(P)?)</keyword> <!-- SET ROLE and SET TRANSACTION are SQL commands. When not followed by the keywords TRANSACTION or ROLE, SET is assumed to be a SQL*Plus command. -->
  562.         <keyword>SHO(W)?</keyword>
  563.         <keyword>SHUTDOWN</keyword>
  564.         <keyword>SPO(OL)?</keyword>
  565.         <keyword>STA(RT)?</keyword>
  566.         <keyword>STARTUP</keyword>
  567.         <keyword>STORE</keyword>
  568.         <keyword>TIMI(NG)?</keyword>
  569.         <keyword>TTI(TLE)?</keyword>
  570.         <keyword>UNDEF(INE)?</keyword>
  571.         <keyword>VAR(IABLE)?</keyword>
  572.         <keyword>WHENEVER[ \t]+(OS|SQL)ERROR</keyword>
  573.     </keyword-list>
  574.  
  575. </language>
  576.