 (defconst factor-alias-definition-regex
   "^ALIAS: +\\(\\_<.+?\\_>\\) +\\(\\_<.+?\\_>\\)")
 
+;; Vocabulary patterns
 (defconst factor-vocab-ref-regex
   (factor-second-word-regex
    '("IN:" "USE:" "EXCLUDE:" "QUALIFIED:" "QUALIFIED-WITH:")))
 
 (defconst factor-using-lines-regex "^\\(USING\\):[ \n]+\\([^;\t]*\\);")
+
+;; Symbols
+(defconst factor-symbol-definition-regex
+  (factor-second-word-regex
+   '("&:" "CONSTANT:" "DESTRUCTOR:" "FORGET:" "SYMBOL:" "VAR:")))
+
+(defconst factor-symbols-lines-regex "^\\(SYMBOLS\\):[ \n]+\\([^;\t]*\\);")
 
 (defconst factor-int-constant-def-regex
   (factor-second-word-regex '("ALIEN:" "CHAR:" "NAN:")))


(defconst factor-setter-regex
  "\\_<>>\\(?:\\sw\\|\\s_\\)+\\_>")

(defconst factor-symbol-definition-regex
  (factor-second-word-regex
   '("&:" "CONSTANT:" "DESTRUCTOR:" "FORGET:" "SYMBOL:" "VAR:")))

(defconst factor-stack-effect-regex
  "\\( ( [^)]* )\\)\\|\\( (( [^)]* ))\\)")


    (,factor-using-lines-regex (1 'factor-font-lock-parsing-word)
                               (2 'factor-font-lock-vocabulary-name))
    (,factor-symbols-lines-regex (1 'factor-font-lock-parsing-word)
                                 (2 'factor-font-lock-word))
    (,(format "^\\(FROM\\|EXCLUDE\\):[ \n]+%s[ \n]+=>+\\([^;\t]*\\);" symbol)
     (1 'factor-font-lock-parsing-word)
     (2 'factor-font-lock-vocabulary-name)
