   "\\_<>>.+?\\_>")
 
 (defconst factor-symbol-definition-regex
-  (factor-second-word-regex '("&:" "SYMBOL:" "VAR:")))
+  (factor-second-word-regex '("&:" "SYMBOL:" "VAR:" "CONSTANT:")))
 
 (defconst factor-stack-effect-regex
   "\\( ( [^\n]* )\\)\\|\\( (( [^\n]* ))\\)")
-
-(defconst factor-using-lines-regex "^USING: +\\([^;]+\\);")
 
 (defconst factor-use-line-regex "^USE: +\\(.*\\)$")
 

  "\\_<\"[^>]\\([^\"\n]\\|\\\\\"\\)*\n")

(defconst factor-word-definition-regex
  (format "\\_<\\(%s\\)?: +\\_<\\(%s\\)\\_>"
          (regexp-opt
           '(":" "GENERIC" "DEFER" "HOOK" "MAIN" "MATH" "POSTPONE"
             "SYMBOL" "SYNTAX" "TYPED" "TYPED:" "RENAME"))
          "\\(\\sw\\|\\s_\\|\\s(\\|\\s)\\)+"))

(defconst factor-alias-definition-regex
  "^ALIAS: +\\(\\_<.+?\\_>\\) +\\(\\_<.+?\\_>\\)")

(defconst factor-vocab-ref-regexp
  (factor-second-word-regex
   '("IN:" "USE:" "FROM:" "EXCLUDE:" "QUALIFIED:" "QUALIFIED-WITH:")))

(defconst factor-int-constant-def-regex
  (factor-second-word-regex '("ALIEN:" "CHAR:" "NAN:")))

(defconst factor-type-definition-regex
  (factor-second-word-regex
   '("C-STRUCT:" "C-UNION:" "COM-INTERFACE:" "MIXIN:" "TUPLE:" "SINGLETON:"
     "SPECIALIZED-ARRAY:" "STRUCT:" "UNION:" "UNION-STRUCT:")))

(defconst factor-error-regex
  (factor-second-word-regex '("ERROR:")))

(defconst factor-tuple-decl-regex
  "^TUPLE: +\\([^ \n]+\\) +< +\\([^ \n]+\\)\\_>")

(defconst factor-constructor-regex
  "<[^ >]+>")

                                        (3 'factor-font-lock-word))
    (,factor-alien-callback-regex (1 'factor-font-lock-type-name)
                                  (2 'factor-font-lock-word))
    (,factor-vocab-ref-regex 2 'factor-font-lock-vocabulary-name)

    (,factor-using-lines-regex (1 'factor-font-lock-parsing-word)
                               (2 'factor-font-lock-vocabulary-name))

    (,factor-constructor-decl-regex
     (1 'factor-font-lock-word)
     (2 'factor-font-lock-type-name)
