           "M[^:]*: [^ ]+ [^ ]+"))
 
 (defconst factor-constructor-decl-regex
-  (concat (syntax-begin '("C")) ws+ symbol ws+ symbol))
+  (syntax-and-2-symbols '("C")))
 
 (defconst factor-typedef-regex
-  (concat (syntax-begin '("TYPEDEF" "INSTANCE")) ws+ symbol ws+ symbol))
+  (syntax-and-2-symbols '("TYPEDEF" "INSTANCE")))
+
+(defconst factor-alias-regex
+  (syntax-and-2-symbols '("ALIAS")))
 
 (defconst factor-c-global-regex
   (format "\\_<C-GLOBAL: +%s +%s\\( .*\\)?$" symbol symbol))

  (concat (syntax-begin '("SYMBOLS")) ws+ symbols-to-semicolon))

(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" "SINGLETON"
     "SPECIALIZED-ARRAY" "STRUCT" "UNION-STRUCT")))


;; Excludes parsing words that are handled by other regexps
(defconst factor-parsing-words
  '(":" "::" ";" ":>" "&:" "<<" "<PRIVATE" ">>"
    "ABOUT:" "AFTER:" "ALIEN:" "ARTICLE:"
    "B" "BEFORE:"
    "C-GLOBAL:" "C-TYPE:" "CHAR:" "COLOR:" "COM-INTERFACE:"
    "CONSULT:" "call-next-method"
