     "\\(\\.\\([bfi][0-9]+\\|[cs]\\)\\)" 
     '(1 font-lock-type-face prepend))
    (list
-    "\\(rds\\|txn\\)" 
+    ee-mode-globals-re
     '(1 font-lock-constant-face prepend))
    (list
-    "\\(\\w+\\)\\(##?[sid]\\)" 
+    ee-mode-var-re
     '(1 font-lock-variable-name-face prepend)
     '(2 font-lock-type-face prepend))
    ;;


(require 'generic)

(define-generic-mode 'ee-generic-mode
  nil  ;; Can't handle comment here.  Ends up matching the != op.
  (list "Left\\$" "Mid\\$" "Right\\$" "In\\$" "If" "For")
  (list
   (list  "\\(^\\s *!.*$\\)" '(1 font-lock-comment-face t))
   (list
    "\\('[^\\\\']*\\(\\\\.[^\\\\']*\\)*'\\)"
    '(1 font-lock-string-face append))
   (list
    "\\(XRef\\w+\\$\\)" 
    '(1 font-lock-function-name-face prepend))
   (list
    "\\(AddFn\\)" 
    '(1 font-lock-builtin-face prepend))
   (list
    "\\({\\(double\\|int\\|string\\)}\\)" 

   ;;;(list "\\(\"\\)\\s *$" '(1 font-lock-warning-face t))
   (list "\\([;,]\\)\\s *$" '(1 font-lock-builtin-face prepend))
   (list "^\\s *\\(,\\)\\s *$" '(1 font-lock-builtin-face prepend))
   ;;
   ;; Does definition ordering matter for FontLock?  If so, these must come
   ;; last.
   ;;
   (list  ee-mode-comment-re '(1 font-lock-comment-face t))
   (list
    "\\('[^\\\\']*\\(\\\\.[^\\\\']*\\)*'\\)"
    '(1 font-lock-string-face append))
   )
  (list "\\.cfg\\'" "\\.templt\\'")
  (list 'generic-ee-mode-setup-function)
