home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue29 / s3demo / S3DEMO.ZIP / Scripts.ZIP / SQLScript.txt < prev   
Encoding:
Text File  |  1997-11-17  |  10.8 KB  |  247 lines

  1. /*
  2.  * TSyntaxMemoParser Script
  3.  * ------------------------
  4.  *
  5.  * Author  :          David Brock
  6.  * Date    :          October 18 1997
  7.  * Language:          SQL
  8.  *
  9.  */
  10.  
  11. //--------------------------------------------------------------------------------------------------------------------
  12. //
  13. //
  14. //
  15. // Macro definitions. Parameters may be specified and the replacement text terminates with the end of
  16. // line (watch trailing blanks).
  17. //
  18. #define st_DEFAULT                  0
  19. #define st_COMMENT                  1
  20. #define st_IDENTIFIER               2
  21. #define st_STRING                   3
  22. #define st_NUMBER                   4
  23. #define st_SYMBOL                   5
  24. #define st_RESERVED                 6
  25. #define st_COMMENT_LINE             7
  26. #define st_COMMENT_STAR             8
  27.  
  28.  
  29. #define _non_alpha_                 '[^_A-Za-z0-9]'
  30. #define _all_chars_                 '[\x00-\xFF]'
  31. #define _no_chars_                  '[]'
  32. #define _dont_care_                 _all_chars_
  33. #define _DEFAULT_BACKGROUND         clWhite
  34. #define _DEFAULT_FOREGROUND         clBlack
  35.  
  36. %%language
  37. Name                      = 'SQL'
  38. Case                      = __INSENSITIVE
  39. Options                   = __DEFAULT_OPTIONS
  40. WordWrapColumn            = _EDGE
  41. Gutter                    = _DEFAULT_GUTTER
  42. Anchor                    = _DEFAULT_START_ANCHOR
  43. ExampleText               = '/* Sample SQL text */\n\
  44.                             \select * from country\n\
  45.                             \         where name like \'%UK%\'\n'
  46. EditableStyles              ('Reserved word', st_RESERVED),
  47.                             ('Comment',       st_COMMENT),
  48.                             ('Identifier',    st_IDENTIFIER),
  49.                             ('String',        st_STRING),
  50.                             ('Number',        st_NUMBER),
  51.                             ('Symbols',       st_SYMBOL),
  52.                             ('Default',       st_DEFAULT)
  53.  
  54. %%words
  55. '\/\/'           _dont_care_       st_COMMENT_LINE
  56. '/*'             _dont_care_       st_COMMENT_STAR
  57. '!'              _dont_care_       st_SYMBOL
  58. '$'              _dont_care_       st_SYMBOL
  59. '%'              _dont_care_       st_SYMBOL
  60. '^'              _dont_care_       st_SYMBOL
  61. '&'              _dont_care_       st_SYMBOL
  62. '*'              _dont_care_       st_SYMBOL
  63. '('              _dont_care_       st_SYMBOL
  64. ')'              _dont_care_       st_SYMBOL
  65. '-'              _dont_care_       st_SYMBOL
  66. '='              _dont_care_       st_SYMBOL
  67. '+'              _dont_care_       st_SYMBOL
  68. '{'              _dont_care_       st_SYMBOL
  69. '}'              _dont_care_       st_SYMBOL
  70. '['              _dont_care_       st_SYMBOL
  71. ']'              _dont_care_       st_SYMBOL
  72. ':'              _dont_care_       st_SYMBOL
  73. ';'              _dont_care_       st_SYMBOL
  74. '@'              _dont_care_       st_SYMBOL
  75. '#'              _dont_care_       st_SYMBOL
  76. '~'              _dont_care_       st_SYMBOL
  77. '<'              _dont_care_       st_SYMBOL
  78. '>'              _dont_care_       st_SYMBOL
  79. ','              _dont_care_       st_SYMBOL
  80. '.'              _dont_care_       st_SYMBOL
  81. '/'              _dont_care_       st_SYMBOL
  82. '?'              _dont_care_       st_SYMBOL
  83. '\\'             _dont_care_       st_SYMBOL
  84. 'ACTIVE'         _non_alpha_       st_RESERVED
  85. 'ALL'            _non_alpha_       st_RESERVED
  86. 'AFTER'          _non_alpha_       st_RESERVED
  87. 'ALTER'          _non_alpha_       st_RESERVED
  88. 'AND'            _non_alpha_       st_RESERVED
  89. 'ANY'            _non_alpha_       st_RESERVED
  90. 'AS'             _non_alpha_       st_RESERVED
  91. 'ASC'            _non_alpha_       st_RESERVED
  92. 'ASCENDING'      _non_alpha_       st_RESERVED
  93. 'AT'             _non_alpha_       st_RESERVED
  94. 'AUTO'           _non_alpha_       st_RESERVED
  95. 'AUTOINC'        _non_alpha_       st_RESERVED
  96. 'BASE_NAME'      _non_alpha_       st_RESERVED
  97. 'BEFORE'         _non_alpha_       st_RESERVED
  98. 'BEGIN'          _non_alpha_       st_RESERVED
  99. 'BETWEEN'        _non_alpha_       st_RESERVED
  100. 'BOTH'           _non_alpha_       st_RESERVED
  101. 'BY'             _non_alpha_       st_RESERVED
  102. 'CACHE'          _non_alpha_       st_RESERVED
  103. 'CAST'           _non_alpha_       st_RESERVED
  104. 'CHECK'          _non_alpha_       st_RESERVED
  105. 'COLUMN'         _non_alpha_       st_RESERVED
  106. 'COMMIT'         _non_alpha_       st_RESERVED
  107. 'COMMITTED'      _non_alpha_       st_RESERVED
  108. 'COMPUTED'       _non_alpha_       st_RESERVED
  109. 'CONDITIONAL'    _non_alpha_       st_RESERVED
  110. 'CONNECT'        _non_alpha_       st_RESERVED
  111. 'CONSTRAINT'     _non_alpha_       st_RESERVED
  112. 'CONTAINING'     _non_alpha_       st_RESERVED
  113. 'COUNT'          _non_alpha_       st_RESERVED
  114. 'CREATE'         _non_alpha_       st_RESERVED
  115. 'CURRENT'        _non_alpha_       st_RESERVED
  116. 'CURSOR'         _non_alpha_       st_RESERVED
  117. 'DATABASE'       _non_alpha_       st_RESERVED
  118. 'DEBUG'          _non_alpha_       st_RESERVED
  119. 'DECLARE'        _non_alpha_       st_RESERVED
  120. 'DEFAULT'        _non_alpha_       st_RESERVED
  121. 'DELETE'         _non_alpha_       st_RESERVED
  122. 'DESC'           _non_alpha_       st_RESERVED
  123. 'DESCENDING'     _non_alpha_       st_RESERVED
  124. 'DISTINCT'       _non_alpha_       st_RESERVED
  125. 'DOMAIN'         _non_alpha_       st_RESERVED
  126. 'DROP'           _non_alpha_       st_RESERVED
  127. 'ELSE'           _non_alpha_       st_RESERVED
  128. 'END'            _non_alpha_       st_RESERVED
  129. 'ENTRY_POINT'    _non_alpha_       st_RESERVED
  130. 'ESCAPE'         _non_alpha_       st_RESERVED
  131. 'EXCEPTION'      _non_alpha_       st_RESERVED
  132. 'EXECUTE'        _non_alpha_       st_RESERVED
  133. 'EXISTS'         _non_alpha_       st_RESERVED
  134. 'EXIT'           _non_alpha_       st_RESERVED
  135. 'EXTERNAL'       _non_alpha_       st_RESERVED
  136. 'EXTRACT'        _non_alpha_       st_RESERVED
  137. 'FILTER'         _non_alpha_       st_RESERVED
  138. 'FOR'            _non_alpha_       st_RESERVED
  139. 'FOREIGN'        _non_alpha_       st_RESERVED
  140. 'FROM'           _non_alpha_       st_RESERVED
  141. 'FULL'           _non_alpha_       st_RESERVED
  142. 'FUNCTION'       _non_alpha_       st_RESERVED
  143. 'GENERATOR'      _non_alpha_       st_RESERVED
  144. 'GRANT'          _non_alpha_       st_RESERVED
  145. 'GROUP'          _non_alpha_       st_RESERVED
  146. 'HAVING'         _non_alpha_       st_RESERVED
  147. 'IF'             _non_alpha_       st_RESERVED
  148. 'IN'             _non_alpha_       st_RESERVED
  149. 'INACTIVE'       _non_alpha_       st_RESERVED
  150. 'INDEX'          _non_alpha_       st_RESERVED
  151. 'INNER'          _non_alpha_       st_RESERVED
  152. 'INSERT'         _non_alpha_       st_RESERVED
  153. 'INTO'           _non_alpha_       st_RESERVED
  154. 'IS'             _non_alpha_       st_RESERVED
  155. 'ISOLATION'      _non_alpha_       st_RESERVED
  156. 'JOIN'           _non_alpha_       st_RESERVED
  157. 'KEY'            _non_alpha_       st_RESERVED
  158. 'NULL'           _non_alpha_       st_RESERVED
  159. 'LEADING'        _non_alpha_       st_RESERVED
  160. 'LEFT'           _non_alpha_       st_RESERVED
  161. 'LEVEL'          _non_alpha_       st_RESERVED
  162. 'LIKE'           _non_alpha_       st_RESERVED
  163. 'MERGE'          _non_alpha_       st_RESERVED
  164. 'NAMES'          _non_alpha_       st_RESERVED
  165. 'NO'             _non_alpha_       st_RESERVED
  166. 'NOT'            _non_alpha_       st_RESERVED
  167. 'OF'             _non_alpha_       st_RESERVED
  168. 'ON'             _non_alpha_       st_RESERVED
  169. 'ONLY'           _non_alpha_       st_RESERVED
  170. 'OR'             _non_alpha_       st_RESERVED
  171. 'ORDER'          _non_alpha_       st_RESERVED
  172. 'OUTER'          _non_alpha_       st_RESERVED
  173. 'PARAMETER'      _non_alpha_       st_RESERVED
  174. 'PASSWORD'       _non_alpha_       st_RESERVED
  175. 'PIVOT'          _non_alpha_       st_RESERVED
  176. 'PLAN'           _non_alpha_       st_RESERVED
  177. 'POSITION'       _non_alpha_       st_RESERVED
  178. 'PROCEDURE'      _non_alpha_       st_RESERVED
  179. 'PROTECTED'      _non_alpha_       st_RESERVED
  180. 'PRIMARY'        _non_alpha_       st_RESERVED
  181. 'PRIVILEGES'     _non_alpha_       st_RESERVED
  182. 'READ'           _non_alpha_       st_RESERVED
  183. 'REFERENCES'     _non_alpha_       st_RESERVED
  184. 'RETAIN'         _non_alpha_       st_RESERVED
  185. 'RETURNS'        _non_alpha_       st_RESERVED
  186. 'REVOKE'         _non_alpha_       st_RESERVED
  187. 'RIGHT'          _non_alpha_       st_RESERVED
  188. 'ROLLBACK'       _non_alpha_       st_RESERVED
  189. 'SCHEMA'         _non_alpha_       st_RESERVED
  190. 'SELECT'         _non_alpha_       st_RESERVED
  191. 'SET'            _non_alpha_       st_RESERVED
  192. 'SHARED'         _non_alpha_       st_RESERVED
  193. 'SHADOW'         _non_alpha_       st_RESERVED
  194. 'SNAPSHOT'       _non_alpha_       st_RESERVED
  195. 'SOME'           _non_alpha_       st_RESERVED
  196. 'SUSPEND'        _non_alpha_       st_RESERVED
  197. 'TABLE'          _non_alpha_       st_RESERVED
  198. 'THEN'           _non_alpha_       st_RESERVED
  199. 'TO'             _non_alpha_       st_RESERVED
  200. 'TRAILING'       _non_alpha_       st_RESERVED
  201. 'TRANSFORM'      _non_alpha_       st_RESERVED
  202. 'TRANSACTION'    _non_alpha_       st_RESERVED
  203. 'TRIGGER'        _non_alpha_       st_RESERVED
  204. 'UNCOMMITTED'    _non_alpha_       st_RESERVED
  205. 'UNION'          _non_alpha_       st_RESERVED
  206. 'UNIQUE'         _non_alpha_       st_RESERVED
  207. 'UPDATE'         _non_alpha_       st_RESERVED
  208. 'USER'           _non_alpha_       st_RESERVED
  209. 'USING'          _non_alpha_       st_RESERVED
  210. 'VIEW'           _non_alpha_       st_RESERVED
  211. 'WAIT'           _non_alpha_       st_RESERVED
  212. 'WHEN'           _non_alpha_       st_RESERVED
  213. 'WHERE'          _non_alpha_       st_RESERVED
  214. 'WHILE'          _non_alpha_       st_RESERVED
  215. 'WITH'           _non_alpha_       st_RESERVED
  216. 'WORK'           _non_alpha_       st_RESERVED
  217.  
  218. %%handler
  219. st_COMMENT_LINE         '[^\n]'?                    '\n'           _discard_
  220. st_COMMENT_STAR         _all_chars_?                '*/'           _use_
  221.  
  222. %%tokens
  223. st_STRING               __STD_PASCALSTRING
  224. st_STRING               __STD_C_STRING
  225. st_NUMBER               __STD_NUMBER_OR_FP
  226. st_IDENTIFIER           __STD_IDENTIFIER
  227.  
  228. %%map
  229. st_DEFAULT         st_DEFAULT
  230. st_IDENTIFIER      st_IDENTIFIER
  231. st_STRING          st_STRING
  232. st_COMMENT         st_COMMENT
  233. st_COMMENT_LINE    st_COMMENT
  234. st_COMMENT_STAR    st_COMMENT
  235. st_RESERVED        st_RESERVED
  236. st_SYMBOL          st_SYMBOL
  237.  
  238. %%effects
  239. st_DEFAULT              []                          _DEFAULT_FOREGROUND         _DEFAULT_BACKGROUND
  240. st_IDENTIFIER           []                          _DEFAULT_FOREGROUND         _DEFAULT_BACKGROUND
  241. st_STRING               [fsItalic]                  _DEFAULT_FOREGROUND         _DEFAULT_BACKGROUND
  242. st_COMMENT              [fsItalic]                  clBlue                      _DEFAULT_BACKGROUND
  243. st_RESERVED             [fsBold]                    _DEFAULT_FOREGROUND         _DEFAULT_BACKGROUND
  244. st_NUMBER               []                          clGreen                     _DEFAULT_BACKGROUND
  245. st_SYMBOL               [fsBold]                    _DEFAULT_FOREGROUND         _DEFAULT_BACKGROUND
  246.  
  247.