//
// SynScript.txt - Syntax highlighting script.
//

//
// Macro definitions. Parameters may be specified and the replacement text
//   terminates with the end of line (watch trailing blanks).
//
#define pt_SQL                      0
#define pt_RESERVED                 1
#define pt_UTILITY                  2
#define pt_DATATYPE                 3
#define pt_IDENTIFIER               4
#define pt_FUNCTION                 5
#define pt_HOSTVAR                  6
#define pt_SCRIPT                   7
#define pt_QUOTED_NAME              8
#define pt_STRING                   9
#define pt_NUMBER                   10
#define pt_HEXNUMBER                11
#define pt_LABEL                    12
#define pt_SYMBOL                   13
#define pt_SUBSELECT                14
#define pt_COMMENT                  15
#define pt_COMMENT_BLOCK            16
#define pt_DEFAULT                  17

#define ID_BASE                     50

#define _non_alpha_                 '[^_A-Za-z0-9]'
#define _alpha_                     '[_A-Za-z0-9]'
#define _all_chars_                 '[\x00-\xFF]'
#define _no_chars_                  '[]'
#define _dont_care_                 _all_chars_
#define _escape_chars_              '[\x0D\x0A\x0C\x09\x20\x08\x1B]'
#define _DEFAULT_BACKGROUND         clWhite
#define _DEFAULT_FOREGROUND         clBlack

//--------------------------------------------------------------------------------------------------------------------
//
// %%language section
//
// Header section. Describes the textual name of the language, case
//   sensitivity and options used by the language.
//

%%language

Name                  = 'UDB SQL'
Case                  = __INSENSITIVE
Options               = __DEFAULT_OPTIONS
WordWrapColumn        = _EDGE
Gutter                = 0                        //changed from _DEFAULT_GUTTER
Anchor                = _DEFAULT_START_ANCHOR
MarginColor           = [*]clWhite
SelTextColor          = [*]clWhite
SelTextBack           = [*]clNavy
ExampleText           = '/* Sample highlighting */\
                        \select "name", \'str\', 123, xFF, max(col)\n\
                        \  into :host from tab where col2 = [SUBSELECT];\n\
                        \db2set variable = value;\n\
                        \create table table1 (b integer)\n\
                        \  data capture none; --created table\n\
                        \#AUTOCOMMIT on;\n'
EditableStyles          ('SQL',                  pt_SQL),
                        ('Reserved word',        pt_RESERVED),
                        ('Command line utility', pt_UTILITY),
                        ('Datatype',             pt_DATATYPE),
                        ('Identifier',           pt_IDENTIFIER),
                        ('Built-in Function',    pt_FUNCTION),
                        ('Host Variable',        pt_HOSTVAR),
                        ('Script Keyword',       pt_SCRIPT),
                        ('Quoted Name',          pt_QUOTED_NAME),
                        ('Literal string',       pt_STRING),
                        ('Literal numeric',      pt_NUMBER),
                        ('Literal hexadecimal',  pt_HEXNUMBER),
                        ('Label',                pt_LABEL),
                        ('Symbol',               pt_SYMBOL),
                        ('SubSelect',            pt_SUBSELECT),
                        ('Comment',              pt_COMMENT),
                        ('Comment block',        pt_COMMENT_BLOCK),
                        ('Default',              pt_DEFAULT)

//--------------------------------------------------------------------------------------------------------------------
//
// %%words section
//
// Used to specify simple languge keywords. These are constant value lexemes
//   that always contain the same characters and only require the end style
//   to be specified. The words present here will always be tried first. If
//   they fail then the entries in the %%tokens section will be allowed to
//   try a match.
//
// %%words table entries have 3 columns:
//     Column 1          Quoted string giving characters that make up the word
//     Column 2          Quoted string that specifies how the word is terminated
//     Column 3          Token value returned when word is recognised
//     Column 4          States in which the 'word' is recognised
//

%%words

//////////////////////////////////////////////////////////////////////////////
// Reserved words (not enforced by UDB).                                    //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'ADD'                   _non_alpha_         pt_RESERVED
'AFTER'                 _non_alpha_         pt_RESERVED
'ALIAS'                 _non_alpha_         pt_RESERVED
'ALL'                   _non_alpha_         pt_RESERVED
'ALLOCATE'              _non_alpha_         pt_RESERVED
'ALLOW'                 _non_alpha_         pt_RESERVED
'ALTER'                 _non_alpha_         pt_RESERVED
'AND'                   _non_alpha_         pt_RESERVED
'ANY'                   _non_alpha_         pt_RESERVED
'AS'                    _non_alpha_         pt_RESERVED
'ASC'                   _non_alpha_         pt_RESERVED
'BEFORE'                _non_alpha_         pt_RESERVED
'BEGIN'                 _non_alpha_         pt_RESERVED
'BETWEEN'               _non_alpha_         pt_RESERVED
'BUFFERPOOL'            _non_alpha_         pt_RESERVED
'BY'                    _non_alpha_         pt_RESERVED
'CALL'                  _non_alpha_         pt_RESERVED
'CALLED'                _non_alpha_         pt_RESERVED
'CAPTURE'               _non_alpha_         pt_RESERVED
'CASCADED'              _non_alpha_         pt_RESERVED
'CASE'                  _non_alpha_         pt_RESERVED
'CAST'                  _non_alpha_         pt_RESERVED
'CHECK'                 _non_alpha_         pt_RESERVED
'CLOSE'                 _non_alpha_         pt_RESERVED
'CLUSTER'               _non_alpha_         pt_RESERVED
'COLLECTION'            _non_alpha_         pt_RESERVED
'COLUMN'                _non_alpha_         pt_RESERVED
'COMMENT'               _non_alpha_         pt_RESERVED
'COMMIT'                _non_alpha_         pt_RESERVED
'CONCAT'                _non_alpha_         pt_RESERVED
'CONDITION'             _non_alpha_         pt_RESERVED
'CONNECT'               _non_alpha_         pt_RESERVED
'CONNECTION'            _non_alpha_         pt_RESERVED
'CONSTRAINT'            _non_alpha_         pt_RESERVED
'CONTAINS'              _non_alpha_         pt_RESERVED
'CONTINUE'              _non_alpha_         pt_RESERVED
'CREATE'                _non_alpha_         pt_RESERVED
'CURRENT'               _non_alpha_         pt_RESERVED
'CURSOR'                _non_alpha_         pt_RESERVED
'DATA'                  _non_alpha_         pt_RESERVED
'DATABASE'              _non_alpha_         pt_RESERVED
'DAY'                   _non_alpha_         pt_RESERVED
'DAYS'                  _non_alpha_         pt_RESERVED
'DBINFO'                _non_alpha_         pt_RESERVED
'DB2SQL'                _non_alpha_         pt_RESERVED
'DECLARE'               _non_alpha_         pt_RESERVED
'DEFAULT'               _non_alpha_         pt_RESERVED
'DELETE'                _non_alpha_         pt_RESERVED
'DESC'                  _non_alpha_         pt_RESERVED
'DESCRIPTOR'            _non_alpha_         pt_RESERVED
'DETERMINISTIC'         _non_alpha_         pt_RESERVED
'DISALLOW'              _non_alpha_         pt_RESERVED
'DISCONNECT'            _non_alpha_         pt_RESERVED
'DISTINCT'              _non_alpha_         pt_RESERVED
'DO'                    _non_alpha_         pt_RESERVED
'DROP'                  _non_alpha_         pt_RESERVED
'DYNAMIC'               _non_alpha_         pt_RESERVED
'ELSE'                  _non_alpha_         pt_RESERVED
'ELSEIF'                _non_alpha_         pt_RESERVED
'END'                   _non_alpha_         pt_RESERVED
'ESCAPE'                _non_alpha_         pt_RESERVED
'EXCLUSIVE'             _non_alpha_         pt_RESERVED
'EXECUTE'               _non_alpha_         pt_RESERVED
'EXISTS'                _non_alpha_         pt_RESERVED
'EXIT'                  _non_alpha_         pt_RESERVED
'EXPLAIN'               _non_alpha_         pt_RESERVED
'EXTERNAL'              _non_alpha_         pt_RESERVED
'FENCED'                _non_alpha_         pt_RESERVED
'FETCH'                 _non_alpha_         pt_RESERVED
'FINAL'                 _non_alpha_         pt_RESERVED
'FOR'                   _non_alpha_         pt_RESERVED
'FOREIGN'               _non_alpha_         pt_RESERVED
'FREE'                  _non_alpha_         pt_RESERVED
'FROM'                  _non_alpha_         pt_RESERVED
'FULL'                  _non_alpha_         pt_RESERVED
'FUNCTION'              _non_alpha_         pt_RESERVED
'GENERAL'               _non_alpha_         pt_RESERVED
'GENERATED'             _non_alpha_         pt_RESERVED
'GO'                    _non_alpha_         pt_RESERVED
'GOTO'                  _non_alpha_         pt_RESERVED
'GRANT'                 _non_alpha_         pt_RESERVED
'GROUP'                 _non_alpha_         pt_RESERVED
'HANDLER'               _non_alpha_         pt_RESERVED
'HAVING'                _non_alpha_         pt_RESERVED
'HOUR'                  _non_alpha_         pt_RESERVED
'HOURS'                 _non_alpha_         pt_RESERVED
'IF'                    _non_alpha_         pt_RESERVED
'IMMEDIATE'             _non_alpha_         pt_RESERVED
'IN'                    _non_alpha_         pt_RESERVED
'INDEX'                 _non_alpha_         pt_RESERVED
'INDICATOR'             _non_alpha_         pt_RESERVED
'INNER'                 _non_alpha_         pt_RESERVED
'INOUT'                 _non_alpha_         pt_RESERVED
'INSERT'                _non_alpha_         pt_RESERVED
'INTO'                  _non_alpha_         pt_RESERVED
'IS'                    _non_alpha_         pt_RESERVED
'JAVA'                  _non_alpha_         pt_RESERVED
'JOIN'                  _non_alpha_         pt_RESERVED
'KEY'                   _non_alpha_         pt_RESERVED
'LANGUAGE'              _non_alpha_         pt_RESERVED
'LEAVE'                 _non_alpha_         pt_RESERVED
'LEFT'                  _non_alpha_         pt_RESERVED
'LIKE'                  _non_alpha_         pt_RESERVED
'LOCAL'                 _non_alpha_         pt_RESERVED
'LOCATOR'               _non_alpha_         pt_RESERVED
'LOCATORS'              _non_alpha_         pt_RESERVED
'LOCK'                  _non_alpha_         pt_RESERVED
'LOCKSIZE'              _non_alpha_         pt_RESERVED
'LOOP'                  _non_alpha_         pt_RESERVED
'MICROSECOND'           _non_alpha_         pt_RESERVED
'MICROSECONDS'          _non_alpha_         pt_RESERVED
'MINUTE'                _non_alpha_         pt_RESERVED
'MINUTES'               _non_alpha_         pt_RESERVED
'MODE'                  _non_alpha_         pt_RESERVED
'MODIFIES'              _non_alpha_         pt_RESERVED
'MONTH'                 _non_alpha_         pt_RESERVED
'MONTHS'                _non_alpha_         pt_RESERVED
'NAME'                  _non_alpha_         pt_RESERVED
'NO'                    _non_alpha_         pt_RESERVED
'NOT'                   _non_alpha_         pt_RESERVED
'NULL'                  _non_alpha_         pt_RESERVED
'NULLS'                 _non_alpha_         pt_RESERVED
'OF'                    _non_alpha_         pt_RESERVED
'ON'                    _non_alpha_         pt_RESERVED
'ONLY'                  _non_alpha_         pt_RESERVED
'OPEN'                  _non_alpha_         pt_RESERVED
'OPTIMIZATION'          _non_alpha_         pt_RESERVED
'OPTIMIZE'              _non_alpha_         pt_RESERVED
'OPTION'                _non_alpha_         pt_RESERVED
'OR'                    _non_alpha_         pt_RESERVED
'ORDER'                 _non_alpha_         pt_RESERVED
'OUT'                   _non_alpha_         pt_RESERVED
'OUTER'                 _non_alpha_         pt_RESERVED
'PACKAGE'               _non_alpha_         pt_RESERVED
'PARAMETER'             _non_alpha_         pt_RESERVED
'PATH'                  _non_alpha_         pt_RESERVED
'PCTFREE'               _non_alpha_         pt_RESERVED
'PLAN'                  _non_alpha_         pt_RESERVED
'PREPARE'               _non_alpha_         pt_RESERVED
'PRIMARY'               _non_alpha_         pt_RESERVED
'PRIVILEGES'            _non_alpha_         pt_RESERVED
'PROCEDURE'             _non_alpha_         pt_RESERVED
'PROGRAM'               _non_alpha_         pt_RESERVED
'PUBLIC'                _non_alpha_         pt_RESERVED
'QUERYNO'               _non_alpha_         pt_RESERVED
'READ'                  _non_alpha_         pt_RESERVED
'READS'                 _non_alpha_         pt_RESERVED
'REFERENCES'            _non_alpha_         pt_RESERVED
'RELEASE'               _non_alpha_         pt_RESERVED
'RENAME'                _non_alpha_         pt_RESERVED
'REPEAT'                _non_alpha_         pt_RESERVED
'RESET'                 _non_alpha_         pt_RESERVED
'RESTRICT'              _non_alpha_         pt_RESERVED
'RESULT'                _non_alpha_         pt_RESERVED
'RETURN'                _non_alpha_         pt_RESERVED
'RETURNS'               _non_alpha_         pt_RESERVED
'REVOKE'                _non_alpha_         pt_RESERVED
'RIGHT'                 _non_alpha_         pt_RESERVED
'ROLLBACK'              _non_alpha_         pt_RESERVED
'ROW'                   _non_alpha_         pt_RESERVED
'ROWS'                  _non_alpha_         pt_RESERVED
'RUN'                   _non_alpha_         pt_RESERVED
'SCHEMA'                _non_alpha_         pt_RESERVED
'SCRATCHPAD'            _non_alpha_         pt_RESERVED
'SECOND'                _non_alpha_         pt_RESERVED
'SECONDS'               _non_alpha_         pt_RESERVED
'SELECT'                _non_alpha_         pt_RESERVED
'SET'                   _non_alpha_         pt_RESERVED
'SHARE'                 _non_alpha_         pt_RESERVED
'SIMPLE'                _non_alpha_         pt_RESERVED
'SOME'                  _non_alpha_         pt_RESERVED
'SOURCE'                _non_alpha_         pt_RESERVED
'SPECIFIC'              _non_alpha_         pt_RESERVED
'SQL'                   _non_alpha_         pt_RESERVED
'STATIC'                _non_alpha_         pt_RESERVED
'STATISTICS'            _non_alpha_         pt_RESERVED
'STYLE'                 _non_alpha_         pt_RESERVED
'SYNONYM'               _non_alpha_         pt_RESERVED
'TABLE'                 _non_alpha_         pt_RESERVED
'TABLESPACE'            _non_alpha_         pt_RESERVED
'THEN'                  _non_alpha_         pt_RESERVED
'TO'                    _non_alpha_         pt_RESERVED
'TRIGGER'               _non_alpha_         pt_RESERVED
'TYPE'                  _non_alpha_         pt_RESERVED
'UNION'                 _non_alpha_         pt_RESERVED
'UNIQUE'                _non_alpha_         pt_RESERVED
'UNTIL'                 _non_alpha_         pt_RESERVED
'UPDATE'                _non_alpha_         pt_RESERVED
'USAGE'                 _non_alpha_         pt_RESERVED
'USER'                  _non_alpha_         pt_RESERVED
'USING'                 _non_alpha_         pt_RESERVED
'VALUES'                _non_alpha_         pt_RESERVED
'VARIANT'               _non_alpha_         pt_RESERVED
'VIEW'                  _non_alpha_         pt_RESERVED
'WHEN'                  _non_alpha_         pt_RESERVED
'WHERE'                 _non_alpha_         pt_RESERVED
'WHILE'                 _non_alpha_         pt_RESERVED
'WITH'                  _non_alpha_         pt_RESERVED
'WORK'                  _non_alpha_         pt_RESERVED
'YEAR'                  _non_alpha_         pt_RESERVED
'YEARS'                 _non_alpha_         pt_RESERVED
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'AUTHORIZATION'         _non_alpha_         pt_RESERVED
'DB2GENERAL'            _non_alpha_         pt_RESERVED
'EXCEPT'                _non_alpha_         pt_RESERVED
'FILE'                  _non_alpha_         pt_RESERVED
'INTEGRITY'             _non_alpha_         pt_RESERVED
'INTERSECT'             _non_alpha_         pt_RESERVED
'ISOLATION'             _non_alpha_         pt_RESERVED
'LINKTYPE'              _non_alpha_         pt_RESERVED
'PARTITION'             _non_alpha_         pt_RESERVED
'UNDO'                  _non_alpha_         pt_RESERVED
'WRITE'                 _non_alpha_         pt_RESERVED
#endif
//
//  OS/390-specific keywords:
//
#ifdef DBMS_TYPE_OS390
'ACQUIRE'               _non_alpha_         pt_RESERVED
'ALT'                   _non_alpha_         pt_RESERVED
'ASUTIME'               _non_alpha_         pt_RESERVED
'AUDIT'                 _non_alpha_         pt_RESERVED
'AUTOREC'               _non_alpha_         pt_RESERVED
'AUX'                   _non_alpha_         pt_RESERVED
'AUXILLIARY'            _non_alpha_         pt_RESERVED
'BPOOL'                 _non_alpha_         pt_RESERVED
'BINARY'                _non_alpha_         pt_RESERVED
'CASTOUT'               _non_alpha_         pt_RESERVED
'CCSID'                 _non_alpha_         pt_RESERVED
'CLASST'                _non_alpha_         pt_RESERVED
'COLLID'                _non_alpha_         pt_RESERVED
'CURRENT_DATE'          _non_alpha_         pt_RESERVED
'CURRENT_LC_CTYPE'      _non_alpha_         pt_RESERVED
'CURRENT_PATH'          _non_alpha_         pt_RESERVED
'CURRENT_TIME'          _non_alpha_         pt_RESERVED
'CURRENT_TIMESTAMP'     _non_alpha_         pt_RESERVED
'DATASPACE'             _non_alpha_         pt_RESERVED
'DSSIZE'                _non_alpha_         pt_RESERVED
'DWQT'                  _non_alpha_         pt_RESERVED
'EDITPROC'              _non_alpha_         pt_RESERVED
'ERASE'                 _non_alpha_         pt_RESERVED
'FIELDPROC'             _non_alpha_         pt_RESERVED
'FIFO'                  _non_alpha_         pt_RESERVED
'GBPOOL'                _non_alpha_         pt_RESERVED
'GBPOOLT'               _non_alpha_         pt_RESERVED
'GBPCHKPT'              _non_alpha_         pt_RESERVED
'GROUPBUFFERPOOL'       _non_alpha_         pt_RESERVED
'HPSEQT'                _non_alpha_         pt_RESERVED
'HPSIZE'                _non_alpha_         pt_RESERVED
'INSENSITIVE'           _non_alpha_         pt_RESERVED
'LABEL'                 _non_alpha_         pt_RESERVED
'LC_CTYPE'              _non_alpha_         pt_RESERVED
'LOCALE'                _non_alpha_         pt_RESERVED
'LOCKMAX'               _non_alpha_         pt_RESERVED
'LRU'                   _non_alpha_         pt_RESERVED
'NUMPARTS'              _non_alpha_         pt_RESERVED
'OBID'                  _non_alpha_         pt_RESERVED
'PART'                  _non_alpha_         pt_RESERVED
'PAGE'                  _non_alpha_         pt_RESERVED
'PGSTEAL'               _non_alpha_         pt_RESERVED
'PIECESIZE'             _non_alpha_         pt_RESERVED
'PRIQTY'                _non_alpha_         pt_RESERVED
'PRIVATE'               _non_alpha_         pt_RESERVED
'RATIO'                 _non_alpha_         pt_RESERVED
'SECQTY'                _non_alpha_         pt_RESERVED
'SECURITY'              _non_alpha_         pt_RESERVED
'STANDARD'              _non_alpha_         pt_RESERVED
'STAY'                  _non_alpha_         pt_RESERVED
'STOGROUP'              _non_alpha_         pt_RESERVED
'STORES'                _non_alpha_         pt_RESERVED
'VALIDPROC'             _non_alpha_         pt_RESERVED
'VARIABLE'              _non_alpha_         pt_RESERVED
'VCAT'                  _non_alpha_         pt_RESERVED
'VDWQT'                 _non_alpha_         pt_RESERVED
'VPPSEQT'               _non_alpha_         pt_RESERVED
'VPSEQT'                _non_alpha_         pt_RESERVED
'VPSIZE'                _non_alpha_         pt_RESERVED
'VPTYPE'                _non_alpha_         pt_RESERVED
'VPXPSEQT'              _non_alpha_         pt_RESERVED
'VOLUMES'               _non_alpha_         pt_RESERVED
'WLM'                   _non_alpha_         pt_RESERVED
#endif

//////////////////////////////////////////////////////////////////////////////
// Miscellaneous additional keywords.                                       //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'ACTION'                _non_alpha_         pt_SQL
'ALTERIN'               _non_alpha_         pt_SQL
'ALWAYS'                _non_alpha_         pt_SQL
'APPLICATION'           _non_alpha_         pt_SQL
'ASCII'                 _non_alpha_         pt_SQL
'ASSOCIATE'             _non_alpha_         pt_SQL
'AT'                    _non_alpha_         pt_SQL
'ATOMIC'                _non_alpha_         pt_SQL
'ATTRIBUTES'            _non_alpha_         pt_SQL
'BIND'                  _non_alpha_         pt_SQL
'BINDADD'               _non_alpha_         pt_SQL
'BIT'                   _non_alpha_         pt_SQL
'BUFFERPOOLS'           _non_alpha_         pt_SQL
'C'                     _non_alpha_         pt_SQL
'CACHE'                 _non_alpha_         pt_SQL
'CARDINALITY'           _non_alpha_         pt_SQL
'CASCADE'               _non_alpha_         pt_SQL
'CHANGES'               _non_alpha_         pt_SQL
'COBOL'                 _non_alpha_         pt_SQL
'COMPARISONS'           _non_alpha_         pt_SQL
'CREATEIN'              _non_alpha_         pt_SQL
'CREATETAB'             _non_alpha_         pt_SQL
'CS'                    _non_alpha_         pt_SQL
'DBADM'                 _non_alpha_         pt_SQL
'DEFAULTS'              _non_alpha_         pt_SQL
'DEFINITION'            _non_alpha_         pt_SQL
'DIAGNOSTICS'           _non_alpha_         pt_SQL
'DROPIN'                _non_alpha_         pt_SQL
'DYNAMICRULES'          _non_alpha_         pt_SQL
'EACH'                  _non_alpha_         pt_SQL
'FIRST'                 _non_alpha_         pt_SQL
'FOUND'                 _non_alpha_         pt_SQL
'GLOBAL'                _non_alpha_         pt_SQL
'HOLD'                  _non_alpha_         pt_SQL
'IDENTITY'              _non_alpha_         pt_SQL
'INCLUDE'               _non_alpha_         pt_SQL
'INCLUDING'             _non_alpha_         pt_SQL
'INCREMENT'             _non_alpha_         pt_SQL
'INHERIT'               _non_alpha_         pt_SQL
'INPUT'                 _non_alpha_         pt_SQL
'LIBRARY'               _non_alpha_         pt_SQL
'LENGTH'                _non_alpha_         pt_SQL
'LOAD'                  _non_alpha_         pt_SQL
'MAIN'                  _non_alpha_         pt_SQL
'NEW'                   _non_alpha_         pt_SQL
'NONE'                  _non_alpha_         pt_SQL
'OLD'                   _non_alpha_         pt_SQL
'OPTIONS'               _non_alpha_         pt_SQL
'OWNER'                 _non_alpha_         pt_SQL
'PARALLEL'              _non_alpha_         pt_SQL
'PRESERVE'              _non_alpha_         pt_SQL
'QUALIFIER'             _non_alpha_         pt_SQL
'QUIESCE'               _non_alpha_         pt_SQL
'REBIND'                _non_alpha_         pt_SQL
'RECOVERY'              _non_alpha_         pt_SQL
'REORG'                 _non_alpha_         pt_SQL
'REPLACE'               _non_alpha_         pt_SQL
'ROW_COUNT'             _non_alpha_         pt_SQL
'RR'                    _non_alpha_         pt_SQL
'RS'                    _non_alpha_         pt_SQL
'RUNSTATS'              _non_alpha_         pt_SQL
'SAVEPOINT'             _non_alpha_         pt_SQL
'SECTION'               _non_alpha_         pt_SQL
'SETS'                  _non_alpha_         pt_SQL
'SIGNAL'                _non_alpha_         pt_SQL
'SQLCA'                 _non_alpha_         pt_SQL
'SQLDA'                 _non_alpha_         pt_SQL
'SQLCODE'               _non_alpha_         pt_SQL
'SQLERROR'              _non_alpha_         pt_SQL
'SQLEXCEPTION'          _non_alpha_         pt_SQL
'SQLSTATE'              _non_alpha_         pt_SQL
'SQLWARNING'            _non_alpha_         pt_SQL
'START'                 _non_alpha_         pt_SQL
'STATEMENT'             _non_alpha_         pt_SQL
'SUB'                   _non_alpha_         pt_SQL
'SYSTEM'                _non_alpha_         pt_SQL
'TEMPORARY'             _non_alpha_         pt_SQL
'UR'                    _non_alpha_         pt_SQL
'USE'                   _non_alpha_         pt_SQL
'VALUE'                 _non_alpha_         pt_SQL
'VERSION'               _non_alpha_         pt_SQL
'WHENEVER'              _non_alpha_         pt_SQL
'YES'                   _non_alpha_         pt_SQL
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'ACCESS'                _non_alpha_         pt_SQL
'ACTIVATE'              _non_alpha_         pt_SQL
'ACTIVE'                _non_alpha_         pt_SQL
'ADMIN'                 _non_alpha_         pt_SQL
'APPEND'                _non_alpha_         pt_SQL
'APPL_ID'               _non_alpha_         pt_SQL
'APPL_NAME'             _non_alpha_         pt_SQL
'APPLICATIONS'          _non_alpha_         pt_SQL
'ATTRIBUTE'             _non_alpha_         pt_SQL
'ATTACH'                _non_alpha_         pt_SQL
'AUTH_ID'               _non_alpha_         pt_SQL
'AUTOSTART'             _non_alpha_         pt_SQL
'BACKUP'                _non_alpha_         pt_SQL
'BLOCKED'               _non_alpha_         pt_SQL
'BLOCKING'              _non_alpha_         pt_SQL
'BUF'                   _non_alpha_         pt_SQL
'BUFFER'                _non_alpha_         pt_SQL
'BUFFERSIZE'            _non_alpha_         pt_SQL
'CALLER'                _non_alpha_         pt_SQL
'CATALOG'               _non_alpha_         pt_SQL
'CFG'                   _non_alpha_         pt_SQL
'CHANGE'                _non_alpha_         pt_SQL
'CLI'                   _non_alpha_         pt_SQL
'CLIENT'                _non_alpha_         pt_SQL
'CLIPKG'                _non_alpha_         pt_SQL
'COLLATE'               _non_alpha_         pt_SQL
'COLUMNS'               _non_alpha_         pt_SQL
'COMMAND'               _non_alpha_         pt_SQL
'COMPACT'               _non_alpha_         pt_SQL
'COMPATIBILITY'         _non_alpha_         pt_SQL
'COMPOUND'              _non_alpha_         pt_SQL
'CONFIG'                _non_alpha_         pt_SQL
'CONFIGURATION'         _non_alpha_         pt_SQL
'CONFIRM'               _non_alpha_         pt_SQL
'CONNECTIONS'           _non_alpha_         pt_SQL
'CONSERVATIVE'          _non_alpha_         pt_SQL
'CONTAINERS'            _non_alpha_         pt_SQL
'CONTAINING'            _non_alpha_         pt_SQL
'CONTROL'               _non_alpha_         pt_SQL
'CREATE_NOT_FENCED'     _non_alpha_         pt_SQL
'CUBE'                  _non_alpha_         pt_SQL
'DATABASES'             _non_alpha_         pt_SQL
'DATALINKS'             _non_alpha_         pt_SQL
'DATETIME'              _non_alpha_         pt_SQL
'DB'                    _non_alpha_         pt_SQL
'DB2DARI'               _non_alpha_         pt_SQL
'DB2GENRL'              _non_alpha_         pt_SQL
'DB2OPTIONS'            _non_alpha_         pt_SQL
'DBM'                   _non_alpha_         pt_SQL
'DCS'                   _non_alpha_         pt_SQL
'DEACTIVATE'            _non_alpha_         pt_SQL
'DEADLOCKS'             _non_alpha_         pt_SQL
'DEF'                   _non_alpha_         pt_SQL
'DEFERRED'              _non_alpha_         pt_SQL
'DENSERANK'             _non_alpha_         pt_SQL
'DENSE_RANK'            _non_alpha_         pt_SQL
'DEREGISTER'            _non_alpha_         pt_SQL
'DESCRIBE'              _non_alpha_         pt_SQL
'DETACH'                _non_alpha_         pt_SQL
'DETAIL'                _non_alpha_         pt_SQL
'DEVICE'                _non_alpha_         pt_SQL
'DFT_EXTENT_SZ'         _non_alpha_         pt_SQL
'DIRECTORY'             _non_alpha_         pt_SQL
'DISABLE'               _non_alpha_         pt_SQL
'DISPATCH'              _non_alpha_         pt_SQL
'DRDA'                  _non_alpha_         pt_SQL
'DROPPED'               _non_alpha_         pt_SQL
'ECHO'                  _non_alpha_         pt_SQL
'EMPTY'                 _non_alpha_         pt_SQL
'ENABLE'                _non_alpha_         pt_SQL
'EUR'                   _non_alpha_         pt_SQL
'EVALUATE'              _non_alpha_         pt_SQL
'EVENT'                 _non_alpha_         pt_SQL
'EXACT'                 _non_alpha_         pt_SQL
'EXCLUDING'             _non_alpha_         pt_SQL
'EXPLSNAP'              _non_alpha_         pt_SQL
'EXPORT'                _non_alpha_         pt_SQL
'EXPRESSION'            _non_alpha_         pt_SQL
'EXTEND'                _non_alpha_         pt_SQL
'EXTENDED'              _non_alpha_         pt_SQL
'EXTENSION'             _non_alpha_         pt_SQL
'EXTENTSIZE'            _non_alpha_         pt_SQL
'FEDERATED'             _non_alpha_         pt_SQL
'FILTER'                _non_alpha_         pt_SQL
'FLUSH'                 _non_alpha_         pt_SQL
'FOLLOWING'             _non_alpha_         pt_SQL
'FORCE'                 _non_alpha_         pt_SQL
'FS'                    _non_alpha_         pt_SQL
'FUNCPATH'              _non_alpha_         pt_SQL
'GENERATE'              _non_alpha_         pt_SQL
'GET'                   _non_alpha_         pt_SQL
'GRANT_GROUP'           _non_alpha_         pt_SQL
'GRANT_USER'            _non_alpha_         pt_SQL
'GROUPING'              _non_alpha_         pt_SQL
'HASHING'               _non_alpha_         pt_SQL
'HIERARCHY'             _non_alpha_         pt_SQL
'HELP'                  _non_alpha_         pt_SQL
'HISTORY'               _non_alpha_         pt_SQL
'IMPLICIT_SCHEMA'       _non_alpha_         pt_SQL
'IMPORT'                _non_alpha_         pt_SQL
'INDEXES'               _non_alpha_         pt_SQL
'INDOUBT'               _non_alpha_         pt_SQL
'INFIX'                 _non_alpha_         pt_SQL
'INITIALIZE'            _non_alpha_         pt_SQL
'INITIALLY'             _non_alpha_         pt_SQL
'INLINE'                _non_alpha_         pt_SQL
'INSTANTIABLE'          _non_alpha_         pt_SQL
'INVOKE'                _non_alpha_         pt_SQL
'ISO'                   _non_alpha_         pt_SQL
'ITERATE'               _non_alpha_         pt_SQL
'JIS'                   _non_alpha_         pt_SQL
'LDAP'                  _non_alpha_         pt_SQL
'LINK'                  _non_alpha_         pt_SQL
'LIST'                  _non_alpha_         pt_SQL
'LOC'                   _non_alpha_         pt_SQL
'LOGGED'                _non_alpha_         pt_SQL
'LONGVAR'               _non_alpha_         pt_SQL
'MANAGED'               _non_alpha_         pt_SQL
'MANAGER'               _non_alpha_         pt_SQL
'MANAGERS'              _non_alpha_         pt_SQL
'MANUALSTART'           _non_alpha_         pt_SQL
'MAPPING'               _non_alpha_         pt_SQL
'MAXFILES'              _non_alpha_         pt_SQL
'MAXFILESIZE'           _non_alpha_         pt_SQL
'MESSAGE_TEXT'          _non_alpha_         pt_SQL
'MESSAGES'              _non_alpha_         pt_SQL
'METHOD'                _non_alpha_         pt_SQL
'METHODS'               _non_alpha_         pt_SQL
'MIGRATE'               _non_alpha_         pt_SQL
'MINPCTUSED'            _non_alpha_         pt_SQL
'MONITOR'               _non_alpha_         pt_SQL
'NEW_TABLE'             _non_alpha_         pt_SQL
'NICKNAME'              _non_alpha_         pt_SQL
'NODEGROUP'             _non_alpha_         pt_SQL
'NODEGROUPS'            _non_alpha_         pt_SQL
'NODES'                 _non_alpha_         pt_SQL
'NONBLOCKED'            _non_alpha_         pt_SQL
'NOPACKAGE'             _non_alpha_         pt_SQL
'NUMSEGS'               _non_alpha_         pt_SQL
'ODBC'                  _non_alpha_         pt_SQL
'OFF'                   _non_alpha_         pt_SQL
'OLD_TABLE'             _non_alpha_         pt_SQL
'OLE'                   _non_alpha_         pt_SQL
'OLEDB'                 _non_alpha_         pt_SQL
'ONLINE'                _non_alpha_         pt_SQL
'OVER'                  _non_alpha_         pt_SQL
'OVERHEAD'              _non_alpha_         pt_SQL
'PACKAGES'              _non_alpha_         pt_SQL
'PAGESIZE'              _non_alpha_         pt_SQL
'PARTITIONING'          _non_alpha_         pt_SQL
'PASSTHRU'              _non_alpha_         pt_SQL
'PASSWORD'              _non_alpha_         pt_SQL
'PENDING'               _non_alpha_         pt_SQL
'PERMISSION'            _non_alpha_         pt_SQL
'PIPE'                  _non_alpha_         pt_SQL
'PRECEDING'             _non_alpha_         pt_SQL
'PRECOMPILE'            _non_alpha_         pt_SQL
'PREDICATES'            _non_alpha_         pt_SQL
'PREFETCHSIZE'          _non_alpha_         pt_SQL
'PROMPTING'             _non_alpha_         pt_SQL
'PRUNE'                 _non_alpha_         pt_SQL
'QUERYOPT'              _non_alpha_         pt_SQL
'QUERYTAG'              _non_alpha_         pt_SQL
'QUIT'                  _non_alpha_         pt_SQL
'RANGE'                 _non_alpha_         pt_SQL
'RANK'                  _non_alpha_         pt_SQL
'RECOMMEND'             _non_alpha_         pt_SQL
'RECONCILE'             _non_alpha_         pt_SQL
'REDISTRIBUTE'          _non_alpha_         pt_SQL
'REF'                   _non_alpha_         pt_SQL
'REFRESH'               _non_alpha_         pt_SQL
'REGISTER'              _non_alpha_         pt_SQL
'REGULAR'               _non_alpha_         pt_SQL
'REORGCHK'              _non_alpha_         pt_SQL
'REPLICATED'            _non_alpha_         pt_SQL
'RESIGNAL'              _non_alpha_         pt_SQL
'RESIZE'                _non_alpha_         pt_SQL
'RESTART'               _non_alpha_         pt_SQL
'RESTORE'               _non_alpha_         pt_SQL
'RESULT_SET_LOCATOR'    _non_alpha_         pt_SQL
'RETURN_STATUS'         _non_alpha_         pt_SQL
'REVERSE'               _non_alpha_         pt_SQL
'REWIND'                _non_alpha_         pt_SQL
'ROLLFORWARD'           _non_alpha_         pt_SQL
'ROLLUP'                _non_alpha_         pt_SQL
'ROWNUMBER'             _non_alpha_         pt_SQL
'ROW_NUMBER'            _non_alpha_         pt_SQL
'RUNTIME'               _non_alpha_         pt_SQL
'SCANS'                 _non_alpha_         pt_SQL
'SCOPE'                 _non_alpha_         pt_SQL
'SEARCH'                _non_alpha_         pt_SQL
'SELECTION'             _non_alpha_         pt_SQL
'SELECTIVITY'           _non_alpha_         pt_SQL
'SELF'                  _non_alpha_         pt_SQL
'SHOW'                  _non_alpha_         pt_SQL
'SINCE'                 _non_alpha_         pt_SQL
'SINGLE'                _non_alpha_         pt_SQL
'SIZE'                  _non_alpha_         pt_SQL
'/RESOLVE'              _non_alpha_         pt_SQL
'SOURCES'               _non_alpha_         pt_SQL
'SPECIFICATION'         _non_alpha_         pt_SQL
'SQLISL'                _non_alpha_         pt_SQL
'SQLWARN'               _non_alpha_         pt_SQL
'STATEMENTS'            _non_alpha_         pt_SQL
'STOP'                  _non_alpha_         pt_SQL
'STORAGE'               _non_alpha_         pt_SQL
'SUMMARY'               _non_alpha_         pt_SQL
'SWITCH'                _non_alpha_         pt_SQL
'TABLES'                _non_alpha_         pt_SQL
'TABLESPACES'           _non_alpha_         pt_SQL
'TAPE'                  _non_alpha_         pt_SQL
'TARGET'                _non_alpha_         pt_SQL
'TEMPLATE'              _non_alpha_         pt_SQL
'TERMINATE'             _non_alpha_         pt_SQL
'THROUGH'               _non_alpha_         pt_SQL
'TRANSACTIONS'          _non_alpha_         pt_SQL
'TRANSFERRATE'          _non_alpha_         pt_SQL
'TRANSFORM'             _non_alpha_         pt_SQL
'TRANSFORMS'            _non_alpha_         pt_SQL
'TREAT'                 _non_alpha_         pt_SQL
'UNAMBIG'               _non_alpha_         pt_SQL
'UNBLOCKED'             _non_alpha_         pt_SQL
'UNBOUNDED'             _non_alpha_         pt_SQL
'UNCATALOG'             _non_alpha_         pt_SQL
'UNCHECKED'             _non_alpha_         pt_SQL
'UNDER'                 _non_alpha_         pt_SQL
'UNLINK'                _non_alpha_         pt_SQL
'URL'                   _non_alpha_         pt_SQL
'USA'                   _non_alpha_         pt_SQL
'VALIDATE'              _non_alpha_         pt_SQL
'VERIFY'                _non_alpha_         pt_SQL
'VOLATILE'              _non_alpha_         pt_SQL
'WITHOUT'               _non_alpha_         pt_SQL
'WRAPPER'               _non_alpha_         pt_SQL
#endif
//
//  OS/390-specific keywords:
//
#ifdef DBMS_TYPE_OS390
'-ALT'                  _non_alpha_         pt_SQL
'-ALTER'                _non_alpha_         pt_SQL
'-ARC'                  _non_alpha_         pt_SQL
'-ARCHIVE'              _non_alpha_         pt_SQL
'-CAN'                  _non_alpha_         pt_SQL
'-CANCEL'               _non_alpha_         pt_SQL
'-DIS'                  _non_alpha_         pt_SQL
'-DISPLAY'              _non_alpha_         pt_SQL
'-MOD'                  _non_alpha_         pt_SQL
'-MODIFY'               _non_alpha_         pt_SQL
'-REC'                  _non_alpha_         pt_SQL
'-RECOVER'              _non_alpha_         pt_SQL
'-RESET'                _non_alpha_         pt_SQL
'-SET'                  _non_alpha_         pt_SQL
'-STA'                  _non_alpha_         pt_SQL
'-START'                _non_alpha_         pt_SQL
'-STO'                  _non_alpha_         pt_SQL
'-STOP'                 _non_alpha_         pt_SQL
'-TER'                  _non_alpha_         pt_SQL
'-TERM'                 _non_alpha_         pt_SQL
'ABEND'                 _non_alpha_         pt_SQL
'ABSOLUTE'              _non_alpha_         pt_SQL
'ACCESSPATH'            _non_alpha_         pt_SQL
'ARCHIVE'               _non_alpha_         pt_SQL
'ASSEMBLE'              _non_alpha_         pt_SQL
'AUTOCREATE'            _non_alpha_         pt_SQL
'BINDAGENT'             _non_alpha_         pt_SQL
'BOOST'                 _non_alpha_         pt_SQL
'BOTH'                  _non_alpha_         pt_SQL
'BSDS'                  _non_alpha_         pt_SQL
'BUFNO'                 _non_alpha_         pt_SQL
'CATLG'                 _non_alpha_         pt_SQL
'CHANGED'               _non_alpha_         pt_SQL
'COLON'                 _non_alpha_         pt_SQL
'COMP'                  _non_alpha_         pt_SQL
'COMPJAVA'              _non_alpha_         pt_SQL
'COMPRESS'              _non_alpha_         pt_SQL
'COPY'                  _non_alpha_         pt_SQL
'COPYDDN'               _non_alpha_         pt_SQL
'CREATEALIAS'           _non_alpha_         pt_SQL
'CREATEDBA'             _non_alpha_         pt_SQL
'CREATEDBC'             _non_alpha_         pt_SQL
'CREATESG'              _non_alpha_         pt_SQL
'CREATETMTAB'           _non_alpha_         pt_SQL
'CREATETS'              _non_alpha_         pt_SQL
'CURSORS'               _non_alpha_         pt_SQL
'CYL'                   _non_alpha_         pt_SQL
'DATACLAS'              _non_alpha_         pt_SQL
'DB2'                   _non_alpha_         pt_SQL
'DBCATSTATS'            _non_alpha_         pt_SQL
'DBCTRL'                _non_alpha_         pt_SQL
'DBMAINT'               _non_alpha_         pt_SQL
'DEADLINE'              _non_alpha_         pt_SQL
'DEFER'                 _non_alpha_         pt_SQL
'DEFINE'                _non_alpha_         pt_SQL
'DEFINER'               _non_alpha_         pt_SQL
'DELAY'                 _non_alpha_         pt_SQL
'DIAGNOSE'              _non_alpha_         pt_SQL
'DISCARDDN'             _non_alpha_         pt_SQL
'DISP'                  _non_alpha_         pt_SQL
'DISPLAY'               _non_alpha_         pt_SQL
'DISPLAYDB'             _non_alpha_         pt_SQL
'DRAIN_WAIT'            _non_alpha_         pt_SQL
'DROPPERCENT'           _non_alpha_         pt_SQL
'DSN'                   _non_alpha_         pt_SQL
'EBCDIC'                _non_alpha_         pt_SQL
'ENCODING'              _non_alpha_         pt_SQL
'ENVIRONMENT'           _non_alpha_         pt_SQL
'ERRDDN'                _non_alpha_         pt_SQL
'EXPDL'                 _non_alpha_         pt_SQL
'FASTSWITCH'            _non_alpha_         pt_SQL
'FILTERDDN'             _non_alpha_         pt_SQL
'FORCEROLLUP'           _non_alpha_         pt_SQL
'FREEPAGE'              _non_alpha_         pt_SQL
'FREQVAL'               _non_alpha_         pt_SQL
'GBPCACHE'              _non_alpha_         pt_SQL
'GDGLIMIT'              _non_alpha_         pt_SQL
'HINT'                  _non_alpha_         pt_SQL
'HISTSTATS'             _non_alpha_         pt_SQL
'IMAGCOPY'              _non_alpha_         pt_SQL
'INDDN'                 _non_alpha_         pt_SQL
'INDEXBP'               _non_alpha_         pt_SQL
'INDREFLIMIT'           _non_alpha_         pt_SQL
'JAR'                   _non_alpha_         pt_SQL
'JES3DD'                _non_alpha_         pt_SQL
'KEEP'                  _non_alpha_         pt_SQL
'KEEPDICTIONARY'        _non_alpha_         pt_SQL
'KEYCARD'               _non_alpha_         pt_SQL
'LABELS'                _non_alpha_         pt_SQL
'LARGE'                 _non_alpha_         pt_SQL
'LAST'                  _non_alpha_         pt_SQL
'LEAFDISTLIMIT'         _non_alpha_         pt_SQL
'LIMIT'                 _non_alpha_         pt_SQL
'LOB'                   _non_alpha_         pt_SQL
'LOCATIONS'             _non_alpha_         pt_SQL
'LOCKPART'              _non_alpha_         pt_SQL
'LOCKS'                 _non_alpha_         pt_SQL
'LONGLOG'               _non_alpha_         pt_SQL
'MAPDDN'                _non_alpha_         pt_SQL
'MAPPINGTABLE'          _non_alpha_         pt_SQL
'MAXPRIME'              _non_alpha_         pt_SQL
'MAXRO'                 _non_alpha_         pt_SQL
'MAXROWS'               _non_alpha_         pt_SQL
'MB'                    _non_alpha_         pt_SQL
'MEMBER'                _non_alpha_         pt_SQL
'MERGECOPY'             _non_alpha_         pt_SQL
'MGMTCLAS'              _non_alpha_         pt_SQL
'MIXED'                 _non_alpha_         pt_SQL
'MODELDCB'              _non_alpha_         pt_SQL
'MODIFY'                _non_alpha_         pt_SQL
'MONITOR1'              _non_alpha_         pt_SQL
'MONITOR2'              _non_alpha_         pt_SQL
'NAMES'                 _non_alpha_         pt_SQL
'NEXT'                  _non_alpha_         pt_SQL
'NBRSECND'              _non_alpha_         pt_SQL
'NOPAD'                 _non_alpha_         pt_SQL
'NOSYSREC'              _non_alpha_         pt_SQL
'NUMCOLS'               _non_alpha_         pt_SQL
'OBJECT'                _non_alpha_         pt_SQL
'OFFPOSLIMIT'           _non_alpha_         pt_SQL
'OVERRIDING'            _non_alpha_         pt_SQL
'PACKADM'               _non_alpha_         pt_SQL
'PACKAGESET'            _non_alpha_         pt_SQL
'PAUSE'                 _non_alpha_         pt_SQL
'PCTPRIME'              _non_alpha_         pt_SQL
'PLI'                   _non_alpha_         pt_SQL
'PREFORMAT'             _non_alpha_         pt_SQL
'PRIOR'                 _non_alpha_         pt_SQL
'PUNCHDDN'              _non_alpha_         pt_SQL
'QSLIST'                _non_alpha_         pt_SQL
'QSSPACESTATS'          _non_alpha_         pt_SQL
'REBUILD'               _non_alpha_         pt_SQL
'RECOVER'               _non_alpha_         pt_SQL
'RECOVERDB'             _non_alpha_         pt_SQL
'RECOVERYDDN'           _non_alpha_         pt_SQL
'REFERENCE'             _non_alpha_         pt_SQL
'REFERENCING'           _non_alpha_         pt_SQL
'REFRESHFROMDBCATONLY'  _non_alpha_         pt_SQL
'REGISTERS'             _non_alpha_         pt_SQL
'RELATIVE'              _non_alpha_         pt_SQL
'REMOVE'                _non_alpha_         pt_SQL
'REPAIR'                _non_alpha_         pt_SQL
'REPORT'                _non_alpha_         pt_SQL
'REPORTONLY'            _non_alpha_         pt_SQL
'RESIDENT'              _non_alpha_         pt_SQL
'RETAIN'                _non_alpha_         pt_SQL
'RETPD'                 _non_alpha_         pt_SQL
'RETRY'                 _non_alpha_         pt_SQL
'RETRY_DELAY'           _non_alpha_         pt_SQL
'REUSE'                 _non_alpha_         pt_SQL
'REXX'                  _non_alpha_         pt_SQL
'ROWID'                 _non_alpha_         pt_SQL
'RULES'                 _non_alpha_         pt_SQL
'SAMPLE'                _non_alpha_         pt_SQL
'SBCS'                  _non_alpha_         pt_SQL
'SCHEME'                _non_alpha_         pt_SQL
'SCROLL'                _non_alpha_         pt_SQL
'SEGSIZE'               _non_alpha_         pt_SQL
'SENSITIVE'             _non_alpha_         pt_SQL
'SHR'                   _non_alpha_         pt_SQL
'SHRLEVEL'              _non_alpha_         pt_SQL
'SORTDATA'              _non_alpha_         pt_SQL
'SORTDEVT'              _non_alpha_         pt_SQL
'SORTKEYS'              _non_alpha_         pt_SQL
'SORTNUM'               _non_alpha_         pt_SQL
'SPECIAL'               _non_alpha_         pt_SQL
'STACK'                 _non_alpha_         pt_SQL
'STARTDB'               _non_alpha_         pt_SQL
'STATS'                 _non_alpha_         pt_SQL
'STOPALL'               _non_alpha_         pt_SQL
'STOPDB'                _non_alpha_         pt_SQL
'STORCLAS'              _non_alpha_         pt_SQL
'STOSPACE'              _non_alpha_         pt_SQL
'SYSADM'                _non_alpha_         pt_SQL
'SYSCTRL'               _non_alpha_         pt_SQL
'SYSOPR'                _non_alpha_         pt_SQL
'TEMP'                  _non_alpha_         pt_SQL
'TEMPLATE'              _non_alpha_         pt_SQL
'TERM'                  _non_alpha_         pt_SQL
'TIMEOUT'               _non_alpha_         pt_SQL
'TRACE'                 _non_alpha_         pt_SQL
'TRACKMOD'              _non_alpha_         pt_SQL
'TRK'                   _non_alpha_         pt_SQL
'TRTCH'                 _non_alpha_         pt_SQL
'TYPE2'                 _non_alpha_         pt_SQL
'UNICODE'               _non_alpha_         pt_SQL
'UTIL'                  _non_alpha_         pt_SQL
'UTILITY'               _non_alpha_         pt_SQL
'WORKDDN'               _non_alpha_         pt_SQL
'WORKFILE'              _non_alpha_         pt_SQL
'UNCATLG'               _non_alpha_         pt_SQL
'UNCNT'                 _non_alpha_         pt_SQL
'UNCOMP'                _non_alpha_         pt_SQL
'UNIT'                  _non_alpha_         pt_SQL
'UNLDDN'                _non_alpha_         pt_SQL
'UPDATEQSSPACEMAPREPO'  _non_alpha_         pt_SQL
'UPDATEQSVOLREPO'       _non_alpha_         pt_SQL
'VOLCNT'                _non_alpha_         pt_SQL
'WEEKS'                 _non_alpha_         pt_SQL
'WRITERS'               _non_alpha_         pt_SQL
#endif

//////////////////////////////////////////////////////////////////////////////
// Command line utilities (UDB-specific):                                   //
//////////////////////////////////////////////////////////////////////////////
#ifdef DBMS_TYPE_UDB
'DB2ADMIN'              _non_alpha_         pt_UTILITY
'DB2ADUTL'              _non_alpha_         pt_UTILITY
'DB2ADVIS'              _non_alpha_         pt_UTILITY
'DB2AUDIT'              _non_alpha_         pt_UTILITY
'DB2ATLD'               _non_alpha_         pt_UTILITY
'DB2BATCH'              _non_alpha_         pt_UTILITY
'DB2BFD'                _non_alpha_         pt_UTILITY
'DB2CC'                 _non_alpha_         pt_UTILITY
'DB2CDBCR'              _non_alpha_         pt_UTILITY
'DB2CFEXP'              _non_alpha_         pt_UTILITY
'DB2CFIMP'              _non_alpha_         pt_UTILITY
'DB2CIDMG'              _non_alpha_         pt_UTILITY
'DB2CKBKP'              _non_alpha_         pt_UTILITY
'DB2CKMIG'              _non_alpha_         pt_UTILITY
'DB2CLI'                _non_alpha_         pt_UTILITY
'DB2CMD'                _non_alpha_         pt_UTILITY
'DB2DCLGN'              _non_alpha_         pt_UTILITY
'DB2DRDAT'              _non_alpha_         pt_UTILITY
'DB2EMPFA'              _non_alpha_         pt_UTILITY
'DB2EVA'                _non_alpha_         pt_UTILITY
'DB2EVMON'              _non_alpha_         pt_UTILITY
'DB2EXFMT'              _non_alpha_         pt_UTILITY
'DB2EXPLN'              _non_alpha_         pt_UTILITY
'DB2FLSN'               _non_alpha_         pt_UTILITY
'DB2FS'                 _non_alpha_         pt_UTILITY
'DB2GOV'                _non_alpha_         pt_UTILITY
'DB2GOVLG'              _non_alpha_         pt_UTILITY
'DB2ICRT'               _non_alpha_         pt_UTILITY
'DB2IDROP'              _non_alpha_         pt_UTILITY
'DB2ILIST'              _non_alpha_         pt_UTILITY
'DB2IMIGR'              _non_alpha_         pt_UTILITY
'DB2IPXAD'              _non_alpha_         pt_UTILITY
'DB2IUPDT'              _non_alpha_         pt_UTILITY
'DB2LDCFG'              _non_alpha_         pt_UTILITY
'DB2LICM'               _non_alpha_         pt_UTILITY
'DB2LOOK'               _non_alpha_         pt_UTILITY
'DB2MIGDR'              _non_alpha_         pt_UTILITY
'DB2MOVE'               _non_alpha_         pt_UTILITY
'DB2MSCS'               _non_alpha_         pt_UTILITY
'DB2NCHG'               _non_alpha_         pt_UTILITY
'DB2NCRT'               _non_alpha_         pt_UTILITY
'DB2NDROP'              _non_alpha_         pt_UTILITY
'DB2PERFC'              _non_alpha_         pt_UTILITY
'DB2PERFI'              _non_alpha_         pt_UTILITY
'DB2PERFR'              _non_alpha_         pt_UTILITY
'DB2PROFC'              _non_alpha_         pt_UTILITY
'DB2PROFP'              _non_alpha_         pt_UTILITY
'DB2RBIND'              _non_alpha_         pt_UTILITY
'DB2SAMPL'              _non_alpha_         pt_UTILITY
'DB2SET'                _non_alpha_         pt_UTILITY
'DB2SETSS'              _non_alpha_         pt_UTILITY
'DB2SQL92'              _non_alpha_         pt_UTILITY
'DB2START'              _non_alpha_         pt_UTILITY
'DB2STOP'               _non_alpha_         pt_UTILITY
'DB2SYNC'               _non_alpha_         pt_UTILITY
'DB2TBST'               _non_alpha_         pt_UTILITY
'DB2TRC'                _non_alpha_         pt_UTILITY
'DB2UIDDL'              _non_alpha_         pt_UTILITY
'DB2UNTAG'              _non_alpha_         pt_UTILITY
'DB2VEXP'               _non_alpha_         pt_UTILITY
#endif

//////////////////////////////////////////////////////////////////////////////
// Datatypes.                                                               //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared datatypes (UDB and OS/390):
//
'BIGINT'                _non_alpha_         pt_DATATYPE
'BLOB'                  _non_alpha_         pt_DATATYPE
'CHAR'                  _non_alpha_         pt_DATATYPE
'CHARACTER'             _non_alpha_         pt_DATATYPE
'CLOB'                  _non_alpha_         pt_DATATYPE
'DATALINK'              _non_alpha_         pt_DATATYPE
'DATE'                  _non_alpha_         pt_DATATYPE
'DBCLOB'                _non_alpha_         pt_DATATYPE
'DEC'                   _non_alpha_         pt_DATATYPE
'DECIMAL'               _non_alpha_         pt_DATATYPE
'DOUBLE'                _non_alpha_         pt_DATATYPE
'FLOAT'                 _non_alpha_         pt_DATATYPE
'GRAPHIC'               _non_alpha_         pt_DATATYPE
'INT'                   _non_alpha_         pt_DATATYPE
'INTEGER'               _non_alpha_         pt_DATATYPE
'LONG'                  _non_alpha_         pt_DATATYPE
'NUMERIC'               _non_alpha_         pt_DATATYPE
'PRECISION'             _non_alpha_         pt_DATATYPE
'REAL'                  _non_alpha_         pt_DATATYPE
'SMALLINT'              _non_alpha_         pt_DATATYPE
'TIME'                  _non_alpha_         pt_DATATYPE
'TIMESTAMP'             _non_alpha_         pt_DATATYPE
'VARCHAR'               _non_alpha_         pt_DATATYPE
'VARGRAPHIC'            _non_alpha_         pt_DATATYPE
'VARYING'               _non_alpha_         pt_DATATYPE
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'NUM'                   _non_alpha_         pt_DATATYPE
#endif

//////////////////////////////////////////////////////////////////////////////
// Built-in functions.                                                      //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'ABS'                   _non_alpha_         pt_FUNCTION
'ABSVAL'                _non_alpha_         pt_FUNCTION
'ACOS'                  _non_alpha_         pt_FUNCTION
'ASIN'                  _non_alpha_         pt_FUNCTION
'ATAN'                  _non_alpha_         pt_FUNCTION
'ATAN2'                 _non_alpha_         pt_FUNCTION
'AVG'                   _non_alpha_         pt_FUNCTION
'CEIL'                  _non_alpha_         pt_FUNCTION
'CEILING'               _non_alpha_         pt_FUNCTION
'COALESCE'              _non_alpha_         pt_FUNCTION
'COS'                   _non_alpha_         pt_FUNCTION
'COUNT'                 _non_alpha_         pt_FUNCTION
'COUNT_BIG'             _non_alpha_         pt_FUNCTION
'DAYOFWEEK'             _non_alpha_         pt_FUNCTION
'DAYOFWEEK_ISO'         _non_alpha_         pt_FUNCTION
'DAYOFYEAR'             _non_alpha_         pt_FUNCTION
'DEGREES'               _non_alpha_         pt_FUNCTION
'DOUBLE_PRECISION'      _non_alpha_         pt_FUNCTION
'EXP'                   _non_alpha_         pt_FUNCTION
'FLOOR'                 _non_alpha_         pt_FUNCTION
'HEX'                   _non_alpha_         pt_FUNCTION
'JULIAN_DAY'            _non_alpha_         pt_FUNCTION
'LCASE'                 _non_alpha_         pt_FUNCTION
'LN'                    _non_alpha_         pt_FUNCTION
'LOCATE'                _non_alpha_         pt_FUNCTION
'LOG'                   _non_alpha_         pt_FUNCTION
'LOG10'                 _non_alpha_         pt_FUNCTION
'LOWER'                 _non_alpha_         pt_FUNCTION
'LTRIM'                 _non_alpha_         pt_FUNCTION
'MAX'                   _non_alpha_         pt_FUNCTION
'MIDNIGHT_SECONDS'      _non_alpha_         pt_FUNCTION
'MIN'                   _non_alpha_         pt_FUNCTION
'MOD'                   _non_alpha_         pt_FUNCTION
'NULLIF'                _non_alpha_         pt_FUNCTION
'POSSTR'                _non_alpha_         pt_FUNCTION
'POWER'                 _non_alpha_         pt_FUNCTION
'QUARTER'               _non_alpha_         pt_FUNCTION
'RADIANS'               _non_alpha_         pt_FUNCTION
'RAISE_ERROR'           _non_alpha_         pt_FUNCTION
'RAND'                  _non_alpha_         pt_FUNCTION
'ROUND'                 _non_alpha_         pt_FUNCTION
'RTRIM'                 _non_alpha_         pt_FUNCTION
'SIGN'                  _non_alpha_         pt_FUNCTION
'SIN'                   _non_alpha_         pt_FUNCTION
'SPACE'                 _non_alpha_         pt_FUNCTION
'SQRT'                  _non_alpha_         pt_FUNCTION
'STDDEV'                _non_alpha_         pt_FUNCTION
'SUBSTR'                _non_alpha_         pt_FUNCTION
'SUM'                   _non_alpha_         pt_FUNCTION
'TAN'                   _non_alpha_         pt_FUNCTION
'TRANSLATE'             _non_alpha_         pt_FUNCTION
'TRUNC'                 _non_alpha_         pt_FUNCTION
'TRUNCATE'              _non_alpha_         pt_FUNCTION
'UCASE'                 _non_alpha_         pt_FUNCTION
'UPPER'                 _non_alpha_         pt_FUNCTION
'VAR'                   _non_alpha_         pt_FUNCTION
'VARIANCE'              _non_alpha_         pt_FUNCTION
'WEEK'                  _non_alpha_         pt_FUNCTION
'WEEK_ISO'              _non_alpha_         pt_FUNCTION
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'CHR'                   _non_alpha_         pt_FUNCTION
'CORR'                  _non_alpha_         pt_FUNCTION
'CORRELATION'           _non_alpha_         pt_FUNCTION
'COT'                   _non_alpha_         pt_FUNCTION
'COVAR'                 _non_alpha_         pt_FUNCTION
'COVARIANCE'            _non_alpha_         pt_FUNCTION
'DAYNAME'               _non_alpha_         pt_FUNCTION
'DEREF'                 _non_alpha_         pt_FUNCTION
'DIFFERENCE'            _non_alpha_         pt_FUNCTION
'DIGITS'                _non_alpha_         pt_FUNCTION
'DLCOMMENT'             _non_alpha_         pt_FUNCTION
'DLLINKTYPE'            _non_alpha_         pt_FUNCTION
'DLURLCOMPLETE'         _non_alpha_         pt_FUNCTION
'DLURLPATH'             _non_alpha_         pt_FUNCTION
'DLURLPATHONLY'         _non_alpha_         pt_FUNCTION
'DLURLSCHEME'           _non_alpha_         pt_FUNCTION
'DLURLSERVER'           _non_alpha_         pt_FUNCTION
'DLVALUE'               _non_alpha_         pt_FUNCTION
'EVENT_MON_STATE'       _non_alpha_         pt_FUNCTION
'GENERATE_UNIQUE'       _non_alpha_         pt_FUNCTION
'LONG_VARCHAR'          _non_alpha_         pt_FUNCTION
'LONG_VARGRAPHIC'       _non_alpha_         pt_FUNCTION
'MONTHNAME'             _non_alpha_         pt_FUNCTION
'NODENUMBER'            _non_alpha_         pt_FUNCTION
'REGR_AVGX'             _non_alpha_         pt_FUNCTION
'REGR_AVGY'             _non_alpha_         pt_FUNCTION
'REGR_COUNT'            _non_alpha_         pt_FUNCTION
'REGR_ICPT'             _non_alpha_         pt_FUNCTION
'REGR_INTERCEPT'        _non_alpha_         pt_FUNCTION
'REGR_R2'               _non_alpha_         pt_FUNCTION
'REGR_SLOPE'            _non_alpha_         pt_FUNCTION
'REGR_SXX'              _non_alpha_         pt_FUNCTION
'REGR_SXY'              _non_alpha_         pt_FUNCTION
'REGR_SYY'              _non_alpha_         pt_FUNCTION
'SOUNDEX'               _non_alpha_         pt_FUNCTION
'SQLCACHE_SNAPSHOT'     _non_alpha_         pt_FUNCTION
'TABLE_NAME'            _non_alpha_         pt_FUNCTION
'TABLE_SCHEMA'          _non_alpha_         pt_FUNCTION
'TIMESTAMP_ISO'         _non_alpha_         pt_FUNCTION
'TIMESTAMPDIFF'         _non_alpha_         pt_FUNCTION
'TYPE_ID'               _non_alpha_         pt_FUNCTION
'TYPE_NAME'             _non_alpha_         pt_FUNCTION
'TYPE_SCHEMA'           _non_alpha_         pt_FUNCTION
#endif
//
//  OS/390-specific keywords:
//
#ifdef DBMS_TYPE_OS390
'ATANH'                 _non_alpha_         pt_FUNCTION
'CCSID_ENCODING'        _non_alpha_         pt_FUNCTION
'COSH'                  _non_alpha_         pt_FUNCTION
'DAYOFMONTH'            _non_alpha_         pt_FUNCTION
'IDENTITY_VAL_LOCAL'    _non_alpha_         pt_FUNCTION
'IFNULL'                _non_alpha_         pt_FUNCTION
'SINH'                  _non_alpha_         pt_FUNCTION
'STRIP'                 _non_alpha_         pt_FUNCTION
'TANH'                  _non_alpha_         pt_FUNCTION
'TIMESTAMP_FORMAT'      _non_alpha_         pt_FUNCTION
'VARCHAR_FORMAT'        _non_alpha_         pt_FUNCTION
#endif

//////////////////////////////////////////////////////////////////////////////
// Additional special register keywords.                                    //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'DEGREE'                _non_alpha_         pt_SQL
'SERVER'                _non_alpha_         pt_SQL
'SQLID'                 _non_alpha_         pt_SQL
'TIMEZONE'              _non_alpha_         pt_SQL
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'AGE'                   _non_alpha_         pt_SQL
'NODE'                  _non_alpha_         pt_SQL
'QUERY'                 _non_alpha_         pt_SQL
'SNAPSHOT'              _non_alpha_         pt_SQL
#endif

//////////////////////////////////////////////////////////////////////////////
// Script processor directives.                                             //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'#ATTACH'               _non_alpha_         pt_SCRIPT
'#AUTOCOMMIT'           _non_alpha_         pt_SCRIPT
'#CONNECT'              _non_alpha_         pt_SCRIPT
'#CONTINUEIFERROR'      _non_alpha_         pt_SCRIPT
'#LOG'                  _non_alpha_         pt_SCRIPT
'#QSCOMMAND'            _non_alpha_         pt_SCRIPT
'#QUIT'                 _non_alpha_         pt_SCRIPT
'#TERMINATE'            _non_alpha_         pt_SCRIPT
'#RESTART'              _non_alpha_         pt_SCRIPT
'#SYNC'                 _non_alpha_         pt_SCRIPT
'PHASE'                 _non_alpha_         pt_SCRIPT
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'#ACTIVATE'             _non_alpha_         pt_SCRIPT
'#DEACTIVATE'           _non_alpha_         pt_SCRIPT
#endif

//////////////////////////////////////////////////////////////////////////////
// Operators.                                                               //
//////////////////////////////////////////////////////////////////////////////
//
//   Shared keywords (UDB and OS/390):
//
'+'                     _dont_care_         pt_SYMBOL
'-'                     _dont_care_         pt_SYMBOL
'*'                     _dont_care_         pt_SYMBOL
'/'                     _dont_care_         pt_SYMBOL
'||'                    _dont_care_         pt_SYMBOL
'='                     _dont_care_         pt_SYMBOL
'<'                     _dont_care_         pt_SYMBOL
'>'                     _dont_care_         pt_SYMBOL
'<='                    _dont_care_         pt_SYMBOL
'>='                    _dont_care_         pt_SYMBOL
'<>'                    _dont_care_         pt_SYMBOL
'!='                    _dont_care_         pt_SYMBOL
'!<'                    _dont_care_         pt_SYMBOL
'!>'                    _dont_care_         pt_SYMBOL
//
//  UDB-specific keywords:
//
#ifdef DBMS_TYPE_UDB
'->'                    _dont_care_         pt_SYMBOL
'..'                    _dont_care_         pt_SYMBOL
'^='                    _dont_care_         pt_SYMBOL
'^<'                    _dont_care_         pt_SYMBOL
'^>'                    _dont_care_         pt_SYMBOL
#endif

//////////////////////////////////////////////////////////////////////////////
// Symbols.                                                                 //
//////////////////////////////////////////////////////////////////////////////
';'                     _dont_care_         pt_SYMBOL
'.'                     _dont_care_         pt_SYMBOL
'('                     _dont_care_         pt_SYMBOL
')'                     _dont_care_         pt_SYMBOL
','                     _dont_care_         pt_SYMBOL
'\\'                    _dont_care_         pt_SYMBOL
'!'                     _dont_care_         pt_SYMBOL
'?'                     _dont_care_         pt_SYMBOL
'[SUBSELECT]'           _dont_care_         pt_SUBSELECT

//////////////////////////////////////////////////////////////////////////////
// Identifiers and constants.                                               //
//////////////////////////////////////////////////////////////////////////////
'"'                     _dont_care_         pt_QUOTED_NAME
'\''                    _dont_care_         pt_STRING
'G\''                   _dont_care_         pt_STRING
'N\''                   _dont_care_         pt_STRING
'GX\''                  _dont_care_         pt_STRING
'UX\''                  _dont_care_         pt_STRING
'X'                     _dont_care_         pt_HEXNUMBER

//////////////////////////////////////////////////////////////////////////////
// Comments.                                                                //
//////////////////////////////////////////////////////////////////////////////
'--'                    _dont_care_         pt_COMMENT
'/*'                    _dont_care_         pt_COMMENT_BLOCK

//--------------------------------------------------------------------------------------------------------------------
//
// %%handler section
//
// The %%handler section gives rules to be applied once an entry in the
//   %%words table has been recognised. Normally no further processing is
//   required but sometimes a token starts with a fixed set of characters
//   but may be followed by a character class rather than a known sequence.
//
// %%handler table entries have 4 columns:
//     Column 1          Token value to be processed
//     Column 2          Character specifier that follows recognised word
//     Column 3          Quoted string specifying end sequence
//     Column 4          Whether end sequence is part of lexeme
//
// The <character specifier> is defined as:
//     Column 2          A single character specifier or pre-defined system
//                       character macro:
//                         _PASCAL_CHAR         Pascal style character specifier
//                         _C_CHAR              C style character specifier
//                       If the lexeme can optionally have these characters then
//                       append '?' to the end of the quoted string.
//     Column 3          Up to 2 characters may be given as a sequence to
//                       terminate the lexeme. Characters are specified using a
//                       simplified regular expression. If this string is empty
//                       then the lexeme will never be matched.
//

%%handler

pt_FUNCTION        _non_alpha_?        '('                 _discard_
pt_QUOTED_NAME     '[^"]'?             '"'                 _use_
pt_STRING          '[^\']'?            '\''                _use_
pt_COMMENT         '[^\n]'?            '\n'                _discard_
pt_COMMENT_BLOCK   _all_chars_?        '*/'                _use_
pt_HEXNUMBER       '[0-9a-fA-F]'       '[^0-9a-fA-F]'      _discard_

//--------------------------------------------------------------------------------------------------------------------
//
// %%tokens section
//
// Used to specify how to recognise non-fixed lexemes. Non-fixed lexemes are
// only tried if the table entries in the %%words section have failed. The
// non-fixed lexeme is defiened by 5 columns as below:
//     Column 1          Token value
//     Column 2          Single start character specifier
//     Column 3          Single contains character specifier
//     Column 4          End sequence specifier
//     Column 5          Whether end sequence is part of lexeme
// Pre-defined token styles are implemented. If used they should be specified in
// Column 2. The implemented ones are:
//  __STD_PASCALSTRING   Pascal string -- starts with ' ands with ' and uses ''
//                       to represent ' within a string. Does not extend beyond
//                       end of line.
//  __STD_IDENTIFIER     Standard identifier. Starts with [_a-zA-Z], contains
//                       [_a-zA-Z0-9] and ends with a non-alpha numeric
//                       character that is not part of the lexeme.
//  __STD_NUMBER_OR_FP   Integer or floating point constant of syntax:
//                       <Digits> [ '.' <Digits> ] [ e|E [+-] <Digits> ]
//

%%tokens

pt_IDENTIFIER      __STD_IDENTIFIER
pt_NUMBER          __STD_NUMBER_OR_FP
pt_HOSTVAR         ':'            '[_A-Za-z0-9]'     '[^_A-Za-z0-9]'  _discard_

//--------------------------------------------------------------------------------------------------------------------
//
// %%effects section
//
// Used to specify the default colors and font styles used for each token
//
//     Column 1          Token value
//     Column 2          Font styles
//     Column 3          Foreground color
//     Column 4          Background color
//     Column 5          Optional column for whether map entry is a 'hotspot'
//
// Columns 1-4 must be completed for all rows, Column 5 defaults to non-hotspot.
//

%%effects

//
// Note: several syntax element types below share the exact same highlighting
//   information. This is because the %%map section does not work like expected
//   - to tie like elements together into one highlight type while still
//   allowing the user to change individual type highlighting. The intended
//   type associations are listed below in the %map section.
//

pt_SQL             []                  clBlue              _DEFAULT_BACKGROUND
pt_RESERVED        []                  clBlue              _DEFAULT_BACKGROUND
pt_UTILITY         []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
pt_DATATYPE        []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
pt_IDENTIFIER      []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
pt_FUNCTION        []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
pt_HOSTVAR         []                  clMaroon            _DEFAULT_BACKGROUND
pt_SCRIPT          []                  clBlue              _DEFAULT_BACKGROUND
pt_QUOTED_NAME     []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND
pt_STRING          []                  clRed               _DEFAULT_BACKGROUND
pt_NUMBER          []                  clNavy              _DEFAULT_BACKGROUND
pt_HEXNUMBER       []                  clNavy              _DEFAULT_BACKGROUND
pt_LABEL           [fsBold]            clGray              _DEFAULT_BACKGROUND
pt_SYMBOL          [fsBold]            clGray              _DEFAULT_BACKGROUND
pt_SUBSELECT       [fsBold]            clTeal              _DEFAULT_BACKGROUND
pt_COMMENT         [fsItalic]          clGreen             _DEFAULT_BACKGROUND
pt_COMMENT_BLOCK   [fsItalic]          clGreen             _DEFAULT_BACKGROUND
pt_DEFAULT         []                  _DEFAULT_FOREGROUND _DEFAULT_BACKGROUND

//--------------------------------------------------------------------------------------------------------------------
//
// %%map section
//
// Used to specify which entry in the %%effects table each token value uses. By
// default all token values map onto __DEFAULT_TOKEN which is defined as zero.
// Table has 2 columns:
//     Column 1          Recognised token value
//     Column 2          Map table entry (i.e. %%effects table entry)
// Normally the %%map table consists of identical value entries.

%%map

//
// Note: the comments at the right of certain syntax elements indicate the
//   intended mapping. If one element is mapped to another in this section
//   then its effects cannot be modified for that element by the user - rather
//   the highlighting will change only if its mapped-to element changes its
//   highlighting.
//

pt_SQL             pt_SQL
pt_RESERVED        pt_RESERVED         // Reserved words => SQL keywords
pt_UTILITY         pt_UTILITY          // Command line utilities => SQL keywords
pt_DATATYPE        pt_DATATYPE         // Datatypes => Identifiers
pt_IDENTIFIER      pt_IDENTIFIER
pt_FUNCTION        pt_FUNCTION         // Functions => Identifiers
pt_HOSTVAR         pt_HOSTVAR
pt_SCRIPT          pt_SCRIPT           // Script directives => SQL keywords
pt_QUOTED_NAME     pt_QUOTED_NAME      // Quoted names => Identifiers
pt_STRING          pt_STRING
pt_NUMBER          pt_NUMBER
pt_HEXNUMBER       pt_HEXNUMBER        // Hex constants => numeric constants
pt_LABEL           pt_LABEL
pt_SYMBOL          pt_SYMBOL
pt_SUBSELECT       pt_SUBSELECT
pt_COMMENT         pt_COMMENT
pt_COMMENT_BLOCK   pt_COMMENT_BLOCK
pt_DEFAULT         pt_DEFAULT
